35 lines
879 B
Dart
35 lines
879 B
Dart
class Collection {
|
|
Collection({required this.name, int? createdAt})
|
|
: createdAt = createdAt ?? DateTime.now().millisecondsSinceEpoch;
|
|
|
|
factory Collection.fromJson(Map<String, dynamic> json) => Collection(
|
|
name: json['name'] as String,
|
|
createdAt: json['createdAt'] as int,
|
|
);
|
|
|
|
int createdAt; // used as Id with millisecondsSinceEpoch
|
|
String name;
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
if (other is Collection) {
|
|
return hashCode == other.hashCode;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@override
|
|
int get hashCode => id.hashCode;
|
|
|
|
int get id => createdAt;
|
|
|
|
DateTime get createdDate => DateTime.fromMillisecondsSinceEpoch(createdAt);
|
|
|
|
Map<String, dynamic> toJson() => {'name': name, 'createdAt': createdAt};
|
|
|
|
Collection copyWith({String? name}) {
|
|
return Collection(name: name ?? this.name, createdAt: createdAt);
|
|
}
|
|
}
|