pub struct ChangeRequest {Show 25 fields
pub change_id: String,
pub title: String,
pub description: String,
pub requester_id: Uuid,
pub request_date: DateTime<Utc>,
pub change_type: ChangeType,
pub priority: ChangePriority,
pub urgency: ChangeUrgency,
pub affected_systems: Vec<String>,
pub impact_scope: Option<String>,
pub risk_level: Option<String>,
pub rollback_plan: Option<String>,
pub testing_required: bool,
pub test_plan: Option<String>,
pub test_environment: Option<String>,
pub status: ChangeStatus,
pub approvers: Vec<String>,
pub approval_status: HashMap<String, ApprovalStatus>,
pub implementation_plan: Option<String>,
pub scheduled_time: Option<DateTime<Utc>>,
pub implementation_started: Option<DateTime<Utc>>,
pub implementation_completed: Option<DateTime<Utc>>,
pub test_results: Option<String>,
pub post_implementation_review: Option<String>,
pub history: Vec<ChangeHistoryEntry>,
}Expand description
Change request
Fields§
§change_id: StringChange request ID (e.g., “CHG-2025-001”)
title: StringChange title
description: StringChange description
requester_id: UuidRequester user ID
request_date: DateTime<Utc>Request date
change_type: ChangeTypeChange type
priority: ChangePriorityChange priority
urgency: ChangeUrgencyChange urgency
affected_systems: Vec<String>Affected systems
impact_scope: Option<String>Impact scope
risk_level: Option<String>Risk level
rollback_plan: Option<String>Rollback plan
testing_required: boolTesting required
test_plan: Option<String>Test plan
test_environment: Option<String>Test environment
status: ChangeStatusChange status
approvers: Vec<String>Approvers required
approval_status: HashMap<String, ApprovalStatus>Approval status (map of approver -> approval status)
implementation_plan: Option<String>Implementation plan
scheduled_time: Option<DateTime<Utc>>Scheduled implementation time
implementation_started: Option<DateTime<Utc>>Implementation started time
implementation_completed: Option<DateTime<Utc>>Implementation completed time
test_results: Option<String>Test results
post_implementation_review: Option<String>Post-implementation review
history: Vec<ChangeHistoryEntry>Change history
Implementations§
Source§impl ChangeRequest
impl ChangeRequest
Sourcepub fn new(
change_id: String,
title: String,
description: String,
requester_id: Uuid,
change_type: ChangeType,
priority: ChangePriority,
urgency: ChangeUrgency,
affected_systems: Vec<String>,
testing_required: bool,
approvers: Vec<String>,
) -> Self
pub fn new( change_id: String, title: String, description: String, requester_id: Uuid, change_type: ChangeType, priority: ChangePriority, urgency: ChangeUrgency, affected_systems: Vec<String>, testing_required: bool, approvers: Vec<String>, ) -> Self
Create a new change request
Sourcepub fn is_fully_approved(&self) -> bool
pub fn is_fully_approved(&self) -> bool
Check if all approvals are complete
Sourcepub fn is_rejected(&self) -> bool
pub fn is_rejected(&self) -> bool
Check if any approval was rejected
Sourcepub fn add_history(&mut self, action: String, user_id: Uuid, details: String)
pub fn add_history(&mut self, action: String, user_id: Uuid, details: String)
Add history entry
Trait Implementations§
Source§impl Clone for ChangeRequest
impl Clone for ChangeRequest
Source§fn clone(&self) -> ChangeRequest
fn clone(&self) -> ChangeRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ChangeRequest
impl Debug for ChangeRequest
Source§impl<'de> Deserialize<'de> for ChangeRequest
impl<'de> Deserialize<'de> for ChangeRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ChangeRequest
impl RefUnwindSafe for ChangeRequest
impl Send for ChangeRequest
impl Sync for ChangeRequest
impl Unpin for ChangeRequest
impl UnwindSafe for ChangeRequest
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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