mobile_team/lib/models/task_log_model.dart
2026-04-16 15:06:41 +05:30

73 lines
2.0 KiB
Dart

import 'package:cloud_firestore/cloud_firestore.dart';
class TaskLogModel {
final String id;
final String userId;
final String userName;
final String projectId;
final String projectName;
final String branchId;
final String branchName;
final String? flavor;
final String moduleName;
final String status; // in_progress | done | blocked
final String remarks;
final DateTime date;
final DateTime createdAt;
TaskLogModel({
required this.id,
required this.userId,
required this.userName,
required this.projectId,
required this.projectName,
required this.branchId,
required this.branchName,
this.flavor,
required this.moduleName,
required this.status,
required this.remarks,
required this.date,
required this.createdAt,
});
factory TaskLogModel.fromMap(String id, Map<String, dynamic> data) {
return TaskLogModel(
id: id,
userId: data['userId'] ?? '',
userName: data['userName'] ?? '',
projectId: data['projectId'] ?? '',
projectName: data['projectName'] ?? '',
branchId: data['branchId'] ?? '',
branchName: data['branchName'] ?? '',
flavor: data['flavor'],
moduleName: data['moduleName'] ?? '',
status: data['status'] ?? 'in_progress',
remarks: data['remarks'] ?? '',
date: (data['date'] is Timestamp)
? (data['date'] as Timestamp).toDate()
: DateTime.now(),
createdAt: (data['createdAt'] is Timestamp)
? (data['createdAt'] as Timestamp).toDate()
: DateTime.now(),
);
}
Map<String, dynamic> toMap() {
return {
'userId': userId,
'userName': userName,
'projectId': projectId,
'projectName': projectName,
'branchId': branchId,
'branchName': branchName,
'flavor': flavor,
'moduleName': moduleName,
'status': status,
'remarks': remarks,
'date': Timestamp.fromDate(date),
'createdAt': Timestamp.fromDate(createdAt),
};
}
}