cmp-aws-database 2.1.2-proddebug.1 → 2.1.2-proddebug.11

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.
Files changed (48) hide show
  1. package/dist/config/table-names.d.ts +10 -0
  2. package/dist/config/table-names.js +11 -1
  3. package/dist/customer-user/accompaniments/accompaniments-model.d.ts +1 -0
  4. package/dist/customer-user/accompaniments/accompaniments-model.js +5 -1
  5. package/dist/customer-user/add-ons/add-ons-model.d.ts +3 -0
  6. package/dist/customer-user/add-ons/add-ons-model.js +13 -1
  7. package/dist/customer-user/browse-history/browse-history-dao.d.ts +122 -0
  8. package/dist/customer-user/browse-history/browse-history-dao.js +173 -0
  9. package/dist/customer-user/browse-history/browse-history-model.d.ts +31 -0
  10. package/dist/customer-user/browse-history/browse-history-model.js +118 -0
  11. package/dist/customer-user/cart/cart-model.d.ts +7 -0
  12. package/dist/customer-user/cart/cart-model.js +25 -2
  13. package/dist/customer-user/catalogue/catalogue-items-dao.d.ts +43 -0
  14. package/dist/customer-user/catalogue/catalogue-items-dao.js +143 -0
  15. package/dist/customer-user/catalogue/catalogue-items-model.d.ts +18 -0
  16. package/dist/customer-user/catalogue/catalogue-items-model.js +72 -0
  17. package/dist/customer-user/category/category-dao.d.ts +29 -0
  18. package/dist/customer-user/category/category-dao.js +52 -1
  19. package/dist/customer-user/category/category-model.d.ts +1 -0
  20. package/dist/customer-user/category/category-model.js +5 -1
  21. package/dist/customer-user/cutlery/cutlery-model.d.ts +2 -0
  22. package/dist/customer-user/cutlery/cutlery-model.js +9 -1
  23. package/dist/customer-user/default-platter/default-platters-model.d.ts +2 -0
  24. package/dist/customer-user/default-platter/default-platters-model.js +9 -1
  25. package/dist/customer-user/fmpRequestCallback/fmp-request-callback-model.d.ts +1 -0
  26. package/dist/customer-user/fmpRequestCallback/fmp-request-callback-model.js +5 -1
  27. package/dist/customer-user/items-bundle/items-bundle-dao.d.ts +72 -0
  28. package/dist/customer-user/items-bundle/items-bundle-dao.js +117 -0
  29. package/dist/customer-user/items-bundle/items-bundle-model.d.ts +23 -0
  30. package/dist/customer-user/items-bundle/items-bundle-model.js +62 -0
  31. package/dist/customer-user/order-module/order/order-model.d.ts +9 -0
  32. package/dist/customer-user/order-module/order/order-model.js +33 -2
  33. package/dist/customer-user/order-module/plate-order/plate-order-model.d.ts +13 -0
  34. package/dist/customer-user/order-module/plate-order/plate-order-model.js +46 -2
  35. package/dist/customer-user/order-module/tracking/tracking-model.d.ts +9 -0
  36. package/dist/customer-user/order-module/tracking/tracking-model.js +33 -2
  37. package/dist/customer-user/resume-journey/resume-journey-model.d.ts +11 -0
  38. package/dist/customer-user/resume-journey/resume-journey-model.js +41 -2
  39. package/dist/customer-user/testing-session/testing-session-dao.d.ts +86 -0
  40. package/dist/customer-user/testing-session/testing-session-dao.js +149 -0
  41. package/dist/customer-user/testing-session/testing-session-model.d.ts +30 -0
  42. package/dist/customer-user/testing-session/testing-session-model.js +104 -0
  43. package/dist/patner-third-party/third-party-api-key/third-party-api-key-dao.d.ts +114 -0
  44. package/dist/patner-third-party/third-party-api-key/third-party-api-key-dao.js +225 -0
  45. package/dist/patner-third-party/third-party-api-key/third-party-api-key-model.d.ts +21 -0
  46. package/dist/patner-third-party/third-party-api-key/third-party-api-key-model.js +70 -0
  47. package/index.js +3 -1
  48. package/package.json +1 -1
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.convertToBrowseHistoryModel = exports.BrowseHistoryModel = void 0;
7
+ const dynamoose_1 = __importDefault(require("dynamoose"));
8
+ const crypto_1 = require("crypto");
9
+ const base_dynamoose_model_1 = require("../../base-dynamoose-model");
10
+ const table_names_1 = require("../../config/table-names");
11
+ const browseHistorySchema = new dynamoose_1.default.Schema({
12
+ browseHistoryId: {
13
+ type: String,
14
+ hashKey: true,
15
+ required: true,
16
+ default: () => (0, crypto_1.randomUUID)()
17
+ },
18
+ userId: {
19
+ type: String,
20
+ required: true,
21
+ index: {
22
+ name: "userIdIndex",
23
+ type: "global"
24
+ }
25
+ },
26
+ resumeJourneyId: {
27
+ type: String,
28
+ required: true
29
+ },
30
+ platterId: {
31
+ type: String,
32
+ required: true
33
+ },
34
+ platterName: {
35
+ type: String,
36
+ required: true
37
+ },
38
+ platterType: {
39
+ type: String,
40
+ required: true
41
+ },
42
+ platterSubType: String,
43
+ platterPrice: {
44
+ type: Number,
45
+ required: true
46
+ },
47
+ totalItems: {
48
+ type: Number,
49
+ required: true
50
+ },
51
+ menuType: {
52
+ type: String,
53
+ required: true
54
+ },
55
+ mealTime: {
56
+ type: String,
57
+ required: true
58
+ },
59
+ platterImage: {
60
+ type: String,
61
+ required: true
62
+ },
63
+ replaceItemIds: {
64
+ type: Array,
65
+ schema: [{
66
+ type: Object,
67
+ schema: {
68
+ originalItemId: {
69
+ type: String,
70
+ required: true
71
+ },
72
+ replaceItemId: {
73
+ type: String,
74
+ required: true
75
+ }
76
+ }
77
+ }],
78
+ default: []
79
+ },
80
+ addonIds: {
81
+ type: Array,
82
+ schema: [String],
83
+ default: []
84
+ },
85
+ cutleryIds: {
86
+ type: Array,
87
+ schema: [String],
88
+ default: []
89
+ },
90
+ liveCounterIds: {
91
+ type: Array,
92
+ schema: [String],
93
+ default: []
94
+ },
95
+ skewerAddonIds: {
96
+ type: Array,
97
+ schema: [String],
98
+ default: []
99
+ },
100
+ mandatoryServiceBottomSheet: {
101
+ type: Boolean,
102
+ required: true
103
+ },
104
+ bundleId: {
105
+ type: String,
106
+ required: false
107
+ },
108
+ ...base_dynamoose_model_1.BASE_DYNAMOOSE_AUDIT_SCHEMA
109
+ }, {
110
+ saveUnknown: false,
111
+ timestamps: true
112
+ });
113
+ exports.BrowseHistoryModel = dynamoose_1.default.model(table_names_1.TABLE_NAMES.BROWSE_HISTORY, browseHistorySchema, { create: false, waitForActive: false });
114
+ const convertToBrowseHistoryModel = (input) => {
115
+ return new exports.BrowseHistoryModel(input);
116
+ };
117
+ exports.convertToBrowseHistoryModel = convertToBrowseHistoryModel;
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlLWhpc3RvcnktbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9icm93c2UtaGlzdG9yeS9icm93c2UtaGlzdG9yeS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFDbEMsbUNBQW9DO0FBQ3BDLHFFQUE2RjtBQUM3RiwwREFBdUQ7QUFrQ3ZELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxtQkFBUyxDQUFDLE1BQU0sQ0FDNUM7SUFDSSxlQUFlLEVBQUU7UUFDYixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBQSxtQkFBVSxHQUFFO0tBQzlCO0lBQ0QsTUFBTSxFQUFFO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxlQUFlLEVBQUU7UUFDYixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELFdBQVcsRUFBRTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxXQUFXLEVBQUU7UUFDVCxJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsY0FBYyxFQUFFLE1BQU07SUFDdEIsWUFBWSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELFVBQVUsRUFBRTtRQUNSLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxRQUFRLEVBQUU7UUFDTixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxjQUFjLEVBQUU7UUFDWixJQUFJLEVBQUUsS0FBSztRQUNYLE1BQU0sRUFBRSxDQUFDO2dCQUNMLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRTtvQkFDSixjQUFjLEVBQUU7d0JBQ1osSUFBSSxFQUFFLE1BQU07d0JBQ1osUUFBUSxFQUFFLElBQUk7cUJBQ2pCO29CQUNELGFBQWEsRUFBRTt3QkFDWCxJQUFJLEVBQUUsTUFBTTt3QkFDWixRQUFRLEVBQUUsSUFBSTtxQkFDakI7aUJBQ0o7YUFDSixDQUFDO1FBQ0YsT0FBTyxFQUFFLEVBQUU7S0FDZDtJQUNELFFBQVEsRUFBRTtRQUNOLElBQUksRUFBRSxLQUFLO1FBQ1gsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxFQUFFO0tBQ2Q7SUFDRCxVQUFVLEVBQUU7UUFDUixJQUFJLEVBQUUsS0FBSztRQUNYLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixPQUFPLEVBQUUsRUFBRTtLQUNkO0lBQ0QsY0FBYyxFQUFFO1FBQ1osSUFBSSxFQUFFLEtBQUs7UUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLEVBQUU7S0FDZDtJQUNELGNBQWMsRUFBRTtRQUNaLElBQUksRUFBRSxLQUFLO1FBQ1gsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxFQUFFO0tBQ2Q7SUFDRCwyQkFBMkIsRUFBRTtRQUN6QixJQUFJLEVBQUUsT0FBTztRQUNiLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsS0FBSztLQUNsQjtJQUNELEdBQUcsa0RBQTJCO0NBQ2pDLEVBQ0Q7SUFDSSxXQUFXLEVBQUUsS0FBSztJQUNsQixVQUFVLEVBQUUsSUFBSTtDQUNuQixDQUNKLENBQUM7QUFFVyxRQUFBLGtCQUFrQixHQUFHLG1CQUFTLENBQUMsS0FBSyxDQUM3Qyx5QkFBVyxDQUFDLGNBQWMsRUFDMUIsbUJBQW1CLEVBQ25CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQzFDLENBQUM7QUFFSyxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBK0MsRUFBRSxFQUFFO0lBQzNGLE9BQU8sSUFBSSwwQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFGVyxRQUFBLDJCQUEyQiwrQkFFdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZHluYW1vb3NlIGZyb20gXCJkeW5hbW9vc2VcIjtcbmltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgeyBCQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUEsIEJhc2VEeW5hbW9vc2VNb2RlbCB9IGZyb20gXCIuLi8uLi9iYXNlLWR5bmFtb29zZS1tb2RlbFwiO1xuaW1wb3J0IHsgVEFCTEVfTkFNRVMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3RhYmxlLW5hbWVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJvd3NlSGlzdG9yeVJlcGxhY2VJdGVtIHtcbiAgICBvcmlnaW5hbEl0ZW1JZDogc3RyaW5nO1xuICAgIHJlcGxhY2VJdGVtSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcm93c2VIaXN0b3J5IGV4dGVuZHMgQmFzZUR5bmFtb29zZU1vZGVsIHtcbiAgICBicm93c2VIaXN0b3J5SWQ6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICByZXN1bWVKb3VybmV5SWQ6IHN0cmluZztcbiAgICBwbGF0dGVySWQ6IHN0cmluZztcbiAgICBwbGF0dGVyTmFtZTogc3RyaW5nO1xuICAgIHBsYXR0ZXJUeXBlOiBzdHJpbmc7XG4gICAgcGxhdHRlclN1YlR5cGU/OiBzdHJpbmc7XG4gICAgcGxhdHRlclByaWNlOiBudW1iZXI7XG4gICAgdG90YWxJdGVtczogbnVtYmVyO1xuICAgIG1lbnVUeXBlOiBzdHJpbmc7XG4gICAgbWVhbFRpbWU6IHN0cmluZztcbiAgICBwbGF0dGVySW1hZ2U6IHN0cmluZztcbiAgICByZXBsYWNlSXRlbUlkczogQnJvd3NlSGlzdG9yeVJlcGxhY2VJdGVtW107XG4gICAgYWRkb25JZHM6IHN0cmluZ1tdO1xuICAgIGN1dGxlcnlJZHM6IHN0cmluZ1tdO1xuICAgIGxpdmVDb3VudGVySWRzOiBzdHJpbmdbXTtcbiAgICBza2V3ZXJBZGRvbklkczogc3RyaW5nW107XG4gICAgbWFuZGF0b3J5U2VydmljZUJvdHRvbVNoZWV0OiBib29sZWFuO1xuICAgIGJ1bmRsZUlkPzogc3RyaW5nOyAvLyBOZXcgQWRkZWQgMTUtMDctMjAyNlxuXG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJyb3dzZUhpc3RvcnlJbnB1dCA9IE9taXQ8QnJvd3NlSGlzdG9yeSwgXCJicm93c2VIaXN0b3J5SWRcIj4gJiB7XG4gICAgYnJvd3NlSGlzdG9yeUlkPzogc3RyaW5nO1xufTtcblxuY29uc3QgYnJvd3NlSGlzdG9yeVNjaGVtYSA9IG5ldyBkeW5hbW9vc2UuU2NoZW1hKFxuICAgIHtcbiAgICAgICAgYnJvd3NlSGlzdG9yeUlkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBoYXNoS2V5OiB0cnVlLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0OiAoKSA9PiByYW5kb21VVUlEKClcbiAgICAgICAgfSxcbiAgICAgICAgdXNlcklkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIGluZGV4OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJ1c2VySWRJbmRleFwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2xvYmFsXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcmVzdW1lSm91cm5leUlkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBwbGF0dGVySWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHBsYXR0ZXJOYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBwbGF0dGVyVHlwZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcGxhdHRlclN1YlR5cGU6IFN0cmluZyxcbiAgICAgICAgcGxhdHRlclByaWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB0b3RhbEl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBtZW51VHlwZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgbWVhbFRpbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHBsYXR0ZXJJbWFnZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcmVwbGFjZUl0ZW1JZHM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgc2NoZW1hOiBbe1xuICAgICAgICAgICAgICAgIHR5cGU6IE9iamVjdCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxJdGVtSWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlcGxhY2VJdGVtSWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIGFkZG9uSWRzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIHNjaGVtYTogW1N0cmluZ10sXG4gICAgICAgICAgICBkZWZhdWx0OiBbXVxuICAgICAgICB9LFxuICAgICAgICBjdXRsZXJ5SWRzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIHNjaGVtYTogW1N0cmluZ10sXG4gICAgICAgICAgICBkZWZhdWx0OiBbXVxuICAgICAgICB9LFxuICAgICAgICBsaXZlQ291bnRlcklkczoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBzY2hlbWE6IFtTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogW11cbiAgICAgICAgfSxcbiAgICAgICAgc2tld2VyQWRkb25JZHM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgc2NoZW1hOiBbU3RyaW5nXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIG1hbmRhdG9yeVNlcnZpY2VCb3R0b21TaGVldDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGJ1bmRsZUlkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgLi4uQkFTRV9EWU5BTU9PU0VfQVVESVRfU0NIRU1BXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHNhdmVVbmtub3duOiBmYWxzZSxcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZVxuICAgIH1cbik7XG5cbmV4cG9ydCBjb25zdCBCcm93c2VIaXN0b3J5TW9kZWwgPSBkeW5hbW9vc2UubW9kZWw8QnJvd3NlSGlzdG9yeT4oXG4gICAgVEFCTEVfTkFNRVMuQlJPV1NFX0hJU1RPUlksXG4gICAgYnJvd3NlSGlzdG9yeVNjaGVtYSxcbiAgICB7IGNyZWF0ZTogZmFsc2UsIHdhaXRGb3JBY3RpdmU6IGZhbHNlIH1cbik7XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VG9Ccm93c2VIaXN0b3J5TW9kZWwgPSAoaW5wdXQ6IENyZWF0ZUJyb3dzZUhpc3RvcnlJbnB1dCB8IEJyb3dzZUhpc3RvcnkpID0+IHtcbiAgICByZXR1cm4gbmV3IEJyb3dzZUhpc3RvcnlNb2RlbChpbnB1dCk7XG59O1xuIl19
@@ -30,6 +30,8 @@ export declare class SetPreferences {
30
30
  spicyLevel?: string;
31
31
  tellUsMore?: string;
32
32
  consumeAlcohol?: string;
33
+ isNoOnionGarlicSelected?: boolean;
34
+ alternatePhoneNumber?: string;
33
35
  }
