49 lines
1.2 KiB
Dart
49 lines
1.2 KiB
Dart
/// Represents an approval request in the IT0 system.
|
|
class Approval {
|
|
final String id;
|
|
final String? taskId;
|
|
final String? taskDescription;
|
|
final String? command;
|
|
final String? riskLevel;
|
|
final String? requestedBy;
|
|
final String status; // pending, approved, rejected, expired
|
|
final DateTime? expiresAt;
|
|
final DateTime? createdAt;
|
|
|
|
const Approval({
|
|
required this.id,
|
|
this.taskId,
|
|
this.taskDescription,
|
|
this.command,
|
|
this.riskLevel,
|
|
this.requestedBy,
|
|
required this.status,
|
|
this.expiresAt,
|
|
this.createdAt,
|
|
});
|
|
|
|
Approval copyWith({
|
|
String? id,
|
|
String? taskId,
|
|
String? taskDescription,
|
|
String? command,
|
|
String? riskLevel,
|
|
String? requestedBy,
|
|
String? status,
|
|
DateTime? expiresAt,
|
|
DateTime? createdAt,
|
|
}) {
|
|
return Approval(
|
|
id: id ?? this.id,
|
|
taskId: taskId ?? this.taskId,
|
|
taskDescription: taskDescription ?? this.taskDescription,
|
|
command: command ?? this.command,
|
|
riskLevel: riskLevel ?? this.riskLevel,
|
|
requestedBy: requestedBy ?? this.requestedBy,
|
|
status: status ?? this.status,
|
|
expiresAt: expiresAt ?? this.expiresAt,
|
|
createdAt: createdAt ?? this.createdAt,
|
|
);
|
|
}
|
|
}
|