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 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 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), }; } }