cmp-aws-database 2.1.2-proddebug.1 → 2.1.3
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/config/table-names.d.ts +2 -0
- package/dist/config/table-names.js +3 -1
- package/dist/customer-user/catalogue/catalogue-items-dao.d.ts +43 -0
- package/dist/customer-user/catalogue/catalogue-items-dao.js +143 -0
- package/dist/customer-user/catalogue/catalogue-items-model.d.ts +18 -0
- package/dist/customer-user/catalogue/catalogue-items-model.js +61 -0
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@ export declare const BASE_TABLE_NAMES: {
|
|
|
19
19
|
readonly PLATTER_FIT: "PlatterFitTable";
|
|
20
20
|
readonly INFLUENCER_PROMO: "InfluencerPromoTable";
|
|
21
21
|
readonly INFLUENCER_REFERRAL: "InfluencerReferralTable";
|
|
22
|
+
readonly CATALOGUE_ITEMS: "CatalogueItemsTable";
|
|
22
23
|
readonly ORDER: "OrderTable";
|
|
23
24
|
readonly ORDER_ADDRESS: "OrderAddressTable";
|
|
24
25
|
readonly ORDER_REVIEW: "OrderReviewTable";
|
|
@@ -77,6 +78,7 @@ export declare const TABLE_NAMES: {
|
|
|
77
78
|
readonly PLATTER_FIT: string;
|
|
78
79
|
readonly INFLUENCER_PROMO: string;
|
|
79
80
|
readonly INFLUENCER_REFERRAL: string;
|
|
81
|
+
readonly CATALOGUE_ITEMS: string;
|
|
80
82
|
readonly ORDER: string;
|
|
81
83
|
readonly ORDER_ADDRESS: string;
|
|
82
84
|
readonly ORDER_REVIEW: string;
|
|
@@ -25,6 +25,7 @@ exports.BASE_TABLE_NAMES = {
|
|
|
25
25
|
PLATTER_FIT: 'PlatterFitTable',
|
|
26
26
|
INFLUENCER_PROMO: 'InfluencerPromoTable',
|
|
27
27
|
INFLUENCER_REFERRAL: 'InfluencerReferralTable',
|
|
28
|
+
CATALOGUE_ITEMS: 'CatalogueItemsTable',
|
|
28
29
|
// Order Module Tables
|
|
29
30
|
ORDER: 'OrderTable',
|
|
30
31
|
ORDER_ADDRESS: 'OrderAddressTable',
|
|
@@ -98,6 +99,7 @@ exports.TABLE_NAMES = {
|
|
|
98
99
|
PLATTER_FIT: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.PLATTER_FIT),
|
|
99
100
|
INFLUENCER_PROMO: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.INFLUENCER_PROMO),
|
|
100
101
|
INFLUENCER_REFERRAL: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.INFLUENCER_REFERRAL),
|
|
102
|
+
CATALOGUE_ITEMS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.CATALOGUE_ITEMS),
|
|
101
103
|
// Order Module Tables
|
|
102
104
|
ORDER: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ORDER),
|
|
103
105
|
ORDER_ADDRESS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ORDER_ADDRESS),
|
|
@@ -134,4 +136,4 @@ exports.TABLE_NAMES = {
|
|
|
134
136
|
ACTIVITY_LOGS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ACTIVITY_LOGS),
|
|
135
137
|
QUOTATIONS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.QUOTATIONS),
|
|
136
138
|
};
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3RhYmxlLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFxRDtBQUVyRCxnREFBZ0Q7QUFDbkMsUUFBQSxnQkFBZ0IsR0FBRztJQUM1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixtQkFBbUIsRUFBRSx5QkFBeUI7SUFDOUMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7SUFDM0MsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxvQkFBb0IsRUFBRSx5QkFBeUI7SUFDL0MsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGVBQWUsRUFBRSxxQkFBcUI7SUFDdEMscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxnQkFBZ0IsRUFBRSxzQkFBc0I7SUFDeEMsb0JBQW9CLEVBQUUseUJBQXlCO0lBQy9DLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsZ0JBQWdCLEVBQUUsc0JBQXNCO0lBQ3hDLG1CQUFtQixFQUFFLHlCQUF5QjtJQUU5QyxzQkFBc0I7SUFDdEIsS0FBSyxFQUFFLFlBQVk7SUFDbkIsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsUUFBUSxFQUFFLGVBQWU7SUFDekIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLFdBQVcsRUFBRSxpQkFBaUI7SUFFOUIsd0JBQXdCO0lBQ3hCLE9BQU8sRUFBRSxh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QUMsd0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQzFELFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ2xFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsRixJQUFJLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLElBQUksQ0FBQztJQUMxRCxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUM5RCxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsa0JBQWtCLENBQUM7SUFDdEYsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxTQUFTLENBQUM7SUFFcEUsdUJBQXVCO0lBQ3ZCLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzVFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzVFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsVUFBVSxDQUFDO0NBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhYmFzZUZhY3RvcnkgfSBmcm9tICcuL2RhdGFiYXNlLWZhY3RvcnknO1xuXG4vLyBCYXNlIHRhYmxlIG5hbWVzICh3aXRob3V0IGVudmlyb25tZW50IHByZWZpeClcbmV4cG9ydCBjb25zdCBCQVNFX1RBQkxFX05BTUVTID0ge1xuICAgIC8vIEN1c3RvbWVyIEFwcCBUYWJsZXNcbiAgICBBUFBfRkVFREJBQ0s6ICdBcHBGZWVkYmFja1RhYmxlJyxcbiAgICBMU1FfQ1JNOiAnTHNxQ3JtVGFibGUnLFxuICAgIENVVExFUlk6ICdDdXRsZXJ5VGFibGUnLFxuICAgIElURU1fQUNDT01QQU5JTUVOVFM6ICdJdGVtQWNjb21wYW5pbWVudHNUYWJsZScsXG4gICAgQ1VJU0lORTogJ0N1aXNpbmVUYWJsZScsXG4gICAgVElFUl9ERVRBSUxTOiAnVGllckRldGFpbHNUYWJsZScsXG4gICAgVVNFUl9PUkRFUl9TVU1NQVJZOiAnVXNlck9yZGVyU3VtbWFyeVRhYmxlJyxcbiAgICBUSUVSX1JFRkVSUkFMOiAnVGllclJlZmVycmFsVGFibGUnLFxuICAgIFVTRVJfQUREUkVTU19SRVFVRVNUOiAnVXNlckFkZHJlc3NSZXF1ZXN0VGFibGUnLFxuICAgIENPTU1PTl9GRUVEQkFDSzogJ0NvbW1vbkZlZWRiYWNrVGFibGUnLFxuICAgIEdVRVNUX0ZFRURCQUNLOiAnR3Vlc3RGZWVkYmFja1RhYmxlJyxcbiAgICBDT1VOVEVSOiAnQ291bnRlclRhYmxlJyxcbiAgICBSRVFVRVNUX0lOVk9JQ0U6ICdSZXF1ZXN0SW52b2ljZVRhYmxlJyxcbiAgICBQTEFUVEVSX1NFQVJDSF9FVkVOVFM6ICdQbGF0dGVyU2VhcmNoRXZlbnRzVGFibGUnLFxuICAgIE9SREVSX1JFVklFV19GRUVEQkFDSzogJ09yZGVyUmV2aWV3RmVlZGJhY2tUYWJsZScsXG4gICAgQ0FURVJJTkdfUkVRVUVTVDogJ0NhdGVyaW5nUmVxdWVzdFRhYmxlJyxcbiAgICBGTVBfUkVRVUVTVF9DQUxMQkFDSzogJ0ZtcFJlcXVlc3RDYWxsYmFja1RhYmxlJyxcbiAgICBQTEFUVEVSX0ZJVDogJ1BsYXR0ZXJGaXRUYWJsZScsXG4gICAgSU5GTFVFTkNFUl9QUk9NTzogJ0luZmx1ZW5jZXJQcm9tb1RhYmxlJyxcbiAgICBJTkZMVUVOQ0VSX1JFRkVSUkFMOiAnSW5mbHVlbmNlclJlZmVycmFsVGFibGUnLFxuXG4gICAgLy8gT3JkZXIgTW9kdWxlIFRhYmxlc1xuICAgIE9SREVSOiAnT3JkZXJUYWJsZScsXG4gICAgT1JERVJfQUREUkVTUzogJ09yZGVyQWRkcmVzc1RhYmxlJyxcbiAgICBPUkRFUl9SRVZJRVc6ICdPcmRlclJldmlld1RhYmxlJyxcbiAgICBQQVlNRU5UOiAnUGF5bWVudFRhYmxlJyxcbiAgICBQTEFURV9PUkRFUjogJ1BsYXRlT3JkZXJUYWJsZScsXG4gICAgVFJBQ0tJTkc6ICdUcmFja2luZ1RhYmxlJyxcbiAgICBVU0VSX0FERFJFU1M6ICdVc2VyQWRkcmVzc1RhYmxlJyxcbiAgICBVU0VSX1NQRUNJRklDUzogJ1VzZXJTcGVjaWZpY3NUYWJsZScsXG4gICAgQkJRX1NLRVdFUlM6ICdCYnFTa2V3ZXJzVGFibGUnLFxuXG4gICAgLy8gT3RoZXIgQ3VzdG9tZXIgVGFibGVzXG4gICAgQUREX09OUzogJ0FkZE9uc1RhYmxlJyxcbiAgICBCQU5LX0RFVEFJTFM6ICdCYW5rRGV0YWlsc1RhYmxlJyxcbiAgICBDQVJUOiAnQ2FydFRhYmxlJyxcbiAgICBDQVJUX0NBVEVHT1JJRVM6ICdDYXJ0Q2F0ZWdvcmllc1RhYmxlJyxcbiAgICBDQVRFR09SWTogJ0NhdGVnb3J5VGFibGUnLFxuICAgIENBVEVSSU5HOiAnQ2F0ZXJpbmdUYWJsZScsXG4gICAgQ09OVEVOVDogJ0NvbnRlbnRUYWJsZScsXG4gICAgQ09VUE9OUzogJ0NvdXBvbnNUYWJsZScsXG4gICAgREVGQVVMVF9QTEFUVEVSOiAnRGVmYXVsdFBsYXR0ZXJUYWJsZScsXG4gICAgREVGQVVMVF9QTEFUVEVSX0NBVEVHT1JJRVM6ICdEZWZhdWx0UGxhdHRlckNhdGVnb3JpZXNUYWJsZScsXG4gICAgREVGQVVMVF9QTEFUVEVSX0lURU1TOiAnRGVmYXVsdFBsYXR0ZXJJdGVtc1RhYmxlJyxcbiAgICBFVkVOVF9FWEVDVVRJVkVTOiAnRXZlbnRFeGVjdXRpdmVzVGFibGUnLFxuICAgIElURU1TOiAnSXRlbXNUYWJsZScsXG4gICAgTEVBRDogJ0xlYWRUYWJsZScsXG4gICAgT0NDQVNJT046ICdPY2Nhc2lvblRhYmxlJyxcbiAgICBSRUZFUlJBTF9DT05URU5UOiAnUmVmZXJyYWxDb250ZW50VGFibGUnLFxuICAgIFVTRVI6ICdVc2VyVGFibGUnLFxuICAgIFdBTExFVDogJ1dhbGxldFRhYmxlJyxcbiAgICBXQUxMRVRfVFJBTlNBQ1RJT046ICdXYWxsZXRUcmFuc2FjdGlvblRhYmxlJyxcbiAgICBXSVRIRFJBV046ICdXaXRoZHJhd25UYWJsZScsXG5cbiAgICAvLyBJbnRlcm5hbCBVc2VyIFRhYmxlc1xuICAgIElOVEVSTkFMX1VTRVI6ICdJbnRlcm5hbFVzZXJUYWJsZScsXG4gICAgQUNUSVZJVFlfTE9HUzogJ0FjdGl2aXR5TG9nc1RhYmxlJyxcbiAgICBRVU9UQVRJT05TOiAnUXVvdGF0aW9uc1RhYmxlJyxcbn0gYXMgY29uc3Q7XG5cbi8vIEVudmlyb25tZW50LWF3YXJlIHRhYmxlIG5hbWUgZ2V0dGVyXG5leHBvcnQgY2xhc3MgVGFibGVOYW1lTWFuYWdlciB7XG4gICAgcHVibGljIHN0YXRpYyBnZXRUYWJsZU5hbWUoYmFzZVRhYmxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIERhdGFiYXNlRmFjdG9yeS5nZXRUYWJsZU5hbWUoYmFzZVRhYmxlTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBbGxUYWJsZU5hbWVzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgICAgICBjb25zdCB0YWJsZU5hbWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICAgICAgT2JqZWN0LmVudHJpZXMoQkFTRV9UQUJMRV9OQU1FUykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0YWJsZU5hbWVzW2tleV0gPSB0aGlzLmdldFRhYmxlTmFtZSh2YWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0YWJsZU5hbWVzO1xuICAgIH1cbn1cblxuLy8gRXhwb3J0IGVudmlyb25tZW50LWF3YXJlIHRhYmxlIG5hbWVzXG5leHBvcnQgY29uc3QgVEFCTEVfTkFNRVMgPSB7XG4gICAgLy8gQ3VzdG9tZXIgQXBwIFRhYmxlc1xuICAgIEFQUF9GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5BUFBfRkVFREJBQ0spLFxuICAgIExTUV9DUk06IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuTFNRX0NSTSksXG4gICAgQ1VUTEVSWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DVVRMRVJZKSxcbiAgICBJVEVNX0FDQ09NUEFOSU1FTlRTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklURU1fQUNDT01QQU5JTUVOVFMpLFxuICAgIENVSVNJTkU6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ1VJU0lORSksXG4gICAgVElFUl9ERVRBSUxTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlRJRVJfREVUQUlMUyksXG4gICAgVVNFUl9PUkRFUl9TVU1NQVJZOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVJfT1JERVJfU1VNTUFSWSksXG4gICAgVElFUl9SRUZFUlJBTDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5USUVSX1JFRkVSUkFMKSxcbiAgICBVU0VSX0FERFJFU1NfUkVRVUVTVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5VU0VSX0FERFJFU1NfUkVRVUVTVCksXG4gICAgQ09NTU9OX0ZFRURCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNPTU1PTl9GRUVEQkFDSyksXG4gICAgR1VFU1RfRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuR1VFU1RfRkVFREJBQ0spLFxuICAgIENPVU5URVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ09VTlRFUiksXG4gICAgUkVRVUVTVF9JTlZPSUNFOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlJFUVVFU1RfSU5WT0lDRSksXG4gICAgUExBVFRFUl9TRUFSQ0hfRVZFTlRTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBMQVRURVJfU0VBUkNIX0VWRU5UUyksXG4gICAgT1JERVJfUkVWSUVXX0ZFRURCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLk9SREVSX1JFVklFV19GRUVEQkFDSyksXG4gICAgQ0FURVJJTkdfUkVRVUVTVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRFUklOR19SRVFVRVNUKSxcbiAgICBGTVBfUkVRVUVTVF9DQUxMQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5GTVBfUkVRVUVTVF9DQUxMQkFDSyksXG4gICAgUExBVFRFUl9GSVQ6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUExBVFRFUl9GSVQpLFxuICAgIElORkxVRU5DRVJfUFJPTU86IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuSU5GTFVFTkNFUl9QUk9NTyksXG4gICAgSU5GTFVFTkNFUl9SRUZFUlJBTDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JTkZMVUVOQ0VSX1JFRkVSUkFMKSxcblxuICAgIC8vIE9yZGVyIE1vZHVsZSBUYWJsZXNcbiAgICBPUkRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUiksXG4gICAgT1JERVJfQUREUkVTUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9BRERSRVNTKSxcbiAgICBPUkRFUl9SRVZJRVc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuT1JERVJfUkVWSUVXKSxcbiAgICBQQVlNRU5UOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBBWU1FTlQpLFxuICAgIFBMQVRFX09SREVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBMQVRFX09SREVSKSxcbiAgICBUUkFDS0lORzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5UUkFDS0lORyksXG4gICAgVVNFUl9BRERSRVNTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVJfQUREUkVTUyksXG4gICAgVVNFUl9TUEVDSUZJQ1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9TUEVDSUZJQ1MpLFxuICAgIEJCUV9TS0VXRVJTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJCUV9TS0VXRVJTKSxcblxuICAgIC8vIE90aGVyIEN1c3RvbWVyIFRhYmxlc1xuICAgIEFERF9PTlM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUREX09OUyksXG4gICAgQkFOS19ERVRBSUxTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJBTktfREVUQUlMUyksXG4gICAgQ0FSVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVJUKSxcbiAgICBDQVJUX0NBVEVHT1JJRVM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FSVF9DQVRFR09SSUVTKSxcbiAgICBDQVRFR09SWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRFR09SWSksXG4gICAgQ0FURVJJTkc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FURVJJTkcpLFxuICAgIENPTlRFTlQ6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ09OVEVOVCksXG4gICAgQ09VUE9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT1VQT05TKSxcbiAgICBERUZBVUxUX1BMQVRURVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuREVGQVVMVF9QTEFUVEVSKSxcbiAgICBERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5ERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUyksXG4gICAgREVGQVVMVF9QTEFUVEVSX0lURU1TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkRFRkFVTFRfUExBVFRFUl9JVEVNUyksXG4gICAgRVZFTlRfRVhFQ1VUSVZFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5FVkVOVF9FWEVDVVRJVkVTKSxcbiAgICBJVEVNUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JVEVNUyksXG4gICAgTEVBRDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5MRUFEKSxcbiAgICBPQ0NBU0lPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PQ0NBU0lPTiksXG4gICAgUkVGRVJSQUxfQ09OVEVOVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5SRUZFUlJBTF9DT05URU5UKSxcbiAgICBVU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVIpLFxuICAgIFdBTExFVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVQpLFxuICAgIFdBTExFVF9UUkFOU0FDVElPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVRfVFJBTlNBQ1RJT04pLFxuICAgIFdJVEhEUkFXTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XSVRIRFJBV04pLFxuXG4gICAgLy8gSW50ZXJuYWwgVXNlciBUYWJsZXNcbiAgICBJTlRFUk5BTF9VU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklOVEVSTkFMX1VTRVIpLFxuICAgIEFDVElWSVRZX0xPR1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUNUSVZJVFlfTE9HUyksXG4gICAgUVVPVEFUSU9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5RVU9UQVRJT05TKSxcbn0gYXMgY29uc3Q7XG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3RhYmxlLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFxRDtBQUVyRCxnREFBZ0Q7QUFDbkMsUUFBQSxnQkFBZ0IsR0FBRztJQUM1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixtQkFBbUIsRUFBRSx5QkFBeUI7SUFDOUMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7SUFDM0MsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxvQkFBb0IsRUFBRSx5QkFBeUI7SUFDL0MsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGVBQWUsRUFBRSxxQkFBcUI7SUFDdEMscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxnQkFBZ0IsRUFBRSxzQkFBc0I7SUFDeEMsb0JBQW9CLEVBQUUseUJBQXlCO0lBQy9DLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsZ0JBQWdCLEVBQUUsc0JBQXNCO0lBQ3hDLG1CQUFtQixFQUFFLHlCQUF5QjtJQUM5QyxlQUFlLEVBQUUscUJBQXFCO0lBRXRDLHNCQUFzQjtJQUN0QixLQUFLLEVBQUUsWUFBWTtJQUNuQixhQUFhLEVBQUUsbUJBQW1CO0lBQ2xDLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixRQUFRLEVBQUUsZUFBZTtJQUN6QixZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLGNBQWMsRUFBRSxvQkFBb0I7SUFDcEMsV0FBVyxFQUFFLGlCQUFpQjtJQUU5Qix3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QUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDNUQsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFDMUQsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDbEUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLGdCQUFnQixDQUFDO0lBQ2xGLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQzFELE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQzlELGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztJQUN0RixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUVwRSx1QkFBdUI7SUFDdkIsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDNUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDNUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxVQUFVLENBQUM7Q0FDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFiYXNlRmFjdG9yeSB9IGZyb20gJy4vZGF0YWJhc2UtZmFjdG9yeSc7XG5cbi8vIEJhc2UgdGFibGUgbmFtZXMgKHdpdGhvdXQgZW52aXJvbm1lbnQgcHJlZml4KVxuZXhwb3J0IGNvbnN0IEJBU0VfVEFCTEVfTkFNRVMgPSB7XG4gICAgLy8gQ3VzdG9tZXIgQXBwIFRhYmxlc1xuICAgIEFQUF9GRUVEQkFDSzogJ0FwcEZlZWRiYWNrVGFibGUnLFxuICAgIExTUV9DUk06ICdMc3FDcm1UYWJsZScsXG4gICAgQ1VUTEVSWTogJ0N1dGxlcnlUYWJsZScsXG4gICAgSVRFTV9BQ0NPTVBBTklNRU5UUzogJ0l0ZW1BY2NvbXBhbmltZW50c1RhYmxlJyxcbiAgICBDVUlTSU5FOiAnQ3Vpc2luZVRhYmxlJyxcbiAgICBUSUVSX0RFVEFJTFM6ICdUaWVyRGV0YWlsc1RhYmxlJyxcbiAgICBVU0VSX09SREVSX1NVTU1BUlk6ICdVc2VyT3JkZXJTdW1tYXJ5VGFibGUnLFxuICAgIFRJRVJfUkVGRVJSQUw6ICdUaWVyUmVmZXJyYWxUYWJsZScsXG4gICAgVVNFUl9BRERSRVNTX1JFUVVFU1Q6ICdVc2VyQWRkcmVzc1JlcXVlc3RUYWJsZScsXG4gICAgQ09NTU9OX0ZFRURCQUNLOiAnQ29tbW9uRmVlZGJhY2tUYWJsZScsXG4gICAgR1VFU1RfRkVFREJBQ0s6ICdHdWVzdEZlZWRiYWNrVGFibGUnLFxuICAgIENPVU5URVI6ICdDb3VudGVyVGFibGUnLFxuICAgIFJFUVVFU1RfSU5WT0lDRTogJ1JlcXVlc3RJbnZvaWNlVGFibGUnLFxuICAgIFBMQVRURVJfU0VBUkNIX0VWRU5UUzogJ1BsYXR0ZXJTZWFyY2hFdmVudHNUYWJsZScsXG4gICAgT1JERVJfUkVWSUVXX0ZFRURCQUNLOiAnT3JkZXJSZXZpZXdGZWVkYmFja1RhYmxlJyxcbiAgICBDQVRFUklOR19SRVFVRVNUOiAnQ2F0ZXJpbmdSZXF1ZXN0VGFibGUnLFxuICAgIEZNUF9SRVFVRVNUX0NBTExCQUNLOiAnRm1wUmVxdWVzdENhbGxiYWNrVGFibGUnLFxuICAgIFBMQVRURVJfRklUOiAnUGxhdHRlckZpdFRhYmxlJyxcbiAgICBJTkZMVUVOQ0VSX1BST01POiAnSW5mbHVlbmNlclByb21vVGFibGUnLFxuICAgIElORkxVRU5DRVJfUkVGRVJSQUw6ICdJbmZsdWVuY2VyUmVmZXJyYWxUYWJsZScsXG4gICAgQ0FUQUxPR1VFX0lURU1TOiAnQ2F0YWxvZ3VlSXRlbXNUYWJsZScsXG5cbiAgICAvLyBPcmRlciBNb2R1bGUgVGFibGVzXG4gICAgT1JERVI6ICdPcmRlclRhYmxlJyxcbiAgICBPUkRFUl9BRERSRVNTOiAnT3JkZXJBZGRyZXNzVGFibGUnLFxuICAgIE9SREVSX1JFVklFVzogJ09yZGVyUmV2aWV3VGFibGUnLFxuICAgIFBBWU1FTlQ6ICdQYXltZW50VGFibGUnLFxuICAgIFBMQVRFX09SREVSOiAnUGxhdGVPcmRlclRhYmxlJyxcbiAgICBUUkFDS0lORzogJ1RyYWNraW5nVGFibGUnLFxuICAgIFVTRVJfQUREUkVTUzogJ1VzZXJBZGRyZXNzVGFibGUnLFxuICAgIFVTRVJfU1BFQ0lGSUNTOiAnVXNlclNwZWNpZmljc1RhYmxlJyxcbiAgICBCQlFfU0tFV0VSUzogJ0JicVNrZXdlcnNUYWJsZScsXG5cbiAgICAvLyBPdGhlciBDdXN0b21lciBUYWJsZXNcbiAgICBBRERfT05TOiAnQWRkT25zVGFibGUnLFxuICAgIEJBTktfREVUQUlMUzogJ0JhbmtEZXRhaWxzVGFibGUnLFxuICAgIENBUlQ6ICdDYXJ0VGFibGUnLFxuICAgIENBUlRfQ0FURUdPUklFUzogJ0NhcnRDYXRlZ29yaWVzVGFibGUnLFxuICAgIENBVEVHT1JZOiAnQ2F0ZWdvcnlUYWJsZScsXG4gICAgQ0FURVJJTkc6ICdDYXRlcmluZ1RhYmxlJyxcbiAgICBDT05URU5UOiAnQ29udGVudFRhYmxlJyxcbiAgICBDT1VQT05TOiAnQ291cG9uc1RhYmxlJyxcbiAgICBERUZBVUxUX1BMQVRURVI6ICdEZWZhdWx0UGxhdHRlclRhYmxlJyxcbiAgICBERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUzogJ0RlZmF1bHRQbGF0dGVyQ2F0ZWdvcmllc1RhYmxlJyxcbiAgICBERUZBVUxUX1BMQVRURVJfSVRFTVM6ICdEZWZhdWx0UGxhdHRlckl0ZW1zVGFibGUnLFxuICAgIEVWRU5UX0VYRUNVVElWRVM6ICdFdmVudEV4ZWN1dGl2ZXNUYWJsZScsXG4gICAgSVRFTVM6ICdJdGVtc1RhYmxlJyxcbiAgICBMRUFEOiAnTGVhZFRhYmxlJyxcbiAgICBPQ0NBU0lPTjogJ09jY2FzaW9uVGFibGUnLFxuICAgIFJFRkVSUkFMX0NPTlRFTlQ6ICdSZWZlcnJhbENvbnRlbnRUYWJsZScsXG4gICAgVVNFUjogJ1VzZXJUYWJsZScsXG4gICAgV0FMTEVUOiAnV2FsbGV0VGFibGUnLFxuICAgIFdBTExFVF9UUkFOU0FDVElPTjogJ1dhbGxldFRyYW5zYWN0aW9uVGFibGUnLFxuICAgIFdJVEhEUkFXTjogJ1dpdGhkcmF3blRhYmxlJyxcblxuICAgIC8vIEludGVybmFsIFVzZXIgVGFibGVzXG4gICAgSU5URVJOQUxfVVNFUjogJ0ludGVybmFsVXNlclRhYmxlJyxcbiAgICBBQ1RJVklUWV9MT0dTOiAnQWN0aXZpdHlMb2dzVGFibGUnLFxuICAgIFFVT1RBVElPTlM6ICdRdW90YXRpb25zVGFibGUnLFxufSBhcyBjb25zdDtcblxuLy8gRW52aXJvbm1lbnQtYXdhcmUgdGFibGUgbmFtZSBnZXR0ZXJcbmV4cG9ydCBjbGFzcyBUYWJsZU5hbWVNYW5hZ2VyIHtcbiAgICBwdWJsaWMgc3RhdGljIGdldFRhYmxlTmFtZShiYXNlVGFibGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRGF0YWJhc2VGYWN0b3J5LmdldFRhYmxlTmFtZShiYXNlVGFibGVOYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEFsbFRhYmxlTmFtZXMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHRhYmxlTmFtZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgICAgICBPYmplY3QuZW50cmllcyhCQVNFX1RBQkxFX05BTUVTKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgIHRhYmxlTmFtZXNba2V5XSA9IHRoaXMuZ2V0VGFibGVOYW1lKHZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRhYmxlTmFtZXM7XG4gICAgfVxufVxuXG4vLyBFeHBvcnQgZW52aXJvbm1lbnQtYXdhcmUgdGFibGUgbmFtZXNcbmV4cG9ydCBjb25zdCBUQUJMRV9OQU1FUyA9IHtcbiAgICAvLyBDdXN0b21lciBBcHAgVGFibGVzXG4gICAgQVBQX0ZFRURCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkFQUF9GRUVEQkFDSyksXG4gICAgTFNRX0NSTTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5MU1FfQ1JNKSxcbiAgICBDVVRMRVJZOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNVVExFUlkpLFxuICAgIElURU1fQUNDT01QQU5JTUVOVFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuSVRFTV9BQ0NPTVBBTklNRU5UUyksXG4gICAgQ1VJU0lORTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DVUlTSU5FKSxcbiAgICBUSUVSX0RFVEFJTFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVElFUl9ERVRBSUxTKSxcbiAgICBVU0VSX09SREVSX1NVTU1BUlk6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9PUkRFUl9TVU1NQVJZKSxcbiAgICBUSUVSX1JFRkVSUkFMOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlRJRVJfUkVGRVJSQUwpLFxuICAgIFVTRVJfQUREUkVTU19SRVFVRVNUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVJfQUREUkVTU19SRVFVRVNUKSxcbiAgICBDT01NT05fRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ09NTU9OX0ZFRURCQUNLKSxcbiAgICBHVUVTVF9GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5HVUVTVF9GRUVEQkFDSyksXG4gICAgQ09VTlRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT1VOVEVSKSxcbiAgICBSRVFVRVNUX0lOVk9JQ0U6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUkVRVUVTVF9JTlZPSUNFKSxcbiAgICBQTEFUVEVSX1NFQVJDSF9FVkVOVFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUExBVFRFUl9TRUFSQ0hfRVZFTlRTKSxcbiAgICBPUkRFUl9SRVZJRVdfRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuT1JERVJfUkVWSUVXX0ZFRURCQUNLKSxcbiAgICBDQVRFUklOR19SRVFVRVNUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNBVEVSSU5HX1JFUVVFU1QpLFxuICAgIEZNUF9SRVFVRVNUX0NBTExCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkZNUF9SRVFVRVNUX0NBTExCQUNLKSxcbiAgICBQTEFUVEVSX0ZJVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5QTEFUVEVSX0ZJVCksXG4gICAgSU5GTFVFTkNFUl9QUk9NTzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JTkZMVUVOQ0VSX1BST01PKSxcbiAgICBJTkZMVUVOQ0VSX1JFRkVSUkFMOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklORkxVRU5DRVJfUkVGRVJSQUwpLFxuICAgIENBVEFMT0dVRV9JVEVNUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRBTE9HVUVfSVRFTVMpLFxuXG4gICAgLy8gT3JkZXIgTW9kdWxlIFRhYmxlc1xuICAgIE9SREVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLk9SREVSKSxcbiAgICBPUkRFUl9BRERSRVNTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLk9SREVSX0FERFJFU1MpLFxuICAgIE9SREVSX1JFVklFVzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9SRVZJRVcpLFxuICAgIFBBWU1FTlQ6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUEFZTUVOVCksXG4gICAgUExBVEVfT1JERVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUExBVEVfT1JERVIpLFxuICAgIFRSQUNLSU5HOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlRSQUNLSU5HKSxcbiAgICBVU0VSX0FERFJFU1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9BRERSRVNTKSxcbiAgICBVU0VSX1NQRUNJRklDUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5VU0VSX1NQRUNJRklDUyksXG4gICAgQkJRX1NLRVdFUlM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQkJRX1NLRVdFUlMpLFxuXG4gICAgLy8gT3RoZXIgQ3VzdG9tZXIgVGFibGVzXG4gICAgQUREX09OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5BRERfT05TKSxcbiAgICBCQU5LX0RFVEFJTFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQkFOS19ERVRBSUxTKSxcbiAgICBDQVJUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNBUlQpLFxuICAgIENBUlRfQ0FURUdPUklFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVJUX0NBVEVHT1JJRVMpLFxuICAgIENBVEVHT1JZOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNBVEVHT1JZKSxcbiAgICBDQVRFUklORzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRFUklORyksXG4gICAgQ09OVEVOVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT05URU5UKSxcbiAgICBDT1VQT05TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNPVVBPTlMpLFxuICAgIERFRkFVTFRfUExBVFRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5ERUZBVUxUX1BMQVRURVIpLFxuICAgIERFRkFVTFRfUExBVFRFUl9DQVRFR09SSUVTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkRFRkFVTFRfUExBVFRFUl9DQVRFR09SSUVTKSxcbiAgICBERUZBVUxUX1BMQVRURVJfSVRFTVM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuREVGQVVMVF9QTEFUVEVSX0lURU1TKSxcbiAgICBFVkVOVF9FWEVDVVRJVkVTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkVWRU5UX0VYRUNVVElWRVMpLFxuICAgIElURU1TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklURU1TKSxcbiAgICBMRUFEOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkxFQUQpLFxuICAgIE9DQ0FTSU9OOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLk9DQ0FTSU9OKSxcbiAgICBSRUZFUlJBTF9DT05URU5UOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlJFRkVSUkFMX0NPTlRFTlQpLFxuICAgIFVTRVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUiksXG4gICAgV0FMTEVUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLldBTExFVCksXG4gICAgV0FMTEVUX1RSQU5TQUNUSU9OOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLldBTExFVF9UUkFOU0FDVElPTiksXG4gICAgV0lUSERSQVdOOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLldJVEhEUkFXTiksXG5cbiAgICAvLyBJbnRlcm5hbCBVc2VyIFRhYmxlc1xuICAgIElOVEVSTkFMX1VTRVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuSU5URVJOQUxfVVNFUiksXG4gICAgQUNUSVZJVFlfTE9HUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5BQ1RJVklUWV9MT0dTKSxcbiAgICBRVU9UQVRJT05TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlFVT1RBVElPTlMpLFxufSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -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,61 @@
|
|
|
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
|
+
menuItemId: {
|
|
17
|
+
type: String,
|
|
18
|
+
hashKey: true,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
catalogueId: {
|
|
22
|
+
type: String,
|
|
23
|
+
required: true,
|
|
24
|
+
index: {
|
|
25
|
+
name: "catalogueIdIndex",
|
|
26
|
+
type: "global"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
catalogueItemId: {
|
|
30
|
+
type: String,
|
|
31
|
+
required: true,
|
|
32
|
+
default: () => (0, crypto_1.randomUUID)(),
|
|
33
|
+
index: {
|
|
34
|
+
name: "catalogueItemIdIndex",
|
|
35
|
+
type: "global"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
itemName: {
|
|
39
|
+
type: String,
|
|
40
|
+
required: true
|
|
41
|
+
},
|
|
42
|
+
status: {
|
|
43
|
+
type: String,
|
|
44
|
+
required: true,
|
|
45
|
+
enum: [exports.CATALOGUE_ITEM_STATUS.ACTIVE, exports.CATALOGUE_ITEM_STATUS.INACTIVE],
|
|
46
|
+
index: {
|
|
47
|
+
name: "statusIndex",
|
|
48
|
+
type: "global"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
...base_dynamoose_model_1.BASE_DYNAMOOSE_AUDIT_SCHEMA
|
|
52
|
+
}, {
|
|
53
|
+
saveUnknown: false,
|
|
54
|
+
timestamps: true
|
|
55
|
+
});
|
|
56
|
+
exports.CatalogueItemModel = dynamoose_1.default.model(table_names_1.TABLE_NAMES.CATALOGUE_ITEMS, catalogueItemSchema, { create: false, waitForActive: false });
|
|
57
|
+
const convertToCatalogueItemModel = (input) => {
|
|
58
|
+
return new exports.CatalogueItemModel(input);
|
|
59
|
+
};
|
|
60
|
+
exports.convertToCatalogueItemModel = convertToCatalogueItemModel;
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZ3VlLWl0ZW1zLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWVyLXVzZXIvY2F0YWxvZ3VlL2NhdGFsb2d1ZS1pdGVtcy1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFDbEMsbUNBQW9DO0FBQ3BDLHFFQUE2RjtBQUM3RiwwREFBdUQ7QUFFMUMsUUFBQSxxQkFBcUIsR0FBRztJQUNqQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsVUFBVTtDQUNkLENBQUM7QUFnQlgsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLG1CQUFTLENBQUMsTUFBTSxDQUM1QztJQUNJLFVBQVUsRUFBRTtRQUNSLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELFdBQVcsRUFBRTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxlQUFlLEVBQUU7UUFDYixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO1FBQ2QsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUEsbUJBQVUsR0FBRTtRQUMzQixLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxRQUFRLEVBQUU7UUFDTixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsTUFBTSxFQUFFO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLElBQUksRUFBRSxDQUFDLDZCQUFxQixDQUFDLE1BQU0sRUFBRSw2QkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDcEUsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtJQUNELEdBQUcsa0RBQTJCO0NBQ2pDLEVBQ0Q7SUFDSSxXQUFXLEVBQUUsS0FBSztJQUNsQixVQUFVLEVBQUUsSUFBSTtDQUNuQixDQUNKLENBQUM7QUFFVyxRQUFBLGtCQUFrQixHQUFHLG1CQUFTLENBQUMsS0FBSyxDQUM3Qyx5QkFBVyxDQUFDLGVBQWUsRUFDM0IsbUJBQW1CLEVBQ25CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQzFDLENBQUM7QUFFSyxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBK0MsRUFBRSxFQUFFO0lBQzNGLE9BQU8sSUFBSSwwQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFGVyxRQUFBLDJCQUEyQiwrQkFFdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZHluYW1vb3NlIGZyb20gXCJkeW5hbW9vc2VcIjtcbmltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgeyBCQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUEsIEJhc2VEeW5hbW9vc2VNb2RlbCB9IGZyb20gXCIuLi8uLi9iYXNlLWR5bmFtb29zZS1tb2RlbFwiO1xuaW1wb3J0IHsgVEFCTEVfTkFNRVMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3RhYmxlLW5hbWVzXCI7XG5cbmV4cG9ydCBjb25zdCBDQVRBTE9HVUVfSVRFTV9TVEFUVVMgPSB7XG4gICAgQUNUSVZFOiBcIkFDVElWRVwiLFxuICAgIElOQUNUSVZFOiBcIklOQUNUSVZFXCJcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIENhdGFsb2d1ZUl0ZW1TdGF0dXMgPSAodHlwZW9mIENBVEFMT0dVRV9JVEVNX1NUQVRVUylba2V5b2YgdHlwZW9mIENBVEFMT0dVRV9JVEVNX1NUQVRVU107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0YWxvZ3VlSXRlbSBleHRlbmRzIEJhc2VEeW5hbW9vc2VNb2RlbCB7XG4gICAgY2F0YWxvZ3VlSWQ6IHN0cmluZztcbiAgICBjYXRhbG9ndWVJdGVtSWQ6IHN0cmluZztcbiAgICBtZW51SXRlbUlkOiBzdHJpbmc7XG4gICAgaXRlbU5hbWU6IHN0cmluZztcbiAgICBzdGF0dXM6IENhdGFsb2d1ZUl0ZW1TdGF0dXM7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNhdGFsb2d1ZUl0ZW1JbnB1dCA9IE9taXQ8Q2F0YWxvZ3VlSXRlbSwgXCJjYXRhbG9ndWVJdGVtSWRcIj4gJiB7XG4gICAgY2F0YWxvZ3VlSXRlbUlkPzogc3RyaW5nO1xufTtcblxuY29uc3QgY2F0YWxvZ3VlSXRlbVNjaGVtYSA9IG5ldyBkeW5hbW9vc2UuU2NoZW1hKFxuICAgIHtcbiAgICAgICAgbWVudUl0ZW1JZDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgaGFzaEtleTogdHJ1ZSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGNhdGFsb2d1ZUlkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIGluZGV4OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJjYXRhbG9ndWVJZEluZGV4XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjYXRhbG9ndWVJdGVtSWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdDogKCkgPT4gcmFuZG9tVVVJRCgpLFxuICAgICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNhdGFsb2d1ZUl0ZW1JZEluZGV4XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBpdGVtTmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIGVudW06IFtDQVRBTE9HVUVfSVRFTV9TVEFUVVMuQUNUSVZFLCBDQVRBTE9HVUVfSVRFTV9TVEFUVVMuSU5BQ1RJVkVdLFxuICAgICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInN0YXR1c0luZGV4XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi5CQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUFcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2F2ZVVua25vd246IGZhbHNlLFxuICAgICAgICB0aW1lc3RhbXBzOiB0cnVlXG4gICAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IENhdGFsb2d1ZUl0ZW1Nb2RlbCA9IGR5bmFtb29zZS5tb2RlbDxDYXRhbG9ndWVJdGVtPihcbiAgICBUQUJMRV9OQU1FUy5DQVRBTE9HVUVfSVRFTVMsXG4gICAgY2F0YWxvZ3VlSXRlbVNjaGVtYSxcbiAgICB7IGNyZWF0ZTogZmFsc2UsIHdhaXRGb3JBY3RpdmU6IGZhbHNlIH1cbik7XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VG9DYXRhbG9ndWVJdGVtTW9kZWwgPSAoaW5wdXQ6IENyZWF0ZUNhdGFsb2d1ZUl0ZW1JbnB1dCB8IENhdGFsb2d1ZUl0ZW0pID0+IHtcbiAgICByZXR1cm4gbmV3IENhdGFsb2d1ZUl0ZW1Nb2RlbChpbnB1dCk7XG59O1xuIl19
|