refactot ticket model + cubit

This commit is contained in:
2026-05-06 12:20:26 +02:00
parent 1e9e6947b3
commit bdde092976
3 changed files with 236 additions and 14 deletions

View File

@@ -96,7 +96,6 @@ class TicketModel extends Equatable {
final DateTime? closedAt;
final DateTime? returnedAt;
final String request;
final String? staffId;
final WarrantyType? warrantyType;
final String? publicNotes;
final String? internalNotes;
@@ -112,7 +111,10 @@ class TicketModel extends Equatable {
final String? customerName;
final String? targetModelName;
final String? sourceModelName;
final String? staffName;
final String? createdById;
final String? createdByName;
final String? assignedToId;
final String? assignedToName;
final String? includedAccessories;
const TicketModel({
@@ -130,7 +132,6 @@ class TicketModel extends Equatable {
this.closedAt,
this.returnedAt,
this.request = '',
this.staffId,
this.warrantyType,
this.publicNotes,
this.internalNotes,
@@ -146,14 +147,17 @@ class TicketModel extends Equatable {
this.customerName,
this.targetModelName,
this.sourceModelName,
this.staffName,
this.createdById,
this.createdByName,
this.assignedToId,
this.assignedToName,
this.includedAccessories,
});
/// Factory per creare un ticket vuoto (utile per i form di creazione)
factory TicketModel.empty({required String companyId, String? storeId}) {
factory TicketModel.empty({String? companyId, String? storeId}) {
return TicketModel(
companyId: companyId,
companyId: companyId ?? '',
storeId: storeId,
ticketType: TicketType.repair, // Valore di default
status: TicketStatus.open,
@@ -195,7 +199,10 @@ class TicketModel extends Equatable {
String? customerName,
String? targetModelName,
String? sourceModelName,
String? staffName,
String? createdById,
String? createdByName,
String? assignedToId,
String? assignedToName,
String? includedAccessories,
}) {
return TicketModel(
@@ -213,7 +220,6 @@ class TicketModel extends Equatable {
closedAt: closedAt ?? this.closedAt,
returnedAt: returnedAt ?? this.returnedAt,
request: request ?? this.request,
staffId: staffId ?? this.staffId,
warrantyType: warrantyType ?? this.warrantyType,
publicNotes: publicNotes ?? this.publicNotes,
internalNotes: internalNotes ?? this.internalNotes,
@@ -230,7 +236,10 @@ class TicketModel extends Equatable {
customerName: customerName ?? this.customerName,
targetModelName: targetModelName ?? this.targetModelName,
sourceModelName: sourceModelName ?? this.sourceModelName,
staffName: staffName ?? this.staffName,
createdById: createdById ?? this.createdById,
createdByName: createdByName ?? this.createdByName,
assignedToId: assignedToId ?? this.assignedToId,
assignedToName: assignedToName ?? this.assignedToName,
includedAccessories: includedAccessories ?? this.includedAccessories,
);
}
@@ -259,7 +268,6 @@ class TicketModel extends Equatable {
? DateTime.parse(map['returned_at']).toLocal()
: null,
request: map['request'] as String? ?? '',
staffId: map['staff_id'] as String?,
warrantyType: WarrantyType.fromString(map['warranty_type'] as String?),
publicNotes: map['public_notes'] as String?,
internalNotes: map['internal_notes'] as String?,
@@ -279,7 +287,10 @@ class TicketModel extends Equatable {
?.myFormat(),
sourceModelName: (map['source_model']?['name_with_brand'] as String?)
?.myFormat(),
staffName: (map['staff']?['name'] as String?).myFormat(),
createdById: map['staff_id'] as String?,
createdByName: (map['staff']?['name'] as String?).myFormat(),
assignedToId: map['assigned_to_id'] as String?,
assignedToName: (map['assigned_to']?['name'] as String?).myFormat(),
includedAccessories: map['included_accessories'] as String?,
);
}
@@ -301,7 +312,7 @@ class TicketModel extends Equatable {
if (returnedAt != null)
'returned_at': returnedAt!.toUtc().toIso8601String(),
'request': request,
'staff_id': staffId,
'created_by_id': createdById,
'warranty_type': warrantyType,
'public_notes': publicNotes,
'internal_notes': internalNotes,
@@ -334,7 +345,6 @@ class TicketModel extends Equatable {
closedAt,
returnedAt,
request,
staffId,
warrantyType,
publicNotes,
internalNotes,
@@ -351,6 +361,9 @@ class TicketModel extends Equatable {
customerName,
targetModelName,
sourceModelName,
staffName,
createdById,
createdByName,
assignedToId,
assignedToName,
];
}