import 'package:ftc_mobile_app/models/staffWorkload/StaffWorkloadResponse.dart'; import 'profileData/user_data.dart'; class ProfileDataModel { ProfileDataModel({ this.statusCode, this.statusDescription, this.data, }); ProfileDataModel.fromJson(dynamic json) { statusCode = json['statusCode']; statusDescription = json['statusDescription']; data = json['data'] != null ? Data.fromJson(json['data']) : null; } int? statusCode; String? statusDescription; Data? data; Map toJson() { final map = {}; map['statusCode'] = statusCode; map['statusDescription'] = statusDescription; if (data != null) { map['data'] = data?.toJson(); } return map; } } class Data { Data({ this.staffMembers, this.totalSupervisionsCount, this.overdueSupervisionsCount, this.assignedSupervisionsCount, this.completedSupervisionsCount, this.count, this.offset, this.limit, }); Data.fromJson(dynamic json) { if (json['staffMembers'] != null) { staffMembers = []; json['staffMembers'].forEach((v) { staffMembers?.add(StaffMembers.fromJson(v)); }); } totalSupervisionsCount = json['totalSupervisionsCount']; overdueSupervisionsCount = json['overdueSupervisionsCount']; assignedSupervisionsCount = json['assignedSupervisionsCount']; completedSupervisionsCount = json['completedSupervisionsCount']; count = json['count']; offset = json['offset']; limit = json['limit']; } List? staffMembers; int? totalSupervisionsCount; int? overdueSupervisionsCount; int? assignedSupervisionsCount; int? completedSupervisionsCount; int? count; int? offset; int? limit; Map toJson() { final map = {}; if (staffMembers != null) { map['staffMembers'] = staffMembers?.map((v) => v.toJson()).toList(); } map['totalSupervisionsCount'] = totalSupervisionsCount; map['overdueSupervisionsCount'] = overdueSupervisionsCount; map['assignedSupervisionsCount'] = assignedSupervisionsCount; map['completedSupervisionsCount'] = completedSupervisionsCount; map['count'] = count; map['offset'] = offset; map['limit'] = limit; return map; } } class StaffMembers { StaffMembers({ this.contractedHours, this.id, this.staffMemberName, this.staffDesignation, this.staffOnLeave, this.holidays, this.complianceDocuments, this.niNumber, this.kin, this.user, this.managerId, this.clients, this.staffWorkLoads, this.staffHolidayRequests, this.staffTrainings, this.supervision, this.underSupervisions, this.staffWorkingDays, this.stafDob, this.active, this.covidCheck, this.createdAt, this.updatedAt, this.staffDisciplinaries, this.staffReferences, this.remainingHolidayHours, }); StaffMembers.fromJson(dynamic json) { contractedHours = json['contractedHours'] != null ? ContractedHours.fromJson(json['contractedHours']) : null; id = json['_id']; staffMemberName = json['staffMemberName']; staffDesignation = json['staffDesignation']; staffOnLeave = json['staffOnLeave']; holidays = List.castFrom(json['holidays'] ?? ""); complianceDocuments = List.castFrom(json['complianceDocuments'] ?? ""); niNumber = json['niNumber']; kin = json['kin']; user = json['user'] is Map ? UserData.fromJson(json['user']) : null; managerId = json['managerId'] is Map ? UserData.fromJson(json['managerId']) : null; clients = List.castFrom(json['clients']); if (json['staffWorkLoads'] is List) { staffWorkLoads = []; json['staffWorkLoads'].forEach((v) { if (v is Map) { staffWorkLoads?.add(StaffWorkLoads.fromJson(v)); } }); } staffHolidayRequests = List.castFrom(json['staffHolidayRequests']); staffTrainings = List.castFrom(json['staffTrainings']); supervision = json['supervision'] != null ? Supervision.fromJson(json['supervision']) : null; underSupervisions = List.castFrom(json['underSupervisions']); staffWorkingDays = List.castFrom(json['staffWorkingDays']); stafDob = json['stafDob']; active = json['active']; covidCheck = json['covidCheck']; createdAt = json['createdAt']; updatedAt = json['updatedAt']; staffDisciplinaries = json['staffDisciplinaries'] is Map ? StaffDisciplinaries.fromJson(json['staffDisciplinaries']) : null; staffReferences = json['staffReferences'] is Map ? StaffReferences.fromJson(json['staffReferences']) : null; remainingHolidayHours = json['remainingHolidayHours']; } ContractedHours? contractedHours; String? id; String? staffMemberName; String? staffDesignation; bool? staffOnLeave; List? holidays; List? complianceDocuments; String? niNumber; String? kin; UserData? user; UserData? managerId; List? clients; List? staffWorkLoads; List? staffHolidayRequests; List? staffTrainings; Supervision? supervision; List? underSupervisions; List? staffWorkingDays; String? stafDob; bool? active; bool? covidCheck; String? createdAt; String? updatedAt; StaffDisciplinaries? staffDisciplinaries; StaffReferences? staffReferences; int? remainingHolidayHours; Map toJson() { final map = {}; if (contractedHours != null) { map['contractedHours'] = contractedHours?.toJson(); } map['_id'] = id; map['staffMemberName'] = staffMemberName; map['staffDesignation'] = staffDesignation; map['staffOnLeave'] = staffOnLeave; if (holidays != null) { map['holidays'] = holidays?.map((v) => v.toJson()).toList(); } if (complianceDocuments != null) { map['complianceDocuments'] = complianceDocuments?.map((v) => v.toJson()).toList(); } map['niNumber'] = niNumber; map['kin'] = kin; if (user != null) { map['user'] = user?.toJson(); } if (managerId != null) { map['managerId'] = managerId?.toJson(); } if (clients != null) { map['clients'] = clients?.map((v) => v.toJson()).toList(); } if (staffWorkLoads != null) { map['staffWorkLoads'] = staffWorkLoads?.map((v) => v.toJson()).toList(); } if (staffHolidayRequests != null) { map['staffHolidayRequests'] = staffHolidayRequests?.map((v) => v.toJson()).toList(); } if (staffTrainings != null) { map['staffTrainings'] = staffTrainings?.map((v) => v.toJson()).toList(); } if (supervision != null) { map['supervision'] = supervision?.toJson(); } if (underSupervisions != null) { map['underSupervisions'] = underSupervisions?.map((v) => v.toJson()).toList(); } if (staffWorkingDays != null) { map['staffWorkingDays'] = staffWorkingDays?.map((v) => v.toJson()).toList(); } map['stafDob'] = stafDob; map['active'] = active; map['covidCheck'] = covidCheck; map['createdAt'] = createdAt; map['updatedAt'] = updatedAt; if (staffDisciplinaries != null) { map['staffDisciplinaries'] = staffDisciplinaries?.toJson(); } if (staffReferences != null) { map['staffReferences'] = staffReferences?.toJson(); } map['remainingHolidayHours'] = remainingHolidayHours; return map; } } class StaffReferences { StaffReferences({ this.id, this.docPaths, this.comments, this.staffMember, this.active, this.createdAt, this.updatedAt, this.v, }); StaffReferences.empty(); StaffReferences.fromJson(dynamic json) { id = json['_id']; docPaths = List.castFrom(json['docPaths']); comments = List.castFrom(json['comments']); staffMember = json['staffMember']; active = json['active']; createdAt = json['createdAt']; updatedAt = json['updatedAt']; v = json['__v']; } String? id; List? docPaths; List? comments; String? staffMember; bool? active; String? createdAt; String? updatedAt; int? v; Map toJson() { final map = {}; map['_id'] = id; if (docPaths != null) { map['docPaths'] = docPaths?.map((v) => v.toJson()).toList(); } if (comments != null) { map['comments'] = comments?.map((v) => v.toJson()).toList(); } map['staffMember'] = staffMember; map['active'] = active; map['createdAt'] = createdAt; map['updatedAt'] = updatedAt; map['__v'] = v; return map; } } class StaffDisciplinaries { StaffDisciplinaries({ this.id, this.docPaths, this.comments, this.staffMember, this.active, this.createdAt, this.updatedAt, this.v, }); StaffDisciplinaries.empty(); StaffDisciplinaries.fromJson(dynamic json) { id = json['_id']; docPaths = List.castFrom(json['docPaths']); comments = List.castFrom(json['comments']); staffMember = json['staffMember']; active = json['active']; createdAt = json['createdAt']; updatedAt = json['updatedAt']; v = json['__v']; } String? id; List? docPaths; List? comments; String? staffMember; bool? active; String? createdAt; String? updatedAt; int? v; Map toJson() { final map = {}; map['_id'] = id; if (docPaths != null) { map['docPaths'] = docPaths?.map((v) => v.toJson()).toList(); } if (comments != null) { map['comments'] = comments?.map((v) => v.toJson()).toList(); } map['staffMember'] = staffMember; map['active'] = active; map['createdAt'] = createdAt; map['updatedAt'] = updatedAt; map['__v'] = v; return map; } } class Supervision { Supervision({ this.supervisionName, this.sprDueDate, this.sprStatus, this.sprResult, this.templateTitleId, }); Supervision.fromJson(dynamic json) { supervisionName = json['supervisionName']; sprDueDate = json['sprDueDate']; sprStatus = json['sprStatus']; sprResult = json['sprResult']; templateTitleId = json['templateTitleId']; } String? supervisionName; String? sprDueDate; String? sprStatus; String? sprResult; String? templateTitleId; Map toJson() { final map = {}; map['supervisionName'] = supervisionName; map['sprDueDate'] = sprDueDate; map['sprStatus'] = sprStatus; map['sprResult'] = sprResult; map['templateTitleId'] = templateTitleId; return map; } } // class StaffWorkLoads { // StaffWorkLoads({ // this.holidayEntitlement, // this.id, // this.isCurrentWrkLd, // this.startDate, // this.endDate, // this.holidayAlwnNoOfDys, // this.holidayAlwnNoOfHours, // this.holidaysAvailed, // this.holidaysRemaining, // this.staffMember, // this.carriedOverHours, // this.active, // this.createdAt, // this.updatedAt, // this.v,}); // // StaffWorkLoads.fromJson(dynamic json) { // holidayEntitlement = json['holidayEntitlement'] != null ? HolidayEntitlement.fromJson(json['holidayEntitlement']) : null; // id = json['_id']; // isCurrentWrkLd = json['isCurrentWrkLd']; // startDate = json['startDate']; // endDate = json['endDate']; // holidayAlwnNoOfDys = json['holidayAlwnNoOfDys']; // holidayAlwnNoOfHours = json['holidayAlwnNoOfHours']; // holidaysAvailed = json['holidaysAvailed']; // holidaysRemaining = json['holidaysRemaining']; // staffMember = json['staffMember']; // carriedOverHours = json['carriedOverHours']; // active = json['active']; // createdAt = json['createdAt']; // updatedAt = json['updatedAt']; // v = json['__v']; // } // HolidayEntitlement? holidayEntitlement; // String? id; // bool? isCurrentWrkLd; // String? startDate; // String? endDate; // int? holidayAlwnNoOfDys; // int? holidayAlwnNoOfHours; // int? holidaysAvailed; // int? holidaysRemaining; // String? staffMember; // int? carriedOverHours; // bool? active; // String? createdAt; // String? updatedAt; // int? v; // // Map toJson() { // final map = {}; // if (holidayEntitlement != null) { // map['holidayEntitlement'] = holidayEntitlement?.toJson(); // } // map['_id'] = id; // map['isCurrentWrkLd'] = isCurrentWrkLd; // map['startDate'] = startDate; // map['endDate'] = endDate; // map['holidayAlwnNoOfDys'] = holidayAlwnNoOfDys; // map['holidayAlwnNoOfHours'] = holidayAlwnNoOfHours; // map['holidaysAvailed'] = holidaysAvailed; // map['holidaysRemaining'] = holidaysRemaining; // map['staffMember'] = staffMember; // map['carriedOverHours'] = carriedOverHours; // map['active'] = active; // map['createdAt'] = createdAt; // map['updatedAt'] = updatedAt; // map['__v'] = v; // return map; // } // // } // // class HolidayEntitlement { // HolidayEntitlement({ // this.numberOfDays, // this.numberOfHours, // this.numberOfWeeks,}); // // HolidayEntitlement.fromJson(dynamic json) { // numberOfDays = json['numberOfDays']; // numberOfHours = json['numberOfHours']; // numberOfWeeks = json['numberOfWeeks']; // } // int? numberOfDays; // int? numberOfHours; // int? numberOfWeeks; // // Map toJson() { // final map = {}; // map['numberOfDays'] = numberOfDays; // map['numberOfHours'] = numberOfHours; // map['numberOfWeeks'] = numberOfWeeks; // return map; // } // // } // class ManagerId { // ManagerId({ // this.fcmTokens, // this.location, // this.profileVideoUrl, // this.id, // this.userModelName, // this.name, // this.version, // this.email, // this.phoneNumber, // this.active, // this.role, // this.profilePictureUrl, // this.deviceId, // this.verificationCode, // this.isVerified, // this.approved, // this.blocked, // this.createdAt, // this.updatedAt, // this.v, // this.password, // this.userSettings, // this.modelId,}); // // ManagerId.fromJson(dynamic json) { // fcmTokens = json['fcm_tokens'] != null ? FcmTokens.fromJson(json['fcm_tokens']) : null; // location = json['location'] != null ? LocationData.fromJson(json['location']) : null; // profileVideoUrl = json['profile_video_url']; // id = json['_id']; // userModelName = json['userModelName']; // name = json['name']; // version = json['version']; // email = json['email']; // phoneNumber = json['phoneNumber']; // active = json['active']; // role = json['role']; // profilePictureUrl = json['profile_picture_url']; // deviceId = json['deviceId']; // verificationCode = json['verification_code']; // isVerified = json['is_verified']; // approved = json['approved']; // blocked = json['blocked']; // createdAt = json['createdAt']; // updatedAt = json['updatedAt']; // v = json['__v']; // password = json['password']; // userSettings = json['userSettings']; // modelId = json['modelId']; // } // FcmTokens? fcmTokens; // LocationData? location; // String? profileVideoUrl; // String? id; // String? userModelName; // String? name; // String? version; // String? email; // String? phoneNumber; // bool? active; // String? role; // String? profilePictureUrl; // String? deviceId; // String? verificationCode; // bool? isVerified; // bool? approved; // bool? blocked; // String? createdAt; // String? updatedAt; // int? v; // String? password; // String? userSettings; // String? modelId; // // Map toJson() { // final map = {}; // if (fcmTokens != null) { // map['fcm_tokens'] = fcmTokens?.toJson(); // } // if (location != null) { // map['location'] = location?.toJson(); // } // map['profile_video_url'] = profileVideoUrl; // map['_id'] = id; // map['userModelName'] = userModelName; // map['name'] = name; // map['version'] = version; // map['email'] = email; // map['phoneNumber'] = phoneNumber; // map['active'] = active; // map['role'] = role; // map['profile_picture_url'] = profilePictureUrl; // map['deviceId'] = deviceId; // map['verification_code'] = verificationCode; // map['is_verified'] = isVerified; // map['approved'] = approved; // map['blocked'] = blocked; // map['createdAt'] = createdAt; // map['updatedAt'] = updatedAt; // map['__v'] = v; // map['password'] = password; // map['userSettings'] = userSettings; // map['modelId'] = modelId; // return map; // } // // } // class Location { // Location({ // this.type, // this.coordinates,}); // // Location.fromJson(dynamic json) { // type = json['type']; // coordinates = json['coordinates'] != null ? json['coordinates'].cast() : []; // } // String? type; // List? coordinates; // // Map toJson() { // final map = {}; // map['type'] = type; // map['coordinates'] = coordinates; // return map; // } // // } // class FcmTokens { // FcmTokens({ // this.token, // this.deviceType,}); // // FcmTokens.fromJson(dynamic json) { // token = json['token']; // deviceType = json['deviceType']; // } // String? token; // String? deviceType; // // Map toJson() { // final map = {}; // map['token'] = token; // map['deviceType'] = deviceType; // return map; // } // // } class ContractedHours { ContractedHours({ this.contractedHours, this.totalShiftHoursWeek, this.noOfShifts, }); ContractedHours.fromJson(dynamic json) { contractedHours = json['contractedHours']; totalShiftHoursWeek = json['totalShiftHoursWeek']; noOfShifts = json['noOfShifts']; } int? contractedHours; int? totalShiftHoursWeek; int? noOfShifts; Map toJson() { final map = {}; map['contractedHours'] = contractedHours; map['totalShiftHoursWeek'] = totalShiftHoursWeek; map['noOfShifts'] = noOfShifts; return map; } }