storemw-core-client 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -334,7 +334,7 @@ const PermissionService = (props) => {
|
|
|
334
334
|
// assignedPermissions
|
|
335
335
|
// } = getRolePermissions()
|
|
336
336
|
let assignedPermissions = userPermissions; // loginPermissionConfigs
|
|
337
|
-
console.log('assignedPermissions', assignedPermissions)
|
|
337
|
+
// console.log('assignedPermissions', assignedPermissions)
|
|
338
338
|
const scope = assignedPermissions[scopeType];
|
|
339
339
|
if (!scope)
|
|
340
340
|
throw `Invalid permission in scope ${scopeType}`;
|
|
@@ -359,7 +359,7 @@ const PermissionService = (props) => {
|
|
|
359
359
|
// return false;
|
|
360
360
|
};
|
|
361
361
|
const getPermissionConfig = (routeType) => {
|
|
362
|
-
console.log('routeType >>>', routeType)
|
|
362
|
+
// console.log('routeType >>>', routeType)
|
|
363
363
|
if (routeType === "administrator") {
|
|
364
364
|
return (Object.keys(adminPermission_1.customAdminPermissionsConfig).length > 0) ? adminPermission_1.customAdminPermissionsConfig : adminPermission_2.adminPermissionsConfig;
|
|
365
365
|
}
|
|
@@ -409,9 +409,9 @@ const PermissionService = (props) => {
|
|
|
409
409
|
throw new Error(`Module config is missing: ${_moduleType} (${_scopeType})`);
|
|
410
410
|
}
|
|
411
411
|
if (!checkObjectHasKey(moduleConfig, _functionType)) {
|
|
412
|
-
console.log('_scopeType', _scopeType)
|
|
413
|
-
console.log('_moduleType', _moduleType)
|
|
414
|
-
console.log('moduleConfig', moduleConfig, scopeConfig, _functionType)
|
|
412
|
+
// console.log('_scopeType', _scopeType)
|
|
413
|
+
// console.log('_moduleType', _moduleType)
|
|
414
|
+
// console.log('moduleConfig', moduleConfig, scopeConfig, _functionType)
|
|
415
415
|
throw new Error(`Unsupported function type: ${_moduleType} > ${_functionType} (${_scopeType})`);
|
|
416
416
|
}
|
|
417
417
|
// let permissionName = _functionType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionService.js","sourceRoot":"","sources":["../../../src/services/permission/PermissionService.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiService, ApiServiceType } from '@/lib';\n\nexport type AppRouteId =\n | \"operator\"\n | \"administrator\"\n | \"retail\"\n | \"workstation\"\n | \"customer\"\n | \"member\"\n | \"public\"\n | \"driver\"\n\n/** Load Custom Configs */\nimport {\n _customPermissionScopeTypes,\n customPermissionScopeTypes,\n customPermissionModuleTypes,\n CustomPermissionMap,\n CustomModuleTypesMap\n} from './config/custom/config';\n\nimport { customAdminPermissionsConfig } from './config/custom/adminPermission';\n\nexport const permissionTypes = {\n role: \"role\",\n} as const\n\nexport const targetPermissionTypes = {\n role: \"role\",\n} as const\n\nimport { adminPermissionsConfig } from './config/default/adminPermission';\nimport { workerPermissionsConfig } from './config/default/workerPermission';\nimport { agentPermissionsConfig } from './config/default/agentPermission';\nimport { driverPermissionsConfig } from './config/default/driverPermission';\nimport { customerPermissionsConfig } from './config/default/customerPermission';\n\nexport type PermissionType = keyof typeof permissionTypes\nexport type PermissionTargetType = typeof targetPermissionTypes[keyof typeof targetPermissionTypes]\nexport type PermissionTargetKey = keyof typeof targetPermissionTypes\n\nexport type PermissionFunctionType =\n | 'pageList'\n | 'pageNew'\n | 'pageView'\n | 'pageUpdate'\n | 'pageStockPost'\n | 'pageVerifyOut'\n | 'pageVerifyIn'\n | 'pageVerifyTransferIn'\n | 'pageExecute'\n | 'pagePack'\n | 'pageImages'\n | 'pageSettings'\n | 'pageChildrenNew'\n | 'pageChildrenUpdate'\n | 'remove'\n | 'removeChildren'\n | 'cancel'\n | 'verifyOutLogs'\n | 'verifyOutUndo'\n | 'verifyOutNew'\n | 'verifyInLogs'\n | 'verifyInUndo'\n | 'verifyInNew'\n | 'verifyTransferInLogs'\n | 'verifyTransferInUndo'\n | 'verifyTransferInNew';\n\nexport type FunctionTypeMeta = {\n id: PermissionFunctionType\n label: string\n type: PermissionFunctionActionType\n description?: string\n};\n\nexport type FunctionTypeMap = {\n [key in PermissionFunctionType]: FunctionTypeMeta\n};\n\nexport type PermissionFunctionActionType = keyof typeof permissionFunctionActionTypes;\n\nexport const permissionFunctionActionTypes = {\n pageAccess: \"pageAccess\",\n callAction: \"callAction\",\n} as const;\n\nexport const permissionFunctionTypes: FunctionTypeMap = {\n pageList: { id: \"pageList\", label: \"Browse\", type: \"pageAccess\", description: \"View Listing\" },\n pageNew: { id: \"pageNew\", label: \"Create\", type: \"pageAccess\", description: \"Create New\" },\n pageView: { id: \"pageView\", label: \"View\", type: \"pageAccess\", description: \"View Detail\" },\n pageUpdate: { id: \"pageUpdate\", label: \"Update\", type: \"pageAccess\", description: \"Modify Detail\" },\n pageStockPost: { id: \"pageStockPost\", label: \"Post to Stock\", type: \"pageAccess\", description: \"Update Stock\" },\n pageVerifyOut: { id: \"pageVerifyOut\", label: \"Verify Out\", type: \"pageAccess\", description: \"Stock Deduction\" },\n pageVerifyIn: { id: \"pageVerifyIn\", label: \"Verify In\", type: \"pageAccess\", description: \"Stock Increment\" },\n pageVerifyTransferIn: { id: \"pageVerifyTransferIn\", label: \"Verify Transfer In\", type: \"pageAccess\", description: \"Transfer Increment\" },\n pageExecute: { id: \"pageExecute\", label: \"Execute\", type: \"pageAccess\", description: \"Execution\" },\n pagePack: { id: \"pagePack\", label: \"Pack\", type: \"pageAccess\", description: \"Perform Packing\" },\n pageImages: { id: \"pageImages\", label: \"Images\", type: \"pageAccess\", description: \"Manage Images\" },\n pageSettings: { id: \"pageSettings\", label: \"Settings\", type: \"pageAccess\", description: \"Manage Settings\" },\n pageChildrenNew: { id: \"pageChildrenNew\", label: \"Create Children\", type: \"pageAccess\", description: \"Create Sub Assets\" },\n pageChildrenUpdate: { id: \"pageChildrenUpdate\", label: \"Update Children\", type: \"pageAccess\", description: \"Modify Sub Assets\" },\n\n remove: { id: \"remove\", label: \"Remove\", type: \"callAction\", description: \"Deletion\" },\n removeChildren: { id: \"removeChildren\", label: \"Remove Children\", type: \"callAction\", description: \"Sub Assets Deletion\" },\n cancel: { id: \"cancel\", label: \"Cancel\", type: \"callAction\", description: \"Cancellation\" },\n verifyOutLogs: { id: \"verifyOutLogs\", label: \"Verify Out History\", type: \"callAction\", description: \"Browse History\" },\n verifyOutUndo: { id: \"verifyOutUndo\", label: \"Undo Verify Out\", type: \"callAction\", description: \"Undo Action\" },\n verifyOutNew: { id: \"verifyOutNew\", label: \"Create Verify Out\", type: \"callAction\", description: \"Perform Action\" },\n verifyInLogs: { id: \"verifyInLogs\", label: \"Verify In History\", type: \"callAction\", description: \"Browse History\" },\n verifyInUndo: { id: \"verifyInUndo\", label: \"Undo Verify In\", type: \"callAction\", description: \"Undo Action\" },\n verifyInNew: { id: \"verifyInNew\", label: \"Create Verify In\", type: \"callAction\", description: \"Perform Action\" },\n verifyTransferInLogs: { id: \"verifyTransferInLogs\", label: \"Verify Transfer In History\", type: \"callAction\", description: \"Browse History\" },\n verifyTransferInUndo: { id: \"verifyTransferInUndo\", label: \"Undo Verify Transfer In\", type: \"callAction\", description: \"Undo Action\" },\n verifyTransferInNew: { id: \"verifyTransferInNew\", label: \"Create Verify Transfer In\", type: \"callAction\", description: \"Perform Action\" },\n};\n\n// export type PermissionScopeType =\n// | \"product\"\n// | \"document\"\n// | \"repository\"\n// | \"logistic\"\n// | \"operation\"\n// | \"user\"\n// | \"userRole\"\n// | \"userBranches\"\n// | \"branchUsers\"\n// | \"group\"\n// | \"region\"\n// | \"business\"\n// | \"customField\"\n// // | \"injectionProp\"\n// | \"injectionField\"\n// | \"report\"\n// | \"scheduler\"\n// | \"rate\"\n// | \"audit\"\n// | \"wallet\"\n// | \"transaction\"\n// | \"userApiKey\";\n\n// const _customPermissionScopeTypes = [\n// \"customSettings\"\n// ] as const\n\nconst _permissionScopeTypes = [\n \"product\",\n \"document\",\n \"repository\",\n \"logistic\",\n \"operation\",\n \"user\",\n \"userRole\",\n \"userBranches\",\n \"branchUsers\",\n \"group\",\n \"region\",\n \"business\",\n \"customField\",\n \"injectionField\",\n \"report\",\n \"scheduler\",\n \"rate\",\n \"audit\",\n \"wallet\",\n \"transaction\",\n \"userApiKey\",\n ..._customPermissionScopeTypes\n] as const;\n\nexport type PermissionScopeType = typeof _permissionScopeTypes[number];\n\nexport type ScopeTypeMeta = {\n id: PermissionScopeType;\n label: string;\n postValue: string;\n description: string;\n};\n\nexport type ScopeTypeMap = {\n [key in PermissionScopeType]: ScopeTypeMeta\n};\n\n// const customPermissionScopeTypes = {\n// customSettings: { id: \"customSettings\", label: \"Custom\", description: \"\" },\n// } as const\n\nexport const permissionScopeTypes: ScopeTypeMap = {\n product: { id: \"product\", label: \"Products\", postValue: \"product\", description: \"\" },\n document: { id: \"document\", label: \"Documents\", postValue: \"document\", description: \"\" },\n repository: { id: \"repository\", label: \"Repositories\", postValue: \"repository\", description: \"\" },\n logistic: { id: \"logistic\", label: \"Logistics\", postValue: \"logistic\", description: \"\" },\n operation: { id: \"operation\", label: \"Operations\", postValue: \"operation\", description: \"\" },\n user: { id: \"user\", label: \"Users\", postValue: \"user\", description: \"\" },\n userRole: { id: \"userRole\", label: \"Roles and Permissions\", postValue: \"user_role\", description: \"\" },\n userBranches: { id: \"userBranches\", label: \"User Branches\", postValue: \"user_branch\", description: \"\" },\n branchUsers: { id: \"branchUsers\", label: \"Branch Users\", postValue: \"branch_user\", description: \"\" },\n group: { id: \"group\", label: \"User Groups\", postValue: \"group\", description: \"\" },\n region: { id: \"region\", label: \"Regions\", postValue: \"region\", description: \"\" },\n business: { id: \"business\", label: \"Business\", postValue: \"business\", description: \"\" },\n customField: { id: \"customField\", label: \"Custom Fields\", postValue: \"custom_field\", description: \"\" },\n // injectionProp: { id: \"injectionProp\", label: \"Injection Props\", postValue: \"\", description: \"\" },\n injectionField: { id: \"injectionField\", label: \"Injection Fields\", postValue: \"injection_field\", description: \"\" },\n report: { id: \"report\", label: \"Reports\", postValue: \"report\", description: \"\" },\n scheduler: { id: \"scheduler\", label: \"Schedulers\", postValue: \"scheduler\", description: \"\" },\n rate: { id: \"rate\", label: \"Rates\", postValue: \"rate\", description: \"\" },\n audit: { id: \"audit\", label: \"Audit Trails\", postValue: \"audit_trail\", description: \"\" },\n wallet: { id: \"wallet\", label: \"Wallets\", postValue: \"wallet\", description: \"\" },\n transaction: { id: \"transaction\", label: \"Transactions\", postValue: \"transaction\", description: \"\" },\n userApiKey: { id: \"userApiKey\", label: \"User API Keys\", postValue: \"userApiKey\", description: \"\" },\n ...customPermissionScopeTypes\n} as const;\n\ntype ModuleProduct =\n | \"product\"\n | \"item\"\n | \"brand\"\n | \"category\"\n | \"uom\";\n\ntype ModuleDocument =\n | \"salesOrder\"\n | \"proformaSales\"\n | \"cashSales\"\n | \"retailCashSales\"\n | \"deliveryOrder\"\n | \"replacementDelivery\"\n | \"salesDebitNote\"\n | \"salesCreditNote\"\n | \"salesInvoice\"\n | \"purchaseOrder\"\n | \"purchaseReturn\"\n | \"purchaseInvoice\"\n | \"itemReceive\"\n | \"itemTransfer\"\n | \"itemRelocate\"\n | \"itemTransform\"\n | \"itemIssue\"\n | \"itemAdjustment\"\n | \"stockTake\"\n | \"transferReturn\"\n | \"transferRequisition\"\n | \"tripOrder\"\n | \"pickOrder\"\n | \"retailPrescription\";\n\ntype ModuleRepository =\n | \"container\"\n | \"package\";\n\ntype ModuleLogistic =\n | \"transporter\";\n\ntype ModuleOperation =\n | \"examineInventory\"\n | \"itemRelocateThreshold\"\n | \"itemReorderThreshold\";\n\ntype ModuleUser =\n | \"administrator\"\n | \"customer\"\n | \"driver\"\n | \"member\"\n | \"retail\"\n | \"supplier\"\n | \"worker\";\n\ntype ModuleUserRole =\n | \"role\"\n | \"permission\";\n\ntype ModuleUserBranches =\n | \"customer\"\n | \"retail\";\n\ntype ModuleBranchUsers =\n | \"customer\"\n | \"retail\";\n\ntype ModuleGroup =\n | \"administrator\"\n | \"customer\"\n | \"supplier\";\n\ntype ModuleRegion =\n | \"country\"\n | \"area\";\n\ntype ModuleBusiness =\n | \"business\";\n\ntype ModuleCustomField =\n | \"customField\";\n\n// type ModuleInjectionProp =\n// | \"injectionProp\";\n\ntype ModuleInjectionField =\n | \"injectionField\";\n\ntype ModuleReport =\n | \"productItem\"\n | \"salesOrder\"\n | \"salesOrderItem\"\n | \"deliveryOrder\"\n | \"deliveryOrderItem\"\n | \"itemReceive\"\n | \"itemReceiveItem\"\n | \"itemTransfer\"\n | \"itemTransferItem\";\n\ntype ModuleScheduler =\n | \"schedulerTask\"\n | \"schedulerLog\"\n | \"schedulerRequest\"\n | \"schedulerConsole\";\n\ntype ModuleRate =\n | \"shippingRate\"\n | \"shippingRule\"\n | \"taxRate\";\n\ntype ModuleAudit =\n | \"auditTrail\"\n | \"auditTrailTag\";\n\ntype ModuleWallet =\n | \"wallet\"\n | \"walletUser\";\n\ntype ModuleTransaction =\n | \"request\"\n | \"wallet\";\n\ntype ModuleUserApiKey =\n | \"apiKey\";\n\nexport type ModuleTypeMetaScoped<T extends string> = {\n id: T;\n label: string;\n postValue: string;\n description?: string;\n};\n\nexport type ModuleTypesMap = {\n product: { [key in ModuleProduct]: ModuleTypeMetaScoped<key> };\n document: { [key in ModuleDocument]: ModuleTypeMetaScoped<key> };\n repository: { [key in ModuleRepository]: ModuleTypeMetaScoped<key> };\n logistic: { [key in ModuleLogistic]: ModuleTypeMetaScoped<key> };\n operation: { [key in ModuleOperation]: ModuleTypeMetaScoped<key> };\n user: { [key in ModuleUser]: ModuleTypeMetaScoped<key> };\n userRole: { [key in ModuleUserRole]: ModuleTypeMetaScoped<key> };\n userBranches: { [key in ModuleUserBranches]: ModuleTypeMetaScoped<key> };\n branchUsers: { [key in ModuleBranchUsers]: ModuleTypeMetaScoped<key> };\n group: { [key in ModuleGroup]: ModuleTypeMetaScoped<key> };\n region: { [key in ModuleRegion]: ModuleTypeMetaScoped<key> };\n business: { [key in ModuleBusiness]: ModuleTypeMetaScoped<key> };\n customField: { [key in ModuleCustomField]: ModuleTypeMetaScoped<key> };\n // injectionProp: { [key in ModuleInjectionProp]: ModuleTypeMetaScoped<key> };\n injectionField: { [key in ModuleInjectionField]: ModuleTypeMetaScoped<key> };\n report: { [key in ModuleReport]: ModuleTypeMetaScoped<key> };\n scheduler: { [key in ModuleScheduler]: ModuleTypeMetaScoped<key> };\n rate: { [key in ModuleRate]: ModuleTypeMetaScoped<key> };\n audit: { [key in ModuleAudit]: ModuleTypeMetaScoped<key> };\n wallet: { [key in ModuleWallet]: ModuleTypeMetaScoped<key> };\n transaction: { [key in ModuleTransaction]: ModuleTypeMetaScoped<key> };\n userApiKey: { [key in ModuleUserApiKey]: ModuleTypeMetaScoped<key> };\n} & CustomModuleTypesMap\n\nexport const permissionModuleTypes: ModuleTypesMap = {\n product: {\n product: { id: \"product\", label: \"Manage Items\", postValue: \"product\", description: \"Product Catalogue\" },\n item: { id: \"item\", label: \"Manage Item Uoms\", postValue: \"item\", description: \"Sku Items Catalogue\" },\n brand: { id: \"brand\", label: \"Manage Brands\", postValue: \"brand\", description: \"Product Brands\" },\n category: { id: \"category\", label: \"Manage Categories\", postValue: \"category\", description: \"Organize Product Category\" },\n uom: { id: \"uom\", label: \"Manage Uoms\", postValue: \"uom\", description: \"Unit Measures\" },\n },\n document: {\n salesOrder: { id: \"salesOrder\", label: \"Sales Orders\", postValue: \"sales\", description: \"All Functions\" },\n proformaSales: { id: \"proformaSales\", label: \"Proforma Sales\", postValue: \"proforma_sales\", description: \"All Functions\" },\n cashSales: { id: \"cashSales\", label: \"Cash Sales\", postValue: \"cash_sales\", description: \"All Functions\" },\n retailCashSales: { id: \"retailCashSales\", label: \"Retail Cash Sales\", postValue: \"retail_cash_sales\", description: \"All Functions\" },\n deliveryOrder: { id: \"deliveryOrder\", label: \"Delivery Orders\", postValue: \"delivery\", description: \"All Functions\" },\n replacementDelivery: { id: \"replacementDelivery\", label: \"Replacement Delivery\", postValue: \"replacement_delivery\", description: \"All Functions\" },\n salesDebitNote: { id: \"salesDebitNote\", label: \"Sales Debit Notes\", postValue: \"sales_debit_note\", description: \"All Functions\" },\n salesCreditNote: { id: \"salesCreditNote\", label: \"Sales Credit Notes\", postValue: \"sales_credit_note\", description: \"All Functions\" },\n salesInvoice: { id: \"salesInvoice\", label: \"Sales Invoice\", postValue: \"sales_invoice\", description: \"All Functions\" },\n purchaseOrder: { id: \"purchaseOrder\", label: \"Purchase Orders\", postValue: \"purchase\", description: \"All Functions\" },\n purchaseReturn: { id: \"purchaseReturn\", label: \"Purchase Returns\", postValue: \"purchase_return\", description: \"All Functions\" },\n purchaseInvoice: { id: \"purchaseInvoice\", label: \"Purchase Invoices\", postValue: \"purchase_invoice\", description: \"All Functions\" },\n itemReceive: { id: \"itemReceive\", label: \"Item Receives\", postValue: \"item_receive\", description: \"All Functions\" },\n itemTransfer: { id: \"itemTransfer\", label: \"Item Transfers\", postValue: \"item_transfer\", description: \"All Functions\" },\n itemRelocate: { id: \"itemRelocate\", label: \"Item Relocates\", postValue: \"item_relocate\", description: \"All Functions\" },\n itemTransform: { id: \"itemTransform\", label: \"Item Transforms\", postValue: \"item_transform\", description: \"All Functions\" },\n itemIssue: { id: \"itemIssue\", label: \"Item Issues\", postValue: \"item_issue\", description: \"All Functions\" },\n itemAdjustment: { id: \"itemAdjustment\", label: \"Item Adjustments\", postValue: \"item_adjustment\", description: \"All Functions\" },\n stockTake: { id: \"stockTake\", label: \"Stock Takes\", postValue: \"stock_take\", description: \"All Functions\" },\n transferReturn: { id: \"transferReturn\", label: \"Transfer Returns\", postValue: \"transfer_return\", description: \"All Functions\" },\n transferRequisition: { id: \"transferRequisition\", label: \"Transfer Requisitions\", postValue: \"transfer_requisition\", description: \"All Functions\" },\n tripOrder: { id: \"tripOrder\", label: \"Delivery Trips\", postValue: \"trip\", description: \"All Functions\" },\n pickOrder: { id: \"pickOrder\", label: \"Pick Orders Trips\", postValue: \"pick_order\", description: \"All Functions\" },\n retailPrescription: { id: \"retailPrescription\", label: \"Retail Prescriptions\", postValue: \"retail_prescription\", description: \"All Functions\" },\n },\n repository: {\n container: { id: \"container\", label: \"Containers\", postValue: \"container\", description: \"Shipment Containers\" },\n package: { id: \"package\", label: \"Packages\", postValue: \"pakage\", description: \"Item Packages\" },\n },\n logistic: {\n transporter: { id: \"transporter\", label: \"Transporters\", postValue: \"transporter\", description: \"Fulfillment Parties\" },\n },\n operation: {\n examineInventory: { id: \"examineInventory\", label: \"Examine Inventory\", postValue: \"examine_inventory\", description: \"View Item Inventory\" },\n itemRelocateThreshold: { id: \"itemRelocateThreshold\", label: \"Relocate Threshold\", postValue: \"item_relocate_threshold\", description: \"Relocate Threshold Control\" },\n itemReorderThreshold: { id: \"itemReorderThreshold\", label: \"Reorder Threshold\", postValue: \"item_reorder_threshold\", description: \"Reorder Threshold Control\" },\n },\n user: {\n administrator: { id: \"administrator\", label: \"Manage Administrators\", postValue: \"administrator\", description: \"All Functions\" },\n customer: { id: \"customer\", label: \"Manage Customers\", postValue: \"customer\", description: \"All Functions\" },\n driver: { id: \"driver\", label: \"Manage Drivers\", postValue: \"driver\", description: \"All Functions\" },\n member: { id: \"member\", label: \"Manage Members\", postValue: \"member\", description: \"All Functions\" },\n retail: { id: \"retail\", label: \"Manage Retailers\", postValue: \"retail\", description: \"All Functions\" },\n supplier: { id: \"supplier\", label: \"Manage Suppliers\", postValue: \"supplier\", description: \"All Functions\" },\n worker: { id: \"worker\", label: \"Manage Workers\", postValue: \"worker\", description: \"All Functions\" },\n },\n userRole: {\n role: { id: \"role\", label: \"Roles\", postValue: \"role\", description: \"User Roles\" },\n permission: { id: \"permission\", label: \"Permissions\", postValue: \"permission\", description: \"Assign Permissions\" },\n },\n userBranches: {\n customer: { id: \"customer\", label: \"For Customers\", postValue: \"customer\", description: \"Customer Branches\" },\n retail: { id: \"retail\", label: \"For Retailers\", postValue: \"retail\", description: \"Retail Outlets\" },\n },\n branchUsers: {\n customer: { id: \"customer\", label: \"For Customers\", postValue: \"customer\", description: \"Customer Branch Users\" },\n retail: { id: \"retail\", label: \"For Retailers\", postValue: \"retail\", description: \"Retail Outlet Users\" },\n },\n group: {\n administrator: { id: \"administrator\", label: \"For Administrators\", postValue: \"administrator\", description: \"All Functions\" },\n customer: { id: \"customer\", label: \"For Customers\", postValue: \"customer\", description: \"All Functions\" },\n supplier: { id: \"supplier\", label: \"For Suppliers\", postValue: \"supplier\", description: \"All Functions\" },\n },\n region: {\n country: { id: \"country\", label: \"Country\", postValue: \"country\", description: \"All Functions\" },\n area: { id: \"area\", label: \"Area\", postValue: \"area\", description: \"All Functions\" },\n },\n business: {\n business: { id: \"business\", label: \"Manage Business\", postValue: \"business\", description: \"Multiple business entity\" },\n },\n customField: {\n customField: { id: \"customField\", label: \"Manage Custom Fields\", postValue: \"custom_field\", description: \"Custom Fields For Certain Resources\" },\n },\n // injectionProp: {\n // injectionProp: { id: \"injectionProp\", label: \"Manage Injection Props\", postValue: \"\", description: \"Injection Props For Certain Resources\" },\n // },\n injectionField: {\n injectionField: { id: \"injectionField\", label: \"Manage Injection Fields\", postValue: \"injection_field\", description: \"Injection Fields For Certain Resources\" },\n },\n report: {\n productItem: { id: \"productItem\", label: \"Product Items\", postValue: \"item_report\", description: \"All Functions\" },\n salesOrder: { id: \"salesOrder\", label: \"Sales Orders\", postValue: \"sales_report\", description: \"All Functions\" },\n salesOrderItem: { id: \"salesOrderItem\", label: \"Sales Order Items\", postValue: \"sales_item_report\", description: \"All Functions\" },\n deliveryOrder: { id: \"deliveryOrder\", label: \"Delivery Orders\", postValue: \"delivery_report\", description: \"All Functions\" },\n deliveryOrderItem: { id: \"deliveryOrderItem\", label: \"Delivery Order Items\", postValue: \"delivery_item_report\", description: \"All Functions\" },\n itemReceive: { id: \"itemReceive\", label: \"Item Receives\", postValue: \"item_receive_report\", description: \"All Functions\" },\n itemReceiveItem: { id: \"itemReceiveItem\", label: \"Item Receive Items\", postValue: \"item_receive_item_report\", description: \"All Functions\" },\n itemTransfer: { id: \"itemTransfer\", label: \"Item Transfers\", postValue: \"item_transfer_report\", description: \"All Functions\" },\n itemTransferItem: { id: \"itemTransferItem\", label: \"Item Transfer Items\", postValue: \"item_transfer_item_report\", description: \"All Functions\" },\n },\n scheduler: {\n schedulerTask: { id: \"schedulerTask\", label: \"Manage Task Schedule\", postValue: \"scheduler_task\", description: \"\" },\n schedulerLog: { id: \"schedulerLog\", label: \"Manage Log Schedule\", postValue: \"scheduler_log\", description: \"\" },\n schedulerRequest: { id: \"schedulerRequest\", label: \"Manage Request Schedule\", postValue: \"scheduler_request\", description: \"\" },\n schedulerConsole: { id: \"schedulerConsole\", label: \"Scheduler Console\", postValue: \"scheduler_console\", description: \"\" },\n },\n rate: {\n shippingRate: { id: \"shippingRate\", label: \"Manage Shipping Rate\", postValue: \"shipping_rate\", description: \"\" },\n shippingRule: { id: \"shippingRule\", label: \"Manage Shipping Rule\", postValue: \"shipping_rule\", description: \"\" },\n taxRate: { id: \"taxRate\", label: \"Manage Tax Rate\", postValue: \"tax_rate\", description: \"\" },\n },\n audit: {\n auditTrail: { id: \"auditTrail\", label: \"Manage Audit Trails\", postValue: \"audit_trail\", description: \"\" },\n auditTrailTag: { id: \"auditTrailTag\", label: \"Manage Audit Trail Tags\", postValue: \"audit_trail_tag\", description: \"\" },\n },\n wallet: {\n wallet: { id: \"wallet\", label: \"Manage Wallets\", postValue: \"wallet\", description: \"\" },\n walletUser: { id: \"walletUser\", label: \"Manage Wallet Users\", postValue: \"wallet_user\", description: \"\" },\n },\n transaction: {\n request: { id: \"request\", label: \"Manage Request Transactions\", postValue: \"request\", description: \"\" },\n wallet: { id: \"wallet\", label: \"Manage Wallet Transactions\", postValue: \"wallet\", description: \"\" },\n },\n userApiKey: {\n apiKey: { id: \"apiKey\", label: \"Manage User API Keys\", postValue: \"api_key\", description: \"\" },\n },\n ...customPermissionModuleTypes\n}\n\nexport type Scope = \"product\" | \"document\" | \"wallet\";\n\nexport type Permission = {\n [key in PermissionFunctionType]?: boolean;\n};\n\nexport type PermissionProduct = { [module in ModuleProduct]?: Permission; };\nexport type PermissionDocument = { [module in ModuleDocument]?: Permission; };\nexport type PermissionRepository = { [module in ModuleRepository]?: Permission; };\nexport type PermissionLogistic = { [module in ModuleLogistic]?: Permission; };\nexport type PermissionOperation = { [module in ModuleOperation]?: Permission; };\nexport type PermissionUser = { [module in ModuleUser]?: Permission; };\nexport type PermissionUserRole = { [module in ModuleUserRole]?: Permission; };\nexport type PermissionUserBranches = { [module in ModuleUserBranches]?: Permission; };\nexport type PermissionBranchUsers = { [module in ModuleBranchUsers]?: Permission; };\nexport type PermissionGroup = { [module in ModuleGroup]?: Permission; };\nexport type PermissionRegion = { [module in ModuleRegion]?: Permission; };\nexport type PermissionBusiness = { [module in ModuleBusiness]?: Permission; };\nexport type PermissionCustomField = { [module in ModuleCustomField]?: Permission; };\n// export type PermissionInjectionProp = { [module in ModuleInjectionProp]?: Permission; };\nexport type PermissionInjectionField = { [module in ModuleInjectionField]?: Permission; };\nexport type PermissionReport = { [module in ModuleReport]?: Permission; };\nexport type PermissionScheduler = { [module in ModuleScheduler]?: Permission; };\nexport type PermissionRate = { [module in ModuleRate]?: Permission; };\nexport type PermissionAudit = { [module in ModuleAudit]?: Permission; };\nexport type PermissionWallet = { [module in ModuleWallet]?: Permission; };\nexport type PermissionTransaction = { [module in ModuleTransaction]?: Permission; };\nexport type PermissionUserApiKey = { [module in ModuleUserApiKey]?: Permission; };\n\n// type CustomModuleTransaction =\n// | \"transportType\"\n// | \"transportService\";\n\n// type CustomPermissionMap = {\n// customSettings: { [module in CustomModuleTransaction]?: Permission; };\n// }\n\nexport type PermissionMap = {\n product: PermissionProduct;\n document: PermissionDocument;\n repository: PermissionRepository;\n logistic: PermissionLogistic;\n operation: PermissionOperation;\n user: PermissionUser;\n userRole: PermissionUserRole;\n userBranches: PermissionUserBranches;\n branchUsers: PermissionBranchUsers;\n group: PermissionGroup;\n region: PermissionRegion;\n business: PermissionBusiness;\n customField: PermissionCustomField;\n // injectionProp: PermissionInjectionProp;\n injectionField: PermissionInjectionField;\n report: PermissionReport;\n scheduler: PermissionScheduler;\n rate: PermissionRate;\n audit: PermissionAudit;\n wallet: PermissionWallet;\n transaction: PermissionTransaction;\n userApiKey: PermissionUserApiKey;\n} & CustomPermissionMap\n\nexport type PermissionConfig = Partial<{\n [K in PermissionScopeType]: PermissionMap[K];\n}>;\n\nconst memberPermissionsConfig: PermissionConfig = {\n} as const;\n\n// const driverPermissionsConfig: PermissionConfig = {\n// } as const;\n\nexport type PermissionServiceProps = ApiServiceType & {\n isOwnerUser: boolean,\n userPermissions: any,\n permissionTargetType?: PermissionTargetType\n permissionType?: PermissionType\n routeType?: AppRouteId,\n scopeType?: PermissionScopeType,\n moduleType?: AllModuleKeys,\n permissionRouteType?: string\n};\n\nexport type ChangePermissionProps = {\n id: number,\n permissionTargetType?: PermissionTargetType\n permissionType?: PermissionType\n data:\n // user roles\n {\n userRoles: {\n scopeType: PermissionScopeType,\n moduleType: ModuleBusiness,\n functionType: PermissionFunctionType,\n status: boolean,\n isCustomScope: boolean\n }[]\n }\n}\n\nconst getChangePayload = (permissionType: PermissionType, data: ChangePermissionProps[\"data\"]) => {\n\n if (permissionType === \"role\" && \"userRoles\" in data) {\n\n // scope_type: scopeValue,\n // scope_name: targetId,\n // permission_type: permissionId,\n // status: status ? 1 : 0,\n // is_custom: isCustomScopeId\n\n return {\n permissions: data.userRoles.map(i => ({\n scope_type: i.scopeType,\n scope_name: i.moduleType,\n permission_type: i.functionType,\n status: (i.status === true) ? 1 : 0,\n is_custom: (i.isCustomScope === true) ? 1 : 0,\n })),\n // location_name: data.location.locationName,\n // location_type: data.location.locationType,\n // person_name: data.location.personName,\n // person_contact: data.location.personContact,\n // person_email: data.location.personEmail,\n // address_1: data.location.address1,\n // address_2: data.location.address2,\n // postcode: data.location.postcode,\n // state_id: data.location.stateId,\n // country_id: data.location.countryId,\n // area: data.location.areaId,\n // is_default: (data.location.isDefault === true) ? 1 : 0,\n // status: (data.location.status === true) ? 1 : 0,\n }\n }\n}\n\nconst checkValidScopeId = (id: string) => {\n\n return Object.values(permissionScopeTypes).some(scope => scope.id === id);\n\n // let checkStatus = false;\n\n // Object.keys(permissionScopeTypes).forEach((i: any) => {\n // if (permissionScopeTypes[i]?.id === id) {\n // checkStatus = true\n // }\n // })\n\n // return checkStatus\n}\n\nconst checkObjectHasKey = <T extends object>(\n obj: T,\n key: PropertyKey\n): key is keyof T => {\n return key in obj;\n};\n\ntype AllModuleKeys = {\n [Scope in keyof ModuleTypesMap]: keyof ModuleTypesMap[Scope];\n}[keyof ModuleTypesMap];\n\nexport type CheckPermissionAllowProps = {\n routeType?: AppRouteId,\n scopeType?: keyof typeof permissionScopeTypes,\n moduleType?: AllModuleKeys,\n functionType: PermissionFunctionType\n}\n\nexport const PermissionService = (props?: PermissionServiceProps) => {\n\n const {\n isOwnerUser = false,\n userPermissions = {},\n permissionType = \"role\",\n permissionTargetType = \"role\",\n routeType = \"administrator\",\n scopeType = \"user\",\n moduleType = \"administrator\",\n customToken = '',\n } = props ?? {};\n\n const { makeCall } = ApiService(customToken ? { customToken } : {})\n\n const endpoint1 = \"role\";\n // const endpoint2 = \"locations\"\n\n const changePermission = async ({ id, data, permissionType: overridePermissionType, permissionTargetType: overridePermissionTargetType }: ChangePermissionProps) => {\n\n let url = `${endpoint1}/change/${id}`\n\n let _permissionType = overridePermissionType || permissionType\n\n let payload: any = getChangePayload(_permissionType, data)\n\n const postData = {\n scope: {\n target: overridePermissionTargetType || permissionTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"put\",\n payload: postData,\n // configuration\n });\n\n return response;\n\n }\n\n const validatePermission = ({\n // routeType,\n // parentScopeType,\n scopeType,\n moduleType,\n // parentScopeValue,\n // scopeType,\n functionType\n }: {\n // routeType: AppRouteId,\n // parentScopeType: string,\n // parentScopeValue: string,\n scopeType: string,\n moduleType: AllModuleKeys,\n functionType: PermissionFunctionType\n }) => {\n\n // let {\n // assignedRoles,\n // assignedPermissions\n // } = getRolePermissions()\n\n let assignedPermissions = userPermissions// loginPermissionConfigs\n\n console.log('assignedPermissions', assignedPermissions)\n\n const scope = assignedPermissions[scopeType as keyof typeof assignedPermissions];\n\n if (!scope) throw `Invalid permission in scope ${scopeType}`\n\n const module = scope[moduleType as keyof typeof scope] as string[];\n\n if (!Array.isArray(module)) {\n throw `Invalid permission in module ${moduleType}`\n }\n\n // console.log('module', module, functionType)\n\n return module.includes(functionType);\n\n // check scopeType exist\n // if (scopeType in assignedPermissions === false) return false\n\n // // check moduleType exist\n // if (moduleType in assignedPermissions[scopeType] === false) return false\n\n // // let listPermissions = assignedPermissions[scopeType][moduleType]\n // let allowFunctions = assignedPermissions[scopeType][moduleType]\n\n // // console.log('listPermissions', listPermissions, assignedPermissions)\n\n // // check permission is array format\n // if (Array.isArray(allowFunctions) === false) return false;\n\n // if (allowFunctions.includes(functionType)) { // permission is exists\n // return true;\n // }\n\n // return false;\n\n }\n\n const getPermissionConfig = (routeType: AppRouteId) => {\n\n console.log('routeType >>>', routeType)\n\n if (routeType === \"administrator\") {\n return (Object.keys(customAdminPermissionsConfig).length > 0) ? customAdminPermissionsConfig : adminPermissionsConfig\n }\n\n if (routeType === \"customer\") return customerPermissionsConfig\n if (routeType === \"workstation\") return workerPermissionsConfig\n if (routeType === \"retail\") return agentPermissionsConfig\n if (routeType === \"driver\") return driverPermissionsConfig\n\n return {}\n\n }\n\n const checkPermissionAllow = ({\n routeType: overrideRouteType,\n scopeType: overrideScopeType,\n moduleType: overrideModuleType,\n functionType\n }: CheckPermissionAllowProps) => {\n\n let permissionStatus = false;\n\n try {\n\n let _scopeType_ = overrideScopeType || scopeType\n let _moduleType_ = overrideModuleType || moduleType\n\n let _routeType = overrideRouteType || routeType;\n\n if (!_routeType) throw new Error(`Invalid route type in permission`)\n\n let permissionConfigs = getPermissionConfig(routeType)\n\n // if (routeType === \"administrator\") permissionConfigs = adminPermissionsConfig\n // if (routeType === \"customer\") permissionConfigs = customerPermissionsConfig\n // if (routeType === \"workstation\") permissionConfigs = workerPermissionsConfig\n // if (routeType === \"retail\") permissionConfigs = retailPermissionsConfig\n // if (routeType === \"driver\") permissionConfigs = driverPermissionsConfig\n\n let _scopeType = _scopeType_ as keyof typeof permissionConfigs;\n let _moduleType = _moduleType_;\n let _functionType = functionType;\n\n // if (overrideRouteType) _routeType = \n // if (overrideScopeId) _scopeType = \n // if (overrideScopeType) _moduleType = overrideScopeType\n // if (overrideFunctionType) _functionType = overrideFunctionType\n\n // check the scope id valid\n if (checkValidScopeId(_scopeType) === false)\n throw new Error(`Unsupported scope id : ${_scopeType}`)\n\n const scopeConfig = permissionConfigs[_scopeType];\n\n if (!scopeConfig) {\n throw new Error(`Scope config is missing for: ${_scopeType}`);\n }\n\n if (!checkObjectHasKey(scopeConfig, _moduleType)) {\n throw new Error(`Unsupported scope type: ${_moduleType} (${_scopeType})`);\n }\n\n const moduleConfig = scopeConfig[_moduleType];\n\n if (!moduleConfig) {\n throw new Error(`Module config is missing: ${_moduleType} (${_scopeType})`);\n }\n\n if (!checkObjectHasKey(moduleConfig, _functionType)) {\n console.log('_scopeType', _scopeType)\n console.log('_moduleType', _moduleType)\n console.log('moduleConfig', moduleConfig, scopeConfig, _functionType)\n throw new Error(\n `Unsupported function type: ${_moduleType} > ${_functionType} (${_scopeType})`\n );\n }\n\n // let permissionName = _functionType;\n // let permissionStatus = false;\n\n // console.log('permissionConfigs[_scopeType][_moduleType]', routeType, permissionConfigs[_scopeType][_moduleType], _functionType)\n\n // check routeType exists\n // if (checkObjectHasKey({\n // obj: permissionConfigs[_scopeType][_moduleType][_functionType],\n // key: routeType\n // })) {\n\n // system configured has this option \n // permissionStatus = permissionConfigs[_scopeType][_moduleType][_functionType][_routeType]\n // let allowFunctions = permissionConfigs[_scopeType][_moduleType]\n\n // console.log('permissionStatus', _scopeType, permissionConfigs[_scopeType][_moduleType][_functionType], _moduleType, _functionType, permissionStatus)\n\n // need to check the auth access token for permissions for this logged in user\n // if (permissionStatus) {\n\n // console.log('checkIsOwnerUser()', checkIsOwnerUser())\n\n // if (checkIsOwnerUser() === true) {\n if (isOwnerUser === true) {\n // is owner always all permission open\n permissionStatus = true\n } else {\n\n // get the scope value\n // let _selectedScopes = moduleConfig; // scopeIds[_scopeType]\n\n // override the permission if the real auth token access allow\n permissionStatus = validatePermission({\n // routeType,\n // parentScopeType: _scopeType,\n scopeType: _scopeType,\n // parentScopeValue: \"\", // _selectedScopes?.value,\n // scopeType: _moduleType,\n moduleType: _moduleType,\n functionType: _functionType\n })\n }\n\n // }\n\n // } else {\n // permissionStatus = false; // not exists mean no permission\n // // throw new Error(`Unsupported permission configs`, permissionConfigs[selectScopeId][selectScopeType][_functionType])\n // }\n\n // return permissionStatus\n\n } catch (error) {\n permissionStatus = false\n console.log('error', error)\n } finally {\n return permissionStatus\n }\n\n }\n\n // const list = async (props: PermissionLocationProps) => {\n\n // const { locationType: overrideLocationType } = props;\n\n // let _locationType = overrideLocationType || locationType\n\n // let url: string\n\n // if (_locationType === \"location\") { // only for location\n\n // url = buildApiListUrl(\n // `${endpoint2}/${_locationType}`,\n // props\n // );\n\n // } else { // for rack, slot, zone\n\n // url = buildApiListUrl(\n // `${endpoint2}/${_locationType}/${props?.locationId}`,\n // props\n // );\n\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"get\",\n // payload: {},\n // // configuration\n // });\n\n // return response;\n\n // }\n\n // const get = async (props: GetPermissionProps) => {\n\n // const { id, locationType: overrideLocationType } = props;\n\n // const url = buildApiGetUrl(\n // `${endpoint1}/${overrideLocationType || locationType}/${id}`,\n // props\n // );\n\n // const response = await makeCall({\n // url,\n // method: \"get\",\n // payload: {},\n // // configuration\n // });\n\n // return response;\n\n // }\n\n // const create = async ({ data, locationType: overrideLocationType, locationTargetType: overrideLocationTargetType }: CreatePermissionProps) => {\n\n // let _locationType = overrideLocationType || locationType\n\n // let payload: any = getCreatePayload(_locationType, data)\n\n // let url = `${endpoint1}`;\n\n // let postData = {\n // scope: {\n // target: overrideLocationTargetType || locationTargetType,\n // action: \"\",\n // },\n // payload\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"post\",\n // payload: postData\n // });\n\n // return response;\n\n // }\n\n // const update = async ({ id, data, locationType: overrideLocationType, locationTargetType: overrideLocationTargetType }: UpdatePermissionProps) => {\n\n // let url = `${endpoint1}/${id}`\n\n // let _locationType = overrideLocationType || locationType\n\n // let payload: any = getUpdatePayload(_locationType, data)\n\n // const postData = {\n // scope: {\n // target: overrideLocationTargetType || locationTargetType,\n // action: \"\",\n // },\n // payload\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"put\",\n // payload: postData\n // });\n\n // return response;\n\n // }\n\n // const remove = async ({ ids, locationTargetType: overrideLocationTargetType }: RemovePermissionProps) => {\n\n // let url = `${endpoint2}/delete`\n\n // const postData = {\n // scope: {\n // target: overrideLocationTargetType || locationTargetType,\n // },\n // payload: {\n // ids\n // }\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"post\",\n // payload: postData\n // });\n\n // return response;\n\n // }\n\n // const getDataTypes = async ({ locationType: overrideLocationType }: GetDataTypePermissionProps) => {\n\n // let url = `${endpoint2}/data_types/${overrideLocationType || locationType}`\n\n // const response = await makeCall({\n // url,\n // method: \"get\",\n // });\n\n // return response;\n\n // }\n\n return {\n getPermissionConfig,\n checkPermissionAllow,\n changePermission,\n // list,\n // get,\n // create,\n // update,\n // remove,\n // getDataTypes\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PermissionService.js","sourceRoot":"","sources":["../../../src/services/permission/PermissionService.ts"],"names":[],"mappings":";;;AAAA,+BAAmD;AAYnD,0BAA0B;AAC1B,mDAMgC;AAEhC,qEAA+E;AAElE,QAAA,eAAe,GAAG;IAC3B,IAAI,EAAE,MAAM;CACN,CAAA;AAEG,QAAA,qBAAqB,GAAG;IACjC,IAAI,EAAE,MAAM;CACN,CAAA;AAEV,sEAA0E;AAC1E,wEAA4E;AAC5E,sEAA0E;AAC1E,wEAA4E;AAC5E,4EAAgF;AA+CnE,QAAA,6BAA6B,GAAG;IACzC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;CAClB,CAAC;AAEE,QAAA,uBAAuB,GAAoB;IACpD,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9F,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE;IAC1F,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IAC3F,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE;IACnG,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE;IAC/G,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC/G,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC5G,oBAAoB,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACxI,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE;IAClG,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC/F,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE;IACnG,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC3G,eAAe,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC1H,kBAAkB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAEhI,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE;IACtF,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAC1H,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE;IAC1F,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;IACtH,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IAChH,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;IACnH,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;IACnH,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IAC7G,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAChH,oBAAoB,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC5I,oBAAoB,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IACtI,mBAAmB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;CAC5I,CAAC;AAEF,oCAAoC;AACpC,kBAAkB;AAClB,mBAAmB;AACnB,qBAAqB;AACrB,mBAAmB;AACnB,oBAAoB;AACpB,eAAe;AACf,mBAAmB;AACnB,uBAAuB;AACvB,sBAAsB;AACtB,gBAAgB;AAChB,iBAAiB;AACjB,mBAAmB;AACnB,sBAAsB;AACtB,2BAA2B;AAC3B,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,eAAe;AACf,gBAAgB;AAChB,iBAAiB;AACjB,sBAAsB;AACtB,sBAAsB;AAEtB,wCAAwC;AACxC,uBAAuB;AACvB,aAAa;AAEb,MAAM,qBAAqB,GAAG;IAC1B,SAAS;IACT,UAAU;IACV,YAAY;IACZ,UAAU;IACV,WAAW;IACX,MAAM;IACN,UAAU;IACV,cAAc;IACd,aAAa;IACb,OAAO;IACP,QAAQ;IACR,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,QAAQ;IACR,WAAW;IACX,MAAM;IACN,OAAO;IACP,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,GAAG,oCAA2B;CACxB,CAAC;AAeX,uCAAuC;AACvC,kFAAkF;AAClF,aAAa;AAEA,QAAA,oBAAoB,GAAiB;IAC9C,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IACpF,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;IACxF,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE;IACjG,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;IACxF,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;IAC5F,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IACxE,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;IACrG,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IACvG,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IACpG,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;IACjF,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;IAChF,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;IACvF,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE;IACtG,oGAAoG;IACpG,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE;IAClH,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;IAChF,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;IAC5F,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IACxE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IACxF,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;IAChF,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IACpG,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE;IAClG,GAAG,mCAA0B;CACvB,CAAC;AA8JE,QAAA,qBAAqB,GAAmB;IACjD,OAAO,EAAE;QACL,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE;QACzG,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE;QACtG,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE;QACjG,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,2BAA2B,EAAE;QACzH,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE;KAC3F;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QACzG,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC1H,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE;QAC1G,eAAe,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE;QACpI,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE;QACrH,mBAAmB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;QAClJ,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE;QACjI,eAAe,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE;QACrI,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE;QACtH,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE;QACrH,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC/H,eAAe,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE;QACnI,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE;QACnH,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE;QACvH,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE;QACvH,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC3H,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE;QAC3G,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC/H,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE;QAC3G,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC/H,mBAAmB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;QACnJ,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE;QACxG,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE;QACjH,kBAAkB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,EAAE;KAClJ;IACD,UAAU,EAAE;QACR,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE;QAC/G,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;KACnG;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE;KAC1H;IACD,SAAS,EAAE;QACP,gBAAgB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;QAC5I,qBAAqB,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,4BAA4B,EAAE;QACpK,oBAAoB,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,2BAA2B,EAAE;KAClK;IACD,IAAI,EAAE;QACF,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE;QAChI,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE;QAC5G,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;QACpG,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;QACpG,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;QACtG,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE;QAC5G,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;KACvG;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE;QAClF,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE;KACrH;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE;QAC7G,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;KACvG;IACD,WAAW,EAAE;QACT,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,EAAE;QACjH,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;KAC5G;IACD,KAAK,EAAE;QACH,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE;QAC7H,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE;QACzG,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE;KAC5G;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE;QAChG,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE;KACvF;IACD,QAAQ,EAAE;QACN,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,0BAA0B,EAAE;KACzH;IACD,WAAW,EAAE;QACT,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,qCAAqC,EAAE;KACnJ;IACD,mBAAmB;IACnB,qJAAqJ;IACrJ,KAAK;IACL,cAAc,EAAE;QACZ,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,wCAAwC,EAAE;KAClK;IACD,MAAM,EAAE;QACJ,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE;QAClH,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE;QAChH,cAAc,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE;QAClI,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC5H,iBAAiB,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC9I,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC1H,eAAe,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,eAAe,EAAE;QAC5I,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;QAC9H,gBAAgB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,2BAA2B,EAAE,WAAW,EAAE,eAAe,EAAE;KACnJ;IACD,SAAS,EAAE;QACP,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE;QACnH,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE;QAC/G,gBAAgB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,EAAE,EAAE;QAC/H,gBAAgB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,EAAE,EAAE;KAC5H;IACD,IAAI,EAAE;QACF,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE;QAChH,YAAY,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE;QAChH,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;KAC/F;IACD,KAAK,EAAE;QACH,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;QACzG,aAAa,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE;KAC1H;IACD,MAAM,EAAE;QACJ,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;QACvF,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;KAC5G;IACD,WAAW,EAAE;QACT,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,6BAA6B,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;QACvG,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;KACtG;IACD,UAAU,EAAE;QACR,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;KACjG;IACD,GAAG,oCAA2B;CACjC,CAAA;AAoED,MAAM,uBAAuB,GAAqB,EACxC,CAAC;AAiCX,MAAM,gBAAgB,GAAG,CAAC,cAA8B,EAAE,IAAmC,EAAE,EAAE;IAE7F,IAAI,cAAc,KAAK,MAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QAEnD,0BAA0B;QAC1B,wBAAwB;QACxB,iCAAiC;QACjC,0BAA0B;QAC1B,6BAA6B;QAE7B,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClC,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,eAAe,EAAE,CAAC,CAAC,YAAY;gBAC/B,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,SAAS,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC,CAAC;YACH,6CAA6C;YAC7C,6CAA6C;YAC7C,yCAAyC;YACzC,+CAA+C;YAC/C,2CAA2C;YAC3C,qCAAqC;YACrC,qCAAqC;YACrC,oCAAoC;YACpC,mCAAmC;YACnC,uCAAuC;YACvC,8BAA8B;YAC9B,0DAA0D;YAC1D,mDAAmD;SACtD,CAAA;IACL,CAAC;AACL,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,EAAE;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,4BAAoB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1E,2BAA2B;IAE3B,0DAA0D;IAC1D,gDAAgD;IAChD,6BAA6B;IAC7B,QAAQ;IACR,KAAK;IAEL,qBAAqB;AACzB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CACtB,GAAM,EACN,GAAgB,EACF,EAAE;IAChB,OAAO,GAAG,IAAI,GAAG,CAAC;AACtB,CAAC,CAAC;AAaK,MAAM,iBAAiB,GAAG,CAAC,KAA8B,EAAE,EAAE;IAEhE,MAAM,EACF,WAAW,GAAG,KAAK,EACnB,eAAe,GAAG,EAAE,EACpB,cAAc,GAAG,MAAM,EACvB,oBAAoB,GAAG,MAAM,EAC7B,SAAS,GAAG,eAAe,EAC3B,SAAS,GAAG,MAAM,EAClB,UAAU,GAAG,eAAe,EAC5B,WAAW,GAAG,EAAE,GACnB,GAAG,KAAK,IAAI,EAAE,CAAC;IAEhB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,gBAAU,EAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAEnE,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,gCAAgC;IAEhC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,4BAA4B,EAAyB,EAAE,EAAE;QAE/J,IAAI,GAAG,GAAG,GAAG,SAAS,WAAW,EAAE,EAAE,CAAA;QAErC,IAAI,eAAe,GAAG,sBAAsB,IAAI,cAAc,CAAA;QAE9D,IAAI,OAAO,GAAQ,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAE1D,MAAM,QAAQ,GAAG;YACb,KAAK,EAAE;gBACH,MAAM,EAAE,4BAA4B,IAAI,oBAAoB;gBAC5D,MAAM,EAAE,EAAE;aACb;YACD,OAAO;SACV,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC5B,GAAG;YACH,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,QAAQ;YACjB,gBAAgB;SACnB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAEpB,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAC;IACxB,aAAa;IACb,mBAAmB;IACnB,SAAS,EACT,UAAU;IACV,oBAAoB;IACpB,aAAa;IACb,YAAY,EAQf,EAAE,EAAE;QAED,QAAQ;QACR,qBAAqB;QACrB,0BAA0B;QAC1B,2BAA2B;QAE3B,IAAI,mBAAmB,GAAG,eAAe,CAAA,CAAA,yBAAyB;QAElE,0DAA0D;QAE1D,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAA6C,CAAC,CAAC;QAEjF,IAAI,CAAC,KAAK;YAAE,MAAM,+BAA+B,SAAS,EAAE,CAAA;QAE5D,MAAM,MAAM,GAAG,KAAK,CAAC,UAAgC,CAAa,CAAC;QAEnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,gCAAgC,UAAU,EAAE,CAAA;QACtD,CAAC;QAED,8CAA8C;QAE9C,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAErC,wBAAwB;QACxB,+DAA+D;QAE/D,4BAA4B;QAC5B,2EAA2E;QAE3E,sEAAsE;QACtE,kEAAkE;QAElE,0EAA0E;QAE1E,sCAAsC;QACtC,6DAA6D;QAE7D,uEAAuE;QACvE,mBAAmB;QACnB,IAAI;QAEJ,gBAAgB;IAEpB,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAAC,SAAqB,EAAE,EAAE;QAElD,0CAA0C;QAE1C,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA4B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,8CAA4B,CAAC,CAAC,CAAC,wCAAsB,CAAA;QACzH,CAAC;QAED,IAAI,SAAS,KAAK,UAAU;YAAE,OAAO,8CAAyB,CAAA;QAC9D,IAAI,SAAS,KAAK,aAAa;YAAE,OAAO,0CAAuB,CAAA;QAC/D,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,wCAAsB,CAAA;QACzD,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,0CAAuB,CAAA;QAE1D,OAAO,EAAE,CAAA;IAEb,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAAC,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,kBAAkB,EAC9B,YAAY,EACY,EAAE,EAAE;QAE5B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC;YAED,IAAI,WAAW,GAAG,iBAAiB,IAAI,SAAS,CAAA;YAChD,IAAI,YAAY,GAAG,kBAAkB,IAAI,UAAU,CAAA;YAEnD,IAAI,UAAU,GAAG,iBAAiB,IAAI,SAAS,CAAC;YAEhD,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YAEpE,IAAI,iBAAiB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;YAEtD,gFAAgF;YAChF,8EAA8E;YAC9E,+EAA+E;YAC/E,0EAA0E;YAC1E,0EAA0E;YAE1E,IAAI,UAAU,GAAG,WAA6C,CAAC;YAC/D,IAAI,WAAW,GAAG,YAAY,CAAC;YAC/B,IAAI,aAAa,GAAG,YAAY,CAAC;YAEjC,uCAAuC;YACvC,qCAAqC;YACrC,yDAAyD;YACzD,iEAAiE;YAEjE,2BAA2B;YAC3B,IAAI,iBAAiB,CAAC,UAAU,CAAC,KAAK,KAAK;gBACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAA;YAE3D,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,KAAK,UAAU,GAAG,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,KAAK,UAAU,GAAG,CAAC,CAAC;YAChF,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC;gBAClD,wCAAwC;gBACxC,0CAA0C;gBAC1C,wEAAwE;gBACxE,MAAM,IAAI,KAAK,CACX,8BAA8B,WAAW,MAAM,aAAa,KAAK,UAAU,GAAG,CACjF,CAAC;YACN,CAAC;YAED,sCAAsC;YACtC,gCAAgC;YAEhC,kIAAkI;YAElI,yBAAyB;YACzB,0BAA0B;YAC1B,sEAAsE;YACtE,qBAAqB;YACrB,QAAQ;YAER,qCAAqC;YACrC,2FAA2F;YAC3F,kEAAkE;YAElE,uJAAuJ;YAEvJ,8EAA8E;YAC9E,0BAA0B;YAE1B,wDAAwD;YAExD,qCAAqC;YACrC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,sCAAsC;gBACtC,gBAAgB,GAAG,IAAI,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBAEJ,sBAAsB;gBACtB,8DAA8D;gBAE9D,8DAA8D;gBAC9D,gBAAgB,GAAG,kBAAkB,CAAC;oBAClC,aAAa;oBACb,+BAA+B;oBAC/B,SAAS,EAAE,UAAU;oBACrB,mDAAmD;oBACnD,0BAA0B;oBAC1B,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,aAAa;iBAC9B,CAAC,CAAA;YACN,CAAC;YAED,IAAI;YAEJ,WAAW;YACX,iEAAiE;YACjE,6HAA6H;YAC7H,IAAI;YAEJ,0BAA0B;QAE9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gBAAgB,GAAG,KAAK,CAAA;YACxB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;gBAAS,CAAC;YACP,OAAO,gBAAgB,CAAA;QAC3B,CAAC;IAEL,CAAC,CAAA;IAED,2DAA2D;IAE3D,4DAA4D;IAE5D,mEAAmE;IAEnE,0BAA0B;IAE1B,mEAAmE;IAEnE,qCAAqC;IACrC,mDAAmD;IACnD,wBAAwB;IACxB,iBAAiB;IAEjB,2CAA2C;IAE3C,qCAAqC;IACrC,wEAAwE;IACxE,wBAAwB;IACxB,iBAAiB;IAEjB,YAAY;IAEZ,4CAA4C;IAC5C,mBAAmB;IACnB,6BAA6B;IAC7B,2BAA2B;IAC3B,+BAA+B;IAC/B,cAAc;IAEd,2BAA2B;IAE3B,IAAI;IAEJ,qDAAqD;IAErD,gEAAgE;IAEhE,sCAAsC;IACtC,4EAA4E;IAC5E,oBAAoB;IACpB,aAAa;IAEb,4CAA4C;IAC5C,mBAAmB;IACnB,6BAA6B;IAC7B,2BAA2B;IAC3B,+BAA+B;IAC/B,cAAc;IAEd,2BAA2B;IAE3B,IAAI;IAEJ,kJAAkJ;IAElJ,mEAAmE;IAEnE,mEAAmE;IAEnE,oCAAoC;IAEpC,2BAA2B;IAC3B,uBAAuB;IACvB,4EAA4E;IAC5E,8BAA8B;IAC9B,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IAEZ,4CAA4C;IAC5C,mBAAmB;IACnB,8BAA8B;IAC9B,gCAAgC;IAChC,cAAc;IAEd,2BAA2B;IAE3B,IAAI;IAEJ,sJAAsJ;IAEtJ,yCAAyC;IAEzC,mEAAmE;IAEnE,mEAAmE;IAEnE,6BAA6B;IAC7B,uBAAuB;IACvB,4EAA4E;IAC5E,8BAA8B;IAC9B,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IAEZ,4CAA4C;IAC5C,mBAAmB;IACnB,6BAA6B;IAC7B,gCAAgC;IAChC,cAAc;IAEd,2BAA2B;IAE3B,IAAI;IAEJ,6GAA6G;IAE7G,sCAAsC;IAEtC,yBAAyB;IACzB,mBAAmB;IACnB,wEAAwE;IACxE,aAAa;IACb,qBAAqB;IACrB,kBAAkB;IAClB,YAAY;IACZ,QAAQ;IAER,wCAAwC;IACxC,eAAe;IACf,0BAA0B;IAC1B,4BAA4B;IAC5B,UAAU;IAEV,uBAAuB;IAEvB,IAAI;IAEJ,uGAAuG;IAEvG,sFAAsF;IAEtF,4CAA4C;IAC5C,mBAAmB;IACnB,6BAA6B;IAC7B,cAAc;IAEd,2BAA2B;IAE3B,IAAI;IAEJ,OAAO;QACH,mBAAmB;QACnB,oBAAoB;QACpB,gBAAgB;QAChB,QAAQ;QACR,OAAO;QACP,UAAU;QACV,UAAU;QACV,UAAU;QACV,eAAe;KAClB,CAAC;AACN,CAAC,CAAA;AAnZY,QAAA,iBAAiB,qBAmZ7B","sourcesContent":["import { ApiService, ApiServiceType } from '@/lib';\n\nexport type AppRouteId =\n | \"operator\"\n | \"administrator\"\n | \"retail\"\n | \"workstation\"\n | \"customer\"\n | \"member\"\n | \"public\"\n | \"driver\"\n\n/** Load Custom Configs */\nimport {\n _customPermissionScopeTypes,\n customPermissionScopeTypes,\n customPermissionModuleTypes,\n CustomPermissionMap,\n CustomModuleTypesMap\n} from './config/custom/config';\n\nimport { customAdminPermissionsConfig } from './config/custom/adminPermission';\n\nexport const permissionTypes = {\n role: \"role\",\n} as const\n\nexport const targetPermissionTypes = {\n role: \"role\",\n} as const\n\nimport { adminPermissionsConfig } from './config/default/adminPermission';\nimport { workerPermissionsConfig } from './config/default/workerPermission';\nimport { agentPermissionsConfig } from './config/default/agentPermission';\nimport { driverPermissionsConfig } from './config/default/driverPermission';\nimport { customerPermissionsConfig } from './config/default/customerPermission';\n\nexport type PermissionType = keyof typeof permissionTypes\nexport type PermissionTargetType = typeof targetPermissionTypes[keyof typeof targetPermissionTypes]\nexport type PermissionTargetKey = keyof typeof targetPermissionTypes\n\nexport type PermissionFunctionType =\n | 'pageList'\n | 'pageNew'\n | 'pageView'\n | 'pageUpdate'\n | 'pageStockPost'\n | 'pageVerifyOut'\n | 'pageVerifyIn'\n | 'pageVerifyTransferIn'\n | 'pageExecute'\n | 'pagePack'\n | 'pageImages'\n | 'pageSettings'\n | 'pageChildrenNew'\n | 'pageChildrenUpdate'\n | 'remove'\n | 'removeChildren'\n | 'cancel'\n | 'verifyOutLogs'\n | 'verifyOutUndo'\n | 'verifyOutNew'\n | 'verifyInLogs'\n | 'verifyInUndo'\n | 'verifyInNew'\n | 'verifyTransferInLogs'\n | 'verifyTransferInUndo'\n | 'verifyTransferInNew';\n\nexport type FunctionTypeMeta = {\n id: PermissionFunctionType\n label: string\n type: PermissionFunctionActionType\n description?: string\n};\n\nexport type FunctionTypeMap = {\n [key in PermissionFunctionType]: FunctionTypeMeta\n};\n\nexport type PermissionFunctionActionType = keyof typeof permissionFunctionActionTypes;\n\nexport const permissionFunctionActionTypes = {\n pageAccess: \"pageAccess\",\n callAction: \"callAction\",\n} as const;\n\nexport const permissionFunctionTypes: FunctionTypeMap = {\n pageList: { id: \"pageList\", label: \"Browse\", type: \"pageAccess\", description: \"View Listing\" },\n pageNew: { id: \"pageNew\", label: \"Create\", type: \"pageAccess\", description: \"Create New\" },\n pageView: { id: \"pageView\", label: \"View\", type: \"pageAccess\", description: \"View Detail\" },\n pageUpdate: { id: \"pageUpdate\", label: \"Update\", type: \"pageAccess\", description: \"Modify Detail\" },\n pageStockPost: { id: \"pageStockPost\", label: \"Post to Stock\", type: \"pageAccess\", description: \"Update Stock\" },\n pageVerifyOut: { id: \"pageVerifyOut\", label: \"Verify Out\", type: \"pageAccess\", description: \"Stock Deduction\" },\n pageVerifyIn: { id: \"pageVerifyIn\", label: \"Verify In\", type: \"pageAccess\", description: \"Stock Increment\" },\n pageVerifyTransferIn: { id: \"pageVerifyTransferIn\", label: \"Verify Transfer In\", type: \"pageAccess\", description: \"Transfer Increment\" },\n pageExecute: { id: \"pageExecute\", label: \"Execute\", type: \"pageAccess\", description: \"Execution\" },\n pagePack: { id: \"pagePack\", label: \"Pack\", type: \"pageAccess\", description: \"Perform Packing\" },\n pageImages: { id: \"pageImages\", label: \"Images\", type: \"pageAccess\", description: \"Manage Images\" },\n pageSettings: { id: \"pageSettings\", label: \"Settings\", type: \"pageAccess\", description: \"Manage Settings\" },\n pageChildrenNew: { id: \"pageChildrenNew\", label: \"Create Children\", type: \"pageAccess\", description: \"Create Sub Assets\" },\n pageChildrenUpdate: { id: \"pageChildrenUpdate\", label: \"Update Children\", type: \"pageAccess\", description: \"Modify Sub Assets\" },\n\n remove: { id: \"remove\", label: \"Remove\", type: \"callAction\", description: \"Deletion\" },\n removeChildren: { id: \"removeChildren\", label: \"Remove Children\", type: \"callAction\", description: \"Sub Assets Deletion\" },\n cancel: { id: \"cancel\", label: \"Cancel\", type: \"callAction\", description: \"Cancellation\" },\n verifyOutLogs: { id: \"verifyOutLogs\", label: \"Verify Out History\", type: \"callAction\", description: \"Browse History\" },\n verifyOutUndo: { id: \"verifyOutUndo\", label: \"Undo Verify Out\", type: \"callAction\", description: \"Undo Action\" },\n verifyOutNew: { id: \"verifyOutNew\", label: \"Create Verify Out\", type: \"callAction\", description: \"Perform Action\" },\n verifyInLogs: { id: \"verifyInLogs\", label: \"Verify In History\", type: \"callAction\", description: \"Browse History\" },\n verifyInUndo: { id: \"verifyInUndo\", label: \"Undo Verify In\", type: \"callAction\", description: \"Undo Action\" },\n verifyInNew: { id: \"verifyInNew\", label: \"Create Verify In\", type: \"callAction\", description: \"Perform Action\" },\n verifyTransferInLogs: { id: \"verifyTransferInLogs\", label: \"Verify Transfer In History\", type: \"callAction\", description: \"Browse History\" },\n verifyTransferInUndo: { id: \"verifyTransferInUndo\", label: \"Undo Verify Transfer In\", type: \"callAction\", description: \"Undo Action\" },\n verifyTransferInNew: { id: \"verifyTransferInNew\", label: \"Create Verify Transfer In\", type: \"callAction\", description: \"Perform Action\" },\n};\n\n// export type PermissionScopeType =\n// | \"product\"\n// | \"document\"\n// | \"repository\"\n// | \"logistic\"\n// | \"operation\"\n// | \"user\"\n// | \"userRole\"\n// | \"userBranches\"\n// | \"branchUsers\"\n// | \"group\"\n// | \"region\"\n// | \"business\"\n// | \"customField\"\n// // | \"injectionProp\"\n// | \"injectionField\"\n// | \"report\"\n// | \"scheduler\"\n// | \"rate\"\n// | \"audit\"\n// | \"wallet\"\n// | \"transaction\"\n// | \"userApiKey\";\n\n// const _customPermissionScopeTypes = [\n// \"customSettings\"\n// ] as const\n\nconst _permissionScopeTypes = [\n \"product\",\n \"document\",\n \"repository\",\n \"logistic\",\n \"operation\",\n \"user\",\n \"userRole\",\n \"userBranches\",\n \"branchUsers\",\n \"group\",\n \"region\",\n \"business\",\n \"customField\",\n \"injectionField\",\n \"report\",\n \"scheduler\",\n \"rate\",\n \"audit\",\n \"wallet\",\n \"transaction\",\n \"userApiKey\",\n ..._customPermissionScopeTypes\n] as const;\n\nexport type PermissionScopeType = typeof _permissionScopeTypes[number];\n\nexport type ScopeTypeMeta = {\n id: PermissionScopeType;\n label: string;\n postValue: string;\n description: string;\n};\n\nexport type ScopeTypeMap = {\n [key in PermissionScopeType]: ScopeTypeMeta\n};\n\n// const customPermissionScopeTypes = {\n// customSettings: { id: \"customSettings\", label: \"Custom\", description: \"\" },\n// } as const\n\nexport const permissionScopeTypes: ScopeTypeMap = {\n product: { id: \"product\", label: \"Products\", postValue: \"product\", description: \"\" },\n document: { id: \"document\", label: \"Documents\", postValue: \"document\", description: \"\" },\n repository: { id: \"repository\", label: \"Repositories\", postValue: \"repository\", description: \"\" },\n logistic: { id: \"logistic\", label: \"Logistics\", postValue: \"logistic\", description: \"\" },\n operation: { id: \"operation\", label: \"Operations\", postValue: \"operation\", description: \"\" },\n user: { id: \"user\", label: \"Users\", postValue: \"user\", description: \"\" },\n userRole: { id: \"userRole\", label: \"Roles and Permissions\", postValue: \"user_role\", description: \"\" },\n userBranches: { id: \"userBranches\", label: \"User Branches\", postValue: \"user_branch\", description: \"\" },\n branchUsers: { id: \"branchUsers\", label: \"Branch Users\", postValue: \"branch_user\", description: \"\" },\n group: { id: \"group\", label: \"User Groups\", postValue: \"group\", description: \"\" },\n region: { id: \"region\", label: \"Regions\", postValue: \"region\", description: \"\" },\n business: { id: \"business\", label: \"Business\", postValue: \"business\", description: \"\" },\n customField: { id: \"customField\", label: \"Custom Fields\", postValue: \"custom_field\", description: \"\" },\n // injectionProp: { id: \"injectionProp\", label: \"Injection Props\", postValue: \"\", description: \"\" },\n injectionField: { id: \"injectionField\", label: \"Injection Fields\", postValue: \"injection_field\", description: \"\" },\n report: { id: \"report\", label: \"Reports\", postValue: \"report\", description: \"\" },\n scheduler: { id: \"scheduler\", label: \"Schedulers\", postValue: \"scheduler\", description: \"\" },\n rate: { id: \"rate\", label: \"Rates\", postValue: \"rate\", description: \"\" },\n audit: { id: \"audit\", label: \"Audit Trails\", postValue: \"audit_trail\", description: \"\" },\n wallet: { id: \"wallet\", label: \"Wallets\", postValue: \"wallet\", description: \"\" },\n transaction: { id: \"transaction\", label: \"Transactions\", postValue: \"transaction\", description: \"\" },\n userApiKey: { id: \"userApiKey\", label: \"User API Keys\", postValue: \"userApiKey\", description: \"\" },\n ...customPermissionScopeTypes\n} as const;\n\ntype ModuleProduct =\n | \"product\"\n | \"item\"\n | \"brand\"\n | \"category\"\n | \"uom\";\n\ntype ModuleDocument =\n | \"salesOrder\"\n | \"proformaSales\"\n | \"cashSales\"\n | \"retailCashSales\"\n | \"deliveryOrder\"\n | \"replacementDelivery\"\n | \"salesDebitNote\"\n | \"salesCreditNote\"\n | \"salesInvoice\"\n | \"purchaseOrder\"\n | \"purchaseReturn\"\n | \"purchaseInvoice\"\n | \"itemReceive\"\n | \"itemTransfer\"\n | \"itemRelocate\"\n | \"itemTransform\"\n | \"itemIssue\"\n | \"itemAdjustment\"\n | \"stockTake\"\n | \"transferReturn\"\n | \"transferRequisition\"\n | \"tripOrder\"\n | \"pickOrder\"\n | \"retailPrescription\";\n\ntype ModuleRepository =\n | \"container\"\n | \"package\";\n\ntype ModuleLogistic =\n | \"transporter\";\n\ntype ModuleOperation =\n | \"examineInventory\"\n | \"itemRelocateThreshold\"\n | \"itemReorderThreshold\";\n\ntype ModuleUser =\n | \"administrator\"\n | \"customer\"\n | \"driver\"\n | \"member\"\n | \"retail\"\n | \"supplier\"\n | \"worker\";\n\ntype ModuleUserRole =\n | \"role\"\n | \"permission\";\n\ntype ModuleUserBranches =\n | \"customer\"\n | \"retail\";\n\ntype ModuleBranchUsers =\n | \"customer\"\n | \"retail\";\n\ntype ModuleGroup =\n | \"administrator\"\n | \"customer\"\n | \"supplier\";\n\ntype ModuleRegion =\n | \"country\"\n | \"area\";\n\ntype ModuleBusiness =\n | \"business\";\n\ntype ModuleCustomField =\n | \"customField\";\n\n// type ModuleInjectionProp =\n// | \"injectionProp\";\n\ntype ModuleInjectionField =\n | \"injectionField\";\n\ntype ModuleReport =\n | \"productItem\"\n | \"salesOrder\"\n | \"salesOrderItem\"\n | \"deliveryOrder\"\n | \"deliveryOrderItem\"\n | \"itemReceive\"\n | \"itemReceiveItem\"\n | \"itemTransfer\"\n | \"itemTransferItem\";\n\ntype ModuleScheduler =\n | \"schedulerTask\"\n | \"schedulerLog\"\n | \"schedulerRequest\"\n | \"schedulerConsole\";\n\ntype ModuleRate =\n | \"shippingRate\"\n | \"shippingRule\"\n | \"taxRate\";\n\ntype ModuleAudit =\n | \"auditTrail\"\n | \"auditTrailTag\";\n\ntype ModuleWallet =\n | \"wallet\"\n | \"walletUser\";\n\ntype ModuleTransaction =\n | \"request\"\n | \"wallet\";\n\ntype ModuleUserApiKey =\n | \"apiKey\";\n\nexport type ModuleTypeMetaScoped<T extends string> = {\n id: T;\n label: string;\n postValue: string;\n description?: string;\n};\n\nexport type ModuleTypesMap = {\n product: { [key in ModuleProduct]: ModuleTypeMetaScoped<key> };\n document: { [key in ModuleDocument]: ModuleTypeMetaScoped<key> };\n repository: { [key in ModuleRepository]: ModuleTypeMetaScoped<key> };\n logistic: { [key in ModuleLogistic]: ModuleTypeMetaScoped<key> };\n operation: { [key in ModuleOperation]: ModuleTypeMetaScoped<key> };\n user: { [key in ModuleUser]: ModuleTypeMetaScoped<key> };\n userRole: { [key in ModuleUserRole]: ModuleTypeMetaScoped<key> };\n userBranches: { [key in ModuleUserBranches]: ModuleTypeMetaScoped<key> };\n branchUsers: { [key in ModuleBranchUsers]: ModuleTypeMetaScoped<key> };\n group: { [key in ModuleGroup]: ModuleTypeMetaScoped<key> };\n region: { [key in ModuleRegion]: ModuleTypeMetaScoped<key> };\n business: { [key in ModuleBusiness]: ModuleTypeMetaScoped<key> };\n customField: { [key in ModuleCustomField]: ModuleTypeMetaScoped<key> };\n // injectionProp: { [key in ModuleInjectionProp]: ModuleTypeMetaScoped<key> };\n injectionField: { [key in ModuleInjectionField]: ModuleTypeMetaScoped<key> };\n report: { [key in ModuleReport]: ModuleTypeMetaScoped<key> };\n scheduler: { [key in ModuleScheduler]: ModuleTypeMetaScoped<key> };\n rate: { [key in ModuleRate]: ModuleTypeMetaScoped<key> };\n audit: { [key in ModuleAudit]: ModuleTypeMetaScoped<key> };\n wallet: { [key in ModuleWallet]: ModuleTypeMetaScoped<key> };\n transaction: { [key in ModuleTransaction]: ModuleTypeMetaScoped<key> };\n userApiKey: { [key in ModuleUserApiKey]: ModuleTypeMetaScoped<key> };\n} & CustomModuleTypesMap\n\nexport const permissionModuleTypes: ModuleTypesMap = {\n product: {\n product: { id: \"product\", label: \"Manage Items\", postValue: \"product\", description: \"Product Catalogue\" },\n item: { id: \"item\", label: \"Manage Item Uoms\", postValue: \"item\", description: \"Sku Items Catalogue\" },\n brand: { id: \"brand\", label: \"Manage Brands\", postValue: \"brand\", description: \"Product Brands\" },\n category: { id: \"category\", label: \"Manage Categories\", postValue: \"category\", description: \"Organize Product Category\" },\n uom: { id: \"uom\", label: \"Manage Uoms\", postValue: \"uom\", description: \"Unit Measures\" },\n },\n document: {\n salesOrder: { id: \"salesOrder\", label: \"Sales Orders\", postValue: \"sales\", description: \"All Functions\" },\n proformaSales: { id: \"proformaSales\", label: \"Proforma Sales\", postValue: \"proforma_sales\", description: \"All Functions\" },\n cashSales: { id: \"cashSales\", label: \"Cash Sales\", postValue: \"cash_sales\", description: \"All Functions\" },\n retailCashSales: { id: \"retailCashSales\", label: \"Retail Cash Sales\", postValue: \"retail_cash_sales\", description: \"All Functions\" },\n deliveryOrder: { id: \"deliveryOrder\", label: \"Delivery Orders\", postValue: \"delivery\", description: \"All Functions\" },\n replacementDelivery: { id: \"replacementDelivery\", label: \"Replacement Delivery\", postValue: \"replacement_delivery\", description: \"All Functions\" },\n salesDebitNote: { id: \"salesDebitNote\", label: \"Sales Debit Notes\", postValue: \"sales_debit_note\", description: \"All Functions\" },\n salesCreditNote: { id: \"salesCreditNote\", label: \"Sales Credit Notes\", postValue: \"sales_credit_note\", description: \"All Functions\" },\n salesInvoice: { id: \"salesInvoice\", label: \"Sales Invoice\", postValue: \"sales_invoice\", description: \"All Functions\" },\n purchaseOrder: { id: \"purchaseOrder\", label: \"Purchase Orders\", postValue: \"purchase\", description: \"All Functions\" },\n purchaseReturn: { id: \"purchaseReturn\", label: \"Purchase Returns\", postValue: \"purchase_return\", description: \"All Functions\" },\n purchaseInvoice: { id: \"purchaseInvoice\", label: \"Purchase Invoices\", postValue: \"purchase_invoice\", description: \"All Functions\" },\n itemReceive: { id: \"itemReceive\", label: \"Item Receives\", postValue: \"item_receive\", description: \"All Functions\" },\n itemTransfer: { id: \"itemTransfer\", label: \"Item Transfers\", postValue: \"item_transfer\", description: \"All Functions\" },\n itemRelocate: { id: \"itemRelocate\", label: \"Item Relocates\", postValue: \"item_relocate\", description: \"All Functions\" },\n itemTransform: { id: \"itemTransform\", label: \"Item Transforms\", postValue: \"item_transform\", description: \"All Functions\" },\n itemIssue: { id: \"itemIssue\", label: \"Item Issues\", postValue: \"item_issue\", description: \"All Functions\" },\n itemAdjustment: { id: \"itemAdjustment\", label: \"Item Adjustments\", postValue: \"item_adjustment\", description: \"All Functions\" },\n stockTake: { id: \"stockTake\", label: \"Stock Takes\", postValue: \"stock_take\", description: \"All Functions\" },\n transferReturn: { id: \"transferReturn\", label: \"Transfer Returns\", postValue: \"transfer_return\", description: \"All Functions\" },\n transferRequisition: { id: \"transferRequisition\", label: \"Transfer Requisitions\", postValue: \"transfer_requisition\", description: \"All Functions\" },\n tripOrder: { id: \"tripOrder\", label: \"Delivery Trips\", postValue: \"trip\", description: \"All Functions\" },\n pickOrder: { id: \"pickOrder\", label: \"Pick Orders Trips\", postValue: \"pick_order\", description: \"All Functions\" },\n retailPrescription: { id: \"retailPrescription\", label: \"Retail Prescriptions\", postValue: \"retail_prescription\", description: \"All Functions\" },\n },\n repository: {\n container: { id: \"container\", label: \"Containers\", postValue: \"container\", description: \"Shipment Containers\" },\n package: { id: \"package\", label: \"Packages\", postValue: \"pakage\", description: \"Item Packages\" },\n },\n logistic: {\n transporter: { id: \"transporter\", label: \"Transporters\", postValue: \"transporter\", description: \"Fulfillment Parties\" },\n },\n operation: {\n examineInventory: { id: \"examineInventory\", label: \"Examine Inventory\", postValue: \"examine_inventory\", description: \"View Item Inventory\" },\n itemRelocateThreshold: { id: \"itemRelocateThreshold\", label: \"Relocate Threshold\", postValue: \"item_relocate_threshold\", description: \"Relocate Threshold Control\" },\n itemReorderThreshold: { id: \"itemReorderThreshold\", label: \"Reorder Threshold\", postValue: \"item_reorder_threshold\", description: \"Reorder Threshold Control\" },\n },\n user: {\n administrator: { id: \"administrator\", label: \"Manage Administrators\", postValue: \"administrator\", description: \"All Functions\" },\n customer: { id: \"customer\", label: \"Manage Customers\", postValue: \"customer\", description: \"All Functions\" },\n driver: { id: \"driver\", label: \"Manage Drivers\", postValue: \"driver\", description: \"All Functions\" },\n member: { id: \"member\", label: \"Manage Members\", postValue: \"member\", description: \"All Functions\" },\n retail: { id: \"retail\", label: \"Manage Retailers\", postValue: \"retail\", description: \"All Functions\" },\n supplier: { id: \"supplier\", label: \"Manage Suppliers\", postValue: \"supplier\", description: \"All Functions\" },\n worker: { id: \"worker\", label: \"Manage Workers\", postValue: \"worker\", description: \"All Functions\" },\n },\n userRole: {\n role: { id: \"role\", label: \"Roles\", postValue: \"role\", description: \"User Roles\" },\n permission: { id: \"permission\", label: \"Permissions\", postValue: \"permission\", description: \"Assign Permissions\" },\n },\n userBranches: {\n customer: { id: \"customer\", label: \"For Customers\", postValue: \"customer\", description: \"Customer Branches\" },\n retail: { id: \"retail\", label: \"For Retailers\", postValue: \"retail\", description: \"Retail Outlets\" },\n },\n branchUsers: {\n customer: { id: \"customer\", label: \"For Customers\", postValue: \"customer\", description: \"Customer Branch Users\" },\n retail: { id: \"retail\", label: \"For Retailers\", postValue: \"retail\", description: \"Retail Outlet Users\" },\n },\n group: {\n administrator: { id: \"administrator\", label: \"For Administrators\", postValue: \"administrator\", description: \"All Functions\" },\n customer: { id: \"customer\", label: \"For Customers\", postValue: \"customer\", description: \"All Functions\" },\n supplier: { id: \"supplier\", label: \"For Suppliers\", postValue: \"supplier\", description: \"All Functions\" },\n },\n region: {\n country: { id: \"country\", label: \"Country\", postValue: \"country\", description: \"All Functions\" },\n area: { id: \"area\", label: \"Area\", postValue: \"area\", description: \"All Functions\" },\n },\n business: {\n business: { id: \"business\", label: \"Manage Business\", postValue: \"business\", description: \"Multiple business entity\" },\n },\n customField: {\n customField: { id: \"customField\", label: \"Manage Custom Fields\", postValue: \"custom_field\", description: \"Custom Fields For Certain Resources\" },\n },\n // injectionProp: {\n // injectionProp: { id: \"injectionProp\", label: \"Manage Injection Props\", postValue: \"\", description: \"Injection Props For Certain Resources\" },\n // },\n injectionField: {\n injectionField: { id: \"injectionField\", label: \"Manage Injection Fields\", postValue: \"injection_field\", description: \"Injection Fields For Certain Resources\" },\n },\n report: {\n productItem: { id: \"productItem\", label: \"Product Items\", postValue: \"item_report\", description: \"All Functions\" },\n salesOrder: { id: \"salesOrder\", label: \"Sales Orders\", postValue: \"sales_report\", description: \"All Functions\" },\n salesOrderItem: { id: \"salesOrderItem\", label: \"Sales Order Items\", postValue: \"sales_item_report\", description: \"All Functions\" },\n deliveryOrder: { id: \"deliveryOrder\", label: \"Delivery Orders\", postValue: \"delivery_report\", description: \"All Functions\" },\n deliveryOrderItem: { id: \"deliveryOrderItem\", label: \"Delivery Order Items\", postValue: \"delivery_item_report\", description: \"All Functions\" },\n itemReceive: { id: \"itemReceive\", label: \"Item Receives\", postValue: \"item_receive_report\", description: \"All Functions\" },\n itemReceiveItem: { id: \"itemReceiveItem\", label: \"Item Receive Items\", postValue: \"item_receive_item_report\", description: \"All Functions\" },\n itemTransfer: { id: \"itemTransfer\", label: \"Item Transfers\", postValue: \"item_transfer_report\", description: \"All Functions\" },\n itemTransferItem: { id: \"itemTransferItem\", label: \"Item Transfer Items\", postValue: \"item_transfer_item_report\", description: \"All Functions\" },\n },\n scheduler: {\n schedulerTask: { id: \"schedulerTask\", label: \"Manage Task Schedule\", postValue: \"scheduler_task\", description: \"\" },\n schedulerLog: { id: \"schedulerLog\", label: \"Manage Log Schedule\", postValue: \"scheduler_log\", description: \"\" },\n schedulerRequest: { id: \"schedulerRequest\", label: \"Manage Request Schedule\", postValue: \"scheduler_request\", description: \"\" },\n schedulerConsole: { id: \"schedulerConsole\", label: \"Scheduler Console\", postValue: \"scheduler_console\", description: \"\" },\n },\n rate: {\n shippingRate: { id: \"shippingRate\", label: \"Manage Shipping Rate\", postValue: \"shipping_rate\", description: \"\" },\n shippingRule: { id: \"shippingRule\", label: \"Manage Shipping Rule\", postValue: \"shipping_rule\", description: \"\" },\n taxRate: { id: \"taxRate\", label: \"Manage Tax Rate\", postValue: \"tax_rate\", description: \"\" },\n },\n audit: {\n auditTrail: { id: \"auditTrail\", label: \"Manage Audit Trails\", postValue: \"audit_trail\", description: \"\" },\n auditTrailTag: { id: \"auditTrailTag\", label: \"Manage Audit Trail Tags\", postValue: \"audit_trail_tag\", description: \"\" },\n },\n wallet: {\n wallet: { id: \"wallet\", label: \"Manage Wallets\", postValue: \"wallet\", description: \"\" },\n walletUser: { id: \"walletUser\", label: \"Manage Wallet Users\", postValue: \"wallet_user\", description: \"\" },\n },\n transaction: {\n request: { id: \"request\", label: \"Manage Request Transactions\", postValue: \"request\", description: \"\" },\n wallet: { id: \"wallet\", label: \"Manage Wallet Transactions\", postValue: \"wallet\", description: \"\" },\n },\n userApiKey: {\n apiKey: { id: \"apiKey\", label: \"Manage User API Keys\", postValue: \"api_key\", description: \"\" },\n },\n ...customPermissionModuleTypes\n}\n\nexport type Scope = \"product\" | \"document\" | \"wallet\";\n\nexport type Permission = {\n [key in PermissionFunctionType]?: boolean;\n};\n\nexport type PermissionProduct = { [module in ModuleProduct]?: Permission; };\nexport type PermissionDocument = { [module in ModuleDocument]?: Permission; };\nexport type PermissionRepository = { [module in ModuleRepository]?: Permission; };\nexport type PermissionLogistic = { [module in ModuleLogistic]?: Permission; };\nexport type PermissionOperation = { [module in ModuleOperation]?: Permission; };\nexport type PermissionUser = { [module in ModuleUser]?: Permission; };\nexport type PermissionUserRole = { [module in ModuleUserRole]?: Permission; };\nexport type PermissionUserBranches = { [module in ModuleUserBranches]?: Permission; };\nexport type PermissionBranchUsers = { [module in ModuleBranchUsers]?: Permission; };\nexport type PermissionGroup = { [module in ModuleGroup]?: Permission; };\nexport type PermissionRegion = { [module in ModuleRegion]?: Permission; };\nexport type PermissionBusiness = { [module in ModuleBusiness]?: Permission; };\nexport type PermissionCustomField = { [module in ModuleCustomField]?: Permission; };\n// export type PermissionInjectionProp = { [module in ModuleInjectionProp]?: Permission; };\nexport type PermissionInjectionField = { [module in ModuleInjectionField]?: Permission; };\nexport type PermissionReport = { [module in ModuleReport]?: Permission; };\nexport type PermissionScheduler = { [module in ModuleScheduler]?: Permission; };\nexport type PermissionRate = { [module in ModuleRate]?: Permission; };\nexport type PermissionAudit = { [module in ModuleAudit]?: Permission; };\nexport type PermissionWallet = { [module in ModuleWallet]?: Permission; };\nexport type PermissionTransaction = { [module in ModuleTransaction]?: Permission; };\nexport type PermissionUserApiKey = { [module in ModuleUserApiKey]?: Permission; };\n\n// type CustomModuleTransaction =\n// | \"transportType\"\n// | \"transportService\";\n\n// type CustomPermissionMap = {\n// customSettings: { [module in CustomModuleTransaction]?: Permission; };\n// }\n\nexport type PermissionMap = {\n product: PermissionProduct;\n document: PermissionDocument;\n repository: PermissionRepository;\n logistic: PermissionLogistic;\n operation: PermissionOperation;\n user: PermissionUser;\n userRole: PermissionUserRole;\n userBranches: PermissionUserBranches;\n branchUsers: PermissionBranchUsers;\n group: PermissionGroup;\n region: PermissionRegion;\n business: PermissionBusiness;\n customField: PermissionCustomField;\n // injectionProp: PermissionInjectionProp;\n injectionField: PermissionInjectionField;\n report: PermissionReport;\n scheduler: PermissionScheduler;\n rate: PermissionRate;\n audit: PermissionAudit;\n wallet: PermissionWallet;\n transaction: PermissionTransaction;\n userApiKey: PermissionUserApiKey;\n} & CustomPermissionMap\n\nexport type PermissionConfig = Partial<{\n [K in PermissionScopeType]: PermissionMap[K];\n}>;\n\nconst memberPermissionsConfig: PermissionConfig = {\n} as const;\n\n// const driverPermissionsConfig: PermissionConfig = {\n// } as const;\n\nexport type PermissionServiceProps = ApiServiceType & {\n isOwnerUser: boolean,\n userPermissions: any,\n permissionTargetType?: PermissionTargetType\n permissionType?: PermissionType\n routeType?: AppRouteId,\n scopeType?: PermissionScopeType,\n moduleType?: AllModuleKeys,\n permissionRouteType?: string\n};\n\nexport type ChangePermissionProps = {\n id: number,\n permissionTargetType?: PermissionTargetType\n permissionType?: PermissionType\n data:\n // user roles\n {\n userRoles: {\n scopeType: PermissionScopeType,\n moduleType: ModuleBusiness,\n functionType: PermissionFunctionType,\n status: boolean,\n isCustomScope: boolean\n }[]\n }\n}\n\nconst getChangePayload = (permissionType: PermissionType, data: ChangePermissionProps[\"data\"]) => {\n\n if (permissionType === \"role\" && \"userRoles\" in data) {\n\n // scope_type: scopeValue,\n // scope_name: targetId,\n // permission_type: permissionId,\n // status: status ? 1 : 0,\n // is_custom: isCustomScopeId\n\n return {\n permissions: data.userRoles.map(i => ({\n scope_type: i.scopeType,\n scope_name: i.moduleType,\n permission_type: i.functionType,\n status: (i.status === true) ? 1 : 0,\n is_custom: (i.isCustomScope === true) ? 1 : 0,\n })),\n // location_name: data.location.locationName,\n // location_type: data.location.locationType,\n // person_name: data.location.personName,\n // person_contact: data.location.personContact,\n // person_email: data.location.personEmail,\n // address_1: data.location.address1,\n // address_2: data.location.address2,\n // postcode: data.location.postcode,\n // state_id: data.location.stateId,\n // country_id: data.location.countryId,\n // area: data.location.areaId,\n // is_default: (data.location.isDefault === true) ? 1 : 0,\n // status: (data.location.status === true) ? 1 : 0,\n }\n }\n}\n\nconst checkValidScopeId = (id: string) => {\n\n return Object.values(permissionScopeTypes).some(scope => scope.id === id);\n\n // let checkStatus = false;\n\n // Object.keys(permissionScopeTypes).forEach((i: any) => {\n // if (permissionScopeTypes[i]?.id === id) {\n // checkStatus = true\n // }\n // })\n\n // return checkStatus\n}\n\nconst checkObjectHasKey = <T extends object>(\n obj: T,\n key: PropertyKey\n): key is keyof T => {\n return key in obj;\n};\n\ntype AllModuleKeys = {\n [Scope in keyof ModuleTypesMap]: keyof ModuleTypesMap[Scope];\n}[keyof ModuleTypesMap];\n\nexport type CheckPermissionAllowProps = {\n routeType?: AppRouteId,\n scopeType?: keyof typeof permissionScopeTypes,\n moduleType?: AllModuleKeys,\n functionType: PermissionFunctionType\n}\n\nexport const PermissionService = (props?: PermissionServiceProps) => {\n\n const {\n isOwnerUser = false,\n userPermissions = {},\n permissionType = \"role\",\n permissionTargetType = \"role\",\n routeType = \"administrator\",\n scopeType = \"user\",\n moduleType = \"administrator\",\n customToken = '',\n } = props ?? {};\n\n const { makeCall } = ApiService(customToken ? { customToken } : {})\n\n const endpoint1 = \"role\";\n // const endpoint2 = \"locations\"\n\n const changePermission = async ({ id, data, permissionType: overridePermissionType, permissionTargetType: overridePermissionTargetType }: ChangePermissionProps) => {\n\n let url = `${endpoint1}/change/${id}`\n\n let _permissionType = overridePermissionType || permissionType\n\n let payload: any = getChangePayload(_permissionType, data)\n\n const postData = {\n scope: {\n target: overridePermissionTargetType || permissionTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"put\",\n payload: postData,\n // configuration\n });\n\n return response;\n\n }\n\n const validatePermission = ({\n // routeType,\n // parentScopeType,\n scopeType,\n moduleType,\n // parentScopeValue,\n // scopeType,\n functionType\n }: {\n // routeType: AppRouteId,\n // parentScopeType: string,\n // parentScopeValue: string,\n scopeType: string,\n moduleType: AllModuleKeys,\n functionType: PermissionFunctionType\n }) => {\n\n // let {\n // assignedRoles,\n // assignedPermissions\n // } = getRolePermissions()\n\n let assignedPermissions = userPermissions// loginPermissionConfigs\n\n // console.log('assignedPermissions', assignedPermissions)\n\n const scope = assignedPermissions[scopeType as keyof typeof assignedPermissions];\n\n if (!scope) throw `Invalid permission in scope ${scopeType}`\n\n const module = scope[moduleType as keyof typeof scope] as string[];\n\n if (!Array.isArray(module)) {\n throw `Invalid permission in module ${moduleType}`\n }\n\n // console.log('module', module, functionType)\n\n return module.includes(functionType);\n\n // check scopeType exist\n // if (scopeType in assignedPermissions === false) return false\n\n // // check moduleType exist\n // if (moduleType in assignedPermissions[scopeType] === false) return false\n\n // // let listPermissions = assignedPermissions[scopeType][moduleType]\n // let allowFunctions = assignedPermissions[scopeType][moduleType]\n\n // // console.log('listPermissions', listPermissions, assignedPermissions)\n\n // // check permission is array format\n // if (Array.isArray(allowFunctions) === false) return false;\n\n // if (allowFunctions.includes(functionType)) { // permission is exists\n // return true;\n // }\n\n // return false;\n\n }\n\n const getPermissionConfig = (routeType: AppRouteId) => {\n\n // console.log('routeType >>>', routeType)\n\n if (routeType === \"administrator\") {\n return (Object.keys(customAdminPermissionsConfig).length > 0) ? customAdminPermissionsConfig : adminPermissionsConfig\n }\n\n if (routeType === \"customer\") return customerPermissionsConfig\n if (routeType === \"workstation\") return workerPermissionsConfig\n if (routeType === \"retail\") return agentPermissionsConfig\n if (routeType === \"driver\") return driverPermissionsConfig\n\n return {}\n\n }\n\n const checkPermissionAllow = ({\n routeType: overrideRouteType,\n scopeType: overrideScopeType,\n moduleType: overrideModuleType,\n functionType\n }: CheckPermissionAllowProps) => {\n\n let permissionStatus = false;\n\n try {\n\n let _scopeType_ = overrideScopeType || scopeType\n let _moduleType_ = overrideModuleType || moduleType\n\n let _routeType = overrideRouteType || routeType;\n\n if (!_routeType) throw new Error(`Invalid route type in permission`)\n\n let permissionConfigs = getPermissionConfig(routeType)\n\n // if (routeType === \"administrator\") permissionConfigs = adminPermissionsConfig\n // if (routeType === \"customer\") permissionConfigs = customerPermissionsConfig\n // if (routeType === \"workstation\") permissionConfigs = workerPermissionsConfig\n // if (routeType === \"retail\") permissionConfigs = retailPermissionsConfig\n // if (routeType === \"driver\") permissionConfigs = driverPermissionsConfig\n\n let _scopeType = _scopeType_ as keyof typeof permissionConfigs;\n let _moduleType = _moduleType_;\n let _functionType = functionType;\n\n // if (overrideRouteType) _routeType = \n // if (overrideScopeId) _scopeType = \n // if (overrideScopeType) _moduleType = overrideScopeType\n // if (overrideFunctionType) _functionType = overrideFunctionType\n\n // check the scope id valid\n if (checkValidScopeId(_scopeType) === false)\n throw new Error(`Unsupported scope id : ${_scopeType}`)\n\n const scopeConfig = permissionConfigs[_scopeType];\n\n if (!scopeConfig) {\n throw new Error(`Scope config is missing for: ${_scopeType}`);\n }\n\n if (!checkObjectHasKey(scopeConfig, _moduleType)) {\n throw new Error(`Unsupported scope type: ${_moduleType} (${_scopeType})`);\n }\n\n const moduleConfig = scopeConfig[_moduleType];\n\n if (!moduleConfig) {\n throw new Error(`Module config is missing: ${_moduleType} (${_scopeType})`);\n }\n\n if (!checkObjectHasKey(moduleConfig, _functionType)) {\n // console.log('_scopeType', _scopeType)\n // console.log('_moduleType', _moduleType)\n // console.log('moduleConfig', moduleConfig, scopeConfig, _functionType)\n throw new Error(\n `Unsupported function type: ${_moduleType} > ${_functionType} (${_scopeType})`\n );\n }\n\n // let permissionName = _functionType;\n // let permissionStatus = false;\n\n // console.log('permissionConfigs[_scopeType][_moduleType]', routeType, permissionConfigs[_scopeType][_moduleType], _functionType)\n\n // check routeType exists\n // if (checkObjectHasKey({\n // obj: permissionConfigs[_scopeType][_moduleType][_functionType],\n // key: routeType\n // })) {\n\n // system configured has this option \n // permissionStatus = permissionConfigs[_scopeType][_moduleType][_functionType][_routeType]\n // let allowFunctions = permissionConfigs[_scopeType][_moduleType]\n\n // console.log('permissionStatus', _scopeType, permissionConfigs[_scopeType][_moduleType][_functionType], _moduleType, _functionType, permissionStatus)\n\n // need to check the auth access token for permissions for this logged in user\n // if (permissionStatus) {\n\n // console.log('checkIsOwnerUser()', checkIsOwnerUser())\n\n // if (checkIsOwnerUser() === true) {\n if (isOwnerUser === true) {\n // is owner always all permission open\n permissionStatus = true\n } else {\n\n // get the scope value\n // let _selectedScopes = moduleConfig; // scopeIds[_scopeType]\n\n // override the permission if the real auth token access allow\n permissionStatus = validatePermission({\n // routeType,\n // parentScopeType: _scopeType,\n scopeType: _scopeType,\n // parentScopeValue: \"\", // _selectedScopes?.value,\n // scopeType: _moduleType,\n moduleType: _moduleType,\n functionType: _functionType\n })\n }\n\n // }\n\n // } else {\n // permissionStatus = false; // not exists mean no permission\n // // throw new Error(`Unsupported permission configs`, permissionConfigs[selectScopeId][selectScopeType][_functionType])\n // }\n\n // return permissionStatus\n\n } catch (error) {\n permissionStatus = false\n console.log('error', error)\n } finally {\n return permissionStatus\n }\n\n }\n\n // const list = async (props: PermissionLocationProps) => {\n\n // const { locationType: overrideLocationType } = props;\n\n // let _locationType = overrideLocationType || locationType\n\n // let url: string\n\n // if (_locationType === \"location\") { // only for location\n\n // url = buildApiListUrl(\n // `${endpoint2}/${_locationType}`,\n // props\n // );\n\n // } else { // for rack, slot, zone\n\n // url = buildApiListUrl(\n // `${endpoint2}/${_locationType}/${props?.locationId}`,\n // props\n // );\n\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"get\",\n // payload: {},\n // // configuration\n // });\n\n // return response;\n\n // }\n\n // const get = async (props: GetPermissionProps) => {\n\n // const { id, locationType: overrideLocationType } = props;\n\n // const url = buildApiGetUrl(\n // `${endpoint1}/${overrideLocationType || locationType}/${id}`,\n // props\n // );\n\n // const response = await makeCall({\n // url,\n // method: \"get\",\n // payload: {},\n // // configuration\n // });\n\n // return response;\n\n // }\n\n // const create = async ({ data, locationType: overrideLocationType, locationTargetType: overrideLocationTargetType }: CreatePermissionProps) => {\n\n // let _locationType = overrideLocationType || locationType\n\n // let payload: any = getCreatePayload(_locationType, data)\n\n // let url = `${endpoint1}`;\n\n // let postData = {\n // scope: {\n // target: overrideLocationTargetType || locationTargetType,\n // action: \"\",\n // },\n // payload\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"post\",\n // payload: postData\n // });\n\n // return response;\n\n // }\n\n // const update = async ({ id, data, locationType: overrideLocationType, locationTargetType: overrideLocationTargetType }: UpdatePermissionProps) => {\n\n // let url = `${endpoint1}/${id}`\n\n // let _locationType = overrideLocationType || locationType\n\n // let payload: any = getUpdatePayload(_locationType, data)\n\n // const postData = {\n // scope: {\n // target: overrideLocationTargetType || locationTargetType,\n // action: \"\",\n // },\n // payload\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"put\",\n // payload: postData\n // });\n\n // return response;\n\n // }\n\n // const remove = async ({ ids, locationTargetType: overrideLocationTargetType }: RemovePermissionProps) => {\n\n // let url = `${endpoint2}/delete`\n\n // const postData = {\n // scope: {\n // target: overrideLocationTargetType || locationTargetType,\n // },\n // payload: {\n // ids\n // }\n // }\n\n // const response = await makeCall({\n // url,\n // method: \"post\",\n // payload: postData\n // });\n\n // return response;\n\n // }\n\n // const getDataTypes = async ({ locationType: overrideLocationType }: GetDataTypePermissionProps) => {\n\n // let url = `${endpoint2}/data_types/${overrideLocationType || locationType}`\n\n // const response = await makeCall({\n // url,\n // method: \"get\",\n // });\n\n // return response;\n\n // }\n\n return {\n getPermissionConfig,\n checkPermissionAllow,\n changePermission,\n // list,\n // get,\n // create,\n // update,\n // remove,\n // getDataTypes\n };\n}\n"]}
|
|
@@ -111,7 +111,7 @@ const RegionService = (props) => {
|
|
|
111
111
|
};
|
|
112
112
|
const get = async (props) => {
|
|
113
113
|
const { id, regionType: overrideRegionType } = props;
|
|
114
|
-
const url = (0, lib_2.buildApiGetUrl)(`${
|
|
114
|
+
const url = (0, lib_2.buildApiGetUrl)(`${endpoint1}/${overrideRegionType || regionType}/${id}`, props);
|
|
115
115
|
const response = await makeCall({
|
|
116
116
|
url,
|
|
117
117
|
method: "get",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionService.js","sourceRoot":"","sources":["../../../src/services/region/RegionService.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiService, ApiServiceType } from '@/lib';\n\nimport {\n buildApiListUrl,\n BuildApiListParamsProps,\n buildApiGetUrl,\n BuildApiGetParamsProps,\n filterOperatorTypes\n} from '@/lib';\n\nexport const regionTypes = {\n country: \"country\",\n state: \"state\",\n area: \"area\"\n} as const\n\nexport const regionTargetTypes = {\n state: \"state\",\n area: \"area\"\n} as const\n\nexport type RegionType = typeof regionTypes[keyof typeof regionTypes] // keyof typeof regionTypes\nexport type RegionTargetType = typeof regionTargetTypes[keyof typeof regionTargetTypes]\nexport type RegionTargetKey = keyof typeof regionTargetTypes\n\nexport type RegionServiceProps = ApiServiceType & {\n regionTargetType?: RegionTargetType\n regionType?: RegionType\n};\n\nexport type ListRegionProps = BuildApiListParamsProps & {\n regionType?: RegionType\n countryId?: number\n stateId?: number\n}\n\nexport type GetRegionProps = BuildApiGetParamsProps & {\n id: number | string\n regionType?: RegionType\n}\n\ntype Country = {\n countryName: string\n sortName: string\n phoneCode: string\n status: boolean\n}\n\ntype State = {\n countryId: number,\n stateName: string\n status: boolean\n}\n\ntype Area = {\n stateId: number,\n areaName: string\n postcode: string\n status: boolean\n}\n\nexport type CreateRegionProps = {\n regionTargetType?: RegionTargetType\n regionType?: RegionType\n data:\n {\n country: Country\n } |\n {\n state: State,\n areaItems: Area[]\n } |\n {\n area: Area\n }\n}\n\nexport type UpdateRegionProps = {\n id: number\n regionTargetType?: RegionTargetType\n regionType?: RegionType\n data:\n {\n country: Country\n } |\n {\n state: Omit<State, \"countryId\">,\n areaItems: (Area & { areaId: number })[]\n } |\n {\n area: Omit<Area, \"stateId\">\n }\n}\n\nexport type RemoveRegionProps = {\n regionTargetType?: RegionTargetType\n ids: number[]\n}\n\nexport type GetDataTypeRegionProps = {\n regionType?: RegionType\n}\n\nconst getCreatePayload = (regionType: RegionType, data: CreateRegionProps[\"data\"]) => {\n\n if (regionType === \"country\" && \"country\" in data) {\n\n return {\n country: {\n country_name: data.country.countryName,\n sort_name: data.country.sortName,\n phone_code: data.country.phoneCode,\n status: (data.country.status === true) ? 1 : 0\n }\n }\n }\n\n if (regionType === \"state\" && \"state\" in data) {\n\n return {\n state: {\n country_id: data.state.countryId,\n state_name: data.state.stateName,\n status: (data.state.status === true) ? 1 : 0\n },\n area_items: data.areaItems.map((i) => ({\n area_name: i.areaName,\n postcode_string: i.postcode,\n status: (i.status === true) ? 1 : 0\n }))\n }\n }\n\n if (regionType === \"area\" && \"area\" in data) {\n\n return {\n area: {\n state_id: data.area.stateId,\n area_name: data.area.areaName,\n postcode_string: data.area.postcode,\n status: (data.area.status === true) ? 1 : 0\n }\n }\n }\n\n}\n\nconst getUpdatePayload = (regionType: RegionType, data: UpdateRegionProps[\"data\"]) => {\n\n if (regionType === \"country\" && \"country\" in data) {\n\n return {\n country: {\n country_name: data.country.countryName,\n sort_name: data.country.sortName,\n phone_code: data.country.phoneCode,\n status: (data.country.status === true) ? 1 : 0\n }\n }\n }\n\n if (regionType === \"state\" && \"state\" in data) {\n\n return {\n state: {\n state_name: data.state.stateName,\n status: (data.state.status === true) ? 1 : 0\n },\n area_items: data.areaItems.map((i) => ({\n area_id: i.areaId,\n area_name: i.areaName,\n postcode_string: i.postcode,\n status: (i.status === true) ? 1 : 0\n }))\n }\n }\n\n if (regionType === \"area\" && \"area\" in data) {\n\n return {\n area: {\n area_name: data.area.areaName,\n postcode_string: data.area.postcode,\n status: (data.area.status === true) ? 1 : 0\n }\n }\n }\n\n}\n\nexport const RegionService = (props?: RegionServiceProps) => {\n\n const { regionType = \"country\", regionTargetType, ...rest } = props ?? {};\n\n const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})\n\n const endpoint1 = \"region\";\n const endpoint2 = \"regions\"\n\n const list = async (props: ListRegionProps) => {\n\n const { regionType: overrideRegionType } = props;\n\n let _regionType = overrideRegionType || regionType\n\n let url: string\n\n if (_regionType === \"state\") {\n url = buildApiListUrl(\n `${endpoint2}/${_regionType}/${props.countryId}`,\n props\n );\n } else if (_regionType === \"area\") {\n url = buildApiListUrl(\n `${endpoint2}/${_regionType}/${props.stateId}`,\n props\n );\n } else {\n url = buildApiListUrl(\n `${endpoint2}/${_regionType}`,\n props\n );\n }\n\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const get = async (props: GetRegionProps) => {\n\n const { id, regionType: overrideRegionType } = props;\n\n const url = buildApiGetUrl(\n `${endpoint2}/${overrideRegionType || regionType}/${id}`,\n props\n );\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const create = async ({ data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: CreateRegionProps) => {\n\n let _regionType = overrideRegionType || regionType\n\n let payload: any = getCreatePayload(_regionType, data)\n\n let url = `${endpoint1}`;\n\n let postData = {\n scope: {\n target: overrideRegionTargetType || regionTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const update = async ({ id, data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: UpdateRegionProps) => {\n\n let url = `${endpoint1}/${id}`\n\n let _regionType = overrideRegionType || regionType\n\n let payload: any = getUpdatePayload(_regionType, data)\n\n const postData = {\n scope: {\n target: overrideRegionTargetType || regionTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"put\",\n payload: postData\n });\n\n return response;\n\n }\n\n const remove = async ({ ids, regionTargetType: overrideRegionTargetType }: RemoveRegionProps) => {\n\n let url = `${endpoint2}/delete`\n\n const postData = {\n scope: {\n target: overrideRegionTargetType || regionTargetType,\n },\n payload: {\n ids\n }\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const getDataTypes = async ({ regionType: overrideRegionType }: GetDataTypeRegionProps) => {\n\n let url = `${endpoint1}/data_types/${overrideRegionType || regionType}`\n\n const response = await makeCall({\n url,\n method: \"get\",\n });\n\n return response;\n\n }\n\n return {\n list,\n get,\n create,\n update,\n remove,\n getDataTypes\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RegionService.js","sourceRoot":"","sources":["../../../src/services/region/RegionService.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiService, ApiServiceType } from '@/lib';\n\nimport {\n buildApiListUrl,\n BuildApiListParamsProps,\n buildApiGetUrl,\n BuildApiGetParamsProps,\n filterOperatorTypes\n} from '@/lib';\n\nexport const regionTypes = {\n country: \"country\",\n state: \"state\",\n area: \"area\"\n} as const\n\nexport const regionTargetTypes = {\n state: \"state\",\n area: \"area\"\n} as const\n\nexport type RegionType = typeof regionTypes[keyof typeof regionTypes] // keyof typeof regionTypes\nexport type RegionTargetType = typeof regionTargetTypes[keyof typeof regionTargetTypes]\nexport type RegionTargetKey = keyof typeof regionTargetTypes\n\nexport type RegionServiceProps = ApiServiceType & {\n regionTargetType?: RegionTargetType\n regionType?: RegionType\n};\n\nexport type ListRegionProps = BuildApiListParamsProps & {\n regionType?: RegionType\n countryId?: number\n stateId?: number\n}\n\nexport type GetRegionProps = BuildApiGetParamsProps & {\n id: number | string\n regionType?: RegionType\n}\n\ntype Country = {\n countryName: string\n sortName: string\n phoneCode: string\n status: boolean\n}\n\ntype State = {\n countryId: number,\n stateName: string\n status: boolean\n}\n\ntype Area = {\n stateId: number,\n areaName: string\n postcode: string\n status: boolean\n}\n\nexport type CreateRegionProps = {\n regionTargetType?: RegionTargetType\n regionType?: RegionType\n data:\n {\n country: Country\n } |\n {\n state: State,\n areaItems: Area[]\n } |\n {\n area: Area\n }\n}\n\nexport type UpdateRegionProps = {\n id: number\n regionTargetType?: RegionTargetType\n regionType?: RegionType\n data:\n {\n country: Country\n } |\n {\n state: Omit<State, \"countryId\">,\n areaItems: (Area & { areaId: number })[]\n } |\n {\n area: Omit<Area, \"stateId\">\n }\n}\n\nexport type RemoveRegionProps = {\n regionTargetType?: RegionTargetType\n ids: number[]\n}\n\nexport type GetDataTypeRegionProps = {\n regionType?: RegionType\n}\n\nconst getCreatePayload = (regionType: RegionType, data: CreateRegionProps[\"data\"]) => {\n\n if (regionType === \"country\" && \"country\" in data) {\n\n return {\n country: {\n country_name: data.country.countryName,\n sort_name: data.country.sortName,\n phone_code: data.country.phoneCode,\n status: (data.country.status === true) ? 1 : 0\n }\n }\n }\n\n if (regionType === \"state\" && \"state\" in data) {\n\n return {\n state: {\n country_id: data.state.countryId,\n state_name: data.state.stateName,\n status: (data.state.status === true) ? 1 : 0\n },\n area_items: data.areaItems.map((i) => ({\n area_name: i.areaName,\n postcode_string: i.postcode,\n status: (i.status === true) ? 1 : 0\n }))\n }\n }\n\n if (regionType === \"area\" && \"area\" in data) {\n\n return {\n area: {\n state_id: data.area.stateId,\n area_name: data.area.areaName,\n postcode_string: data.area.postcode,\n status: (data.area.status === true) ? 1 : 0\n }\n }\n }\n\n}\n\nconst getUpdatePayload = (regionType: RegionType, data: UpdateRegionProps[\"data\"]) => {\n\n if (regionType === \"country\" && \"country\" in data) {\n\n return {\n country: {\n country_name: data.country.countryName,\n sort_name: data.country.sortName,\n phone_code: data.country.phoneCode,\n status: (data.country.status === true) ? 1 : 0\n }\n }\n }\n\n if (regionType === \"state\" && \"state\" in data) {\n\n return {\n state: {\n state_name: data.state.stateName,\n status: (data.state.status === true) ? 1 : 0\n },\n area_items: data.areaItems.map((i) => ({\n area_id: i.areaId,\n area_name: i.areaName,\n postcode_string: i.postcode,\n status: (i.status === true) ? 1 : 0\n }))\n }\n }\n\n if (regionType === \"area\" && \"area\" in data) {\n\n return {\n area: {\n area_name: data.area.areaName,\n postcode_string: data.area.postcode,\n status: (data.area.status === true) ? 1 : 0\n }\n }\n }\n\n}\n\nexport const RegionService = (props?: RegionServiceProps) => {\n\n const { regionType = \"country\", regionTargetType, ...rest } = props ?? {};\n\n const { makeCall } = ApiService(rest?.customToken ? { customToken: rest.customToken } : {})\n\n const endpoint1 = \"region\";\n const endpoint2 = \"regions\"\n\n const list = async (props: ListRegionProps) => {\n\n const { regionType: overrideRegionType } = props;\n\n let _regionType = overrideRegionType || regionType\n\n let url: string\n\n if (_regionType === \"state\") {\n url = buildApiListUrl(\n `${endpoint2}/${_regionType}/${props.countryId}`,\n props\n );\n } else if (_regionType === \"area\") {\n url = buildApiListUrl(\n `${endpoint2}/${_regionType}/${props.stateId}`,\n props\n );\n } else {\n url = buildApiListUrl(\n `${endpoint2}/${_regionType}`,\n props\n );\n }\n\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const get = async (props: GetRegionProps) => {\n\n const { id, regionType: overrideRegionType } = props;\n\n const url = buildApiGetUrl(\n `${endpoint1}/${overrideRegionType || regionType}/${id}`,\n props\n );\n\n const response = await makeCall({\n url,\n method: \"get\",\n payload: {},\n // configuration\n });\n\n return response;\n\n }\n\n const create = async ({ data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: CreateRegionProps) => {\n\n let _regionType = overrideRegionType || regionType\n\n let payload: any = getCreatePayload(_regionType, data)\n\n let url = `${endpoint1}`;\n\n let postData = {\n scope: {\n target: overrideRegionTargetType || regionTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const update = async ({ id, data, regionType: overrideRegionType, regionTargetType: overrideRegionTargetType }: UpdateRegionProps) => {\n\n let url = `${endpoint1}/${id}`\n\n let _regionType = overrideRegionType || regionType\n\n let payload: any = getUpdatePayload(_regionType, data)\n\n const postData = {\n scope: {\n target: overrideRegionTargetType || regionTargetType,\n action: \"\",\n },\n payload\n }\n\n const response = await makeCall({\n url,\n method: \"put\",\n payload: postData\n });\n\n return response;\n\n }\n\n const remove = async ({ ids, regionTargetType: overrideRegionTargetType }: RemoveRegionProps) => {\n\n let url = `${endpoint2}/delete`\n\n const postData = {\n scope: {\n target: overrideRegionTargetType || regionTargetType,\n },\n payload: {\n ids\n }\n }\n\n const response = await makeCall({\n url,\n method: \"post\",\n payload: postData\n });\n\n return response;\n\n }\n\n const getDataTypes = async ({ regionType: overrideRegionType }: GetDataTypeRegionProps) => {\n\n let url = `${endpoint1}/data_types/${overrideRegionType || regionType}`\n\n const response = await makeCall({\n url,\n method: \"get\",\n });\n\n return response;\n\n }\n\n return {\n list,\n get,\n create,\n update,\n remove,\n getDataTypes\n };\n}\n"]}
|