feat: show creation time next to pr title
This commit is contained in:
@@ -70,6 +70,7 @@ pub(crate) struct DetailedPullRequest {
|
||||
pub(crate) state: PullRequestState,
|
||||
pub(crate) is_draft: bool,
|
||||
pub(crate) body: String,
|
||||
pub(crate) created_at: Option<chrono::DateTime<chrono::FixedOffset>>,
|
||||
pub(crate) author: Option<super::user::Actor>,
|
||||
pub(crate) base_branch_name: Option<String>,
|
||||
pub(crate) head_branch_name: Option<String>,
|
||||
@@ -368,18 +369,29 @@ impl query::QueryFn for FetchPullRequest {
|
||||
"missing 'node' field on PullRequestQuery response".into(),
|
||||
))
|
||||
.and_then(|n| match n {
|
||||
| PullRequestQueryNode::PullRequest(p) => Ok(DetailedPullRequest {
|
||||
title: p.title,
|
||||
state: p.state,
|
||||
is_draft: p.is_draft,
|
||||
body: p.body,
|
||||
author: p.author.map(|it| api::user::Actor {
|
||||
login: it.login,
|
||||
avatar_url: it.avatar_url,
|
||||
}),
|
||||
base_branch_name: p.base_ref.map(|r| r.name),
|
||||
head_branch_name: p.head_ref.map(|r| r.name),
|
||||
}),
|
||||
| PullRequestQueryNode::PullRequest(p) => {
|
||||
let created_at =
|
||||
chrono::DateTime::parse_from_rfc3339(&p.created_at).map_err(|err| {
|
||||
api::Error::MalformedResponse(format!(
|
||||
"invalid pull request createdAt {:?}: {err}",
|
||||
p.created_at
|
||||
))
|
||||
})?;
|
||||
|
||||
Ok(DetailedPullRequest {
|
||||
title: p.title,
|
||||
state: p.state,
|
||||
is_draft: p.is_draft,
|
||||
body: p.body,
|
||||
author: p.author.map(|it| api::user::Actor {
|
||||
login: it.login,
|
||||
avatar_url: it.avatar_url,
|
||||
}),
|
||||
base_branch_name: p.base_ref.map(|r| r.name),
|
||||
head_branch_name: p.head_ref.map(|r| r.name),
|
||||
created_at: Some(created_at),
|
||||
})
|
||||
}
|
||||
| _ => Err(api::Error::MalformedResponse(
|
||||
"unexpected node type on PullRequestQuery".into(),
|
||||
)),
|
||||
|
||||
Reference in New Issue
Block a user