it0/it0_app/lib/features/approvals/domain/entities/approval.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,
);
}
}