class ApiEndpoints { ApiEndpoints._(); // Auth static const String login = '/auth/login'; static const String logout = '/auth/logout'; static const String refreshToken = '/auth/refresh'; static const String forgotPassword = '/auth/forgot-password'; static const String changePassword = '/auth/change-password'; static const String verifyOtp = '/auth/verify-otp'; static const String me = '/auth/me'; // Companies static const String companies = '/companies'; static String companyById(String id) => '/companies/$id'; static String companySettings(String id) => '/companies/$id/settings'; // Branches static const String branches = '/branches'; static String branchById(String id) => '/branches/$id'; // Users static const String users = '/users'; static const String usersSummary = '/users/summary'; static const String usersFilters = '/users/filters'; static const String usersExport = '/users/export'; static String userById(String id) => '/users/$id'; static String deactivateUser(String id) => '/users/$id/deactivate'; // Roles & Permissions static const String roles = '/roles'; static const String rolesPermissions = '/roles/permissions'; static const String rolesCards = '/roles/cards'; static String roleById(String id) => '/roles/$id'; static const String permissions = '/permissions'; static String rolePermissions(String roleId) => '/roles/$roleId/permissions'; static String rolePermissionMatrix(String roleId) => '/roles/$roleId/permission-matrix'; // Asset Categories static const String assetCategories = '/masters/asset-categories'; static String assetCategoryById(String id) => '/masters/asset-categories/$id'; static const String assetSubcategories = '/masters/asset-subcategories'; static String assetSubcategoryById(String id) => '/masters/asset-subcategories/$id'; // Masters static const String departments = '/masters/departments'; static String departmentById(String id) => '/masters/departments/$id'; static const String designations = '/masters/designations'; static String designationById(String id) => '/masters/designations/$id'; static const String plants = '/masters/plants'; static String plantById(String id) => '/masters/plants/$id'; static const String uom = '/masters/uom'; static String uomById(String id) => '/masters/uom/$id'; static const String itemCategories = '/masters/item-categories'; static String itemCategoryById(String id) => '/masters/item-categories/$id'; static const String itemSubcategories = '/masters/item-subcategories'; static String itemSubcategoryById(String id) => '/masters/item-subcategories/$id'; static const String items = '/masters/items'; static String itemById(String id) => '/masters/items/$id'; static const String brands = '/masters/brands'; static String brandById(String id) => '/masters/brands/$id'; static const String documentSeries = '/masters/document-series'; static String documentSeriesById(String id) => '/masters/document-series/$id'; static const String deliveryTerms = '/masters/delivery-terms'; static String deliveryTermById(String id) => '/masters/delivery-terms/$id'; static const String paymentTerms = '/masters/payment-terms'; static String paymentTermById(String id) => '/masters/payment-terms/$id'; static const String gstRates = '/masters/gst-rates'; static String gstRateById(String id) => '/masters/gst-rates/$id'; static const String warehouses = '/masters/warehouses'; static String warehouseById(String id) => '/masters/warehouses/$id'; // Vendors static const String vendors = '/vendors'; static const String vendorGstTreatments = '/vendors/gst-treatments'; static const String vendorSourceOfSupply = '/vendors/source-of-supply'; static String vendorById(String id) => '/vendors/$id'; static String vendorStatus(String id) => '/vendors/$id/status'; static String vendorAddresses(String vendorId) => '/vendors/$vendorId/addresses'; static String vendorAddressById(String vendorId, String addressId) => '/vendors/$vendorId/addresses/$addressId'; static String vendorContacts(String vendorId) => '/vendors/$vendorId/contacts'; static String vendorContactById(String vendorId, String contactId) => '/vendors/$vendorId/contacts/$contactId'; static String vendorBankDetails(String vendorId) => '/vendors/$vendorId/bank-details'; static String vendorBankDetailById(String vendorId, String bankDetailId) => '/vendors/$vendorId/bank-details/$bankDetailId'; static String vendorItems(String vendorId) => '/vendors/$vendorId/items'; static String vendorItemById(String vendorId, String mappingId) => '/vendors/$vendorId/items/$mappingId'; // Purchase Orders static const String purchaseOrders = '/purchase-orders'; static String purchaseOrderById(String id) => '/purchase-orders/$id'; static String purchaseOrderSubmit(String id) => '/purchase-orders/$id/submit'; static String purchaseOrderApprove(String id) => '/purchase-orders/$id/approve'; static String purchaseOrderReject(String id) => '/purchase-orders/$id/reject'; static String purchaseOrderAmend(String id) => '/purchase-orders/$id/amend'; static String purchaseOrderCancel(String id) => '/purchase-orders/$id/cancel'; static String purchaseOrderPdf(String id) => '/purchase-orders/$id/pdf'; // GRN static const String grn = '/grn'; static String grnById(String id) => '/grn/$id'; static String grnCancel(String id) => '/grn/$id/cancel'; static String grnPdf(String id) => '/grn/$id/pdf'; // Assets static const String assets = '/assets'; static String assetById(String id) => '/assets/$id'; static String assetTransfer(String id) => '/assets/$id/transfer'; static String assetTransferHistory(String id) => '/assets/$id/transfer-history'; static const String assetOptions = '/assets/options'; static const String assetContractTypes = '/assets/contract-types'; static const String assetVisitTypes = '/assets/visit-types'; static const String assetPolicyTypes = '/assets/policy-types'; static const String assetConditions = '/assets/conditions'; static const String assetStatuses = '/assets/statuses'; static const String assetPaymentFrequencies = '/assets/payment-frequencies'; static const String assetServiceFrequencies = '/assets/service-frequencies'; static const String assetVisitStatuses = '/assets/visit-statuses'; static const String assetVisitConditionsAfter = '/assets/visit-conditions-after'; static const String assetDepreciationMethods = '/assets/depreciation-methods'; static const String assetDepreciationCalculate = '/assets/depreciation/calculate'; static const String assetAlertsExpiry = '/assets/alerts/expiry'; static const String assetAlertsService = '/assets/alerts/service'; static String assetAmc(String assetId) => '/assets/$assetId/amc'; static String assetAmcById(String assetId, String contractId) => '/assets/$assetId/amc/$contractId'; static String assetAmcRenew(String assetId, String contractId) => '/assets/$assetId/amc/$contractId/renew'; static String assetServiceVisits(String assetId) => '/assets/$assetId/service-visits'; static String assetServiceVisitById(String assetId, String visitId) => '/assets/$assetId/service-visits/$visitId'; static String assetInsurance(String assetId) => '/assets/$assetId/insurance'; static String assetInsuranceById(String assetId, String policyId) => '/assets/$assetId/insurance/$policyId'; static String assetInsuranceRenew(String assetId, String policyId) => '/assets/$assetId/insurance/$policyId/renew'; // Dashboard static const String dashboardKpis = '/dashboard/kpis'; static const String dashboardCharts = '/dashboard/charts'; // Reports static const String reportAssetRegister = '/reports/asset-register'; static const String reportAllocation = '/reports/allocation'; static const String reportMaintenance = '/reports/maintenance'; static const String reportWarranty = '/reports/warranty'; static const String reportDisposal = '/reports/disposal'; // Settings static const String settings = '/settings'; static const String settingsBranding = '/settings/branding'; static const String settingsGeneral = '/settings/general'; static const String settingsCompany = '/settings/company'; static String settingsCompanyLogo = '/settings/company/logo'; static const String settingsAsset = '/settings/asset'; static const String settingsNotifications = '/settings/notifications'; static const String settingsEmail = '/settings/email'; static const String settingsSecurity = '/settings/security'; // Audit static const String auditLogs = '/audit-logs'; // Notifications static const String notifications = '/notifications'; }