Compare commits
2 commits
af6fbb0022
...
427bbf3193
| Author | SHA1 | Date | |
|---|---|---|---|
| 427bbf3193 | |||
| 0d59568c9e |
4 changed files with 21 additions and 27 deletions
|
|
@ -217,7 +217,7 @@ async fn list_all_issues(ctx: &crate::Context) -> anyhow::Result<Vec<Issue>> {
|
|||
)
|
||||
.all()
|
||||
.await
|
||||
.with_context(|| format!("Failed fetching issue list"))?;
|
||||
.context("Failed fetching issue list")?;
|
||||
|
||||
Ok(issues)
|
||||
}
|
||||
|
|
@ -231,11 +231,11 @@ trait IssueExt {
|
|||
|
||||
impl IssueExt for Issue {
|
||||
fn get_number(&self) -> anyhow::Result<u32> {
|
||||
Ok(self
|
||||
self
|
||||
.number
|
||||
.context("Missing issue number")?
|
||||
.try_into()
|
||||
.context("Failed converting issue number to u32")?)
|
||||
.context("Failed converting issue number to u32")
|
||||
}
|
||||
|
||||
fn get_title(&self) -> anyhow::Result<String> {
|
||||
|
|
@ -243,13 +243,13 @@ impl IssueExt for Issue {
|
|||
}
|
||||
|
||||
fn get_state(&self) -> anyhow::Result<forgejo_api::structs::StateType> {
|
||||
Ok(self.state.context("Issue has no state")?)
|
||||
self.state.context("Issue has no state")
|
||||
}
|
||||
|
||||
fn get_label_names(&self) -> anyhow::Result<Vec<std::string::String>> {
|
||||
let labels = self.labels.as_ref().context("Issue without labels list")?;
|
||||
let label_names = labels
|
||||
.into_iter()
|
||||
.iter()
|
||||
.map(|label| label.name.as_ref().context("Label without name").cloned())
|
||||
.collect::<anyhow::Result<Vec<_>>>()?;
|
||||
Ok(label_names)
|
||||
|
|
|
|||
|
|
@ -56,10 +56,10 @@ impl Context {
|
|||
format!("Could not split repo slug {repo_with_owner:?} into owner and repo")
|
||||
})?;
|
||||
|
||||
let server_url = url::Url::parse(&server_url).context("Failed parsing server URL")?;
|
||||
let server_url = url::Url::parse(server_url).context("Failed parsing server URL")?;
|
||||
|
||||
let repo_url = server_url
|
||||
.join(&repo_with_owner)
|
||||
.join(repo_with_owner)
|
||||
.context("Failed to build server + repo URL")?;
|
||||
let repo_auth_url = {
|
||||
let mut repo_auth_url = repo_url.clone();
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@ pub async fn remind_all_tasks(ctx: &crate::Context, tasks: &[task::Task]) -> any
|
|||
Ok(())
|
||||
}
|
||||
|
||||
pub const SIGNATURE_BASIC: &'static str = "<small>\\[TaskBot Comment\\]</small>";
|
||||
pub const SIGNATURE_URGENT: &'static str = "<small>\\[TaskBot Comment (Urgent)\\]</small>";
|
||||
pub const SIGNATURE_BASIC: &str = "<small>\\[TaskBot Comment\\]</small>";
|
||||
pub const SIGNATURE_URGENT: &str = "<small>\\[TaskBot Comment (Urgent)\\]</small>";
|
||||
|
||||
async fn remind_task(
|
||||
ctx: &crate::Context,
|
||||
|
|
@ -76,22 +76,14 @@ async fn remind_task(
|
|||
batching_interval: BatchingInterval,
|
||||
) -> anyhow::Result<()> {
|
||||
let body = match (reminder_type, batching_interval) {
|
||||
(ReminderType::Basic, BatchingInterval::Monthly) => format!(
|
||||
"\
|
||||
Beep boop. This task is due this month, go take care of it!"
|
||||
),
|
||||
(ReminderType::Basic, BatchingInterval::Weekly) => format!(
|
||||
"\
|
||||
Beep boop. This task is due this week, go take care of it!"
|
||||
),
|
||||
(ReminderType::Basic, BatchingInterval::OnTheDay) => format!(
|
||||
"\
|
||||
Beep boop. This task is due today, go take care of it!"
|
||||
),
|
||||
(ReminderType::Urgent, _) => format!(
|
||||
"\
|
||||
Hello again. This task is overdue, please take care of it ASAP!"
|
||||
),
|
||||
(ReminderType::Basic, BatchingInterval::Monthly) => "\
|
||||
Beep boop. This task is due this month, go take care of it!".to_string(),
|
||||
(ReminderType::Basic, BatchingInterval::Weekly) => "\
|
||||
Beep boop. This task is due this week, go take care of it!".to_string(),
|
||||
(ReminderType::Basic, BatchingInterval::OnTheDay) => "\
|
||||
Beep boop. This task is due today, go take care of it!".to_string(),
|
||||
(ReminderType::Urgent, _) => "\
|
||||
Hello again. This task is overdue, please take care of it ASAP!".to_string(),
|
||||
};
|
||||
|
||||
let signature = match reminder_type {
|
||||
|
|
@ -107,7 +99,7 @@ Hello again. This task is overdue, please take care of it ASAP!"
|
|||
&ctx.repo,
|
||||
task.issue_number.into(),
|
||||
forgejo_api::structs::CreateIssueCommentOption {
|
||||
body: body,
|
||||
body,
|
||||
updated_at: None,
|
||||
},
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
pub fn time_to_jiff(t: time::OffsetDateTime) -> jiff::Zoned {
|
||||
let tz = jiff::tz::TimeZone::fixed(jiff::tz::offset(t.offset().whole_hours()));
|
||||
let tz = jiff::tz::TimeZone::fixed(
|
||||
jiff::tz::Offset::from_seconds(t.offset().whole_seconds()).unwrap(),
|
||||
);
|
||||
|
||||
jiff::Timestamp::new(t.unix_timestamp(), 0)
|
||||
.unwrap()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue