pub struct ChangeManagementEngine { /* private fields */ }Expand description
Change management engine
Implementations§
Source§impl ChangeManagementEngine
impl ChangeManagementEngine
Sourcepub fn new(config: ChangeManagementConfig) -> Self
pub fn new(config: ChangeManagementConfig) -> Self
Create a new change management engine
Sourcepub async fn create_change_request(
&self,
title: String,
description: String,
requester_id: Uuid,
change_type: ChangeType,
priority: ChangePriority,
urgency: ChangeUrgency,
affected_systems: Vec<String>,
testing_required: bool,
test_plan: Option<String>,
test_environment: Option<String>,
rollback_plan: Option<String>,
impact_scope: Option<String>,
risk_level: Option<String>,
) -> Result<ChangeRequest, Error>
pub async fn create_change_request( &self, title: String, description: String, requester_id: Uuid, change_type: ChangeType, priority: ChangePriority, urgency: ChangeUrgency, affected_systems: Vec<String>, testing_required: bool, test_plan: Option<String>, test_environment: Option<String>, rollback_plan: Option<String>, impact_scope: Option<String>, risk_level: Option<String>, ) -> Result<ChangeRequest, Error>
Create a new change request
Sourcepub async fn approve_change(
&self,
change_id: &str,
approver: &str,
approver_id: Uuid,
comments: Option<String>,
conditions: Option<Vec<String>>,
) -> Result<(), Error>
pub async fn approve_change( &self, change_id: &str, approver: &str, approver_id: Uuid, comments: Option<String>, conditions: Option<Vec<String>>, ) -> Result<(), Error>
Approve a change request
Sourcepub async fn reject_change(
&self,
change_id: &str,
approver: &str,
approver_id: Uuid,
reason: String,
) -> Result<(), Error>
pub async fn reject_change( &self, change_id: &str, approver: &str, approver_id: Uuid, reason: String, ) -> Result<(), Error>
Reject a change request
Sourcepub async fn start_implementation(
&self,
change_id: &str,
implementer_id: Uuid,
implementation_plan: String,
scheduled_time: Option<DateTime<Utc>>,
) -> Result<(), Error>
pub async fn start_implementation( &self, change_id: &str, implementer_id: Uuid, implementation_plan: String, scheduled_time: Option<DateTime<Utc>>, ) -> Result<(), Error>
Start change implementation
Sourcepub async fn complete_change(
&self,
change_id: &str,
implementer_id: Uuid,
test_results: Option<String>,
post_implementation_review: Option<String>,
) -> Result<(), Error>
pub async fn complete_change( &self, change_id: &str, implementer_id: Uuid, test_results: Option<String>, post_implementation_review: Option<String>, ) -> Result<(), Error>
Complete change implementation
Sourcepub async fn get_change(
&self,
change_id: &str,
) -> Result<Option<ChangeRequest>, Error>
pub async fn get_change( &self, change_id: &str, ) -> Result<Option<ChangeRequest>, Error>
Get change request by ID
Sourcepub async fn get_all_changes(&self) -> Result<Vec<ChangeRequest>, Error>
pub async fn get_all_changes(&self) -> Result<Vec<ChangeRequest>, Error>
Get all change requests
Sourcepub async fn get_changes_by_status(
&self,
status: ChangeStatus,
) -> Result<Vec<ChangeRequest>, Error>
pub async fn get_changes_by_status( &self, status: ChangeStatus, ) -> Result<Vec<ChangeRequest>, Error>
Get changes by status
Sourcepub async fn get_changes_by_requester(
&self,
requester_id: Uuid,
) -> Result<Vec<ChangeRequest>, Error>
pub async fn get_changes_by_requester( &self, requester_id: Uuid, ) -> Result<Vec<ChangeRequest>, Error>
Get changes by requester
Auto Trait Implementations§
impl Freeze for ChangeManagementEngine
impl !RefUnwindSafe for ChangeManagementEngine
impl Send for ChangeManagementEngine
impl Sync for ChangeManagementEngine
impl Unpin for ChangeManagementEngine
impl !UnwindSafe for ChangeManagementEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more