import 'package:equatable/equatable.dart'; class FinOperationModel extends Equatable { final String? id; final DateTime? createdAt; final DateTime expiration; final String? operationId; final String? modelId; // FK verso model (es. iPhone, Samsung, ecc.) final String? providerId; const FinOperationModel({ this.id, this.createdAt, required this.expiration, this.operationId, this.modelId, this.providerId, }); FinOperationModel copyWith({ String? id, DateTime? createdAt, DateTime? expiration, String? operationId, String? modelId, String? providerId, }) { return FinOperationModel( id: id ?? this.id, createdAt: createdAt ?? this.createdAt, expiration: expiration ?? this.expiration, operationId: operationId ?? this.operationId, modelId: modelId ?? this.modelId, providerId: providerId ?? this.providerId, ); } @override List get props => [id, createdAt, expiration, operationId, modelId]; factory FinOperationModel.fromMap(Map map) { return FinOperationModel( id: map['id'], createdAt: map['created_at'] != null ? DateTime.parse(map['created_at']) : null, expiration: DateTime.parse(map['expiration']), operationId: map['operation_id'], modelId: map['model_id'], providerId: map['provider_id'], ); } Map toMap() { return { if (id != null) 'id': id, 'expiration': expiration.toIso8601String(), 'operation_id': operationId, 'model_id': modelId, 'provider_id': providerId, }; } }