class URLs {
  URLs._();

  static const String appReleaseBuildNumber = "22";

  static const host1 = "https://atomsm.hmg.com"; // production url
  // static const host1 = "https://atomsmdev.hmg.com"; // local DEV url
  // static const host1 = "https://atomsmuat.hmg.com"; // local UAT url

  // static String _baseUrl = "$_host/mobile";
  // static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis
  // static final String _baseUrl = "$_host/mobile"; // host local UAT
  static final String _baseUrl = "$_host/v3/mobile"; // v3 for new CM,PM,TM

  static String _host = host1;

  set host(String value) => _host = value;

  static String? getFileUrl(String? file) => (file == null || file.isEmpty) ? null : (file.contains("/") ? file : "$_baseUrl/Files/DownloadFile?fileName=$file");

  // static String getFileUrl(String file) => (file == null || file.isEmpty) ? null :1 (file.contains("/") ? file : "$_host/attachment/$file");

  // API Routes
  static get login => "$_baseUrl/MobileAuth/Login"; // web login
  static get checkLoginValidation => "$_baseUrl/Account/Authenticate"; // web login
  static get checkAppVersion => "$_baseUrl/Account/CheckAppVersion"; // web login
  //Reset Password Apis...
  static get sendForgetPasswordOtp => "$_baseUrl/Account/SendForgotPasswordOtp"; // send OTP.
  static get sendForgetPasswordValidateOtp => "$_baseUrl/Account/SendForgotPasswordValidateOtp"; // validate OTP.
  static get updateNewPassword => "$_baseUrl/Account/UpdatenewPassword"; // validate OTP.

  // static get login => "$_baseUrl/MobileAuth/LoginIntegration"; // mobile login
  static get register => "$_baseUrl/handle/create/user"; // post
  static get updateProfile => "$_baseUrl/update/user/profile"; // post
  static get updateProfileImage => "$_baseUrl/Account/ChangeImageEmployee"; // post
  static get getSites => "$_baseUrl/Customer/GetCustomers"; // get
  static get getSitesAutoComplete => "$_baseUrl/Customer/GetCustomersAutoComplete"; // get
  static get getSiteAutoCompleteWithoutConditionSites => "$_baseUrl/Customer/GetCustomersAutoCompleteWithoutConditionSites"; // get
  static get getDepartments => "$_baseUrl/Customer/GetDepartmentLookup"; // get
  static get getAssets => "$_baseUrl/Asset/GetAssets"; // get
  static get getFaultDescription => "$_baseUrl/Asset/GetDefectForModelDefinition"; // get
  static get getAssetById => "$_baseUrl/Asset/GetAssetById?assetId="; // get
  static get getModels => "$_baseUrl/ModelDefinition/GetModelDefinitionAsset"; // get ?client=2
  static get getAllRequestsAndCount => "$_baseUrl/CallRequest/GetAllRequestsAndCount"; // get
  static get updateUserContactInformation => "$_baseUrl/Account/UpdateContactInfo"; // get

  //service request new flow urls.
  static get nurseDashboardCountUrl => '$_baseUrl/ServiceRequest/GetDashboardNurseCount';

  static get nurseDashboardDetailsUrl => '$_baseUrl/ServiceRequest/GetDashboardNurseDetails';

  static get nurseRejectUrl => '$_baseUrl/ServiceRequest/NurseReject';

  static get engineerStopTimer => '$_baseUrl/ServiceRequest/EngineerStopTimer';

  static get nurseConfirmEngineerArrivedUrl => '$_baseUrl/ServiceRequest/NurseConfirm';

  static get nurseConfirmUrl => '$_baseUrl/ServiceRequest/NurseConfirm';

  static get nurseRejectEngineerArrivedUrl => '$_baseUrl/ServiceRequest/NurseNotArrive';

  static get nurseConfirmEngineerArrivalUrl => '$_baseUrl/ServiceRequest/NurseAccept';

  static get engineerDashboardCountUrl => '$_baseUrl/ServiceRequest/GetDashboardEngineerCount';

  static get engineerDashboardDetailsUrl => '$_baseUrl/ServiceRequest/GetDashboardEngineerDetails';

  static get engineerDashboardNotAssignDetails => '$_baseUrl/ServiceRequest/GetDashboardEngineerNotAssignDetails';

  static get engineerDashboardUpcoming => '$_baseUrl/ServiceRequest/GetDashboardEngineerUpcoming';

  static get engineerAcceptUrl => '$_baseUrl/ServiceRequest/EngineerAccept';

  static get engineerAssignHimSelfUrl => '$_baseUrl/ServiceRequest/AssignEngineerToHimself';

