class ServiceProjectBranchesResponse { final bool success; final String message; final Data? data; final dynamic errors; final int statusCode; final DateTime timestamp; ServiceProjectBranchesResponse({ required this.success, required this.message, required this.data, required this.errors, required this.statusCode, required this.timestamp, }); factory ServiceProjectBranchesResponse.fromJson(Map json) { return ServiceProjectBranchesResponse( success: json['success'] ?? false, message: json['message'] ?? '', data: json['data'] != null ? Data.fromJson(json['data']) : null, errors: json['errors'], statusCode: json['statusCode'] ?? 0, timestamp: DateTime.tryParse(json['timestamp'] ?? '') ?? DateTime.now(), ); } } class Data { final int currentPage; final int totalPages; final int totalEntities; final List data; Data({ required this.currentPage, required this.totalPages, required this.totalEntities, required this.data, }); factory Data.fromJson(Map json) { return Data( currentPage: json['currentPage'] ?? 0, totalPages: json['totalPages'] ?? 0, totalEntities: json['totalEntities'] ?? 0, data: json['data'] != null ? List.from( json['data'].map((x) => Branch.fromJson(x)), ) : [], ); } } class Branch { final String id; final String branchName; final Project project; final String? contactInformation; final String? address; final String? branchType; final DateTime? createdAt; final CreatedBy? createdBy; Branch({ required this.id, required this.branchName, required this.project, this.contactInformation, this.address, this.branchType, this.createdAt, this.createdBy, }); factory Branch.fromJson(Map json) { return Branch( id: json['id'] ?? '', branchName: json['branchName'] ?? '', project: Project.fromJson(json['project'] ?? {}), contactInformation: json['contactInformation'], address: json['address'], branchType: json['branchType'], createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt']) : null, createdBy: json['createdBy'] != null ? CreatedBy.fromJson(json['createdBy']) : null, ); } } class Project { final String id; final String name; final String shortName; final DateTime? assignedDate; Project({ required this.id, required this.name, required this.shortName, this.assignedDate, }); factory Project.fromJson(Map json) { return Project( id: json['id'] ?? '', name: json['name'] ?? '', shortName: json['shortName'] ?? '', assignedDate: json['assignedDate'] != null ? DateTime.parse(json['assignedDate']) : null, ); } } class CreatedBy { final String id; final String firstName; final String lastName; final String email; final String? photo; final String jobRoleId; final String jobRoleName; CreatedBy({ required this.id, required this.firstName, required this.lastName, required this.email, this.photo, required this.jobRoleId, required this.jobRoleName, }); factory CreatedBy.fromJson(Map json) { return CreatedBy( id: json['id'] ?? '', firstName: json['firstName'] ?? '', lastName: json['lastName'] ?? '', email: json['email'] ?? '', photo: json['photo'], jobRoleId: json['jobRoleId'] ?? '', jobRoleName: json['jobRoleName'] ?? '', ); } }