Add an issue get command to the client and use it for the view command

This commit is contained in:
Daan Boerlage 2025-01-22 01:51:00 +01:00
parent 194e25dc14
commit 07864325d7
Signed by: daan
GPG key ID: FCE070E1E4956606
3 changed files with 38 additions and 16 deletions

View file

@ -1,10 +1,12 @@
mod issue_create_command;
mod issue_get_command;
mod issue_transitions_command;
mod issue_transitions_update_command;
mod search_command;
mod self_command;
pub use issue_create_command::IssueCreateCommand;
pub use issue_get_command::IssueGetCommand;
pub use issue_transitions_command::IssueTransitionsCommand;
pub use issue_transitions_update_command::IssueTransitionsUpdateCommand;
pub use search_command::SearchCommand;

View file

@ -0,0 +1,33 @@
use crate::client::{JiraCommand, JiraRequestType};
use crate::entities::issue::JiraIssue;
#[derive(Debug)]
pub struct IssueGetCommand {
pub key: String,
}
impl IssueGetCommand {
pub fn new(key: &str) -> Self {
Self {
key: key.to_string(),
}
}
}
impl JiraCommand for IssueGetCommand {
type TResponse = JiraIssue;
type TPayload = ();
const REQUEST_TYPE: JiraRequestType = JiraRequestType::Read;
fn endpoint(&self) -> String {
format!("/rest/api/2/issue/{}", self.key)
}
fn request_body(&self) -> Option<&Self::TPayload> {
None
}
fn query_params(&self) -> Option<Vec<(String, String)>> {
None
}
}