part of 'attachments_bloc.dart'; enum AttachmentsStatus { initial, loading, ready, uploading, success, failure } enum AttachmentParentType { operation('operation_id'), ticket('ticket_id'), customer('customer_id'), shippingDocument('shipping_document_id'), note('note_id'); final String dbColumn; const AttachmentParentType(this.dbColumn); } class AttachmentsState extends Equatable { final String? parentId; final AttachmentParentType parentType; final AttachmentsStatus status; final String? error; final List localFiles; final List remoteFiles; final List selectedFiles; const AttachmentsState({ this.parentId, required this.parentType, required this.status, this.error, this.localFiles = const [], this.remoteFiles = const [], this.selectedFiles = const [], }); @override List get props => [ parentId, parentType, status, error, localFiles, remoteFiles, selectedFiles, ]; List get allFiles => [...remoteFiles, ...localFiles]; AttachmentsState copyWith({ String? parentId, AttachmentParentType? parentType, AttachmentsStatus? status, String? error, List? localFiles, List? remoteFiles, List? selectedFiles, }) { return AttachmentsState( parentId: parentId ?? this.parentId, parentType: parentType ?? this.parentType, status: status ?? this.status, error: error, localFiles: localFiles ?? this.localFiles, remoteFiles: remoteFiles ?? this.remoteFiles, selectedFiles: selectedFiles ?? this.selectedFiles, ); } }