  static get engineerRejectUrl => '$_baseUrl/ServiceRequest/EngineerReject';

  static get returnToIHaveArrive => '$_baseUrl/ServiceRequest/ReturnToIHaveArrive';

  static get engineerFixRemotlyUrl => '$_baseUrl/ServiceRequest/EngineerFixRemotly';

  static get engineerNeedVisitUrl => '$_baseUrl/ServiceRequest/EngineerNeedVisit';

  static get engineerUpdateNeedVisitUrl => '$_baseUrl/ServiceRequest/EngineerUpdateNeedVisit';

  static get engineerMarkAsFixUrl => '$_baseUrl/ServiceRequest/EngineerMarkAsFix';

  static get reOrderActivity => '$_baseUrl/ServiceRequest/ReOrderActivity';

  static get engineerConfirmArriveUrl => '$_baseUrl/ServiceRequest/EngineerConfirmArrive';

  static get engineerUpdateWorkOrderUrl => '$_baseUrl/ServiceRequest/EngineerUpdateWorkOrder';

  static get engineerUpdateCost => '$_baseUrl/ServiceRequest/EngineerUpdateCost';

  static get engineerSetReminderUrl => '$_baseUrl/ServiceRequest/EngineerSetReminder';

  static get getWorkOrderByIdUrl => '$_baseUrl/ServiceRequest/GetWorkOrderById';

  static get getQrCodeUrl => '$_baseUrl/ServiceRequest/GetQRCode';

  static get deleteActivitySparePartUrl => '$_baseUrl/ServiceRequest/DeleteActivitySparePart';

  static get deleteActivityMaintenanceUrl => '$_baseUrl/ServiceRequest/DeleteActivityMaintenance';

  static get createActivitySparePartUrl => '$_baseUrl/ServiceRequest/CreateActivitySparePart';

  static get createActivityMaintenanceUrl => '$_baseUrl/ServiceRequest/CreateActivityMaintenance';

  static get createActivityAssetToBeRetiredUrl => '$_baseUrl/ServiceRequest/CreateActivityAssetToBeRetired';

  static get createWorkOrderUrl => '$_baseUrl/ServiceRequest/CreateWorkOrder';

  static get updateActivitySparePartUrl => '$_baseUrl/ServiceRequest/UpdateActivitySparePart';

  static get updateActivityMaintenanceUrl => '$_baseUrl/ServiceRequest/UpdateActivityMaintenance';

  static get assignEngineerToWorkOrderUrl => '$_baseUrl/ServiceRequest/AssignEngineerToWorkOrder';

  static get uploadWorkOrderAttachmentsUrl => '$_baseUrl/ServiceRequest/UploadAttachmentsWorkOrder';

  static get getArrivalVerificationTypeUrl => '$_baseUrl/ArrivalVerificationType/GetArrivalVerificationType';

  static get sendOtpUrl => '$_baseUrl/SmsNotification/SendOTP/';

  static get verifyOtpUrl => '$_baseUrl/SmsNotification/VerifyOTP/';

  // 08051
  //Swipe module Api..
  static get swipeUrl => '$_baseUrl/Swipe/Swipe';

  static get getSwipeLastTransactionUrl => '$_baseUrl/Swipe/GetLastTransaction';

  static get getSwipeTransactionHistoryUrl => '$_baseUrl/Swipe/GetTransactions';

  //Recurrent plan  Api...
  static get getRecurrentPlanByIdUrl => '$_baseUrl/PlanRecurrentTasks/GetPlanRecurrentTaskById';

  static get updateRecurrentPlanUrl => '$_baseUrl/PlanRecurrentTasks/UpdateTaskByEngineer';

  //Task request  apis ...
  static get getTaskTypeByUserUrl => '$_baseUrl/TaskTypes/GetTaskTypesByUser';

  static get addTaskUrl => '$_baseUrl/TaskJobs/AddTaskJob';

  static get getTaskByIdUrl => '$_baseUrl/TaskJobs/GetTaskJobById';

  static get updateTaskByEngineerUrl => '$_baseUrl/TaskJobs/UpdateByEngineer';

  // Task LookUps
  static get taskJobTypeOfAlert => "$_baseUrl/Lookups/GetLookup?lookupEnum=1260";

  static get taskJobRiskLevel => "$_baseUrl/Lookups/GetLookup?lookupEnum=1261";

  static get taskJobResource => "$_baseUrl/Lookups/GetLookup?lookupEnum=1262";

  static get taskJobActionNeeded => "$_baseUrl/Lookups/GetLookup?lookupEnum=1263";

  static get taskJobImpactStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=1264";