34
36
  export declare class BbqCredential {
35
37
  isPartialGrill: boolean;
@@ -98,6 +100,11 @@ export declare class CartModel extends BaseModel {
98
100
  liveCounterDetails?: LiveCounterDetails[];
99
101
  skewerAddons?: SkewerAddons[];
100
102
  inprogressPlatterValue?: number;
103
+ defaultValue: IsDefaultValue;
104
+ bundleId?: string;
105
+ }
106
+ export declare class IsDefaultValue {
107
+ isdefaultEventTime: boolean;
101
108
  }
102
109
  export declare class SkewerAddons {
103
110
  itemId: string;
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SkewerAddons = exports.CartModel = exports.ItemList = exports.LiveCounterDetails = exports.BbqCredential = exports.SetPreferences = exports.GuestCount = void 0;
12
+ exports.SkewerAddons = exports.IsDefaultValue = exports.CartModel = exports.ItemList = exports.LiveCounterDetails = exports.BbqCredential = exports.SetPreferences = exports.GuestCount = void 0;
13
13
  const annotations_1 = require("@nova-odm/annotations");
14
14
  const base_model_1 = require("../../base-model");
15
15
  class GuestCount {
@@ -46,6 +46,14 @@ __decorate([
46
46
  (0, annotations_1.attribute)(),
47
47
  __metadata("design:type", String)
48
48
  ], SetPreferences.prototype, "consumeAlcohol", void 0);
49
+ __decorate([
50
+ (0, annotations_1.attribute)(),
51
+ __metadata("design:type", Boolean)
52
+ ], SetPreferences.prototype, "isNoOnionGarlicSelected", void 0);
53
+ __decorate([
54
+ (0, annotations_1.attribute)(),
55
+ __metadata("design:type", String)
56
+ ], SetPreferences.prototype, "alternatePhoneNumber", void 0);
49
57
  class BbqCredential {
50
58
  }
51
59
  exports.BbqCredential = BbqCredential;
@@ -298,9 +306,24 @@ __decorate([
298
306
  (0, annotations_1.attribute)(),
299
307
  __metadata("design:type", Number)
300
308
  ], CartModel.prototype, "inprogressPlatterValue", void 0);
309
+ __decorate([
310
+ (0, annotations_1.attribute)(),
311
+ __metadata("design:type", IsDefaultValue)
312
+ ], CartModel.prototype, "defaultValue", void 0);
313
+ __decorate([
314
+ (0, annotations_1.attribute)(),
315
+ __metadata("design:type", String)
316
+ ], CartModel.prototype, "bundleId", void 0);
301
317
  exports.CartModel = CartModel = __decorate([
302
318
  (0, annotations_1.table)("CartTable")
303
319
  ], CartModel);
320
+ class IsDefaultValue {
321
+ }
322
+ exports.IsDefaultValue = IsDefaultValue;
323
+ __decorate([
324
+ (0, annotations_1.attribute)(),
325
+ __metadata("design:type", Boolean)
326
+ ], IsDefaultValue.prototype, "isdefaultEventTime", void 0);
304
327
  class SkewerAddons {
305
328
  }
306
329
  exports.SkewerAddons = SkewerAddons;
@@ -324,4 +347,4 @@ __decorate([
324
347
  (0, annotations_1.attribute)(),
325
348
  __metadata("design:type", Array)
326
349
  ], SkewerAddons.prototype, "accompaniments", void 0);
327
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2NhcnQvY2FydC1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1REFBMkU7QUFDM0UsaURBQTZDO0FBRzdDLE1BQWEsVUFBVTtDQU90QjtBQVBELGdDQU9DO0FBTEc7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2lEQUNVO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztvREFDYTtBQUV6QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7bURBQ2E7QUE2QjdCLE1BQWEsY0FBYztDQVMxQjtBQVRELHdDQVNDO0FBUEc7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O29EQUNVO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztrREFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7a0RBQ1E7QUFFcEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3NEQUNZO0FBRzVCLE1BQWEsYUFBYTtDQVN6QjtBQVRELHNDQVNDO0FBUEc7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3FEQUNZO0FBRXhCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsrQ0FDSztBQUVqQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ1c7QUFFdkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2tEQUNRO0FBR3hCLE1BQWEsa0JBQWtCO0NBVzlCO0FBWEQsZ0RBV0M7QUFURztJQURDLElBQUEsdUJBQVMsR0FBRTs7eURBQ1U7QUFFdEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzJEQUNZO0FBRXhCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsyREFDWTtBQUV4QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7NkRBQ2M7QUFFMUI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O29EQUNTO0FBR3pCLE1BQWEsUUFBUTtDQWFwQjtBQWJELDRCQWFDO0FBWEc7SUFEQyxJQUFBLHVCQUFT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LEdBQUU7O2dEQUNZO0FBRXhCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsrQ0FDVztBQUl2QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7OENBQ1M7QUFHckI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3NEQUNpQjtBQUc3QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7Z0RBQ2E7QUFHekI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2dEQUNXO0FBR3ZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztxREFDOEI7QUFHMUM7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OytDQUNrQjtBQUc5QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7eURBQ29CO29CQWxHdkIsU0FBUztJQURyQixJQUFBLG1CQUFLLEVBQUMsV0FBVyxDQUFDO0dBQ04sU0FBUyxDQW1HckI7QUFFRCxNQUFhLFlBQVk7Q0FnQnhCO0FBaEJELG9DQWdCQztBQWJHO0lBREMsSUFBQSx1QkFBUyxHQUFFOzs0Q0FDRztBQUdmO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsrQ0FDTTtBQUdsQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7bURBQ1U7QUFHdEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O29EQUNXO0FBR3ZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztvREFDNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdHRyaWJ1dGUsIGhhc2hLZXksIHJhbmdlS2V5LCB0YWJsZSB9IGZyb20gXCJAbm92YS1vZG0vYW5ub3RhdGlvbnNcIlxuaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Jhc2UtbW9kZWxcIjtcblxuXG5leHBvcnQgY2xhc3MgR3Vlc3RDb3VudCB7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgdmVnR3Vlc3RDb3VudDogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG5vblZlZ0d1ZXN0Q291bnQ6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICB0b3RhbEd1ZXN0Q291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkT25zRGV0YWlscyB7XG4gICAgYWRkT25zSWQ6IHN0cmluZztcbiAgICBhZGRPbnNRdHk6IG51bWJlcjtcbiAgICBhZGRPbnNRdHlVbml0OiBzdHJpbmc7XG4gICAgaXNCb25lbGVzc0l0ZW0/OiBib29sZWFuOyAvLyBWMlxuICAgIGJvbmVJdGVtUHJpY2U/OiBudW1iZXI7IC8vIFYyXG4gICAgYWNjb21wYW5pbWVudHM/OiBBY2NvbXBhbmltZW50c0RldGFpbHNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NvbXBhbmltZW50c0RldGFpbHMge1xuICAgIGFjY29tcGFuaW1lbnRJZDogc3RyaW5nO1xuICAgIGFjY29tcGFuaW1lbnRRdHk6IG51bWJlcjtcbiAgICBhY2NvbXBhbmltZW50UXR5VW5pdDogc3RyaW5nO1xuICAgIGlzRnJlZT86IGJvb2xlYW47IC8vIEFkZGVkIE5ldyAxMS0xMS0yMDI1XG4gICAgaXNCb25lbGVzc0l0ZW0/OiBib29sZWFuOyAvLyBBZGRlZCBOZXcgMTEtMTEtMjAyNVxuICAgIGJvbmVJdGVtUHJpY2U/OiBudW1iZXI7IC8vIEFkZGVkIE5ldyAxMS0xMS0yMDI1XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3V0bGVyeURldGFpbHMge1xuICAgIGN1dGxlcnlJZDogc3RyaW5nOyAvLyBBZGRlZCBOZXcgMjQtMTEtMjAyNVxuICAgIGN1dGxlcnlRdHk6IG51bWJlcjsgLy8gQWRkZWQgTmV3IDI0LTExLTIwMjVcbiAgICBpc1NlcnZpbmc/OiBib29sZWFuOyAvLyBBZGRlZCBOZXcgMjQtMTEtMjAyNSAvLyB0cnVlIHwgZmFsc2Vcbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBTZXRQcmVmZXJlbmNlcyB7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcHVyZVZlZ0d1ZXN0PzogbnVtYmVyOyAvLyBJbiBGdXR1cmUgdGhleSBzaG91bGQgYmUgcmVtb3ZlZC5cbiAgICBAYXR0cmlidXRlKClcbiAgICBzcGljeUxldmVsPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHRlbGxVc01vcmU/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY29uc3VtZUFsY29ob2w/OiBzdHJpbmc7IC8vIEluIEZ1dHVyZSB0aGV5IHNob3VsZCBiZSByZW1vdmVkLlxufVxuXG5leHBvcnQgY2xhc3MgQmJxQ3JlZGVudGlhbCB7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXNQYXJ0aWFsR3JpbGw6IGJvb2xlYW47XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZnJlZUtpdHM6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBjaGFyZ2VhYmxlS2l0czogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHByaWNlUGVyS2l0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBMaXZlQ291bnRlckRldGFpbHMge1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGxpdmVDb3VudGVySWQ6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBsaXZlQ291bnRlck5hbWU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBsaXZlQ291bnRlclR5cGU6IHN0cmluZzsgLy8gQ0hBQVRfQ09VTlRFUlxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGluY2x1ZGVkQmF0Y2hTaXplOiBudW1iZXI7IC8vIDIsNCw2XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXRlbUxpc3Q6IEl0ZW1MaXN0W107XG59XG5cbmV4cG9ydCBjbGFzcyBJdGVtTGlzdCB7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXRlbUlkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXRlbU5hbWU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBpdGVtUXVhbnRpdHk6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBpdGVtUXVhbnRpdHlVbml0OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXRlbVR5cGU6IHN0cmluZzsgLy8gVkVHLCBOT05WRUdcbiAgICBAYXR0cmlidXRlKClcbiAgICBpc0ZyZWU6IGJvb2xlYW47XG59XG5cbkB0YWJsZShcIkNhcnRUYWJsZVwiKVxuZXhwb3J0IGNsYXNzIENhcnRNb2RlbCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gICAgQGhhc2hLZXkoeyB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIEByYW5nZUtleSh7IHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgY2FydElkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcGxhdHRlclR5cGU/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJjYXJ0U3RhdHVzSW5kZXhcIjogXCJIQVNIXCIgfSwgdHlwZTogJ1N0cmluZycgfSlcbiAgICBjYXJ0U3RhdHVzOiBzdHJpbmc7IC8vIEFDVElWRSwgSU5BQ1RJVkUsIElORFJBRlRcbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBcImNhcnRTdGFnZUluZGV4XCI6IFwiSEFTSFwiIH0sIHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgY2FydFN0YWdlOiBzdHJpbmc7IC8vIERFVEFJTFNfTk9UX0ZJTExFRCwgQ09NUExFVEVELCBJVEVNX05PVF9GSUxMRUQsIE1JU1NUSU5HX0RBVEVfVElNRVxuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwicGhvbmVOdW1iZXJJbmRleFwiOiBcIkhBU0hcIiB9LCB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgb2NjYXNpb25JZD86IHN0cmluZzsgLy8gVGhpbmsgQWdhaW5cbiAgICBAYXR0cmlidXRlKClcbiAgICBjYXJ0TmFtZTogc3RyaW5nOyAvLyBieSBkZWZhdWx0IEN1c3RvbSBQbGF0dGVyIG9yIENob2ljZSBvZiBVc2VycyBiYXNlZCBvbiB0aGVpciBjaGFuZ2VzXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY2FydEltYWdlPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGRlZmF1bHRQbGF0dGVySWQ/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY2FydENhdGVnb3JpZXNJZD86IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBhZGRyZXNzSWQ/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgYWRkb25zSWQ/OiBzdHJpbmdbXTsgLy8gUmVtb3ZlIEFmdGVyIFRoaXMgQnVpbGQgZ29uZVxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGNvdXBvbkNvZGU/OiBzdHJpbmc7IC8vIFJlbW92ZSBBZnRlciBUaGlzIEJ1aWxkIGdvbmVcbiAgICBAYXR0cmlidXRlKClcbiAgICBndWVzdENvdW50PzogbnVtYmVyOyAvLyBSZW1vdmUgQWZ0ZXIgVGhpcyBCdWlsZCBnb25lXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgYWRkb25zSWRzPzogQWRkT25zRGV0YWlsc1tdOyAvLyBwcmV2aW91bGx5IHRoZXkgc2hvdyBvbmx5IGFkZG9uc0lkXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY3V0bGVyeUlkcz86IEN1dGxlcnlEZXRhaWxzW107IC8vIEFkZGVkIE5ldyAyNC0xMS0yMDI1XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZ3Vlc3RDb3VudHM/OiBHdWVzdENvdW50OyAvLyBwcmV2aW91bGx5IHRoZXkgc2hvdyBvbmx5IGd1ZXN0Q291bnQgYXMgYSBudW1iZXJcbiAgICBAYXR0cmlidXRlKClcbiAgICBzZWxlY3RlZFNlcnZpY2VUeXBlPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGV2ZW50RGF0ZT86IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBldmVudFRpbWU/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWluUHJpY2U/OiBudW1iZXI7IC8vIFJlbW92ZSBBZnRlciBUaGlzIEJ1aWxkIGdvbmVcbiAgICBAYXR0cmlidXRlKClcbiAgICBtYXhQcmljZT86IG51bWJlcjsgLy8gUmVtb3ZlIEFmdGVyIFRoaXMgQnVpbGQgZ29uZVxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGRvb3JTdGVwU2VydmljZTogc3RyaW5nOyAvLyBSZW1vdmUgQWZ0ZXIgVGhpcyBCdWlsZCBnb25lXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZGVsaXZlcnlTZXJ2aWNlOiBzdHJpbmc7IC8vIFNUQU5EQVJELCBET09SU1RFUCwgUFJFTUlVTVxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHNldFByZWZlcmVuY2VzPzogU2V0UHJlZmVyZW5jZXNbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICBjcmVhdGVPd24/OiBib29sZWFuO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1lbnVUeXBlPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1lYWxUaW1lPzogc3RyaW5nOyAvLyBcIkJSRUFLRkFTVFwiLCBcIkxVTkNIXCIsIFwiRElOTkVSXCJcbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVyU3ViVHlwZT86IHN0cmluZzsgLy8gXCJESVNDT1VOVEVEXCIsIFwiUkVHVUxBUlwiLCBcIkNSRUFURV9PV05cIlxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBsYXR0ZXJNaW5QcmljZT86IG51bWJlcjsgLy8gTmV3IEFkZGVkIDEwLTA5LTIwMjVcbiAgICBAYXR0cmlidXRlKClcbiAgICBhZGRvbnNBY2NvbXBhbmltZW50c0Nvc3Q/OiBudW1iZXI7IC8vIE5ldyBBZGRlZCAxMC0wOS0yMDI1XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZXh0cmFRdHlDb3N0PzogbnVtYmVyOyAvLyBOZXcgQWRkZWQgMTAtMDktMjAyNVxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHByZW1pdW1JdGVtc0Nvc3Q/OiBudW1iZXI7IC8vIE5ldyBBZGRlZCAxMC0wOS0yMDI1XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY3V0bGVyeUNvc3Q/OiBudW1iZXI7IC8vIE5ldyBBZGRlZCAxMC0wOS0yMDI1XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgYmJxQ3JlZGVudGlhbD86IEJicUNyZWRlbnRpYWw7IC8vIE5ldyBBZGRlZCAxMS0xMi0yMDI1XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgYmJxR3VpZGVsaW5lcz86IGJvb2xlYW47IC8vIE5ldyBBZGRlZCAyMi0xMi0yMDI1XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXNGTVBDcmVhdGVkPzogYm9vbGVhbjsgLy8gTmV3IEFkZGVkIDA2LTAzLTIwMjZcblxuICAgIC8vIGNhdGVyaW5nIGF0dHJpYnV0ZXNcbiAgICBAYXR0cmlidXRlKClcbiAgICBoZWxwZXJDb3VudD86IG51bWJlcjtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGNhdGVyaW5nU2VydmljZVR5cGU/OiBzdHJpbmc7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBvY2Nhc3Npb25MaXN0Pzogc3RyaW5nW107XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBiYXNlSXRlbUNvdW50PzogbnVtYmVyO1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbGl2ZUNvdW50ZXJEZXRhaWxzPzogTGl2ZUNvdW50ZXJEZXRhaWxzW107XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBza2V3ZXJBZGRvbnM/OiBTa2V3ZXJBZGRvbnNbXTtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGlucHJvZ3Jlc3NQbGF0dGVyVmFsdWU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBTa2V3ZXJBZGRvbnMge1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXRlbUlkOiBzdHJpbmc7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBza2V3ZXJRdHk6IG51bWJlcjtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHNrZXdlclF0eVVuaXQ6IHN0cmluZztcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHByaWNlUGVyU2tld2VyOiBudW1iZXI7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBhY2NvbXBhbmltZW50cz86IEFjY29tcGFuaW1lbnRzRGV0YWlsc1tdO1xufVxuIl19
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2NhcnQvY2FydC1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1REFBMkU7QUFDM0UsaURBQTZDO0FBRzdDLE1BQWEsVUFBVTtDQU90QjtBQVBELGdDQU9DO0FBTEc7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2lEQUNVO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztvREFDYTtBQUV6QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7bURBQ2E7QUE2QjdCLE1BQWEsY0FBYztDQWExQjtBQWJELHdDQWFDO0FBWEc7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O29EQUNVO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztrREFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7a0RBQ1E7QUFFcEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3NEQUNZO0FBRXhCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsrREFDc0I7QUFFbEM7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzREQUNrQjtBQUdsQyxNQUFhLGFBQWE7Q0FTekI7QUFURCxzQ0FTQztBQVBHO0lBREMsSUFBQSx1QkFBUyxHQUFFOztxREFDWTtBQUV4QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7K0NBQ0s7QUFFakI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3FEQUNXO0FBRXZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztrREFDUTtBQUd4QixNQUFhLGtCQUFrQjtDQVc5QjtBQVhELGdEQVdDO0FBVEc7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3lEQUNVO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsyREFDWTtBQUV4QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7MkRBQ1k7QUFFeEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzZEQUNjO0FBRTFCO0lBREMsSUFBQSx1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Q0FDUztBQUVyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs4QkFDSSxhQUFhO2dEQUFDO0FBRTlCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztnREFDWTtBQUV4QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7K0NBQ1c7QUFJdkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzhDQUNTO0FBR3JCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztzREFDaUI7QUFHN0I7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2dEQUNhO0FBR3pCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztnREFDVztBQUd2QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQzhCO0FBRzFDO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsrQ0FDa0I7QUFHOUI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3lEQUNvQjtBQUdoQztJQURDLElBQUEsdUJBQVMsR0FBRTs4QkFDRSxjQUFjOytDQUFDO0FBRzdCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsyQ0FDTTtvQkF4R1QsU0FBUztJQURyQixJQUFBLG1CQUFLLEVBQUMsV0FBVyxDQUFDO0dBQ04sU0FBUyxDQXlHckI7QUFFRCxNQUFhLGNBQWM7Q0FHMUI7QUFIRCx3Q0FHQztBQURHO0lBREMsSUFBQSx1QkFBUyxHQUFFOzswREFDZ0I7QUFHaEMsTUFBYSxZQUFZO0NBZ0J4QjtBQWhCRCxvQ0FnQkM7QUFiRztJQURDLElBQUEsdUJBQVMsR0FBRTs7NENBQ0c7QUFHZjtJQURDLElBQUEsdUJBQVMsR0FBRTs7K0NBQ007QUFHbEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O21EQUNVO0FBR3RCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztvREFDVztBQUd2QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7b0RBQzZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXR0cmlidXRlLCBoYXNoS2V5LCByYW5nZUtleSwgdGFibGUgfSBmcm9tIFwiQG5vdmEtb2RtL2Fubm90YXRpb25zXCJcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XG5cblxuZXhwb3J0IGNsYXNzIEd1ZXN0Q291bnQge1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHZlZ0d1ZXN0Q291bnQ6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBub25WZWdHdWVzdENvdW50OiBudW1iZXI7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgdG90YWxHdWVzdENvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZE9uc0RldGFpbHMge1xuICAgIGFkZE9uc0lkOiBzdHJpbmc7XG4gICAgYWRkT25zUXR5OiBudW1iZXI7XG4gICAgYWRkT25zUXR5VW5pdDogc3RyaW5nO1xuICAgIGlzQm9uZWxlc3NJdGVtPzogYm9vbGVhbjsgLy8gVjJcbiAgICBib25lSXRlbVByaWNlPzogbnVtYmVyOyAvLyBWMlxuICAgIGFjY29tcGFuaW1lbnRzPzogQWNjb21wYW5pbWVudHNEZXRhaWxzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjb21wYW5pbWVudHNEZXRhaWxzIHtcbiAgICBhY2NvbXBhbmltZW50SWQ6IHN0cmluZztcbiAgICBhY2NvbXBhbmltZW50UXR5OiBudW1iZXI7XG4gICAgYWNjb21wYW5pbWVudFF0eVVuaXQ6IHN0cmluZztcbiAgICBpc0ZyZWU/OiBib29sZWFuOyAvLyBBZGRlZCBOZXcgMTEtMTEtMjAyNVxuICAgIGlzQm9uZWxlc3NJdGVtPzogYm9vbGVhbjsgLy8gQWRkZWQgTmV3IDExLTExLTIwMjVcbiAgICBib25lSXRlbVByaWNlPzogbnVtYmVyOyAvLyBBZGRlZCBOZXcgMTEtMTEtMjAyNVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1dGxlcnlEZXRhaWxzIHtcbiAgICBjdXRsZXJ5SWQ6IHN0cmluZzsgLy8gQWRkZWQgTmV3IDI0LTExLTIwMjVcbiAgICBjdXRsZXJ5UXR5OiBudW1iZXI7IC8vIEFkZGVkIE5ldyAyNC0xMS0yMDI1XG4gICAgaXNTZXJ2aW5nPzogYm9vbGVhbjsgLy8gQWRkZWQgTmV3IDI0LTExLTIwMjUgLy8gdHJ1ZSB8IGZhbHNlXG59XG5cblxuXG5leHBvcnQgY2xhc3MgU2V0UHJlZmVyZW5jZXMge1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHB1cmVWZWdHdWVzdD86IG51bWJlcjsgLy8gSW4gRnV0dXJlIHRoZXkgc2hvdWxkIGJlIHJlbW92ZWQuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgc3BpY3lMZXZlbD86IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICB0ZWxsVXNNb3JlPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGNvbnN1bWVBbGNvaG9sPzogc3RyaW5nOyAvLyBJbiBGdXR1cmUgdGhleSBzaG91bGQgYmUgcmVtb3ZlZC5cbiAgICBAYXR0cmlidXRlKClcbiAgICBpc05vT25pb25HYXJsaWNTZWxlY3RlZD86IGJvb2xlYW47IC8vIE5ldyBBZGRlZCAxNS0wNy0yMDI2XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgYWx0ZXJuYXRlUGhvbmVOdW1iZXI/OiBzdHJpbmc7IC8vIE5ldyBBZGRlZCAxNS0wNy0yMDI2XG59XG5cbmV4cG9ydCBjbGFzcyBCYnFDcmVkZW50aWFsIHtcbiAgICBAYXR0cmlidXRlKClcbiAgICBpc1BhcnRpYWxHcmlsbDogYm9vbGVhbjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBmcmVlS2l0czogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGNoYXJnZWFibGVLaXRzOiBudW1iZXI7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcHJpY2VQZXJLaXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIExpdmVDb3VudGVyRGV0YWlscyB7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbGl2ZUNvdW50ZXJJZDogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGxpdmVDb3VudGVyTmFtZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGxpdmVDb3VudGVyVHlwZTogc3RyaW5nOyAvLyBDSEFBVF9DT1VOVEVSXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaW5jbHVkZWRCYXRjaFNpemU6IG51bWJlcjsgLy8gMiw0LDZcbiAgICBAYXR0cmlidXRlKClcbiAgICBpdGVtTGlzdDogSXRlbUxpc3RbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEl0ZW1MaXN0IHtcbiAgICBAYXR0cmlidXRlKClcbiAgICBpdGVtSWQ6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBpdGVtTmFtZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGl0ZW1RdWFudGl0eTogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGl0ZW1RdWFudGl0eVVuaXQ6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBpdGVtVHlwZTogc3RyaW5nOyAvLyBWRUcsIE5PTlZFR1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGlzRnJlZTogYm9vbGVhbjtcbn1cblxuQHRhYmxlKFwiQ2FydFRhYmxlXCIpXG5leHBvcnQgY2xhc3MgQ2FydE1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgICBAaGFzaEtleSh7IHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgQHJhbmdlS2V5KHsgdHlwZTogJ1N0cmluZycgfSlcbiAgICBjYXJ0SWQ6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVyVHlwZT86IHN0cmluZztcbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBcImNhcnRTdGF0dXNJbmRleFwiOiBcIkhBU0hcIiB9LCB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIGNhcnRTdGF0dXM6IHN0cmluZzsgLy8gQUNUSVZFLCBJTkFDVElWRSwgSU5EUkFGVFxuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwiY2FydFN0YWdlSW5kZXhcIjogXCJIQVNIXCIgfSwgdHlwZTogJ1N0cmluZycgfSlcbiAgICBjYXJ0U3RhZ2U6IHN0cmluZzsgLy8gREVUQUlMU19OT1RfRklMTEVELCBDT01QTEVURUQsIElURU1fTk9UX0ZJTExFRCwgTUlTU1RJTkdfREFURV9USU1FXG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwaG9uZU51bWJlckluZGV4XCI6IFwiSEFTSFwiIH0sIHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBvY2Nhc2lvbklkPzogc3RyaW5nOyAvLyBUaGluayBBZ2FpblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGNhcnROYW1lOiBzdHJpbmc7IC8vIGJ5IGRlZmF1bHQgQ3VzdG9tIFBsYXR0ZXIgb3IgQ2hvaWNlIG9mIFVzZXJzIGJhc2VkIG9uIHRoZWlyIGNoYW5nZXNcbiAgICBAYXR0cmlidXRlKClcbiAgICBjYXJ0SW1hZ2U/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZGVmYXVsdFBsYXR0ZXJJZD86IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBjYXJ0Q2F0ZWdvcmllc0lkPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGFkZHJlc3NJZD86IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBhZGRvbnNJZD86IHN0cmluZ1tdOyAvLyBSZW1vdmUgQWZ0ZXIgVGhpcyBCdWlsZCBnb25lXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY291cG9uQ29kZT86IHN0cmluZzsgLy8gUmVtb3ZlIEFmdGVyIFRoaXMgQnVpbGQgZ29uZVxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGd1ZXN0Q291bnQ/OiBudW1iZXI7IC8vIFJlbW92ZSBBZnRlciBUaGlzIEJ1aWxkIGdvbmVcbiAgICBAYXR0cmlidXRlKClcbiAgICBhZGRvbnNJZHM/OiBBZGRPbnNEZXRhaWxzW107IC8vIHByZXZpb3VsbHkgdGhleSBzaG93IG9ubHkgYWRkb25zSWRcbiAgICBAYXR0cmlidXRlKClcbiAgICBjdXRsZXJ5SWRzPzogQ3V0bGVyeURldGFpbHNbXTsgLy8gQWRkZWQgTmV3IDI0LTExLTIwMjVcbiAgICBAYXR0cmlidXRlKClcbiAgICBndWVzdENvdW50cz86IEd1ZXN0Q291bnQ7IC8vIHByZXZpb3VsbHkgdGhleSBzaG93IG9ubHkgZ3Vlc3RDb3VudCBhcyBhIG51bWJlclxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHNlbGVjdGVkU2VydmljZVR5cGU/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZXZlbnREYXRlPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGV2ZW50VGltZT86IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBtaW5QcmljZT86IG51bWJlcjsgLy8gUmVtb3ZlIEFmdGVyIFRoaXMgQnVpbGQgZ29uZVxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1heFByaWNlPzogbnVtYmVyOyAvLyBSZW1vdmUgQWZ0ZXIgVGhpcyBCdWlsZCBnb25lXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZG9vclN0ZXBTZXJ2aWNlOiBzdHJpbmc7IC8vIFJlbW92ZSBBZnRlciBUaGlzIEJ1aWxkIGdvbmVcbiAgICBAYXR0cmlidXRlKClcbiAgICBkZWxpdmVyeVNlcnZpY2U6IHN0cmluZzsgLy8gU1RBTkRBUkQsIERPT1JTVEVQLCBQUkVNSVVNXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgc2V0UHJlZmVyZW5jZXM/OiBTZXRQcmVmZXJlbmNlc1tdO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGNyZWF0ZU93bj86IGJvb2xlYW47XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWVudVR5cGU/OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWVhbFRpbWU/OiBzdHJpbmc7IC8vIFwiQlJFQUtGQVNUXCIsIFwiTFVOQ0hcIiwgXCJESU5ORVJcIlxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBsYXR0ZXJTdWJUeXBlPzogc3RyaW5nOyAvLyBcIkRJU0NPVU5URURcIiwgXCJSRUdVTEFSXCIsIFwiQ1JFQVRFX09XTlwiXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcGxhdHRlck1pblByaWNlPzogbnVtYmVyOyAvLyBOZXcgQWRkZWQgMTAtMDktMjAyNVxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGFkZG9uc0FjY29tcGFuaW1lbnRzQ29zdD86IG51bWJlcjsgLy8gTmV3IEFkZGVkIDEwLTA5LTIwMjVcbiAgICBAYXR0cmlidXRlKClcbiAgICBleHRyYVF0eUNvc3Q/OiBudW1iZXI7IC8vIE5ldyBBZGRlZCAxMC0wOS0yMDI1XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcHJlbWl1bUl0ZW1zQ29zdD86IG51bWJlcjsgLy8gTmV3IEFkZGVkIDEwLTA5LTIwMjVcbiAgICBAYXR0cmlidXRlKClcbiAgICBjdXRsZXJ5Q29zdD86IG51bWJlcjsgLy8gTmV3IEFkZGVkIDEwLTA5LTIwMjVcbiAgICBAYXR0cmlidXRlKClcbiAgICBiYnFDcmVkZW50aWFsPzogQmJxQ3JlZGVudGlhbDsgLy8gTmV3IEFkZGVkIDExLTEyLTIwMjVcbiAgICBAYXR0cmlidXRlKClcbiAgICBiYnFHdWlkZWxpbmVzPzogYm9vbGVhbjsgLy8gTmV3IEFkZGVkIDIyLTEyLTIwMjVcbiAgICBAYXR0cmlidXRlKClcbiAgICBpc0ZNUENyZWF0ZWQ/OiBib29sZWFuOyAvLyBOZXcgQWRkZWQgMDYtMDMtMjAyNlxuXG4gICAgLy8gY2F0ZXJpbmcgYXR0cmlidXRlc1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGhlbHBlckNvdW50PzogbnVtYmVyO1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY2F0ZXJpbmdTZXJ2aWNlVHlwZT86IHN0cmluZztcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG9jY2Fzc2lvbkxpc3Q/OiBzdHJpbmdbXTtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGJhc2VJdGVtQ291bnQ/OiBudW1iZXI7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBsaXZlQ291bnRlckRldGFpbHM/OiBMaXZlQ291bnRlckRldGFpbHNbXTtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHNrZXdlckFkZG9ucz86IFNrZXdlckFkZG9uc1tdO1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaW5wcm9ncmVzc1BsYXR0ZXJWYWx1ZT86IG51bWJlcjtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGRlZmF1bHRWYWx1ZTogSXNEZWZhdWx0VmFsdWU7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBidW5kbGVJZD86IHN0cmluZzsgLy8gTmV3IEFkZGVkIDE1LTA3LTIwMjZcbn1cblxuZXhwb3J0IGNsYXNzIElzRGVmYXVsdFZhbHVlIHtcbiAgICBAYXR0cmlidXRlKClcbiAgICBpc2RlZmF1bHRFdmVudFRpbWU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBTa2V3ZXJBZGRvbnMge1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaXRlbUlkOiBzdHJpbmc7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBza2V3ZXJRdHk6IG51bWJlcjtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHNrZXdlclF0eVVuaXQ6IHN0cmluZztcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHByaWNlUGVyU2tld2VyOiBudW1iZXI7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBhY2NvbXBhbmltZW50cz86IEFjY29tcGFuaW1lbnRzRGV0YWlsc1tdO1xufVxuIl19
@@ -0,0 +1,43 @@
1
+ import { GenericDynamooseDAO } from "../../base-dynamoose-dao";
2
+ import { AuthContext } from "../../base-dynamoose-model";
3
+ import { CatalogueItem, CatalogueItemStatus, CreateCatalogueItemInput } from "./catalogue-items-model";
4
+ type ListResult = {
5
+ items: CatalogueItem[];
6
+ nextToken?: string;
7
+ };
8
+ export declare class DuplicateMenuItemIdError extends Error {
9
+ constructor(menuItemId: string);
10
+ }
11
+ declare class CatalogueItemsDao extends GenericDynamooseDAO<CatalogueItem> {
12
+ constructor();
13
+ /**
14
+ * Creates one catalogue item. `menuItemId` is the primary key and must be unique.
15
+ */
16
+ save: (item: CreateCatalogueItemInput, authContext?: AuthContext) => Promise<CatalogueItem>;
17
+ /**
18
+ * Updates by primary key (`menuItemId`). Primary key cannot be changed.
19
+ */
20
+ update: (menuItemId: string, updates: Partial<CatalogueItem>, authContext?: AuthContext) => Promise<CatalogueItem>;
21
+ /** Get by menu item id (table primary key; globally unique). */
22
+ getByMenuItemId: (menuItemId: string) => Promise<CatalogueItem | null>;
23
+ /**
24
+ * Query by catalogue id (GSI `catalogueIdIndex`).
25
+ */
26
+ listByCatalogueId: (catalogueId: string, limit?: number, token?: string) => Promise<ListResult>;
27
+ /**
28
+ * Query by catalogue item id (GSI `catalogueItemIdIndex`).
29
+ */
30
+ listByCatalogueItemId: (catalogueItemId: string, limit?: number, token?: string) => Promise<ListResult>;
31
+ /** First match by catalogue item id (GSI). */
32
+ getByCatalogueItemId: (catalogueItemId: string) => Promise<CatalogueItem | null>;
33
+ /**
34
+ * Query by status only (GSI `statusIndex`).
35
+ */
36
+ listByStatus: (status: CatalogueItemStatus, limit?: number, token?: string) => Promise<ListResult>;
37
+ /**
38
+ * Get by menu item id and verify status (primary key lookup).
39
+ */
40
+ getByMenuItemIdAndStatus: (menuItemId: string, status: CatalogueItemStatus) => Promise<CatalogueItem | null>;
41
+ }
42
+ export declare const catalogueItemsDao: CatalogueItemsDao;
43
+ export {};
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.catalogueItemsDao = exports.DuplicateMenuItemIdError = void 0;
7
+ const dynamoose_1 = __importDefault(require("dynamoose"));
8
+ const base_dynamoose_dao_1 = require("../../base-dynamoose-dao");
9
+ const catalogue_items_model_1 = require("./catalogue-items-model");
10
+ class DuplicateMenuItemIdError extends Error {
11
+ constructor(menuItemId) {
12
+ super(`menuItemId already exists: ${menuItemId}`);
13
+ this.name = "DuplicateMenuItemIdError";
14
+ }
15
+ }
16
+ exports.DuplicateMenuItemIdError = DuplicateMenuItemIdError;
17
+ const isConditionalCheckFailed = (error) => {
18
+ if (!error || typeof error !== "object") {
19
+ return false;
20
+ }
21
+ const err = error;
22
+ return (err.name === "ConditionalCheckFailedException" ||
23
+ err.code === "ConditionalCheckFailedException" ||
24
+ err.__type === "com.amazonaws.dynamodb.v20120810#ConditionalCheckFailedException");
25
+ };
26
+ class CatalogueItemsDao extends base_dynamoose_dao_1.GenericDynamooseDAO {
27
+ constructor() {
28
+ super(catalogue_items_model_1.CatalogueItemModel, "menuItemId");
29
+ /**
30
+ * Creates one catalogue item. `menuItemId` is the primary key and must be unique.
31
+ */
32
+ this.save = async (item, authContext) => {
33
+ try {
34
+ const created = await catalogue_items_model_1.CatalogueItemModel.create({
35
+ ...item,
36
+ created_time: new Date(),
37
+ created_user: authContext?.userSub
38
+ }, {
39
+ condition: new dynamoose_1.default.Condition().attribute("menuItemId").not().exists()
40
+ });
41
+ return created;
42
+ }
43
+ catch (error) {
44
+ if (isConditionalCheckFailed(error)) {
45
+ throw new DuplicateMenuItemIdError(item.menuItemId);
46
+ }
47
+ throw error;
48
+ }
49
+ };
50
+ /**
51
+ * Updates by primary key (`menuItemId`). Primary key cannot be changed.
52
+ */
53
+ this.update = async (menuItemId, updates, authContext) => {
54
+ if (updates.menuItemId && updates.menuItemId !== menuItemId) {
55
+ throw new Error("menuItemId cannot be changed after create");
56
+ }
57
+ const { menuItemId: _ignored, ...mutableUpdates } = updates;
58
+ const updated = await catalogue_items_model_1.CatalogueItemModel.update({ menuItemId }, {
59
+ ...mutableUpdates,
60
+ updated_time: new Date(),
61
+ updated_user: authContext?.userSub
62
+ }, {
63
+ condition: new dynamoose_1.default.Condition().attribute("menuItemId").exists()
64
+ });
65
+ return updated;
66
+ };
67
+ /** Get by menu item id (table primary key; globally unique). */
68
+ this.getByMenuItemId = async (menuItemId) => this.get(menuItemId);
69
+ /**
70
+ * Query by catalogue id (GSI `catalogueIdIndex`).
71
+ */
72
+ this.listByCatalogueId = async (catalogueId, limit, token) => {
73
+ const decodedToken = this.decode(token);
74
+ let queryBuilder = catalogue_items_model_1.CatalogueItemModel.query("catalogueId").eq(catalogueId).using("catalogueIdIndex");
75
+ if (decodedToken) {
76
+ queryBuilder = queryBuilder.startAt(decodedToken);
77
+ }
78
+ if (typeof limit === "number") {
79
+ queryBuilder = queryBuilder.limit(limit);
80
+ }
81
+ const queryResult = await queryBuilder.exec();
82
+ return {
83
+ items: queryResult,
84
+ nextToken: await this.encode(queryResult.lastKey)
85
+ };
86
+ };
87
+ /**
88
+ * Query by catalogue item id (GSI `catalogueItemIdIndex`).
89
+ */
90
+ this.listByCatalogueItemId = async (catalogueItemId, limit, token) => {
91
+ const decodedToken = this.decode(token);
92
+ let queryBuilder = catalogue_items_model_1.CatalogueItemModel.query("catalogueItemId")
93
+ .eq(catalogueItemId)
94
+ .using("catalogueItemIdIndex");
95
+ if (decodedToken) {
96
+ queryBuilder = queryBuilder.startAt(decodedToken);
97
+ }
98
+ if (typeof limit === "number") {
99
+ queryBuilder = queryBuilder.limit(limit);
100
+ }
101
+ const queryResult = await queryBuilder.exec();
102
+ return {
103
+ items: queryResult,
104
+ nextToken: await this.encode(queryResult.lastKey)
105
+ };
106
+ };
107
+ /** First match by catalogue item id (GSI). */
108
+ this.getByCatalogueItemId = async (catalogueItemId) => {
109
+ const result = await this.listByCatalogueItemId(catalogueItemId, 1);
110
+ return result.items[0] ?? null;
111
+ };
112
+ /**
113
+ * Query by status only (GSI `statusIndex`).
114
+ */
115
+ this.listByStatus = async (status, limit, token) => {
116
+ const decodedToken = this.decode(token);
117
+ let queryBuilder = catalogue_items_model_1.CatalogueItemModel.query("status").eq(status).using("statusIndex");
118
+ if (decodedToken) {
119
+ queryBuilder = queryBuilder.startAt(decodedToken);
120
+ }
121
+ if (typeof limit === "number") {
122
+ queryBuilder = queryBuilder.limit(limit);
123
+ }
124
+ const queryResult = await queryBuilder.exec();
125
+ return {
126
+ items: queryResult,
127
+ nextToken: await this.encode(queryResult.lastKey)
128
+ };
129
+ };
130
+ /**
131
+ * Get by menu item id and verify status (primary key lookup).
132
+ */
133
+ this.getByMenuItemIdAndStatus = async (menuItemId, status) => {
134
+ const item = await this.getByMenuItemId(menuItemId);
135
+ if (!item || item.status !== status) {
136
+ return null;
137
+ }
138
+ return item;
139
+ };
140
+ }
141
+ }
142
+ exports.catalogueItemsDao = new CatalogueItemsDao();
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZ3VlLWl0ZW1zLWRhby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2NhdGFsb2d1ZS9jYXRhbG9ndWUtaXRlbXMtZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUFrQztBQUNsQyxpRUFBMEU7QUFFMUUsbUVBS2lDO0FBT2pDLE1BQWEsd0JBQXlCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQWtCO1FBQzFCLEtBQUssQ0FBQyw4QkFBOEIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLDBCQUEwQixDQUFDO0lBQzNDLENBQUM7Q0FDSjtBQUxELDREQUtDO0FBRUQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQWMsRUFBVyxFQUFFO0lBQ3pELElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sR0FBRyxHQUFHLEtBQTBELENBQUM7SUFDdkUsT0FBTyxDQUNILEdBQUcsQ0FBQyxJQUFJLEtBQUssaUNBQWlDO1FBQzlDLEdBQUcsQ0FBQyxJQUFJLEtBQUssaUNBQWlDO1FBQzlDLEdBQUcsQ0FBQyxNQUFNLEtBQUssa0VBQWtFLENBQ3BGLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFrQixTQUFRLHdDQUFrQztJQUM5RDtRQUNJLEtBQUssQ0FBQywwQ0FBa0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUc1Qzs7V0FFRztRQUNILFNBQUksR0FBRyxLQUFLLEVBQUUsSUFBOEIsRUFBRSxXQUF5QixFQUEwQixFQUFFO1lBQy9GLElBQUksQ0FBQztnQkFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLDBDQUFrQixDQUFDLE1BQU0sQ0FDM0M7b0JBQ0ksR0FBRyxJQUFJO29CQUNQLFlBQVksRUFBRSxJQUFJLElBQUks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LEVBQUUsQ0FBQztnQkFDZixZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQXlDO2dCQUNoRCxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFnQyxDQUFDO2FBQzdFLENBQUM7UUFDTixDQUFDLENBQUM7UUFFRjs7V0FFRztRQUNILDZCQUF3QixHQUFHLEtBQUssRUFDNUIsVUFBa0IsRUFDbEIsTUFBMkIsRUFDRSxFQUFFO1lBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7SUFySUYsQ0FBQztDQXNJSjtBQUVZLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGR5bmFtb29zZSBmcm9tIFwiZHluYW1vb3NlXCI7XG5pbXBvcnQgeyBEeW5hbW9LZXksIEdlbmVyaWNEeW5hbW9vc2VEQU8gfSBmcm9tIFwiLi4vLi4vYmFzZS1keW5hbW9vc2UtZGFvXCI7XG5pbXBvcnQgeyBBdXRoQ29udGV4dCB9IGZyb20gXCIuLi8uLi9iYXNlLWR5bmFtb29zZS1tb2RlbFwiO1xuaW1wb3J0IHtcbiAgICBDYXRhbG9ndWVJdGVtLFxuICAgIENhdGFsb2d1ZUl0ZW1Nb2RlbCxcbiAgICBDYXRhbG9ndWVJdGVtU3RhdHVzLFxuICAgIENyZWF0ZUNhdGFsb2d1ZUl0ZW1JbnB1dFxufSBmcm9tIFwiLi9jYXRhbG9ndWUtaXRlbXMtbW9kZWxcIjtcblxudHlwZSBMaXN0UmVzdWx0ID0ge1xuICAgIGl0ZW1zOiBDYXRhbG9ndWVJdGVtW107XG4gICAgbmV4dFRva2VuPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNsYXNzIER1cGxpY2F0ZU1lbnVJdGVtSWRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihtZW51SXRlbUlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoYG1lbnVJdGVtSWQgYWxyZWFkeSBleGlzdHM6ICR7bWVudUl0ZW1JZH1gKTtcbiAgICAgICAgdGhpcy5uYW1lID0gXCJEdXBsaWNhdGVNZW51SXRlbUlkRXJyb3JcIjtcbiAgICB9XG59XG5cbmNvbnN0IGlzQ29uZGl0aW9uYWxDaGVja0ZhaWxlZCA9IChlcnJvcjogdW5rbm93bik6IGJvb2xlYW4gPT4ge1xuICAgIGlmICghZXJyb3IgfHwgdHlwZW9mIGVycm9yICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBlcnIgPSBlcnJvciBhcyB7IG5hbWU/OiBzdHJpbmc7IGNvZGU/OiBzdHJpbmc7IF9fdHlwZT86IHN0cmluZyB9O1xuICAgIHJldHVybiAoXG4gICAgICAgIGVyci5uYW1lID09PSBcIkNvbmRpdGlvbmFsQ2hlY2tGYWlsZWRFeGNlcHRpb25cIiB8fFxuICAgICAgICBlcnIuY29kZSA9PT0gXCJDb25kaXRpb25hbENoZWNrRmFpbGVkRXhjZXB0aW9uXCIgfHxcbiAgICAgICAgZXJyLl9fdHlwZSA9PT0gXCJjb20uYW1hem9uYXdzLmR5bmFtb2RiLnYyMDEyMDgxMCNDb25kaXRpb25hbENoZWNrRmFpbGVkRXhjZXB0aW9uXCJcbiAgICApO1xufTtcblxuY2xhc3MgQ2F0YWxvZ3VlSXRlbXNEYW8gZXh0ZW5kcyBHZW5lcmljRHluYW1vb3NlREFPPENhdGFsb2d1ZUl0ZW0+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoQ2F0YWxvZ3VlSXRlbU1vZGVsLCBcIm1lbnVJdGVtSWRcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBvbmUgY2F0YWxvZ3VlIGl0ZW0uIGBtZW51SXRlbUlkYCBpcyB0aGUgcHJpbWFyeSBrZXkgYW5kIG11c3QgYmUgdW5pcXVlLlxuICAgICAqL1xuICAgIHNhdmUgPSBhc3luYyAoaXRlbTogQ3JlYXRlQ2F0YWxvZ3VlSXRlbUlucHV0LCBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0KTogUHJvbWlzZTxDYXRhbG9ndWVJdGVtPiA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjcmVhdGVkID0gYXdhaXQgQ2F0YWxvZ3VlSXRlbU1vZGVsLmNyZWF0ZShcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRfdGltZTogbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlZF91c2VyOiBhdXRoQ29udGV4dD8udXNlclN1YlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb246IG5ldyBkeW5hbW9vc2UuQ29uZGl0aW9uKCkuYXR0cmlidXRlKFwibWVudUl0ZW1JZFwiKS5ub3QoKS5leGlzdHMoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlZCBhcyB1bmtub3duIGFzIENhdGFsb2d1ZUl0ZW07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBpZiAoaXNDb25kaXRpb25hbENoZWNrRmFpbGVkKGVycm9yKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBEdXBsaWNhdGVNZW51SXRlbUlkRXJyb3IoaXRlbS5tZW51SXRlbUlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgYnkgcHJpbWFyeSBrZXkgKGBtZW51SXRlbUlkYCkuIFByaW1hcnkga2V5IGNhbm5vdCBiZSBjaGFuZ2VkLlxuICAgICAqL1xuICAgIHVwZGF0ZSA9IGFzeW5jIChcbiAgICAgICAgbWVudUl0ZW1JZDogc3RyaW5nLFxuICAgICAgICB1cGRhdGVzOiBQYXJ0aWFsPENhdGFsb2d1ZUl0ZW0+LFxuICAgICAgICBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0XG4gICAgKTogUHJvbWlzZTxDYXRhbG9ndWVJdGVtPiA9PiB7XG4gICAgICAgIGlmICh1cGRhdGVzLm1lbnVJdGVtSWQgJiYgdXBkYXRlcy5tZW51SXRlbUlkICE9PSBtZW51SXRlbUlkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJtZW51SXRlbUlkIGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyIGNyZWF0ZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgbWVudUl0ZW1JZDogX2lnbm9yZWQsIC4uLm11dGFibGVVcGRhdGVzIH0gPSB1cGRhdGVzO1xuICAgICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgQ2F0YWxvZ3VlSXRlbU1vZGVsLnVwZGF0ZShcbiAgICAgICAgICAgIHsgbWVudUl0ZW1JZCB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLm11dGFibGVVcGRhdGVzLFxuICAgICAgICAgICAgICAgIHVwZGF0ZWRfdGltZTogbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICB1cGRhdGVkX3VzZXI6IGF1dGhDb250ZXh0Py51c2VyU3ViXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogbmV3IGR5bmFtb29zZS5Db25kaXRpb24oKS5hdHRyaWJ1dGUoXCJtZW51SXRlbUlkXCIpLmV4aXN0cygpXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1cGRhdGVkIGFzIHVua25vd24gYXMgQ2F0YWxvZ3VlSXRlbTtcbiAgICB9O1xuXG4gICAgLyoqIEdldCBieSBtZW51IGl0ZW0gaWQgKHRhYmxlIHByaW1hcnkga2V5OyBnbG9iYWxseSB1bmlxdWUpLiAqL1xuICAgIGdldEJ5TWVudUl0ZW1JZCA9IGFzeW5jIChtZW51SXRlbUlkOiBzdHJpbmcpOiBQcm9taXNlPENhdGFsb2d1ZUl0ZW0gfCBudWxsPiA9PiB0aGlzLmdldChtZW51SXRlbUlkKTtcblxuICAgIC8qKlxuICAgICAqIFF1ZXJ5IGJ5IGNhdGFsb2d1ZSBpZCAoR1NJIGBjYXRhbG9ndWVJZEluZGV4YCkuXG4gICAgICovXG4gICAgbGlzdEJ5Q2F0YWxvZ3VlSWQgPSBhc3luYyAoY2F0YWxvZ3VlSWQ6IHN0cmluZywgbGltaXQ/OiBudW1iZXIsIHRva2VuPzogc3RyaW5nKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IENhdGFsb2d1ZUl0ZW1Nb2RlbC5xdWVyeShcImNhdGFsb2d1ZUlkXCIpLmVxKGNhdGFsb2d1ZUlkKS51c2luZyhcImNhdGFsb2d1ZUlkSW5kZXhcIik7XG4gICAgICAgIGlmIChkZWNvZGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5zdGFydEF0KGRlY29kZWRUb2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtczogcXVlcnlSZXN1bHQgYXMgdW5rbm93biBhcyBDYXRhbG9ndWVJdGVtW10sXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBRdWVyeSBieSBjYXRhbG9ndWUgaXRlbSBpZCAoR1NJIGBjYXRhbG9ndWVJdGVtSWRJbmRleGApLlxuICAgICAqL1xuICAgIGxpc3RCeUNhdGFsb2d1ZUl0ZW1JZCA9IGFzeW5jIChjYXRhbG9ndWVJdGVtSWQ6IHN0cmluZywgbGltaXQ/OiBudW1iZXIsIHRva2VuPzogc3RyaW5nKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IENhdGFsb2d1ZUl0ZW1Nb2RlbC5xdWVyeShcImNhdGFsb2d1ZUl0ZW1JZFwiKVxuICAgICAgICAgICAgLmVxKGNhdGFsb2d1ZUl0ZW1JZClcbiAgICAgICAgICAgIC51c2luZyhcImNhdGFsb2d1ZUl0ZW1JZEluZGV4XCIpO1xuICAgICAgICBpZiAoZGVjb2RlZFRva2VuKSB7XG4gICAgICAgICAgICBxdWVyeUJ1aWxkZXIgPSBxdWVyeUJ1aWxkZXIuc3RhcnRBdChkZWNvZGVkVG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbGltaXQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5saW1pdChsaW1pdCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlcnlSZXN1bHQgPSBhd2FpdCBxdWVyeUJ1aWxkZXIuZXhlYygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXRlbXM6IHF1ZXJ5UmVzdWx0IGFzIHVua25vd24gYXMgQ2F0YWxvZ3VlSXRlbVtdLFxuICAgICAgICAgICAgbmV4dFRva2VuOiBhd2FpdCB0aGlzLmVuY29kZShxdWVyeVJlc3VsdC5sYXN0S2V5IGFzIER5bmFtb0tleSB8IHVuZGVmaW5lZClcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgLyoqIEZpcnN0IG1hdGNoIGJ5IGNhdGFsb2d1ZSBpdGVtIGlkIChHU0kpLiAqL1xuICAgIGdldEJ5Q2F0YWxvZ3VlSXRlbUlkID0gYXN5bmMgKGNhdGFsb2d1ZUl0ZW1JZDogc3RyaW5nKTogUHJvbWlzZTxDYXRhbG9ndWVJdGVtIHwgbnVsbD4gPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmxpc3RCeUNhdGFsb2d1ZUl0ZW1JZChjYXRhbG9ndWVJdGVtSWQsIDEpO1xuICAgICAgICByZXR1cm4gcmVzdWx0Lml0ZW1zWzBdID8/IG51bGw7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFF1ZXJ5IGJ5IHN0YXR1cyBvbmx5IChHU0kgYHN0YXR1c0luZGV4YCkuXG4gICAgICovXG4gICAgbGlzdEJ5U3RhdHVzID0gYXN5bmMgKHN0YXR1czogQ2F0YWxvZ3VlSXRlbVN0YXR1cywgbGltaXQ/OiBudW1iZXIsIHRva2VuPzogc3RyaW5nKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IENhdGFsb2d1ZUl0ZW1Nb2RlbC5xdWVyeShcInN0YXR1c1wiKS5lcShzdGF0dXMpLnVzaW5nKFwic3RhdHVzSW5kZXhcIik7XG4gICAgICAgIGlmIChkZWNvZGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5zdGFydEF0KGRlY29kZWRUb2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtczogcXVlcnlSZXN1bHQgYXMgdW5rbm93biBhcyBDYXRhbG9ndWVJdGVtW10sXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYnkgbWVudSBpdGVtIGlkIGFuZCB2ZXJpZnkgc3RhdHVzIChwcmltYXJ5IGtleSBsb29rdXApLlxuICAgICAqL1xuICAgIGdldEJ5TWVudUl0ZW1JZEFuZFN0YXR1cyA9IGFzeW5jIChcbiAgICAgICAgbWVudUl0ZW1JZDogc3RyaW5nLFxuICAgICAgICBzdGF0dXM6IENhdGFsb2d1ZUl0ZW1TdGF0dXNcbiAgICApOiBQcm9taXNlPENhdGFsb2d1ZUl0ZW0gfCBudWxsPiA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCB0aGlzLmdldEJ5TWVudUl0ZW1JZChtZW51SXRlbUlkKTtcbiAgICAgICAgaWYgKCFpdGVtIHx8IGl0ZW0uc3RhdHVzICE9PSBzdGF0dXMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBjYXRhbG9ndWVJdGVtc0RhbyA9IG5ldyBDYXRhbG9ndWVJdGVtc0RhbygpO1xuIl19
@@ -0,0 +1,18 @@
1
+ import { BaseDynamooseModel } from "../../base-dynamoose-model";
2
+ export declare const CATALOGUE_ITEM_STATUS: {
3
+ readonly ACTIVE: "ACTIVE";
4
+ readonly INACTIVE: "INACTIVE";
5
+ };
6
+ export type CatalogueItemStatus = (typeof CATALOGUE_ITEM_STATUS)[keyof typeof CATALOGUE_ITEM_STATUS];
7
+ export interface CatalogueItem extends BaseDynamooseModel {
8
+ catalogueId: string;
9
+ catalogueItemId: string;
10
+ menuItemId: string;
11
+ itemName: string;
12
+ status: CatalogueItemStatus;
13
+ }
14
+ export type CreateCatalogueItemInput = Omit<CatalogueItem, "catalogueItemId"> & {
15
+ catalogueItemId?: string;
16
+ };
17
+ export declare const CatalogueItemModel: import("dynamoose/dist/General").ModelType<CatalogueItem>;
18
+ export declare const convertToCatalogueItemModel: (input: CreateCatalogueItemInput | CatalogueItem) => CatalogueItem;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.convertToCatalogueItemModel = exports.CatalogueItemModel = exports.CATALOGUE_ITEM_STATUS = void 0;
7
+ const dynamoose_1 = __importDefault(require("dynamoose"));
8
+ const crypto_1 = require("crypto");
9
+ const base_dynamoose_model_1 = require("../../base-dynamoose-model");
10
+ const table_names_1 = require("../../config/table-names");
11
+ exports.CATALOGUE_ITEM_STATUS = {
12
+ ACTIVE: "ACTIVE",
13
+ INACTIVE: "INACTIVE"
14
+ };
15
+ const catalogueItemSchema = new dynamoose_1.default.Schema({
16
+ catalogueId: {
17
+ type: String,
18
+ hashKey: true,
19
+ required: true,
20
+ default: () => (0, crypto_1.randomUUID)()
21
+ },
22
+ catalogueItemId: {
23
+ type: String,
24
+ required: true,
25
+ index: {
26
+ name: "catalogueItemIdIndex",
27
+ type: "global"
28
+ }
29
+ },
30
+ menuItemId: {
31
+ type: String,
32
+ required: true,
33
+ index: [
34
+ {
35
+ name: "menuItemIdIndex",
36
+ type: "global"
37
+ },
38
+ {
39
+ name: "menuItemIdStatusIndex",
40
+ type: "global",
41
+ rangeKey: "status"
42
+ }
43
+ ]
44
+ },
45
+ itemName: {
46
+ type: String,
47
+ required: true
48
+ },
49
+ status: {
50
+ type: String,
51
+ required: true,
52
+ enum: [exports.CATALOGUE_ITEM_STATUS.ACTIVE, exports.CATALOGUE_ITEM_STATUS.INACTIVE],
53
+ index: {
54
+ name: "statusIndex",
55
+ type: "global"
56
+ }
57
+ },
58
+ catalogueCategoryId: {
59
+ type: String,
60
+ required: true,
61
+ },
62
+ ...base_dynamoose_model_1.BASE_DYNAMOOSE_AUDIT_SCHEMA
63
+ }, {
64
+ saveUnknown: false,
65
+ timestamps: true
66
+ });
67
+ exports.CatalogueItemModel = dynamoose_1.default.model(table_names_1.TABLE_NAMES.CATALOGUE_ITEMS, catalogueItemSchema, { create: false, waitForActive: false });
68
+ const convertToCatalogueItemModel = (input) => {
69
+ return new exports.CatalogueItemModel(input);
70
+ };
71
+ exports.convertToCatalogueItemModel = convertToCatalogueItemModel;
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZ3VlLWl0ZW1zLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWVyLXVzZXIvY2F0YWxvZ3VlL2NhdGFsb2d1ZS1pdGVtcy1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFDbEMsbUNBQW9DO0FBQ3BDLHFFQUE2RjtBQUM3RiwwREFBdUQ7QUFFMUMsUUFBQSxxQkFBcUIsR0FBRztJQUNqQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsVUFBVTtDQUNkLENBQUM7QUFnQlgsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLG1CQUFTLENBQUMsTUFBTSxDQUM1QztJQUNJLFdBQVcsRUFBRTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixRQUFRLEVBQUUsSUFBSTtRQUNkLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFBLG1CQUFVLEdBQUU7S0FDOUI7SUFDRCxlQUFlLEVBQUU7UUFDYixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLHNCQUFzQjtZQUM1QixJQUFJLEVBQUUsUUFBUTtTQUNqQjtLQUNKO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNIO2dCQUNJLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxRQUFRO2FBQ2pCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7YUFDckI7U0FDSjtLQUNKO0lBQ0QsUUFBUSxFQUFFO1FBQ04sSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELE1BQU0sRUFBRTtRQUNKLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsQ0FBQyw2QkFBcUIsQ0FBQyxNQUFNLEVBQUUsNkJBQXFCLENBQUMsUUFBUSxDQUFDO1FBQ3BFLEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxtQkFBbUIsRUFBRTtRQUNqQixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsR0FBRyxrREFBMkI7Q0FDakMsRUFDRDtJQUNJLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFVBQVUsRUFBRSxJQUFJO0NBQ25CLENBQ0osQ0FBQztBQUVXLFFBQUEsa0JBQWtCLEdBQUcsbUJBQVMsQ0FBQyxLQUFLLENBQzdDLHlCQUFXLENBQUMsZUFBZSxFQUMzQixtQkFBbUIsRUFDbkIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FDMUMsQ0FBQztBQUVLLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxLQUErQyxFQUFFLEVBQUU7SUFDM0YsT0FBTyxJQUFJLDBCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUZXLFFBQUEsMkJBQTJCLCtCQUV0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkeW5hbW9vc2UgZnJvbSBcImR5bmFtb29zZVwiO1xuaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IEJBU0VfRFlOQU1PT1NFX0FVRElUX1NDSEVNQSwgQmFzZUR5bmFtb29zZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZHluYW1vb3NlLW1vZGVsXCI7XG5pbXBvcnQgeyBUQUJMRV9OQU1FUyB9IGZyb20gXCIuLi8uLi9jb25maWcvdGFibGUtbmFtZXNcIjtcblxuZXhwb3J0IGNvbnN0IENBVEFMT0dVRV9JVEVNX1NUQVRVUyA9IHtcbiAgICBBQ1RJVkU6IFwiQUNUSVZFXCIsXG4gICAgSU5BQ1RJVkU6IFwiSU5BQ1RJVkVcIlxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ3VlSXRlbVN0YXR1cyA9ICh0eXBlb2YgQ0FUQUxPR1VFX0lURU1fU1RBVFVTKVtrZXlvZiB0eXBlb2YgQ0FUQUxPR1VFX0lURU1fU1RBVFVTXTtcblxuZXhwb3J0IGludGVyZmFjZSBDYXRhbG9ndWVJdGVtIGV4dGVuZHMgQmFzZUR5bmFtb29zZU1vZGVsIHtcbiAgICBjYXRhbG9ndWVJZDogc3RyaW5nO1xuICAgIGNhdGFsb2d1ZUl0ZW1JZDogc3RyaW5nO1xuICAgIG1lbnVJdGVtSWQ6IHN0cmluZztcbiAgICBpdGVtTmFtZTogc3RyaW5nO1xuICAgIHN0YXR1czogQ2F0YWxvZ3VlSXRlbVN0YXR1cztcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2F0YWxvZ3VlSXRlbUlucHV0ID0gT21pdDxDYXRhbG9ndWVJdGVtLCBcImNhdGFsb2d1ZUl0ZW1JZFwiPiAmIHtcbiAgICBjYXRhbG9ndWVJdGVtSWQ/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBjYXRhbG9ndWVJdGVtU2NoZW1hID0gbmV3IGR5bmFtb29zZS5TY2hlbWEoXG4gICAge1xuICAgICAgICBjYXRhbG9ndWVJZDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgaGFzaEtleTogdHJ1ZSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdDogKCkgPT4gcmFuZG9tVVVJRCgpXG4gICAgICAgIH0sXG4gICAgICAgIGNhdGFsb2d1ZUl0ZW1JZDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICBpbmRleDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiY2F0YWxvZ3VlSXRlbUlkSW5kZXhcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImdsb2JhbFwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1lbnVJdGVtSWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgaW5kZXg6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibWVudUl0ZW1JZEluZGV4XCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2xvYmFsXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJtZW51SXRlbUlkU3RhdHVzSW5kZXhcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIixcbiAgICAgICAgICAgICAgICAgICAgcmFuZ2VLZXk6IFwic3RhdHVzXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIGl0ZW1OYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBzdGF0dXM6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgZW51bTogW0NBVEFMT0dVRV9JVEVNX1NUQVRVUy5BQ1RJVkUsIENBVEFMT0dVRV9JVEVNX1NUQVRVUy5JTkFDVElWRV0sXG4gICAgICAgICAgICBpbmRleDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwic3RhdHVzSW5kZXhcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImdsb2JhbFwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNhdGFsb2d1ZUNhdGVnb3J5SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAuLi5CQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUFcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2F2ZVVua25vd246IGZhbHNlLFxuICAgICAgICB0aW1lc3RhbXBzOiB0cnVlXG4gICAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IENhdGFsb2d1ZUl0ZW1Nb2RlbCA9IGR5bmFtb29zZS5tb2RlbDxDYXRhbG9ndWVJdGVtPihcbiAgICBUQUJMRV9OQU1FUy5DQVRBTE9HVUVfSVRFTVMsXG4gICAgY2F0YWxvZ3VlSXRlbVNjaGVtYSxcbiAgICB7IGNyZWF0ZTogZmFsc2UsIHdhaXRGb3JBY3RpdmU6IGZhbHNlIH1cbik7XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VG9DYXRhbG9ndWVJdGVtTW9kZWwgPSAoaW5wdXQ6IENyZWF0ZUNhdGFsb2d1ZUl0ZW1JbnB1dCB8IENhdGFsb2d1ZUl0ZW0pID0+IHtcbiAgICByZXR1cm4gbmV3IENhdGFsb2d1ZUl0ZW1Nb2RlbChpbnB1dCk7XG59O1xuIl19
@@ -1,6 +1,35 @@
1
1
  import { GenericDAO } from "../../base-dao";
2
2
  import { CategoryModel } from "./category-model";
3
3
  declare class CategoryDAO extends GenericDAO<CategoryModel> {
4
+ /**
5
+ * Fetches one category by `categoryId` (table primary key).
6
+ *
7
+ * Use when: category detail screen or API already has `categoryId`.
8
+ *
9
+ * @example
10
+ * const category = await categoryTypesDAO.getById("category-uuid");
11
+ */
12
+ getById: (categoryId: string) => Promise<CategoryModel>;
13
+ /**
14
+ * Returns all active categories using GSI `categoryActiveIndex`.
15
+ *
16
+ * Use when: customer-facing category list, dropdowns, or menu filters.
17
+ * Only records with `categoryActive === "ACTIVE"` are returned.
18
+ *
19
+ * @example
20
+ * const activeCategories = await categoryTypesDAO.getAllActiveCategories();
21
+ */
22
+ getAllActiveCategories: () => Promise<CategoryModel[]>;
23
+ /**
24
+ * Returns active categories where `isFilterApplied === true`.
25
+ *
26
+ * Use when: filter chips / menu filters that should only show categories
27
+ * explicitly marked for filtering in admin.
28
+ *
29
+ * @example
30
+ * const filterCategories = await categoryTypesDAO.getActiveFilterCategories();
31
+ */
32
+ getActiveFilterCategories: () => Promise<CategoryModel[]>;
4
33
  }
5
34
  export declare const categoryTypesDAO: CategoryDAO;
6
35
  export {};