39 lines
893 B
Dart
39 lines
893 B
Dart
import 'package:cloud_firestore/cloud_firestore.dart';
|
|
|
|
class ProjectDocModel {
|
|
final String id;
|
|
final String label;
|
|
final String url;
|
|
final String type; // pdf | link
|
|
final DateTime uploadedAt;
|
|
|
|
ProjectDocModel({
|
|
required this.id,
|
|
required this.label,
|
|
required this.url,
|
|
required this.type,
|
|
required this.uploadedAt,
|
|
});
|
|
|
|
factory ProjectDocModel.fromMap(String id, Map<String, dynamic> data) {
|
|
return ProjectDocModel(
|
|
id: id,
|
|
label: data['label'] ?? '',
|
|
url: data['url'] ?? '',
|
|
type: data['type'] ?? 'link',
|
|
uploadedAt: (data['uploadedAt'] is Timestamp)
|
|
? (data['uploadedAt'] as Timestamp).toDate()
|
|
: DateTime.now(),
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'label': label,
|
|
'url': url,
|
|
'type': type,
|
|
'uploadedAt': Timestamp.fromDate(uploadedAt),
|
|
};
|
|
}
|
|
}
|