  //service request.....
  static get getServiceRequests => "$_baseUrl/CallRequest/GetCallRequests"; // get
  static get getServiceRequestById => "$_baseUrl/CallRequest/GetCallRequestById"; // get
  static get getServiceRequestThrough => "$_baseUrl/Lookups/GetLookup?lookupEnum=603"; // get
  static get getServiceLoanAvailability => "$_baseUrl/Lookups/GetLookup?lookupEnum=4"; // get
  static get getServiceFirstAction => "$_baseUrl/Lookups/GetLookup?lookupEnum=700"; // get
  static get getServiceRequestTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=604"; // get
  static get getServiceRequestStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=503";

  static get getRepairLocation => "$_baseUrl/Lookups/GetLookup?lookupEnum=504";

  static get equipmentStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=601";

  static get commissioningStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=601";

  static get getDateOperators => "$_baseUrl/Lookups/GetLookup?lookupEnum=200";

  static get getMaintenanceSituation => "$_baseUrl/Lookups/GetLookup?lookupEnum=502";

  static get getPreventiveMaintenanceVisits => "$_baseUrl/return/user/calibrations"; // get
  static get updatePreventiveMaintenanceVisits => "$_baseUrl/Visit/UpdateVisits"; // get

  static get getRegularVisits => "$_baseUrl/Visit/GetVisits"; // get
  static get updateRegularVisits => "$_baseUrl/Visit/UpdateVisits"; // get

  static get getPlanPreventiveVisitById => "$_baseUrl/PlanPreventiveVisit/GetPlanPreventiveVisitById"; // get
  static get updateVisitByEngineer => "$_baseUrl/PlanPreventiveVisit/UpdateVisitByEngineer"; // get

  static get getSingleServiceRequest => "$_baseUrl/return/call/information"; // get
  static get getSuppliersAutoComplete => "$_baseUrl/Supplier/GetSuppliersAutoComplete";

  static get addSupplierEngineer => "$_baseUrl/Supplier/AddSupplierEngineer";

  static get getSystemNotifications => "$_baseUrl/SystemNotification/GetSystemNotifications"; // get
  static get getRecentNotifications => "$_baseUrl/return/user/recent/notification"; // get
  static get createRequest => "$_baseUrl/CallRequest/AddCallRequest"; // get
  static get CheckIfAssetHasAnotherServiceRequest => "$_baseUrl/ServiceRequest/CheckForPendingRequestForAsset"; // get
  static get createReport => "$_baseUrl/handle/create/report/issue"; // get
  static get updateRequestDate => "$_baseUrl/CallRequest/UpdateCallRequest"; // get

  // service report
  static get createServiceReport => "$_baseUrl/WorkOrder/AddWorkOrder"; // get
  static get updateServiceReport => "$_baseUrl/WorkOrder/UpdateWorkOrder"; // get
  static get getServiceReport => "$_baseUrl/WorkOrder/GetWorkOrderById"; // get
  static get createDuplicatedReport => "$_baseUrl/handle/duplicate/request"; // get
  static get searchWorkOrders => "$_baseUrl/WorkOrder/SearchWorkOrders";

  static get getSubWorkerInfoAccordingToPreviousStep => "$_baseUrl/WorkOrder/GetDataPreviousStep";

  static get getPpmReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=522"; // get for ppm po reason, in mobile there is no use of it.
  static get getPpmAssetAvailability => "$_baseUrl/Lookups/GetLookup?lookupEnum=1205"; // get for ppm po reason, in mobile there is no use of it.
  static get getPpmElectricalSafety => "$_baseUrl/Lookups/GetLookup?lookupEnum=480"; // get for ppm po reason, in mobile there is no use of it.
  static get getPpmTaskStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=403"; // get for ppm po reason, in mobile there is no use of it.
  static get getPpmService => "$_baseUrl/Lookups/GetLookup?lookupEnum=34"; // get for ppm po reason, in mobile there is no use of it.

  static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookupReason?lookupEnum=505";

  static get getServiceReportRejectionReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=1303";

  static get getServiceReportReasonsNew => "$_baseUrl/Lookups/GetLookupReasonNew?lookupEnum=505";

  static get getWoFrames => "$_baseUrl/Lookups/GetLookup?lookupEnum=1254";

  static get getServiceReportRetirementType => "$_baseUrl/Lookups/GetLookup?lookupEnum=415";

  static get getVisitReminderTimeValue => "$_baseUrl/Lookups/GetLookup?lookupEnum=1211";

  static get getServiceReportActivityStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=1302";

