import 'dart:convert'; import 'package:flutter/foundation.dart'; import 'package:mohem_flutter_app/api/api_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/main.dart'; import 'package:mohem_flutter_app/models/basic_member_information_model.dart'; import 'package:mohem_flutter_app/models/chane_forgot_password_model.dart'; import 'package:mohem_flutter_app/models/check_activation_code_model.dart'; import 'package:mohem_flutter_app/models/check_mobile_app_version_model.dart'; import 'package:mohem_flutter_app/models/dashboard/get_accrual_balances_list_model.dart'; import 'package:mohem_flutter_app/models/dashboard/get_attendance_tracking_list_model.dart'; import 'package:mohem_flutter_app/models/dashboard/get_open_missing_swipe.dart'; import 'package:mohem_flutter_app/models/dashboard/itg_forms_model.dart'; import 'package:mohem_flutter_app/models/dashboard/list_menu.dart'; import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; import 'package:mohem_flutter_app/models/eit/get_eit_transaction_model.dart'; import 'package:mohem_flutter_app/models/generic_mapper_model.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart'; import 'package:mohem_flutter_app/models/itg/itg_main_response.dart'; import 'package:mohem_flutter_app/models/itg/itg_response_model.dart'; import 'package:mohem_flutter_app/models/member_login_list_model.dart'; import 'package:mohem_flutter_app/models/worklist/get_open_notifications.dart'; class ApiClassMapper { Future handleApiEndpoint({required String endpoint, required var jsonData, String? errorMessage}) async { switch (endpoint) { case 'MemberLogin': return MemberLoginListModel.fromRawJson(jsonEncode(jsonData)); case 'Mohemm_SendActivationCodebyOTPNotificationType': BasicMemberInformationModel response = BasicMemberInformationModel.fromRawJson(jsonEncode(jsonData)); // AppState().postParamsObject?.setLogInTokenID = response.logInTokenId; return response; case 'CheckActivationCode': CheckActivationCodeModel responseData = CheckActivationCodeModel.fromRawJson(jsonEncode(jsonData)); AppState().postParamsObject?.setTokenID = responseData.authenticationTokenId; AppState().postParamsObject?.mobileNumber = responseData.basicMemberInformation!.pMobileNumber; AppState().postParamsObject?.userName = AppState().getUserName; AppState().postParamsObject?.pEmailAddress = responseData.basicMemberInformation!.pEmailAddress; AppState().postParamsObject?.pSessionId = responseData.pSessionId; AppState().postParamsObject?.pUserName = AppState().getUserName; AppState().postParamsObject?.pSelectedEmployeeNumber = AppState().getUserName; AppState().postParamsObject?.setPLegislationCode = responseData.basicMemberInformation!.pLegislationCode; AppState().postParamsObject?.setPayrollCodeStr = responseData.memberInformationList!.first.payrolLCode; AppState().setBusinessCardPrivilege = responseData.memberInformationList!.first.businessCardPrivilege ?? false; // AppState().postParamsObject!.logInTokenID = responseData.authenticationTokenId; //responseData.errorMessage = errorMessage; return responseData; case 'RefreshToken': return; case 'Logout': return; case 'Mohemm_Insert_MobileDeviceInfo': if (jsonData is Map && jsonData['Data'] == true) { return true; } else { return false; } case 'Mohemm_GetMobileLoginInfo_NEW': GetMobileLoginInfoListModel response = GetMobileLoginInfoListModel.fromJson(jsonData.first); return response; case 'ChangePassword_FromActiveSession': return; case 'Get_BasicUserInformation': BasicMemberInformationModel response = BasicMemberInformationModel.fromJson(jsonData); return response; case 'SendPublicActivationCode': return; case 'CheckPublicActivationCode': return; case 'ChangePassword_Forget': return ChangePasswordForgetModel.fromJson(jsonData); case 'CheckMobileAppVersion': return CheckMobileAppVersionModel.fromRawJson(jsonData); case 'GET_MENU': List data = (jsonDecode(jsonEncode(jsonData)) as List).map((item) => ListMenu.fromRawJson(jsonEncode(item))).toList(); return data; // COCWS endpoints case 'Mohemm_ITG_GetCategories': return; case 'ITGGetTaskCountRequestType': return; case 'Mohemm_ITG_ReviewerAdmin_Pending_Tasks': return GenericResponseModel.fromJson(jsonData["data"]); case 'Mohemm_ITG_CreateTicketMobile': return; case 'Mohemm_ITG_GetTicketsByEmployee': return; case 'Mohemm_ITG_AddItemForSaleMobile': return; case 'Mohemm_ITG_GetItemForSale': return; case 'Mohemm_ITG_GetRegion': return; case 'Mohemm_ITG_GetItemForSaleByEmployee': return; case 'Mohemm_ITG_GetItemSaleCategory': return; case 'Mohemm_ITG_UpdateItemForSale': return; case 'GetAnnouncementDiscountsConfigData': return; case 'GetOfferDiscountsConfigData': return; case 'Mohemm_ITG_OffersDiscount_GetAll': return; case 'Mohemm_ITG_GetPageNotification': return MohemmItgResponseItem(); case 'Mohemm_ITG_Survey_Response': return ItgMainRes(); case 'Mohemm_ITG_GetPageNotificationDetails': return ItgMainRes(); case 'Mohemm_ITG_UpdateAdvertisementAsViewed': return dynamic; case 'Mohemm_ITG_GetTicketDetails': return; case 'Mohemm_ITG_GetTicketTransaction': return; case 'Mohemm_ITG_GetTicketAttachment': return; case 'Mohemm_ITG_GetTicketTypes': return; case 'Mohemm_ITG_GetProjectDepartments': return; case 'Mohemm_ITG_GetDepartmentSections': return; case 'Mohemm_ITG_GetSectionTopics': return; case 'Mohemm_ITG_GetProjects': return; case 'ITGApproveRequest': return; case 'ITGRejectRequest': return; case 'ITGDelegateRequest': return; case 'ITGAnswer': return; case 'ITGRequestInformation': return; case 'ITGGrantAccess': return; case 'ITGGetFormDetials': return; case 'ITGFormsPendingTasks': return ItgFormsModel(); case 'ITGGetFormDetialsAttachment': return; case 'Mohemm_GetFavoriteReplacements': return; case 'Mohemm_ITG_GetMyFavorites_Images': return; // ERP endpoints case 'VALIDATE_ABSENCE_TRANSACTION': return; case 'SUBMIT_ABSENCE_TRANSACTION': return; case 'START_ABSENCE_APPROVAL_PROCESS': return; case 'GET_EIT_TRANSACTIONS': return CollectionTransaction(); case 'GET_TIME_CARD_SUMMARY': return; case 'GET_DAY_HOURS_TYPE_DETAILS': return; case 'GET_CONCURRENT_PROGRAMS': return; case 'GET_SCHEDULE_SHIFTS_DETAILS': return; case 'GET_CONTACT_DETAILS': return; case 'GET_PENDING_REQ_DETAILS': return; case 'GET_EMPLOYEE_CONTACTS': return; case 'GET_OBJECT_VALUES': return; case 'GET_COUNTRIES': return; case 'START_PHONES_APPROVAL_PROCESS': return; case 'GET_NOTIFICATION_REASSIGN_MODE': return; case 'START_TERM_APPROVAL_PROCESS': return; case 'GET_PENDING_REQ_FUNCTIONS': return; case 'GET_CCP_TRANSACTIONS': return; case 'GET_CCP_OUTPUT': return; case 'GET_USER_ITEM_TYPES': return; case 'GET_ADDRESS_NOTIFICATION_BODY': return; case 'UPDATE_USER_ITEM_TYPES': return; case 'GET_ATTACHMENTS': return; case 'GET_WORKLIST': return; case 'GET_RFC_EMPLOYEE_LIST': return; case 'GET_TERM_NOTIFICATION_BODY': return; case 'GET_MO_ITEM_HISTORY': return; case 'GET_ABSENCE_DFF_STRUCTURE': return; case 'GET_CCP_DFF_STRUCTURE': return; case 'GET_TERM_DFF_STRUCTURE': return; case 'GET_EIT_DFF_STRUCTURE': return; case 'GET_CONTACT_DFF_STRUCTURE': return; case 'GET_BASIC_DET_DFF_STRUCTURE': return; case 'SUBMIT_CONTACT_TRANSACTION': return; case 'SUBMIT_PHONES_TRANSACTION': return; case 'VHR_GetManagersDetails': return; case 'START_CONTACT_APPROVAL_PROCESS': return; case 'GET_PO_ITEM_HISTORY': return; case 'GET_CEI_TRANSACTIONS': return; case 'START_CEI_APPROVAL_PROCESS': return; case 'VHR_GetProjectByCode': return; case 'Mohemm_LicenseInfoByID': return; case 'GET_PR_INFORMATION': return; case 'GET_PAY_REQ_NOTIFICATION_BODY': return; case 'GET_SUBORDINATES_LEAVES_TOTAL_VACATIONS': return; case 'GET_EMPLOYEE_SUBORDINATES': return; case 'GET_PR_NOTIFICATION_BODY': return; case 'GET_PO_NOTIFICATION_BODY': return; case 'GET_EIT_NOTIFICATION_BODY': return; case 'GET_STAMP_MS_NOTIFICATION_BODY': return; case 'GET_ABSENCE_NOTIFICATION_BODY': return; case 'GET_SUBORDINATES_LEAVES': return; case 'GET_NOTIFICATION_BUTTONS': return; case 'GET_REPLACEMENT_LIST': return; case 'Get_UserInformation': return; case 'SUBMIT_BASIC_DET_TRANSACTION': return; case 'CreateIssueInfo': return GenericResponseModel(); case 'AuthenticateAndSwipeUserSupportNFC': return GenericResponseModel(); case 'ErrorCount_Get': return; case 'GET_MENU_ENTRIES': List data = (jsonDecode(jsonEncode(jsonData)) as List).map((item) => GetMenuEntriesList.fromRawJson(jsonEncode(item))).toList(); return data; case 'GET_OPEN_NOTIFICATIONS': List data = (jsonDecode(jsonEncode(jsonData)) as List).map((item) => GetOpenNotifications.fromRawJson(jsonEncode(item))).toList(); return data; case 'GET_OPEN_MISSING_SWIPES': return GetOpenMissingSwipes.fromJson(jsonData); case 'GET_CONTACT_COLS_STRUCTURE': return; case 'GET_EMPLOYEE_ADDRESS': return; case 'START_BASIC_DET_APPR_PROCESS': return; case 'GET_BASIC_DET_COLS_STRUCTURE': return; case 'START_ADDRESS_APPROVAL_PROCESS': return; case 'SUBMIT_TERM_TRANSACTION': return; case 'GET_PAYSLIP': return; case 'GET_EARNINGS': return; case 'GET_DEDUCTIONS': return; case 'GET_SUMMARY_OF_PAYMENT': return; case 'GET_PAYMENT_INFORMATION': return; case 'GET_VALUE_SET_VALUES': return; case 'UPDATE_EMPLOYEE_IMAGE': return; case 'GET_EMPLOYEE_DOCUMENTS': return; case 'GET_EMPLOYEE_BASIC_DETAILS': return; case 'GET_EMPLOYEE_PHONES': return; case 'GET_PERFORMANCE_APPRAISAL': return; case 'START_EIT_APPROVAL_PROCESS': return; case 'SUBMIT_CCP_TRANSACTION': return; case 'SUBMIT_EIT_TRANSACTION': return; case 'VALIDATE_EIT_TRANSACTION': return; case 'SUBMIT_ADDRESS_TRANSACTION': return; case 'RESUBMIT_EIT_TRANSACTION': return; case 'GET_APPROVERS_LIST': return; case 'GET_WF_LOOKUP': return; case 'ADD_ATTACHMENT': return; case 'CREATE_VACATION_RULE': return; case 'GET_ITEM_TYPE_NOTIFICATIONS': return; case 'GET_VR_ITEM_TYPES': return; case 'GET_TERM_COLS_STRUCTURE': return; case 'Mohemm_ChangeFavoriteReplacements': return; case 'NOTIFICATION_ACTIONS': return; case 'GET_MO_NOTIFICATION_BODY': return; case 'GET_QUOTATION_ANALYSIS': return; case 'GET_ITEM_CREATION_NTF_BODY': return; case 'GET_BASIC_DET_NTF_BODY': return; case 'GET_ACTION_HISTORY': return; case 'GET_PR_ATTACHMENTS': return; case 'NOTIFICATION_GET_RESPOND_ATTRIBUTES': return; case 'GET_PHONES_NOTIFICATION_BODY': return; case 'GET_PR_ACTION_HISTORY': return; case 'GET_CONTACT_NOTIFICATION_BODY': return; case 'VHR_EmployeeLogin': return; case 'VHR_SendActivationCodebyOTPNotificationType': return; case 'VHR_CheckVerificationCode': return; case 'SetPassword': return; case 'GET_STAMP_NS_NOTIFICATION_BODY': return; case 'GET_DEFAULT_VALUE': return; case 'GET_ACCRUAL_BALANCES': print(jsonEncode(jsonData)); List data = (jsonDecode(jsonEncode(jsonData)) as List).map((item) => GetAccrualBalancesList.fromRawJson(jsonEncode(item))).toList(); return data; case 'DisableSession': return; case 'GET_VACATION_RULES': return; case 'Get_NewEmployees': return; case 'GET_EIT_STRUCTURE': return; case 'GET_ItemOnHand': return; case 'PROCESS_TRANSACTIONS': return; case 'INSERT_BOOKED_ORDERS_INTO_STG': return; case 'INSERT_AP_INV_INTO_STG': return; case 'INSERT_GL_JOURNALS_INTO_STG': return; case 'GET_Attendance_Tracking': GetAttendanceTracking response = GetAttendanceTracking.fromJson(jsonData); return response; // case 'GET_OPEN_NOTIFICATIONS': // return GenericResponseModel(); case 'GET_ABSENCE_TRANSACTIONS': return; case 'GET_ABSENCE_ATTENDANCE_TYPES': return; case 'CALCULATE_ABSENCE_DURATION': return; case 'CANCEL_HR_TRANSACTION': return; default: return; } } }