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