  static get getServiceReportTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=501"; // get
  static get getServiceReportTypesForWO => "$_baseUrl/Lookups/GetLookup?lookupEnum=34"; // get
  static get getServiceReportStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=521"; // get
  static get getServiceReportLastCalls => "$_baseUrl/WorkOrder/GetLookupCallLastSituationBasedOnCase"; // get
  static get getAssetTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=500"; // get
  static get getPersonRoles => "$_baseUrl/Lookups/GetLookup?lookupEnum=36"; // get
  static get getPartNumber => "$_baseUrl/PartCatalog/GetPartAutoComplete"; // get
  static get getSparePartAvailableQuantity => "$_baseUrl/SparePart/GetAvailablityQtyForSparePartByPartId"; // get
  static get getServiceReportPriority => "$_baseUrl/Lookups/GetLookup?lookupEnum=4"; // get
  static get getServiceReportDefectTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=601"; // get
  static get getCallRequestForWorkOrder => "$_baseUrl/CallRequest/GetCallRequestForWorkOrder"; // get
  static get attachmentBaseUrl => "https://atomsmdev.hmg.com/v2/mobile/Files/DownloadFile?fileName=";

  //gas refill
  static get getGasTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=606"; // get
  // todo check edits with backend
  static get getGasCylinderSize => "$_baseUrl/Lookups/GetLookup?lookupEnum=608"; // get
  static get getGasCylinderType => "$_baseUrl/Lookups/GetLookup?lookupEnum=607"; // get
  static get getGasStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=609"; // get
  static get requestGasRefill => "$_baseUrl/GasRefill/AddGasRefillFromMobile"; // get
  static get updateGasRefill => "$_baseUrl/GazRefill/UpdateGazRefill"; // get
  static get updateGasRefillByNurse => "$_baseUrl/GazRefill/UpdateGasRefillByNurseForMobile"; //update gas refill by nurse
  static get getGasRefill => "$_baseUrl/GazRefill/GetGazRefills"; // get
  // static get getGasRefillById => "$_baseUrl/GazRefill/GetGazRefillById"; // get older endpoint..
  static get getGasRefillById => "$_baseUrl/GasRefill/GetGasRefillById"; // get
  static get getGazRefillComments => "$_baseUrl/GazRefill/GetHistoryComments"; // get
  static get addGazRefillComment => "$_baseUrl/GazRefill/AddHistoryComment"; // add
  static get updateGasRefillByEngineer => "$_baseUrl/GasRefill/UpdateGasRefillByEngineer"; // update

  //device transfer
  static get requestDeviceTransfer => "$_baseUrl/AssetTransfer/AddAssetTransfer"; // get
  // static get updateDeviceTransfer => "$_baseUrl/AssetTransfer/UpdateAssetTransfer"; // get
  static get getDeviceTransfer => "$_baseUrl/AssetTransfer/GetAssetTransfers"; // get
  // static get getAssetTransferById => "$_baseUrl/AssetTransfer/GetAssetTransferById"; // get
  static get getAssetTransferStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=406"; // get

  //Asset  transfer new Apis
  static get getAssetTransferById => "$_baseUrl/AssetTransfer/GetAssetTransferNewById"; // get
  static get createAssetTransferRequest => "$_baseUrl/AssetTransfer/AddAssetTransferMobileNew"; // post
  static get updateDeviceTransfer => "$_baseUrl/AssetTransfer/UpdateEngineerAssetTransferNew"; // get

  // employee
  static get getEmployees => "$_baseUrl/Lookups/GetLookup?lookupEnum=33"; // get
  static get getEngineers => "$_baseUrl/Account/GetUserByRoleValue?value=R-6"; // get
  static get getTaskEvaluatorUser => "$_baseUrl/Account/GetUserByRoleValue?value=R-2"; // get
  static get getNurses => "$_baseUrl/Account/GetUserByRoleValue?value=R-7"; // get
  static get getNursesBySiteId => "$_baseUrl/Account/GetUserByRoleValueSiteAndAssetGroupBySiteId?value=R-7"; // get

  // pentry
  static get getPentry => "$_baseUrl/return/pentry/details"; // get
  static get updatePentry => "$_baseUrl/Visit/UpdateVisit"; // get
  static get getPentryTaskStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=403"; // get
  static get getPentryVisitStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=402"; // get
  static get getPentryStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=401"; // get
  // contacts
  static get getPentryContacts => "$_baseUrl/handle/return/all/contacts"; // get
  //comments
  static get getComments => "$_baseUrl/CallRequest/GetHistoryComments"; // get
  static get addComment => "$_baseUrl/CallRequest/AddHistoryComment"; // add
}
