@ketvietlab/ketsuite 0.1.3 → 0.1.6
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.
- package/dist/cli.js +1 -1
- package/dist/deployment.d.ts.map +1 -1
- package/dist/deployment.js +3 -0
- package/dist/deployment.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/account_staff_channel/channel-routes.d.ts.map +1 -1
- package/dist/modules/account_staff_channel/channel-routes.js +1 -12
- package/dist/modules/account_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/attendance/channel-routes.d.ts.map +1 -1
- package/dist/modules/attendance/channel-routes.js +1 -12
- package/dist/modules/attendance/channel-routes.js.map +1 -1
- package/dist/modules/backend/design/HANDOFF.md +2 -2
- package/dist/modules/backend/design/auth.css +12 -0
- package/dist/modules/backend/design/client/table-selection.d.mts +3 -3
- package/dist/modules/backend/design/client/table-selection.d.mts.map +1 -1
- package/dist/modules/backend/design/client/table-selection.mjs +1 -1
- package/dist/modules/backend/design/client/table-selection.mjs.map +4 -4
- package/dist/modules/backend/design/content.css +43 -0
- package/dist/modules/backend/design/design-system.css +1 -1
- package/dist/modules/backend/design/forms.css +84 -1
- package/dist/modules/backend/design/lists.css +26 -18
- package/dist/modules/backend/design/record.css +5 -2
- package/dist/modules/backend/design/responsive.css +5 -6
- package/dist/modules/backend/design/user-workflow.css +257 -0
- package/dist/modules/backend/forms.d.ts +38 -1
- package/dist/modules/backend/forms.d.ts.map +1 -1
- package/dist/modules/backend/forms.js +29 -0
- package/dist/modules/backend/forms.js.map +1 -1
- package/dist/modules/backend/index.d.ts +3 -2
- package/dist/modules/backend/index.d.ts.map +1 -1
- package/dist/modules/backend/index.js +3 -2
- package/dist/modules/backend/index.js.map +1 -1
- package/dist/modules/backend/messages.d.ts.map +1 -1
- package/dist/modules/backend/messages.js +42 -2
- package/dist/modules/backend/messages.js.map +1 -1
- package/dist/modules/channel_api/core.d.ts +30 -0
- package/dist/modules/channel_api/core.d.ts.map +1 -1
- package/dist/modules/channel_api/core.js +28 -0
- package/dist/modules/channel_api/core.js.map +1 -1
- package/dist/modules/crm/functions.d.ts +5 -0
- package/dist/modules/crm/functions.d.ts.map +1 -1
- package/dist/modules/crm/functions.js +105 -10
- package/dist/modules/crm/functions.js.map +1 -1
- package/dist/modules/crm/jobs.d.ts.map +1 -1
- package/dist/modules/crm/jobs.js +1 -0
- package/dist/modules/crm/jobs.js.map +1 -1
- package/dist/modules/crm/operations.d.ts.map +1 -1
- package/dist/modules/crm/operations.js +2 -1
- package/dist/modules/crm/operations.js.map +1 -1
- package/dist/modules/crm_backend/index.d.ts.map +1 -1
- package/dist/modules/crm_backend/index.js +5 -2
- package/dist/modules/crm_backend/index.js.map +1 -1
- package/dist/modules/crm_backend/messages.d.ts +116 -0
- package/dist/modules/crm_backend/messages.d.ts.map +1 -1
- package/dist/modules/crm_backend/messages.js +122 -6
- package/dist/modules/crm_backend/messages.js.map +1 -1
- package/dist/modules/crm_backend/routes.d.ts.map +1 -1
- package/dist/modules/crm_backend/routes.js +434 -174
- package/dist/modules/crm_backend/routes.js.map +1 -1
- package/dist/modules/crm_backend/screens/case-create.d.ts +7 -0
- package/dist/modules/crm_backend/screens/case-create.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/case-create.js +13 -4
- package/dist/modules/crm_backend/screens/case-create.js.map +1 -1
- package/dist/modules/crm_backend/screens/case-detail.d.ts +6 -0
- package/dist/modules/crm_backend/screens/case-detail.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/case-detail.js +73 -23
- package/dist/modules/crm_backend/screens/case-detail.js.map +1 -1
- package/dist/modules/crm_backend/screens/configuration.d.ts +21 -3
- package/dist/modules/crm_backend/screens/configuration.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/configuration.js +260 -55
- package/dist/modules/crm_backend/screens/configuration.js.map +1 -1
- package/dist/modules/crm_backend/screens/index.d.ts +3 -3
- package/dist/modules/crm_backend/screens/index.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/index.js +2 -2
- package/dist/modules/crm_backend/screens/index.js.map +1 -1
- package/dist/modules/crm_staff_channel/channel-routes.d.ts.map +1 -1
- package/dist/modules/crm_staff_channel/channel-routes.js +1 -12
- package/dist/modules/crm_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/flow/membership.d.ts.map +1 -1
- package/dist/modules/flow/membership.js +7 -1
- package/dist/modules/flow/membership.js.map +1 -1
- package/dist/modules/flow/operations.d.ts +10 -4
- package/dist/modules/flow/operations.d.ts.map +1 -1
- package/dist/modules/flow/operations.js +10 -4
- package/dist/modules/flow/operations.js.map +1 -1
- package/dist/modules/flow_staff_channel/channel-routes.d.ts.map +1 -1
- package/dist/modules/flow_staff_channel/channel-routes.js +1 -20
- package/dist/modules/flow_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/hospitality_core/messages.d.ts.map +1 -1
- package/dist/modules/hospitality_core/messages.js +44 -0
- package/dist/modules/hospitality_core/messages.js.map +1 -1
- package/dist/modules/hospitality_core/night-audit.d.ts.map +1 -1
- package/dist/modules/hospitality_core/night-audit.js +7 -0
- package/dist/modules/hospitality_core/night-audit.js.map +1 -1
- package/dist/modules/hospitality_core/operations.d.ts.map +1 -1
- package/dist/modules/hospitality_core/operations.js +150 -40
- package/dist/modules/hospitality_core/operations.js.map +1 -1
- package/dist/modules/hospitality_core/routes.d.ts.map +1 -1
- package/dist/modules/hospitality_core/routes.js +24 -2
- package/dist/modules/hospitality_core/routes.js.map +1 -1
- package/dist/modules/hospitality_core/screens/check-out-prep.d.ts +46 -0
- package/dist/modules/hospitality_core/screens/check-out-prep.d.ts.map +1 -0
- package/dist/modules/hospitality_core/screens/check-out-prep.js +133 -0
- package/dist/modules/hospitality_core/screens/check-out-prep.js.map +1 -0
- package/dist/modules/hospitality_core/screens/folio-detail.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/folio-detail.js +2 -4
- package/dist/modules/hospitality_core/screens/folio-detail.js.map +1 -1
- package/dist/modules/hospitality_core/screens/index.d.ts +2 -0
- package/dist/modules/hospitality_core/screens/index.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/index.js +1 -0
- package/dist/modules/hospitality_core/screens/index.js.map +1 -1
- package/dist/modules/hospitality_core/screens/reservation-detail.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/reservation-detail.js +8 -1
- package/dist/modules/hospitality_core/screens/reservation-detail.js.map +1 -1
- package/dist/modules/hospitality_core/screens/shared.d.ts +12 -0
- package/dist/modules/hospitality_core/screens/shared.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/shared.js +25 -4
- package/dist/modules/hospitality_core/screens/shared.js.map +1 -1
- package/dist/modules/hospitality_core/services.d.ts +48 -0
- package/dist/modules/hospitality_core/services.d.ts.map +1 -1
- package/dist/modules/hospitality_core/services.js +70 -0
- package/dist/modules/hospitality_core/services.js.map +1 -1
- package/dist/modules/hospitality_staff_channel/channel-routes.d.ts.map +1 -1
- package/dist/modules/hospitality_staff_channel/channel-routes.js +1 -12
- package/dist/modules/hospitality_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/inventory_staff_channel/channel-routes.d.ts.map +1 -1
- package/dist/modules/inventory_staff_channel/channel-routes.js +1 -12
- package/dist/modules/inventory_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/loyalty/admin-functions.d.ts +2 -0
- package/dist/modules/loyalty/admin-functions.d.ts.map +1 -1
- package/dist/modules/loyalty/admin-functions.js +96 -20
- package/dist/modules/loyalty/admin-functions.js.map +1 -1
- package/dist/modules/loyalty/engine.d.ts +4 -1
- package/dist/modules/loyalty/engine.d.ts.map +1 -1
- package/dist/modules/loyalty/engine.js +125 -18
- package/dist/modules/loyalty/engine.js.map +1 -1
- package/dist/modules/loyalty/index.d.ts.map +1 -1
- package/dist/modules/loyalty/index.js +4 -3
- package/dist/modules/loyalty/index.js.map +1 -1
- package/dist/modules/loyalty/jobs.d.ts.map +1 -1
- package/dist/modules/loyalty/jobs.js +0 -1
- package/dist/modules/loyalty/jobs.js.map +1 -1
- package/dist/modules/loyalty/membership-functions.d.ts +5 -0
- package/dist/modules/loyalty/membership-functions.d.ts.map +1 -1
- package/dist/modules/loyalty/membership-functions.js +37 -23
- package/dist/modules/loyalty/membership-functions.js.map +1 -1
- package/dist/modules/loyalty/messages.d.ts +14 -0
- package/dist/modules/loyalty/messages.d.ts.map +1 -1
- package/dist/modules/loyalty/messages.js +14 -0
- package/dist/modules/loyalty/messages.js.map +1 -1
- package/dist/modules/loyalty/models.d.ts.map +1 -1
- package/dist/modules/loyalty/models.js +17 -0
- package/dist/modules/loyalty/models.js.map +1 -1
- package/dist/modules/loyalty/order-functions.d.ts.map +1 -1
- package/dist/modules/loyalty/order-functions.js +70 -17
- package/dist/modules/loyalty/order-functions.js.map +1 -1
- package/dist/modules/loyalty/program-design.d.ts +11 -0
- package/dist/modules/loyalty/program-design.d.ts.map +1 -0
- package/dist/modules/loyalty/program-design.js +356 -0
- package/dist/modules/loyalty/program-design.js.map +1 -0
- package/dist/modules/loyalty/stats.d.ts +0 -13
- package/dist/modules/loyalty/stats.d.ts.map +1 -1
- package/dist/modules/loyalty/stats.js +11 -6
- package/dist/modules/loyalty/stats.js.map +1 -1
- package/dist/modules/loyalty/stored-value.d.ts.map +1 -1
- package/dist/modules/loyalty/stored-value.js +7 -2
- package/dist/modules/loyalty/stored-value.js.map +1 -1
- package/dist/modules/loyalty/types.d.ts +1 -1
- package/dist/modules/loyalty/types.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/design-messages.d.ts +221 -0
- package/dist/modules/loyalty_backend/design-messages.d.ts.map +1 -0
- package/dist/modules/loyalty_backend/design-messages.js +221 -0
- package/dist/modules/loyalty_backend/design-messages.js.map +1 -0
- package/dist/modules/loyalty_backend/index.js +224 -412
- package/dist/modules/loyalty_backend/index.js.map +1 -1
- package/dist/modules/loyalty_backend/messages.d.ts +642 -214
- package/dist/modules/loyalty_backend/messages.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/messages.js +19 -13
- package/dist/modules/loyalty_backend/messages.js.map +1 -1
- package/dist/modules/loyalty_backend/program-workspace.d.ts +4 -0
- package/dist/modules/loyalty_backend/program-workspace.d.ts.map +1 -0
- package/dist/modules/loyalty_backend/program-workspace.js +600 -0
- package/dist/modules/loyalty_backend/program-workspace.js.map +1 -0
- package/dist/modules/loyalty_backend/screens/index.d.ts +12 -36
- package/dist/modules/loyalty_backend/screens/index.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/screens/index.js +148 -292
- package/dist/modules/loyalty_backend/screens/index.js.map +1 -1
- package/dist/modules/loyalty_backend/screens/page-frame.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/screens/page-frame.js +2 -2
- package/dist/modules/loyalty_backend/screens/page-frame.js.map +1 -1
- package/dist/modules/loyalty_pos/functions.d.ts.map +1 -1
- package/dist/modules/loyalty_pos/functions.js +1 -0
- package/dist/modules/loyalty_pos/functions.js.map +1 -1
- package/dist/modules/loyalty_pos/index.js +1 -1
- package/dist/modules/loyalty_pos/index.js.map +1 -1
- package/dist/modules/loyalty_sale/functions.d.ts +1 -0
- package/dist/modules/loyalty_sale/functions.d.ts.map +1 -1
- package/dist/modules/loyalty_sale/functions.js +1 -0
- package/dist/modules/loyalty_sale/functions.js.map +1 -1
- package/dist/modules/partner_backend/client/partner.css +3 -1
- package/dist/modules/partner_backend/index.d.ts.map +1 -1
- package/dist/modules/partner_backend/index.js +4 -0
- package/dist/modules/partner_backend/index.js.map +1 -1
- package/dist/modules/partner_backend/routes.d.ts.map +1 -1
- package/dist/modules/partner_backend/routes.js +6 -1
- package/dist/modules/partner_backend/routes.js.map +1 -1
- package/dist/modules/partner_backend/screens/form.d.ts +1 -0
- package/dist/modules/partner_backend/screens/form.d.ts.map +1 -1
- package/dist/modules/partner_backend/screens/form.js +1 -0
- package/dist/modules/partner_backend/screens/form.js.map +1 -1
- package/dist/modules/purchase_staff_channel/order-routes.d.ts.map +1 -1
- package/dist/modules/purchase_staff_channel/order-routes.js +1 -12
- package/dist/modules/purchase_staff_channel/order-routes.js.map +1 -1
- package/dist/modules/quality_staff_channel/channel-routes.d.ts.map +1 -1
- package/dist/modules/quality_staff_channel/channel-routes.js +1 -12
- package/dist/modules/quality_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/sale/functions.d.ts.map +1 -1
- package/dist/modules/sale/functions.js +27 -17
- package/dist/modules/sale/functions.js.map +1 -1
- package/dist/modules/sale_staff_channel/channel-routes.d.ts.map +1 -1
- package/dist/modules/sale_staff_channel/channel-routes.js +1 -12
- package/dist/modules/sale_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/sale_staff_channel/order-routes.d.ts.map +1 -1
- package/dist/modules/sale_staff_channel/order-routes.js +1 -12
- package/dist/modules/sale_staff_channel/order-routes.js.map +1 -1
- package/dist/modules/stock_staff_channel/operation-routes.d.ts.map +1 -1
- package/dist/modules/stock_staff_channel/operation-routes.js +1 -12
- package/dist/modules/stock_staff_channel/operation-routes.js.map +1 -1
- package/dist/modules/user/authorization.d.ts +64 -1
- package/dist/modules/user/authorization.d.ts.map +1 -1
- package/dist/modules/user/authorization.js +445 -53
- package/dist/modules/user/authorization.js.map +1 -1
- package/dist/modules/user/functions.d.ts.map +1 -1
- package/dist/modules/user/functions.js +45 -23
- package/dist/modules/user/functions.js.map +1 -1
- package/dist/modules/user/index.d.ts +2 -1
- package/dist/modules/user/index.d.ts.map +1 -1
- package/dist/modules/user/index.js +1 -1
- package/dist/modules/user/index.js.map +1 -1
- package/dist/modules/user/models.d.ts.map +1 -1
- package/dist/modules/user/models.js +5 -0
- package/dist/modules/user/models.js.map +1 -1
- package/dist/modules/user/roles.d.ts.map +1 -1
- package/dist/modules/user/roles.js +2 -1
- package/dist/modules/user/roles.js.map +1 -1
- package/dist/modules/user_backend/access-routes.d.ts +31 -0
- package/dist/modules/user_backend/access-routes.d.ts.map +1 -0
- package/dist/modules/user_backend/access-routes.js +447 -0
- package/dist/modules/user_backend/access-routes.js.map +1 -0
- package/dist/modules/user_backend/index.d.ts +1 -0
- package/dist/modules/user_backend/index.d.ts.map +1 -1
- package/dist/modules/user_backend/index.js +1 -0
- package/dist/modules/user_backend/index.js.map +1 -1
- package/dist/modules/user_backend/messages.d.ts +4 -0
- package/dist/modules/user_backend/messages.d.ts.map +1 -1
- package/dist/modules/user_backend/messages.js +4 -0
- package/dist/modules/user_backend/messages.js.map +1 -1
- package/dist/modules/user_backend/routes.d.ts.map +1 -1
- package/dist/modules/user_backend/routes.js +38 -3
- package/dist/modules/user_backend/routes.js.map +1 -1
- package/dist/modules/user_backend/screens/user-form.d.ts +1 -0
- package/dist/modules/user_backend/screens/user-form.d.ts.map +1 -1
- package/dist/modules/user_backend/screens/user-form.js +28 -0
- package/dist/modules/user_backend/screens/user-form.js.map +1 -1
- package/dist/modules/website/cms.d.ts.map +1 -1
- package/dist/modules/website/cms.js +283 -6
- package/dist/modules/website/cms.js.map +1 -1
- package/dist/modules/website/index.d.ts.map +1 -1
- package/dist/modules/website/index.js +12 -0
- package/dist/modules/website/index.js.map +1 -1
- package/dist/modules/website/media-usage.d.ts +38 -0
- package/dist/modules/website/media-usage.d.ts.map +1 -0
- package/dist/modules/website/media-usage.js +87 -0
- package/dist/modules/website/media-usage.js.map +1 -0
- package/dist/modules/website/paths.js +1 -1
- package/dist/modules/website/paths.js.map +1 -1
- package/dist/modules/website/sections.d.ts.map +1 -1
- package/dist/modules/website/sections.js +12 -1
- package/dist/modules/website/sections.js.map +1 -1
- package/dist/modules/website_backend/index.js +138 -0
- package/dist/modules/website_backend/index.js.map +1 -1
- package/dist/modules/website_backend/menus.d.ts.map +1 -1
- package/dist/modules/website_backend/menus.js +11 -0
- package/dist/modules/website_backend/menus.js.map +1 -1
- package/dist/modules/website_backend/routes.d.ts.map +1 -1
- package/dist/modules/website_backend/routes.js +414 -31
- package/dist/modules/website_backend/routes.js.map +1 -1
- package/dist/modules/website_backend/screens/index.d.ts +98 -6
- package/dist/modules/website_backend/screens/index.d.ts.map +1 -1
- package/dist/modules/website_backend/screens/index.js +600 -154
- package/dist/modules/website_backend/screens/index.js.map +1 -1
- package/dist/modules/website_backend/screens/page-frame.d.ts +3 -1
- package/dist/modules/website_backend/screens/page-frame.d.ts.map +1 -1
- package/dist/modules/website_backend/screens/page-frame.js +1 -1
- package/dist/modules/website_backend/screens/page-frame.js.map +1 -1
- package/dist/modules/website_menu/functions.d.ts.map +1 -1
- package/dist/modules/website_menu/functions.js +51 -0
- package/dist/modules/website_menu/functions.js.map +1 -1
- package/dist/modules/website_menu/index.js +2 -0
- package/dist/modules/website_menu/index.js.map +1 -1
- package/dist/modules/website_search/functions.d.ts.map +1 -1
- package/dist/modules/website_search/functions.js +10 -120
- package/dist/modules/website_search/functions.js.map +1 -1
- package/dist/modules/website_search/index.js +2 -0
- package/dist/modules/website_search/index.js.map +1 -1
- package/dist/modules/website_search/jobs.d.ts +3 -0
- package/dist/modules/website_search/jobs.d.ts.map +1 -0
- package/dist/modules/website_search/jobs.js +101 -0
- package/dist/modules/website_search/jobs.js.map +1 -0
- package/dist/modules/website_search/rebuild.d.ts +33 -0
- package/dist/modules/website_search/rebuild.d.ts.map +1 -0
- package/dist/modules/website_search/rebuild.js +125 -0
- package/dist/modules/website_search/rebuild.js.map +1 -0
- package/dist/permission-catalogue.d.ts.map +1 -1
- package/dist/permission-catalogue.js +21 -1
- package/dist/permission-catalogue.js.map +1 -1
- package/dist/scaffold/index.js +1 -1
- package/dist/ui/chrome.d.ts +8 -0
- package/dist/ui/chrome.d.ts.map +1 -1
- package/dist/ui/chrome.js +9 -1
- package/dist/ui/chrome.js.map +1 -1
- package/dist/ui/client/table-selection-view.d.ts.map +1 -1
- package/dist/ui/client/table-selection-view.js +161 -5
- package/dist/ui/client/table-selection-view.js.map +1 -1
- package/dist/ui/client/user-workflow.d.ts +2 -0
- package/dist/ui/client/user-workflow.d.ts.map +1 -0
- package/dist/ui/client/user-workflow.js +141 -0
- package/dist/ui/client/user-workflow.js.map +1 -0
- package/dist/ui/form.d.ts +9 -0
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +29 -15
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/icons.d.ts.map +1 -1
- package/dist/ui/icons.js +2 -0
- package/dist/ui/icons.js.map +1 -1
- package/dist/ui/index.d.ts +7 -3
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +6 -3
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/layout.d.ts.map +1 -1
- package/dist/ui/layout.js +14 -4
- package/dist/ui/layout.js.map +1 -1
- package/dist/ui/nav.d.ts.map +1 -1
- package/dist/ui/nav.js +2 -1
- package/dist/ui/nav.js.map +1 -1
- package/dist/ui/state.d.ts +20 -1
- package/dist/ui/state.d.ts.map +1 -1
- package/dist/ui/state.js +17 -0
- package/dist/ui/state.js.map +1 -1
- package/dist/ui/table.js +1 -1
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/user-workflow.d.ts +72 -0
- package/dist/ui/user-workflow.d.ts.map +1 -0
- package/dist/ui/user-workflow.js +144 -0
- package/dist/ui/user-workflow.js.map +1 -0
- package/package.json +8 -4
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { functions as stockFunctions } from '../stock/functions.js';
|
|
2
|
+
import { civilDateAt, DEFAULT_ACCOUNTING_TIMEZONE } from '../account/date.js';
|
|
1
3
|
import { canonicalDecimalText, minorText, moneyMinor, multiplyToMinor, percentOfMinor, scaleOf, } from '../account/money.js';
|
|
2
4
|
import { DISCOUNT_APPLICABILITY, DISCOUNT_MODES, LOYALTY_CHANNELS, POINT_MODES, PROGRAM_TYPES, REWARD_TYPES, TAX_MODES, } from './types.js';
|
|
3
5
|
export const issue = (field, code, params) => ({
|
|
@@ -72,6 +74,7 @@ export const snapshotOf = (value) => {
|
|
|
72
74
|
orderId: String(held.orderId),
|
|
73
75
|
partnerId: held.partnerId ? String(held.partnerId) : null,
|
|
74
76
|
currency: String(held.currency),
|
|
77
|
+
warehouseId: held.warehouseId ? String(held.warehouseId) : null,
|
|
75
78
|
pricelistId: held.pricelistId ? String(held.pricelistId) : null,
|
|
76
79
|
date: String(held.date),
|
|
77
80
|
lines,
|
|
@@ -152,7 +155,11 @@ const activeAt = (program, date) => {
|
|
|
152
155
|
const rewardQuote = async (ctx, program, reward, snapshot, availablePoints, cache, linkedProductIds, requestedPoints) => {
|
|
153
156
|
const scale = scaleOf(snapshot.currency);
|
|
154
157
|
const required = n(reward.requiredPoints);
|
|
155
|
-
const spend =
|
|
158
|
+
const spend = program.designVersion === 1
|
|
159
|
+
? required
|
|
160
|
+
: reward.clearWallet
|
|
161
|
+
? availablePoints
|
|
162
|
+
: (requestedPoints ?? required);
|
|
156
163
|
if (!(required > 0) || spend + 0.000001 < required || availablePoints + 0.000001 < spend)
|
|
157
164
|
return null;
|
|
158
165
|
const rewardType = String(reward.rewardType);
|
|
@@ -161,6 +168,23 @@ const rewardQuote = async (ctx, program, reward, snapshot, availablePoints, cach
|
|
|
161
168
|
if (rewardType === 'product') {
|
|
162
169
|
if (!reward.rewardProductId || !(n(reward.rewardProductQuantity) > 0))
|
|
163
170
|
return null;
|
|
171
|
+
if (program.designVersion === 1) {
|
|
172
|
+
const product = await productContext(ctx, String(reward.rewardProductId), cache);
|
|
173
|
+
if (!product?.product.active || !product.template.active)
|
|
174
|
+
return null;
|
|
175
|
+
if (product.template.isStorable) {
|
|
176
|
+
const availability = (await stockFunctions.listProductAvailability.handler(ctx, {
|
|
177
|
+
productIds: [reward.rewardProductId],
|
|
178
|
+
...(snapshot.warehouseId ? { warehouseId: snapshot.warehouseId } : {}),
|
|
179
|
+
}));
|
|
180
|
+
const purchased = snapshot.lines
|
|
181
|
+
.filter((line) => line.productId === reward.rewardProductId &&
|
|
182
|
+
(line.lineKind === 'product' || line.lineKind === 'reward'))
|
|
183
|
+
.reduce((sum, line) => sum + line.quantity, 0);
|
|
184
|
+
if (n(availability[0]?.available) < n(reward.rewardProductQuantity) + purchased)
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
164
188
|
return {
|
|
165
189
|
rewardId: String(reward.id),
|
|
166
190
|
programId: String(program.id),
|
|
@@ -215,6 +239,11 @@ const rewardQuote = async (ctx, program, reward, snapshot, availablePoints, cach
|
|
|
215
239
|
if (discountAmount > base)
|
|
216
240
|
discountAmount = base;
|
|
217
241
|
}
|
|
242
|
+
if (rewardType === 'shipping' && reward.discountMaximum) {
|
|
243
|
+
const maximum = moneyMinor(String(reward.discountMaximum), scale);
|
|
244
|
+
if (discountAmount > maximum)
|
|
245
|
+
discountAmount = maximum;
|
|
246
|
+
}
|
|
218
247
|
return {
|
|
219
248
|
rewardId: String(reward.id),
|
|
220
249
|
programId: String(program.id),
|
|
@@ -232,14 +261,17 @@ const walletForProgram = (program, snapshot, wallets) => {
|
|
|
232
261
|
if (byCode)
|
|
233
262
|
return byCode;
|
|
234
263
|
}
|
|
235
|
-
if (!snapshot.partnerId)
|
|
264
|
+
if (!snapshot.partnerId || (program.designVersion === 1 && program.programType !== 'loyalty'))
|
|
236
265
|
return null;
|
|
237
266
|
return (wallets.find((wallet) => wallet.programId === program.id && wallet.partnerId === snapshot.partnerId && wallet.active) ?? null);
|
|
238
267
|
};
|
|
239
268
|
export const evaluate = async (ctx, snapshot, options = {}) => {
|
|
240
269
|
const scale = scaleOf(snapshot.currency);
|
|
241
270
|
const cache = new Map();
|
|
242
|
-
const allPrograms = await ctx.db.select('loyalty.Program', { active: true });
|
|
271
|
+
const allPrograms = await ctx.db.select('loyalty.Program', options.preview ? { id: options.onlyProgramId } : { active: true });
|
|
272
|
+
const company = (await ctx.db.select('company.Company', { id: ctx.scope.company }))[0];
|
|
273
|
+
const day = civilDateAt(snapshot.date, company?.accountingTimezone ?? DEFAULT_ACCOUNTING_TIMEZONE);
|
|
274
|
+
const trace = (code, details = {}) => options.trace?.push({ code, ...details });
|
|
243
275
|
const programs = allPrograms
|
|
244
276
|
.filter((program) => !options.onlyProgramId || program.id === options.onlyProgramId)
|
|
245
277
|
.sort((a, b) => n(a.sequence) - n(b.sequence) || String(a.id).localeCompare(String(b.id)));
|
|
@@ -268,7 +300,9 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
|
|
|
268
300
|
walletRows.push(wallet);
|
|
269
301
|
const usage = new Map();
|
|
270
302
|
if (programs.some((program) => program.limitUsage && n(program.maxUsage) > 0))
|
|
271
|
-
for (const application of await ctx.db.select('loyalty.Application'
|
|
303
|
+
for (const application of await ctx.db.select('loyalty.Application')) {
|
|
304
|
+
if (!['finalized', 'reversed'].includes(String(application.state)) || !application.rewardId)
|
|
305
|
+
continue;
|
|
272
306
|
const programId = String(application.programId);
|
|
273
307
|
if (programIds.has(programId))
|
|
274
308
|
usage.set(programId, (usage.get(programId) ?? 0) + 1);
|
|
@@ -303,27 +337,59 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
|
|
|
303
337
|
for (const program of programs) {
|
|
304
338
|
if (!PROGRAM_TYPES.includes(String(program.programType)))
|
|
305
339
|
continue;
|
|
306
|
-
if (
|
|
340
|
+
if (['gift_card', 'ewallet'].includes(String(program.programType)))
|
|
341
|
+
continue;
|
|
342
|
+
if (program.designVersion === 1 && program.programType === 'loyalty' && !snapshot.partnerId) {
|
|
343
|
+
trace('customer');
|
|
307
344
|
continue;
|
|
308
|
-
|
|
345
|
+
}
|
|
346
|
+
if (program.phase === 'draft' && !options.preview)
|
|
347
|
+
continue;
|
|
348
|
+
if (!program.active && !(options.preview && program.phase === 'draft')) {
|
|
349
|
+
trace('stopped');
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
const codedWallet = walletForProgram(program, snapshot, walletRows);
|
|
353
|
+
const issuedVoucher = program.designVersion === 1 && program.programType === 'next_order_coupons' && codedWallet;
|
|
354
|
+
if (program.currency !== snapshot.currency) {
|
|
355
|
+
trace('currency');
|
|
356
|
+
continue;
|
|
357
|
+
}
|
|
358
|
+
if (!issuedVoucher &&
|
|
359
|
+
(program.designVersion === 1
|
|
360
|
+
? (program.startDate && String(program.startDate) > day) ||
|
|
361
|
+
(program.endDate && String(program.endDate) < day)
|
|
362
|
+
: !activeAt(program, snapshot.date))) {
|
|
363
|
+
trace('schedule');
|
|
309
364
|
continue;
|
|
310
|
-
|
|
365
|
+
}
|
|
366
|
+
if ((snapshot.orderType === 'sale' && !program.availableSale) ||
|
|
367
|
+
(snapshot.orderType === 'pos' && !program.availablePos)) {
|
|
368
|
+
trace('channel');
|
|
311
369
|
continue;
|
|
370
|
+
}
|
|
312
371
|
const mappedPricelists = pricelistsByProgram.get(String(program.id)) ?? [];
|
|
313
372
|
if (mappedPricelists.length &&
|
|
314
|
-
(!snapshot.pricelistId || !mappedPricelists.some((row) => row.pricelistId === snapshot.pricelistId)))
|
|
373
|
+
(!snapshot.pricelistId || !mappedPricelists.some((row) => row.pricelistId === snapshot.pricelistId))) {
|
|
374
|
+
trace('pricelist');
|
|
315
375
|
continue;
|
|
376
|
+
}
|
|
316
377
|
if (program.limitUsage && n(program.maxUsage) > 0) {
|
|
317
378
|
const used = usage.get(String(program.id)) ?? 0;
|
|
318
|
-
if (used >= n(program.maxUsage))
|
|
379
|
+
if (used >= n(program.maxUsage)) {
|
|
380
|
+
trace('usage');
|
|
319
381
|
continue;
|
|
382
|
+
}
|
|
320
383
|
}
|
|
321
384
|
const wallet = walletForProgram(program, snapshot, walletRows);
|
|
322
385
|
if (wallet &&
|
|
323
386
|
(!wallet.active ||
|
|
324
387
|
(wallet.expiresAt &&
|
|
325
|
-
new Date(String(wallet.expiresAt)).getTime() < new Date(snapshot.date).getTime())))
|
|
388
|
+
new Date(String(wallet.expiresAt)).getTime() < new Date(snapshot.date).getTime()))) {
|
|
389
|
+
trace('expired');
|
|
326
390
|
continue;
|
|
391
|
+
}
|
|
392
|
+
trace('scope');
|
|
327
393
|
const rules = rulesByProgram.get(String(program.id)) ?? [];
|
|
328
394
|
let earned = 0;
|
|
329
395
|
const splitPoints = [];
|
|
@@ -333,8 +399,10 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
|
|
|
333
399
|
!TAX_MODES.includes(String(rule.taxMode)))
|
|
334
400
|
continue;
|
|
335
401
|
if (rule.mode === 'with_code') {
|
|
336
|
-
if (!(snapshot.codes ?? []).includes(String(rule.normalizedCode)))
|
|
402
|
+
if (!(snapshot.codes ?? []).includes(String(rule.normalizedCode))) {
|
|
403
|
+
trace('code', { ruleId: rule.id });
|
|
337
404
|
continue;
|
|
405
|
+
}
|
|
338
406
|
codeMatched = true;
|
|
339
407
|
}
|
|
340
408
|
const matched = [];
|
|
@@ -345,8 +413,18 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
|
|
|
345
413
|
let amount = 0n;
|
|
346
414
|
for (const line of matched)
|
|
347
415
|
amount += moneyMinor(rule.taxMode === 'incl' ? line.total : line.untaxed, scale);
|
|
348
|
-
|
|
349
|
-
|
|
416
|
+
const passed = matched.length > 0 &&
|
|
417
|
+
quantity + 0.000001 >= n(rule.minimumQuantity) &&
|
|
418
|
+
amount >= moneyMinor(String(rule.minimumAmount), scale);
|
|
419
|
+
trace(passed ? 'rulePassed' : 'ruleFailed', {
|
|
420
|
+
ruleId: rule.id,
|
|
421
|
+
quantity,
|
|
422
|
+
amount: minorText(amount, scale),
|
|
423
|
+
taxMode: rule.taxMode,
|
|
424
|
+
minimumQuantity: rule.minimumQuantity,
|
|
425
|
+
minimumAmount: rule.minimumAmount,
|
|
426
|
+
});
|
|
427
|
+
if (!passed)
|
|
350
428
|
continue;
|
|
351
429
|
const pointAmount = n(rule.pointAmount);
|
|
352
430
|
if (!(pointAmount > 0))
|
|
@@ -382,7 +460,7 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
|
|
|
382
460
|
}
|
|
383
461
|
const membershipConfig = configByProgram.get(String(program.id));
|
|
384
462
|
const earnGroups = membershipConfig ? (groupsByProgram.get(String(program.id)) ?? []) : [];
|
|
385
|
-
if (membershipConfig && earnGroups.length) {
|
|
463
|
+
if (membershipConfig && (earnGroups.length || membershipConfig.fallbackEnabled)) {
|
|
386
464
|
earned = 0;
|
|
387
465
|
splitPoints.length = 0;
|
|
388
466
|
for (const line of snapshot.lines.filter((candidate) => candidate.lineKind === 'product')) {
|
|
@@ -406,22 +484,51 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
|
|
|
406
484
|
}
|
|
407
485
|
}
|
|
408
486
|
}
|
|
409
|
-
if (
|
|
487
|
+
if (program.designVersion === 1 && program.programType !== 'loyalty') {
|
|
488
|
+
earned = program.programType === 'coupons' || issuedVoucher ? 0 : earned > 0 ? 1 : 0;
|
|
489
|
+
splitPoints.length = 0;
|
|
490
|
+
}
|
|
491
|
+
if (!codeMatched && !wallet) {
|
|
492
|
+
trace('code');
|
|
410
493
|
continue;
|
|
494
|
+
}
|
|
411
495
|
const ownReservation = wallet
|
|
412
496
|
? orderReservations
|
|
413
497
|
.filter((reservation) => reservation.walletId === wallet.id)
|
|
414
498
|
.reduce((sum, reservation) => sum + n(reservation.amount), 0)
|
|
415
499
|
: 0;
|
|
416
|
-
const available =
|
|
417
|
-
|
|
500
|
+
const available = (options.preview && options.availablePoints !== undefined && program.programType === 'loyalty'
|
|
501
|
+
? options.availablePoints
|
|
502
|
+
: n(wallet?.balance) - n(wallet?.reserved)) +
|
|
418
503
|
ownReservation +
|
|
419
504
|
(program.appliesOn === 'future' ? 0 : earned);
|
|
505
|
+
trace(program.programType === 'next_order_coupons' && !wallet ? 'issuance' : 'points', {
|
|
506
|
+
earned: round(earned, 2),
|
|
507
|
+
available: round(available, 6),
|
|
508
|
+
});
|
|
420
509
|
const rewards = [];
|
|
421
510
|
for (const reward of rewardsByProgram.get(String(program.id)) ?? []) {
|
|
422
|
-
|
|
511
|
+
let quote = await rewardQuote(ctx, program, reward, snapshot, available, cache, rewardProducts.get(String(reward.id)) ?? new Set(), options.requestedPointsByProgram?.[String(program.id)] ?? options.requestedPoints);
|
|
512
|
+
if (quote && membershipConfig && program.programType === 'loyalty') {
|
|
513
|
+
const step = n(membershipConfig?.minimumRedeemStep);
|
|
514
|
+
if (step > 0 &&
|
|
515
|
+
Math.abs(quote.requiredPoints / step - Math.round(quote.requiredPoints / step)) > 0.000001)
|
|
516
|
+
quote = null;
|
|
517
|
+
}
|
|
423
518
|
if (quote)
|
|
424
519
|
rewards.push(quote);
|
|
520
|
+
trace(quote
|
|
521
|
+
? 'rewardAvailable'
|
|
522
|
+
: reward.rewardType === 'product' && available >= n(reward.requiredPoints)
|
|
523
|
+
? 'stock'
|
|
524
|
+
: 'rewardUnavailable', {
|
|
525
|
+
rewardId: reward.id,
|
|
526
|
+
description: reward.description,
|
|
527
|
+
requiredPoints: reward.requiredPoints,
|
|
528
|
+
discountAmount: quote?.discountAmount ?? '0',
|
|
529
|
+
productId: quote?.productId,
|
|
530
|
+
productQuantity: quote?.productQuantity,
|
|
531
|
+
});
|
|
425
532
|
}
|
|
426
533
|
if (!earned && !splitPoints.length && !rewards.length && !wallet)
|
|
427
534
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":";;AAiCA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineModule } from '@ketvietlab/ketjs';
|
|
2
|
-
import {
|
|
2
|
+
import { guardedAdminFunctions, programDesignFunctions } from './program-design.js';
|
|
3
3
|
import { jobs, maintenanceFunctions } from './jobs.js';
|
|
4
4
|
import { membershipFunctions } from './membership-functions.js';
|
|
5
5
|
import { messages } from './messages.js';
|
|
@@ -11,14 +11,15 @@ import { storedValueFunctions } from './stored-value.js';
|
|
|
11
11
|
export default defineModule({
|
|
12
12
|
name: 'loyalty',
|
|
13
13
|
version: '0.1.0',
|
|
14
|
-
depends: ['company', 'partner', 'product', 'pricing'],
|
|
14
|
+
depends: ['company', 'partner', 'product', 'pricing', 'stock'],
|
|
15
15
|
title: 'Khách hàng thân thiết',
|
|
16
16
|
summary: 'Chương trình ưu đãi, ví điểm, hạng thành viên và lịch sử bất biến.',
|
|
17
17
|
category: 'Bán hàng',
|
|
18
18
|
models,
|
|
19
19
|
relations,
|
|
20
20
|
functions: {
|
|
21
|
-
...
|
|
21
|
+
...guardedAdminFunctions,
|
|
22
|
+
...programDesignFunctions,
|
|
22
23
|
...orderFunctions,
|
|
23
24
|
...membershipFunctions,
|
|
24
25
|
...maintenanceFunctions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAC9D,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,oEAAoE;IAC7E,QAAQ,EAAE,UAAU;IACpB,MAAM;IACN,SAAS;IACT,SAAS,EAAE;QACT,GAAG,qBAAqB;QACxB,GAAG,sBAAsB;QACzB,GAAG,cAAc;QACjB,GAAG,mBAAmB;QACtB,GAAG,oBAAoB;QACvB,GAAG,cAAc;QACjB,GAAG,oBAAoB;KACxB;IACD,IAAI;IACJ,QAAQ;CACT,CAAC,CAAA;AAEF,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAc,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKpE,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAc,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKpE,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmExC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmCvD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,MAAM,CAAC,MAAM,IAAI,GAA4B;IAC3C,aAAa,EAAE,SAAS,CAAC;QACvB,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;QAC1B,OAAO,EAAE;YACP,qBAAqB;YACrB,sBAAsB;YACtB,0BAA0B;YAC1B,2BAA2B;YAC3B,0BAA0B;YAC1B,2BAA2B;SAC5B;QACD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,KAAK,EAAE,GAAe,EAAE,IAAI,EAAE,EAAE;YACvC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;YACvD,KAAK,MAAM,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC7E,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;gBAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE;oBAAE,SAAQ;gBACpF,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;oBACxB,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE;wBAClE,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,KAAK,EAAE,UAAU;qBAClB,CAAC;wBACA,MAAM,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;oBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA;oBAC7E,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;wBACpB,MAAM,SAAS,CAAC,EAAE,EAAE;4BAClB,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS;4BACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC3B,SAAS,EAAE,QAAQ;4BACnB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BACpC,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;4BACjC,UAAU,EAAE,QAAQ;4BACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC3B,eAAe,EAAE,QAAQ;4BACzB,SAAS,EAAE,UAAU,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS;4BAC/C,eAAe,EAAE,mCAAmC;4BACpD,aAAa,EAAE,IAAI;yBACpB,CAAC,CAAA;oBACJ,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC5E,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;KACF,CAAC;IAEF,iBAAiB,EAAE,SAAS,CAAC;QAC3B,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE;QAC5C,OAAO,EAAE;YACP,sBAAsB;YACtB,yBAAyB;YACzB,mBAAmB;YACnB,qBAAqB;YACrB,yBAAyB;YACzB,0BAA0B;SAC3B;QACD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,KAAK,EAAE,GAAe,EAAE,IAAI,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;gBACxB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/F,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;gBAC/C,MAAM,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;KACF,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,oBAAoB,EAAE,QAAQ,CAAC;QAC7B,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE;QAClD,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QACxD,OAAO,EAAE,CAAC,+BAA+B,CAAC;QAC1C,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CACnC,uBAAuB,EACvB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACvC,EAAE,SAAS,EAAE,kBAAkB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAC/D,CAAA;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;QACnE,CAAC;KACF,CAAC;IAEF,yBAAyB,EAAE,QAAQ,CAAC;QAClC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE;QACpE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;QACxD,OAAO,EAAE,CAAC,mCAAmC,CAAC;QAC9C,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CACnC,2BAA2B,EAC3B;gBACE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,EACD,EAAE,SAAS,EAAE,sBAAsB,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CACtG,CAAA;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;QACnE,CAAC;KACF,CAAC;CACH,CAAA"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { Ctx, FnSpec, Row } from '@ketvietlab/ketjs';
|
|
2
|
+
export declare const membershipPosition: (ctx: Ctx, partnerId: string, at?: string) => Promise<{
|
|
3
|
+
months: number;
|
|
4
|
+
spending: number;
|
|
5
|
+
tier: Row | null;
|
|
6
|
+
} | null>;
|
|
2
7
|
export declare const refreshMembershipRow: (ctx: Ctx, partnerId: string, at?: string) => Promise<Row | null>;
|
|
3
8
|
export declare const membershipFunctions: Record<string, FnSpec>;
|
|
4
9
|
//# sourceMappingURL=membership-functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"membership-functions.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/membership-functions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAQ,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"membership-functions.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/membership-functions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAQ,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAa/D,eAAO,MAAM,kBAAkB,QACxB,GAAG,aACG,MAAM,kBAEhB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CA4BvE,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAe,GAAG,aAAa,MAAM,kBAAe,OAAO,CAAC,GAAG,GAAG,IAAI,CA2BtG,CAAA;AA0BD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+GtD,CAAA"}
|
|
@@ -1,36 +1,52 @@
|
|
|
1
|
-
import { and, asc, defineFn, desc, eq, from, gt, lte } from '@ketvietlab/ketjs';
|
|
1
|
+
import { and, asc, defineFn, deleteFrom, desc, eq, from, gt, lte } from '@ketvietlab/ketjs';
|
|
2
2
|
import { decimal, invalid, issue, n, now } from './engine.js';
|
|
3
3
|
const cutoffFor = (date, months) => {
|
|
4
4
|
const cutoff = new Date(date);
|
|
5
|
+
const day = cutoff.getUTCDate();
|
|
6
|
+
cutoff.setUTCDate(1);
|
|
5
7
|
cutoff.setUTCMonth(cutoff.getUTCMonth() - months);
|
|
8
|
+
const lastDay = new Date(Date.UTC(cutoff.getUTCFullYear(), cutoff.getUTCMonth() + 1, 0)).getUTCDate();
|
|
9
|
+
cutoff.setUTCDate(Math.min(day, lastDay));
|
|
6
10
|
return cutoff.getTime();
|
|
7
11
|
};
|
|
8
|
-
export const
|
|
9
|
-
const
|
|
10
|
-
if (!
|
|
12
|
+
export const membershipPosition = async (ctx, partnerId, at = now()) => {
|
|
13
|
+
const tiers = await ctx.db.select('loyalty.Tier', { active: true });
|
|
14
|
+
if (!tiers.length)
|
|
11
15
|
return null;
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
.sort((a, b) => n(b.minimumSpend) - n(a.minimumSpend) ||
|
|
22
|
-
n(a.sequence) - n(b.sequence) ||
|
|
23
|
-
String(a.id).localeCompare(String(b.id)));
|
|
24
|
-
const wallets = await ctx.db.select('loyalty.Wallet', {
|
|
25
|
-
partnerId,
|
|
26
|
-
programId: config.programId,
|
|
27
|
-
active: true,
|
|
16
|
+
const atTime = new Date(at).getTime();
|
|
17
|
+
const entries = (await ctx.db.select('loyalty.SpendEntry', { partnerId })).filter((entry) => !entry.reversedAt && new Date(String(entry.occurredAt)).getTime() <= atTime);
|
|
18
|
+
const positions = tiers.map((tier) => {
|
|
19
|
+
const months = Math.max(1, n(tier.windowMonths ?? 12));
|
|
20
|
+
const cutoff = cutoffFor(at, months);
|
|
21
|
+
const spending = entries
|
|
22
|
+
.filter((entry) => new Date(String(entry.occurredAt)).getTime() >= cutoff)
|
|
23
|
+
.reduce((sum, entry) => sum + n(entry.amount), 0);
|
|
24
|
+
return { months, spending, tier };
|
|
28
25
|
});
|
|
26
|
+
const qualified = positions
|
|
27
|
+
.filter((position) => n(position.tier.minimumSpend) <= position.spending + 0.000001)
|
|
28
|
+
.sort((a, b) => n(b.tier.sequence) - n(a.tier.sequence) ||
|
|
29
|
+
n(b.tier.minimumSpend) - n(a.tier.minimumSpend) ||
|
|
30
|
+
String(a.tier.id).localeCompare(String(b.tier.id)));
|
|
31
|
+
if (qualified[0])
|
|
32
|
+
return qualified[0];
|
|
33
|
+
const baseline = positions.sort((a, b) => n(a.tier.sequence) - n(b.tier.sequence) || String(a.tier.id).localeCompare(String(b.tier.id)))[0];
|
|
34
|
+
return { months: baseline.months, spending: baseline.spending, tier: null };
|
|
35
|
+
};
|
|
36
|
+
export const refreshMembershipRow = async (ctx, partnerId, at = now()) => {
|
|
37
|
+
const position = await membershipPosition(ctx, partnerId, at);
|
|
38
|
+
if (!position) {
|
|
39
|
+
const Membership = ctx.table('loyalty.Membership');
|
|
40
|
+
await ctx.db.del(deleteFrom(Membership).where(eq(Membership.partnerId, partnerId)));
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const { months, spending, tier } = position;
|
|
44
|
+
const wallets = await ctx.db.select('loyalty.Wallet', { partnerId, active: true, unit: 'points' });
|
|
29
45
|
const points = wallets.reduce((sum, wallet) => sum + n(wallet.balance), 0);
|
|
30
46
|
const existing = (await ctx.db.select('loyalty.Membership', { partnerId }))[0];
|
|
31
47
|
const values = {
|
|
32
48
|
partnerId,
|
|
33
|
-
tierId:
|
|
49
|
+
tierId: tier?.id ?? null,
|
|
34
50
|
rollingSpend: decimal(spending),
|
|
35
51
|
points: decimal(points),
|
|
36
52
|
windowMonths: months,
|
|
@@ -56,7 +72,6 @@ const summaryOf = async (ctx, membership) => {
|
|
|
56
72
|
tierCode: tier ? String(tier.code) : null,
|
|
57
73
|
tierName: tier ? String(tier.name) : null,
|
|
58
74
|
rollingSpend: n(membership.rollingSpend),
|
|
59
|
-
redeemPercent: n(tier?.redeemPercent),
|
|
60
75
|
points: n(membership.points),
|
|
61
76
|
windowMonths: n(membership.windowMonths),
|
|
62
77
|
refreshedAt: String(membership.refreshedAt),
|
|
@@ -64,7 +79,6 @@ const summaryOf = async (ctx, membership) => {
|
|
|
64
79
|
};
|
|
65
80
|
const membershipEffects = [
|
|
66
81
|
'read:partner.Partner',
|
|
67
|
-
'read:loyalty.MembershipConfig',
|
|
68
82
|
'read:loyalty.SpendEntry',
|
|
69
83
|
'read:loyalty.Tier',
|
|
70
84
|
'read:loyalty.Wallet',
|