cmp-aws-database 2.1.2-dev.16 → 2.1.2-dev.18
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/brows-history/brows-history-dao.d.ts +122 -0
- package/dist/customer-user/brows-history/brows-history-dao.js +173 -0
- package/dist/customer-user/brows-history/brows-history-model.d.ts +25 -0
- package/dist/customer-user/brows-history/brows-history-model.js +98 -0
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ export declare const BASE_TABLE_NAMES: {
|
|
|
20
20
|
readonly INFLUENCER_PROMO: "InfluencerPromoTable";
|
|
21
21
|
readonly INFLUENCER_REFERRAL: "InfluencerReferralTable";
|
|
22
22
|
readonly CATALOGUE_ITEMS: "CatalogueItemsTable";
|
|
23
|
+
readonly BROWS_HISTORY: "BrowsHistoryTable";
|
|
23
24
|
readonly THIRD_PARTY_API_KEY: "ThirdPartyApiKeyTable";
|
|
24
25
|
readonly ORDER: "OrderTable";
|
|
25
26
|
readonly ORDER_ADDRESS: "OrderAddressTable";
|
|
@@ -80,6 +81,7 @@ export declare const TABLE_NAMES: {
|
|
|
80
81
|
readonly INFLUENCER_PROMO: string;
|
|
81
82
|
readonly INFLUENCER_REFERRAL: string;
|
|
82
83
|
readonly CATALOGUE_ITEMS: string;
|
|
84
|
+
readonly BROWS_HISTORY: string;
|
|
83
85
|
readonly THIRD_PARTY_API_KEY: string;
|
|
84
86
|
readonly ORDER: string;
|
|
85
87
|
readonly ORDER_ADDRESS: string;
|
|
@@ -26,6 +26,7 @@ exports.BASE_TABLE_NAMES = {
|
|
|
26
26
|
INFLUENCER_PROMO: 'InfluencerPromoTable',
|
|
27
27
|
INFLUENCER_REFERRAL: 'InfluencerReferralTable',
|
|
28
28
|
CATALOGUE_ITEMS: 'CatalogueItemsTable',
|
|
29
|
+
BROWS_HISTORY: 'BrowsHistoryTable',
|
|
29
30
|
THIRD_PARTY_API_KEY: 'ThirdPartyApiKeyTable',
|
|
30
31
|
// Order Module Tables
|
|
31
32
|
ORDER: 'OrderTable',
|
|
@@ -101,6 +102,7 @@ exports.TABLE_NAMES = {
|
|
|
101
102
|
INFLUENCER_PROMO: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.INFLUENCER_PROMO),
|
|
102
103
|
INFLUENCER_REFERRAL: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.INFLUENCER_REFERRAL),
|
|
103
104
|
CATALOGUE_ITEMS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.CATALOGUE_ITEMS),
|
|
105
|
+
BROWS_HISTORY: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.BROWS_HISTORY),
|
|
104
106
|
THIRD_PARTY_API_KEY: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.THIRD_PARTY_API_KEY),
|
|
105
107
|
// Order Module Tables
|
|
106
108
|
ORDER: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ORDER),
|
|
@@ -138,4 +140,4 @@ exports.TABLE_NAMES = {
|
|
|
138
140
|
ACTIVITY_LOGS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ACTIVITY_LOGS),
|
|
139
141
|
QUOTATIONS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.QUOTATIONS),
|
|
140
142
|
};
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3RhYmxlLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFxRDtBQUVyRCxnREFBZ0Q7QUFDbkMsUUFBQSxnQkFBZ0IsR0FBRztJQUM1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixtQkFBbUIsRUFBRSx5QkFBeUI7SUFDOUMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7SUFDM0MsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxvQkFBb0IsRUFBRSx5QkFBeUI7SUFDL0MsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGVBQWUsRUFBRSxxQkFBcUI7SUFDdEMscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxnQkFBZ0IsRUFBRSxzQkFBc0I7SUFDeEMsb0JBQW9CLEVBQUUseUJBQXlCO0lBQy9DLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsZ0JBQWdCLEVBQUUsc0JBQXNCO0lBQ3hDLG1CQUFtQixFQUFFLHlCQUF5QjtJQUM5QyxlQUFlLEVBQUUscUJBQXFCO0lBQ3RDLG1CQUFtQixFQUFFLHVCQUF1QjtJQUU1QyxzQkFBc0I7SUFDdEIsS0FBSyxFQUFFLFlBQVk7SUFDbkIsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsUUFBUSxFQUFFLGVBQWU7SUFDekIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BD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LHFCQUFxQixDQUFDO0lBQzVGLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsRixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUM1RCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLElBQUksQ0FBQztJQUMxRCxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUNsRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7SUFDbEYsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFDMUQsTUFBTSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDOUQsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLGtCQUFrQixDQUFDO0lBQ3RGLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBRXBFLHVCQUF1QjtJQUN2QixhQUFhLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM1RSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM1RSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLFVBQVUsQ0FBQztDQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YWJhc2VGYWN0b3J5IH0gZnJvbSAnLi9kYXRhYmFzZS1mYWN0b3J5JztcblxuLy8gQmFzZSB0YWJsZSBuYW1lcyAod2l0aG91dCBlbnZpcm9ubWVudCBwcmVmaXgpXG5leHBvcnQgY29uc3QgQkFTRV9UQUJMRV9OQU1FUyA9IHtcbiAgICAvLyBDdXN0b21lciBBcHAgVGFibGVzXG4gICAgQVBQX0ZFRURCQUNLOiAnQXBwRmVlZGJhY2tUYWJsZScsXG4gICAgTFNRX0NSTTogJ0xzcUNybVRhYmxlJyxcbiAgICBDVVRMRVJZOiAnQ3V0bGVyeVRhYmxlJyxcbiAgICBJVEVNX0FDQ09NUEFOSU1FTlRTOiAnSXRlbUFjY29tcGFuaW1lbnRzVGFibGUnLFxuICAgIENVSVNJTkU6ICdDdWlzaW5lVGFibGUnLFxuICAgIFRJRVJfREVUQUlMUzogJ1RpZXJEZXRhaWxzVGFibGUnLFxuICAgIFVTRVJfT1JERVJfU1VNTUFSWTogJ1VzZXJPcmRlclN1bW1hcnlUYWJsZScsXG4gICAgVElFUl9SRUZFUlJBTDogJ1RpZXJSZWZlcnJhbFRhYmxlJyxcbiAgICBVU0VSX0FERFJFU1NfUkVRVUVTVDogJ1VzZXJBZGRyZXNzUmVxdWVzdFRhYmxlJyxcbiAgICBDT01NT05fRkVFREJBQ0s6ICdDb21tb25GZWVkYmFja1RhYmxlJyxcbiAgICBHVUVTVF9GRUVEQkFDSzogJ0d1ZXN0RmVlZGJhY2tUYWJsZScsXG4gICAgQ09VTlRFUjogJ0NvdW50ZXJUYWJsZScsXG4gICAgUkVRVUVTVF9JTlZPSUNFOiAnUmVxdWVzdEludm9pY2VUYWJsZScsXG4gICAgUExBVFRFUl9TRUFSQ0hfRVZFTlRTOiAnUGxhdHRlclNlYXJjaEV2ZW50c1RhYmxlJyxcbiAgICBPUkRFUl9SRVZJRVdfRkVFREJBQ0s6ICdPcmRlclJldmlld0ZlZWRiYWNrVGFibGUnLFxuICAgIENBVEVSSU5HX1JFUVVFU1Q6ICdDYXRlcmluZ1JlcXVlc3RUYWJsZScsXG4gICAgRk1QX1JFUVVFU1RfQ0FMTEJBQ0s6ICdGbXBSZXF1ZXN0Q2FsbGJhY2tUYWJsZScsXG4gICAgUExBVFRFUl9GSVQ6ICdQbGF0dGVyRml0VGFibGUnLFxuICAgIElORkxVRU5DRVJfUFJPTU86ICdJbmZsdWVuY2VyUHJvbW9UYWJsZScsXG4gICAgSU5GTFVFTkNFUl9SRUZFUlJBTDogJ0luZmx1ZW5jZXJSZWZlcnJhbFRhYmxlJyxcbiAgICBDQVRBTE9HVUVfSVRFTVM6ICdDYXRhbG9ndWVJdGVtc1RhYmxlJyxcbiAgICBUSElSRF9QQVJUWV9BUElfS0VZOiAnVGhpcmRQYXJ0eUFwaUtleVRhYmxlJyxcblxuICAgIC8vIE9yZGVyIE1vZHVsZSBUYWJsZXNcbiAgICBPUkRFUjogJ09yZGVyVGFibGUnLFxuICAgIE9SREVSX0FERFJFU1M6ICdPcmRlckFkZHJlc3NUYWJsZScsXG4gICAgT1JERVJfUkVWSUVXOiAnT3JkZXJSZXZpZXdUYWJsZScsXG4gICAgUEFZTUVOVDogJ1BheW1lbnRUYWJsZScsXG4gICAgUExBVEVfT1JERVI6ICdQbGF0ZU9yZGVyVGFibGUnLFxuICAgIFRSQUNLSU5HOiAnVHJhY2tpbmdUYWJsZScsXG4gICAgVVNFUl9BRERSRVNTOiAnVXNlckFkZHJlc3NUYWJsZScsXG4gICAgVVNFUl9TUEVDSUZJQ1M6ICdVc2VyU3BlY2lmaWNzVGFibGUnLFxuICAgIEJCUV9TS0VXRVJTOiAnQmJxU2tld2Vyc1RhYmxlJyxcblxuICAgIC8vIE90aGVyIEN1c3RvbWVyIFRhYmxlc1xuICAgIEFERF9PTlM6ICdBZGRPbnNUYWJsZScsXG4gICAgQkFOS19ERVRBSUxTOiAnQmFua0RldGFpbHNUYWJsZScsXG4gICAgQ0FSVDogJ0NhcnRUYWJsZScsXG4gICAgQ0FSVF9DQVRFR09SSUVTOiAnQ2FydENhdGVnb3JpZXNUYWJsZScsXG4gICAgQ0FURUdPUlk6ICdDYXRlZ29yeVRhYmxlJyxcbiAgICBDQVRFUklORzogJ0NhdGVyaW5nVGFibGUnLFxuICAgIENPTlRFTlQ6ICdDb250ZW50VGFibGUnLFxuICAgIENPVVBPTlM6ICdDb3Vwb25zVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUjogJ0RlZmF1bHRQbGF0dGVyVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUl9DQVRFR09SSUVTOiAnRGVmYXVsdFBsYXR0ZXJDYXRlZ29yaWVzVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUl9JVEVNUzogJ0RlZmF1bHRQbGF0dGVySXRlbXNUYWJsZScsXG4gICAgRVZFTlRfRVhFQ1VUSVZFUzogJ0V2ZW50RXhlY3V0aXZlc1RhYmxlJyxcbiAgICBJVEVNUzogJ0l0ZW1zVGFibGUnLFxuICAgIExFQUQ6ICdMZWFkVGFibGUnLFxuICAgIE9DQ0FTSU9OOiAnT2NjYXNpb25UYWJsZScsXG4gICAgUkVGRVJSQUxfQ09OVEVOVDogJ1JlZmVycmFsQ29udGVudFRhYmxlJyxcbiAgICBVU0VSOiAnVXNlclRhYmxlJyxcbiAgICBXQUxMRVQ6ICdXYWxsZXRUYWJsZScsXG4gICAgV0FMTEVUX1RSQU5TQUNUSU9OOiAnV2FsbGV0VHJhbnNhY3Rpb25UYWJsZScsXG4gICAgV0lUSERSQVdOOiAnV2l0aGRyYXduVGFibGUnLFxuXG4gICAgLy8gSW50ZXJuYWwgVXNlciBUYWJsZXNcbiAgICBJTlRFUk5BTF9VU0VSOiAnSW50ZXJuYWxVc2VyVGFibGUnLFxuICAgIEFDVElWSVRZX0xPR1M6ICdBY3Rpdml0eUxvZ3NUYWJsZScsXG4gICAgUVVPVEFUSU9OUzogJ1F1b3RhdGlvbnNUYWJsZScsXG59IGFzIGNvbnN0O1xuXG4vLyBFbnZpcm9ubWVudC1hd2FyZSB0YWJsZSBuYW1lIGdldHRlclxuZXhwb3J0IGNsYXNzIFRhYmxlTmFtZU1hbmFnZXIge1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVOYW1lKGJhc2VUYWJsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBEYXRhYmFzZUZhY3RvcnkuZ2V0VGFibGVOYW1lKGJhc2VUYWJsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWxsVGFibGVOYW1lcygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgdGFibGVOYW1lczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKEJBU0VfVEFCTEVfTkFNRVMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgdGFibGVOYW1lc1trZXldID0gdGhpcy5nZXRUYWJsZU5hbWUodmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGFibGVOYW1lcztcbiAgICB9XG59XG5cbi8vIEV4cG9ydCBlbnZpcm9ubWVudC1hd2FyZSB0YWJsZSBuYW1lc1xuZXhwb3J0IGNvbnN0IFRBQkxFX05BTUVTID0ge1xuICAgIC8vIEN1c3RvbWVyIEFwcCBUYWJsZXNcbiAgICBBUFBfRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQVBQX0ZFRURCQUNLKSxcbiAgICBMU1FfQ1JNOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkxTUV9DUk0pLFxuICAgIENVVExFUlk6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ1VUTEVSWSksXG4gICAgSVRFTV9BQ0NPTVBBTklNRU5UUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JVEVNX0FDQ09NUEFOSU1FTlRTKSxcbiAgICBDVUlTSU5FOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNVSVNJTkUpLFxuICAgIFRJRVJfREVUQUlMUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5USUVSX0RFVEFJTFMpLFxuICAgIFVTRVJfT1JERVJfU1VNTUFSWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5VU0VSX09SREVSX1NVTU1BUlkpLFxuICAgIFRJRVJfUkVGRVJSQUw6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVElFUl9SRUZFUlJBTCksXG4gICAgVVNFUl9BRERSRVNTX1JFUVVFU1Q6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9BRERSRVNTX1JFUVVFU1QpLFxuICAgIENPTU1PTl9GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT01NT05fRkVFREJBQ0spLFxuICAgIEdVRVNUX0ZFRURCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkdVRVNUX0ZFRURCQUNLKSxcbiAgICBDT1VOVEVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNPVU5URVIpLFxuICAgIFJFUVVFU1RfSU5WT0lDRTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5SRVFVRVNUX0lOVk9JQ0UpLFxuICAgIFBMQVRURVJfU0VBUkNIX0VWRU5UUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5QTEFUVEVSX1NFQVJDSF9FVkVOVFMpLFxuICAgIE9SREVSX1JFVklFV19GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9SRVZJRVdfRkVFREJBQ0spLFxuICAgIENBVEVSSU5HX1JFUVVFU1Q6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FURVJJTkdfUkVRVUVTVCksXG4gICAgRk1QX1JFUVVFU1RfQ0FMTEJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuRk1QX1JFUVVFU1RfQ0FMTEJBQ0spLFxuICAgIFBMQVRURVJfRklUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBMQVRURVJfRklUKSxcbiAgICBJTkZMVUVOQ0VSX1BST01POiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklORkxVRU5DRVJfUFJPTU8pLFxuICAgIElORkxVRU5DRVJfUkVGRVJSQUw6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuSU5GTFVFTkNFUl9SRUZFUlJBTCksXG4gICAgQ0FUQUxPR1VFX0lURU1TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNBVEFMT0dVRV9JVEVNUyksXG4gICAgVEhJUkRfUEFSVFlfQVBJX0tFWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5USElSRF9QQVJUWV9BUElfS0VZKSxcblxuICAgIC8vIE9yZGVyIE1vZHVsZSBUYWJsZXNcbiAgICBPUkRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUiksXG4gICAgT1JERVJfQUREUkVTUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9BRERSRVNTKSxcbiAgICBPUkRFUl9SRVZJRVc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuT1JERVJfUkVWSUVXKSxcbiAgICBQQVlNRU5UOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBBWU1FTlQpLFxuICAgIFBMQVRFX09SREVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBMQVRFX09SREVSKSxcbiAgICBUUkFDS0lORzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5UUkFDS0lORyksXG4gICAgVVNFUl9BRERSRVNTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVJfQUREUkVTUyksXG4gICAgVVNFUl9TUEVDSUZJQ1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9TUEVDSUZJQ1MpLFxuICAgIEJCUV9TS0VXRVJTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJCUV9TS0VXRVJTKSxcblxuICAgIC8vIE90aGVyIEN1c3RvbWVyIFRhYmxlc1xuICAgIEFERF9PTlM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUREX09OUyksXG4gICAgQkFOS19ERVRBSUxTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJBTktfREVUQUlMUyksXG4gICAgQ0FSVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVJUKSxcbiAgICBDQVJUX0NBVEVHT1JJRVM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FSVF9DQVRFR09SSUVTKSxcbiAgICBDQVRFR09SWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRFR09SWSksXG4gICAgQ0FURVJJTkc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FURVJJTkcpLFxuICAgIENPTlRFTlQ6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ09OVEVOVCksXG4gICAgQ09VUE9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT1VQT05TKSxcbiAgICBERUZBVUxUX1BMQVRURVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuREVGQVVMVF9QTEFUVEVSKSxcbiAgICBERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5ERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUyksXG4gICAgREVGQVVMVF9QTEFUVEVSX0lURU1TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkRFRkFVTFRfUExBVFRFUl9JVEVNUyksXG4gICAgRVZFTlRfRVhFQ1VUSVZFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5FVkVOVF9FWEVDVVRJVkVTKSxcbiAgICBJVEVNUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JVEVNUyksXG4gICAgTEVBRDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5MRUFEKSxcbiAgICBPQ0NBU0lPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PQ0NBU0lPTiksXG4gICAgUkVGRVJSQUxfQ09OVEVOVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5SRUZFUlJBTF9DT05URU5UKSxcbiAgICBVU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVIpLFxuICAgIFdBTExFVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVQpLFxuICAgIFdBTExFVF9UUkFOU0FDVElPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVRfVFJBTlNBQ1RJT04pLFxuICAgIFdJVEhEUkFXTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XSVRIRFJBV04pLFxuXG4gICAgLy8gSW50ZXJuYWwgVXNlciBUYWJsZXNcbiAgICBJTlRFUk5BTF9VU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklOVEVSTkFMX1VTRVIpLFxuICAgIEFDVElWSVRZX0xPR1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUNUSVZJVFlfTE9HUyksXG4gICAgUVVPVEFUSU9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5RVU9UQVRJT05TKSxcbn0gYXMgY29uc3Q7XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3RhYmxlLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFxRDtBQUVyRCxnREFBZ0Q7QUFDbkMsUUFBQSxnQkFBZ0IsR0FBRztJQUM1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixtQkFBbUIsRUFBRSx5QkFBeUI7SUFDOUMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7SUFDM0MsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxvQkFBb0IsRUFBRSx5QkFBeUI7SUFDL0MsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGVBQWUsRUFBRSxxQkFBcUI7SUFDdEMscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxnQkFBZ0IsRUFBRSxzQkFBc0I7SUFDeEMsb0JBQW9CLEVBQUUseUJBQXlCO0lBQy9DLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsZ0JBQWdCLEVBQUUsc0JBQXNCO0lBQ3hDLG1CQUFtQixFQUFFLHlCQUF5QjtJQUM5QyxlQUFlLEVBQUUscUJBQXFCO0lBQ3RDLGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsbUJBQW1CLEVBQUUsdUJBQXVCO0lBRTVDLHNCQUFzQjtJQUN0QixLQUFLLEVBQUUsWUFBWTtJQUNuQixhQUFhLEVBQUUsbUJBQW1CO0lBQ2xDLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixRQUFRLEVBQUUsZUFBZTtJQUN6QixZQUFZLEVBQUUsa0JBQWtCO0lBQ2hD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cm9tICcuL2RhdGFiYXNlLWZhY3RvcnknO1xuXG4vLyBCYXNlIHRhYmxlIG5hbWVzICh3aXRob3V0IGVudmlyb25tZW50IHByZWZpeClcbmV4cG9ydCBjb25zdCBCQVNFX1RBQkxFX05BTUVTID0ge1xuICAgIC8vIEN1c3RvbWVyIEFwcCBUYWJsZXNcbiAgICBBUFBfRkVFREJBQ0s6ICdBcHBGZWVkYmFja1RhYmxlJyxcbiAgICBMU1FfQ1JNOiAnTHNxQ3JtVGFibGUnLFxuICAgIENVVExFUlk6ICdDdXRsZXJ5VGFibGUnLFxuICAgIElURU1fQUNDT01QQU5JTUVOVFM6ICdJdGVtQWNjb21wYW5pbWVudHNUYWJsZScsXG4gICAgQ1VJU0lORTogJ0N1aXNpbmVUYWJsZScsXG4gICAgVElFUl9ERVRBSUxTOiAnVGllckRldGFpbHNUYWJsZScsXG4gICAgVVNFUl9PUkRFUl9TVU1NQVJZOiAnVXNlck9yZGVyU3VtbWFyeVRhYmxlJyxcbiAgICBUSUVSX1JFRkVSUkFMOiAnVGllclJlZmVycmFsVGFibGUnLFxuICAgIFVTRVJfQUREUkVTU19SRVFVRVNUOiAnVXNlckFkZHJlc3NSZXF1ZXN0VGFibGUnLFxuICAgIENPTU1PTl9GRUVEQkFDSzogJ0NvbW1vbkZlZWRiYWNrVGFibGUnLFxuICAgIEdVRVNUX0ZFRURCQUNLOiAnR3Vlc3RGZWVkYmFja1RhYmxlJyxcbiAgICBDT1VOVEVSOiAnQ291bnRlclRhYmxlJyxcbiAgICBSRVFVRVNUX0lOVk9JQ0U6ICdSZXF1ZXN0SW52b2ljZVRhYmxlJyxcbiAgICBQTEFUVEVSX1NFQVJDSF9FVkVOVFM6ICdQbGF0dGVyU2VhcmNoRXZlbnRzVGFibGUnLFxuICAgIE9SREVSX1JFVklFV19GRUVEQkFDSzogJ09yZGVyUmV2aWV3RmVlZGJhY2tUYWJsZScsXG4gICAgQ0FURVJJTkdfUkVRVUVTVDogJ0NhdGVyaW5nUmVxdWVzdFRhYmxlJyxcbiAgICBGTVBfUkVRVUVTVF9DQUxMQkFDSzogJ0ZtcFJlcXVlc3RDYWxsYmFja1RhYmxlJyxcbiAgICBQTEFUVEVSX0ZJVDogJ1BsYXR0ZXJGaXRUYWJsZScsXG4gICAgSU5GTFVFTkNFUl9QUk9NTzogJ0luZmx1ZW5jZXJQcm9tb1RhYmxlJyxcbiAgICBJTkZMVUVOQ0VSX1JFRkVSUkFMOiAnSW5mbHVlbmNlclJlZmVycmFsVGFibGUnLFxuICAgIENBVEFMT0dVRV9JVEVNUzogJ0NhdGFsb2d1ZUl0ZW1zVGFibGUnLFxuICAgIEJST1dTX0hJU1RPUlk6ICdCcm93c0hpc3RvcnlUYWJsZScsXG4gICAgVEhJUkRfUEFSVFlfQVBJX0tFWTogJ1RoaXJkUGFydHlBcGlLZXlUYWJsZScsXG5cbiAgICAvLyBPcmRlciBNb2R1bGUgVGFibGVzXG4gICAgT1JERVI6ICdPcmRlclRhYmxlJyxcbiAgICBPUkRFUl9BRERSRVNTOiAnT3JkZXJBZGRyZXNzVGFibGUnLFxuICAgIE9SREVSX1JFVklFVzogJ09yZGVyUmV2aWV3VGFibGUnLFxuICAgIFBBWU1FTlQ6ICdQYXltZW50VGFibGUnLFxuICAgIFBMQVRFX09SREVSOiAnUGxhdGVPcmRlclRhYmxlJyxcbiAgICBUUkFDS0lORzogJ1RyYWNraW5nVGFibGUnLFxuICAgIFVTRVJfQUREUkVTUzogJ1VzZXJBZGRyZXNzVGFibGUnLFxuICAgIFVTRVJfU1BFQ0lGSUNTOiAnVXNlclNwZWNpZmljc1RhYmxlJyxcbiAgICBCQlFfU0tFV0VSUzogJ0JicVNrZXdlcnNUYWJsZScsXG5cbiAgICAvLyBPdGhlciBDdXN0b21lciBUYWJsZXNcbiAgICBBRERfT05TOiAnQWRkT25zVGFibGUnLFxuICAgIEJBTktfREVUQUlMUzogJ0JhbmtEZXRhaWxzVGFibGUnLFxuICAgIENBUlQ6ICdDYXJ0VGFibGUnLFxuICAgIENBUlRfQ0FURUdPUklFUzogJ0NhcnRDYXRlZ29yaWVzVGFibGUnLFxuICAgIENBVEVHT1JZOiAnQ2F0ZWdvcnlUYWJsZScsXG4gICAgQ0FURVJJTkc6ICdDYXRlcmluZ1RhYmxlJyxcbiAgICBDT05URU5UOiAnQ29udGVudFRhYmxlJyxcbiAgICBDT1VQT05TOiAnQ291cG9uc1RhYmxlJyxcbiAgICBERUZBVUxUX1BMQVRURVI6ICdEZWZhdWx0UGxhdHRlclRhYmxlJyxcbiAgICBERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUzogJ0RlZmF1bHRQbGF0dGVyQ2F0ZWdvcmllc1RhYmxlJyxcbiAgICBERUZBVUxUX1BMQVRURVJfSVRFTVM6ICdEZWZhdWx0UGxhdHRlckl0ZW1zVGFibGUnLFxuICAgIEVWRU5UX0VYRUNVVElWRVM6ICdFdmVudEV4ZWN1dGl2ZXNUYWJsZScsXG4gICAgSVRFTVM6ICdJdGVtc1RhYmxlJyxcbiAgICBMRUFEOiAnTGVhZFRhYmxlJyxcbiAgICBPQ0NBU0lPTjogJ09jY2FzaW9uVGFibGUnLFxuICAgIFJFRkVSUkFMX0NPTlRFTlQ6ICdSZWZlcnJhbENvbnRlbnRUYWJsZScsXG4gICAgVVNFUjogJ1VzZXJUYWJsZScsXG4gICAgV0FMTEVUOiAnV2FsbGV0VGFibGUnLFxuICAgIFdBTExFVF9UUkFOU0FDVElPTjogJ1dhbGxldFRyYW5zYWN0aW9uVGFibGUnLFxuICAgIFdJVEhEUkFXTjogJ1dpdGhkcmF3blRhYmxlJyxcblxuICAgIC8vIEludGVybmFsIFVzZXIgVGFibGVzXG4gICAgSU5URVJOQUxfVVNFUjogJ0ludGVybmFsVXNlclRhYmxlJyxcbiAgICBBQ1RJVklUWV9MT0dTOiAnQWN0aXZpdHlMb2dzVGFibGUnLFxuICAgIFFVT1RBVElPTlM6ICdRdW90YXRpb25zVGFibGUnLFxufSBhcyBjb25zdDtcblxuLy8gRW52aXJvbm1lbnQtYXdhcmUgdGFibGUgbmFtZSBnZXR0ZXJcbmV4cG9ydCBjbGFzcyBUYWJsZU5hbWVNYW5hZ2VyIHtcbiAgICBwdWJsaWMgc3RhdGljIGdldFRhYmxlTmFtZShiYXNlVGFibGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRGF0YWJhc2VGYWN0b3J5LmdldFRhYmxlTmFtZShiYXNlVGFibGVOYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEFsbFRhYmxlTmFtZXMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHRhYmxlTmFtZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgICAgICBPYmplY3QuZW50cmllcyhCQVNFX1RBQkxFX05BTUVTKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgIHRhYmxlTmFtZXNba2V5XSA9IHRoaXMuZ2V0VGFibGVOYW1lKHZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRhYmxlTmFtZXM7XG4gICAgfVxufVxuXG4vLyBFeHBvcnQgZW52aXJvbm1lbnQtYXdhcmUgdGFibGUgbmFtZXNcbmV4cG9ydCBjb25zdCBUQUJMRV9OQU1FUyA9IHtcbiAgICAvLyBDdXN0b21lciBBcHAgVGFibGVzXG4gICAgQVBQX0ZFRURCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkFQUF9GRUVEQkFDSyksXG4gICAgTFNRX0NSTTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5MU1FfQ1JNKSxcbiAgICBDVVRMRVJZOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNVVExFUlkpLFxuICAgIElURU1fQUNDT01QQU5JTUVOVFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuSVRFTV9BQ0NPTVBBTklNRU5UUyksXG4gICAgQ1VJU0lORTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DVUlTSU5FKSxcbiAgICBUSUVSX0RFVEFJTFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVElFUl9ERVRBSUxTKSxcbiAgICBVU0VSX09SREVSX1NVTU1BUlk6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9PUkRFUl9TVU1NQVJZKSxcbiAgICBUSUVSX1JFRkVSUkFMOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlRJRVJfUkVGRVJSQUwpLFxuICAgIFVTRVJfQUREUkVTU19SRVFVRVNUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVJfQUREUkVTU19SRVFVRVNUKSxcbiAgICBDT01NT05fRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ09NTU9OX0ZFRURCQUNLKSxcbiAgICBHVUVTVF9GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5HVUVTVF9GRUVEQkFDSyksXG4gICAgQ09VTlRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT1VOVEVSKSxcbiAgICBSRVFVRVNUX0lOVk9JQ0U6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUkVRVUVTVF9JTlZPSUNFKSxcbiAgICBQTEFUVEVSX1NFQVJDSF9FVkVOVFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUExBVFRFUl9TRUFSQ0hfRVZFTlRTKSxcbiAgICBPUkRFUl9SRVZJRVdfRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuT1JERVJfUkVWSUVXX0ZFRURCQUNLKSxcbiAgICBDQVRFUklOR19SRVFVRVNUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNBVEVSSU5HX1JFUVVFU1QpLFxuICAgIEZNUF9SRVFVRVNUX0NBTExCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkZNUF9SRVFVRVNUX0NBTExCQUNLKSxcbiAgICBQTEFUVEVSX0ZJVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5QTEFUVEVSX0ZJVCksXG4gICAgSU5GTFVFTkNFUl9QUk9NTzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JTkZMVUVOQ0VSX1BST01PKSxcbiAgICBJTkZMVUVOQ0VSX1JFRkVSUkFMOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklORkxVRU5DRVJfUkVGRVJSQUwpLFxuICAgIENBVEFMT0dVRV9JVEVNUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRBTE9HVUVfSVRFTVMpLFxuICAgIEJST1dTX0hJU1RPUlk6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQlJPV1NfSElTVE9SWSksXG4gICAgVEhJUkRfUEFSVFlfQVBJX0tFWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5USElSRF9QQVJUWV9BUElfS0VZKSxcblxuICAgIC8vIE9yZGVyIE1vZHVsZSBUYWJsZXNcbiAgICBPUkRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUiksXG4gICAgT1JERVJfQUREUkVTUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9BRERSRVNTKSxcbiAgICBPUkRFUl9SRVZJRVc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuT1JERVJfUkVWSUVXKSxcbiAgICBQQVlNRU5UOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBBWU1FTlQpLFxuICAgIFBMQVRFX09SREVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBMQVRFX09SREVSKSxcbiAgICBUUkFDS0lORzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5UUkFDS0lORyksXG4gICAgVVNFUl9BRERSRVNTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVJfQUREUkVTUyksXG4gICAgVVNFUl9TUEVDSUZJQ1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9TUEVDSUZJQ1MpLFxuICAgIEJCUV9TS0VXRVJTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJCUV9TS0VXRVJTKSxcblxuICAgIC8vIE90aGVyIEN1c3RvbWVyIFRhYmxlc1xuICAgIEFERF9PTlM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUREX09OUyksXG4gICAgQkFOS19ERVRBSUxTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJBTktfREVUQUlMUyksXG4gICAgQ0FSVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVJUKSxcbiAgICBDQVJUX0NBVEVHT1JJRVM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FSVF9DQVRFR09SSUVTKSxcbiAgICBDQVRFR09SWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRFR09SWSksXG4gICAgQ0FURVJJTkc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FURVJJTkcpLFxuICAgIENPTlRFTlQ6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ09OVEVOVCksXG4gICAgQ09VUE9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT1VQT05TKSxcbiAgICBERUZBVUxUX1BMQVRURVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuREVGQVVMVF9QTEFUVEVSKSxcbiAgICBERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5ERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUyksXG4gICAgREVGQVVMVF9QTEFUVEVSX0lURU1TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkRFRkFVTFRfUExBVFRFUl9JVEVNUyksXG4gICAgRVZFTlRfRVhFQ1VUSVZFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5FVkVOVF9FWEVDVVRJVkVTKSxcbiAgICBJVEVNUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JVEVNUyksXG4gICAgTEVBRDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5MRUFEKSxcbiAgICBPQ0NBU0lPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PQ0NBU0lPTiksXG4gICAgUkVGRVJSQUxfQ09OVEVOVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5SRUZFUlJBTF9DT05URU5UKSxcbiAgICBVU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVIpLFxuICAgIFdBTExFVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVQpLFxuICAgIFdBTExFVF9UUkFOU0FDVElPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVRfVFJBTlNBQ1RJT04pLFxuICAgIFdJVEhEUkFXTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XSVRIRFJBV04pLFxuXG4gICAgLy8gSW50ZXJuYWwgVXNlciBUYWJsZXNcbiAgICBJTlRFUk5BTF9VU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklOVEVSTkFMX1VTRVIpLFxuICAgIEFDVElWSVRZX0xPR1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUNUSVZJVFlfTE9HUyksXG4gICAgUVVPVEFUSU9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5RVU9UQVRJT05TKSxcbn0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { GenericDynamooseDAO } from "../../base-dynamoose-dao";
|
|
2
|
+
import { AuthContext } from "../../base-dynamoose-model";
|
|
3
|
+
import { BrowsHistory, CreateBrowsHistoryInput } from "./brows-history-model";
|
|
4
|
+
type ListResult = {
|
|
5
|
+
items: BrowsHistory[];
|
|
6
|
+
nextToken?: string;
|
|
7
|
+
};
|
|
8
|
+
export type BrowsHistorySortField = "created_time" | "updated_time";
|
|
9
|
+
export type BrowsHistorySortOrder = "asc" | "desc";
|
|
10
|
+
/**
|
|
11
|
+
* DAO for user platter browse history.
|
|
12
|
+
*
|
|
13
|
+
* Table keys: `browsHistoryId` (PK).
|
|
14
|
+
* User lookup: query GSI `userIdIndex` by `userId`.
|
|
15
|
+
*/
|
|
16
|
+
declare class BrowsHistoryDao extends GenericDynamooseDAO<BrowsHistory> {
|
|
17
|
+
constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Creates one browse-history record.
|
|
20
|
+
*
|
|
21
|
+
* Use when: user views a platter and you want to persist that browse event.
|
|
22
|
+
* - `browsHistoryId` auto-generates if omitted.
|
|
23
|
+
* - `userId` is required for later `getByUserId` / `listByUserId` lookups.
|
|
24
|
+
* - Stamps `created_time` / `created_user` automatically.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* await browsHistoryDao.save({
|
|
28
|
+
* userId: "user-123",
|
|
29
|
+
* platterId: "platter-abc",
|
|
30
|
+
* platterName: "Birthday Feast",
|
|
31
|
+
* platterType: "CATERING",
|
|
32
|
+
* platterPrice: 4999,
|
|
33
|
+
* totalItems: 12,
|
|
34
|
+
* menuType: "VEG",
|
|
35
|
+
* mealTime: "Dinner",
|
|
36
|
+
* platterImage: "https://...",
|
|
37
|
+
* replaceItemIds: [],
|
|
38
|
+
* addonIds: [],
|
|
39
|
+
* cutleryIds: [],
|
|
40
|
+
* liveCounterIds: [],
|
|
41
|
+
* skewerAddonIds: []
|
|
42
|
+
* }, { userSub: "user-123" });
|
|
43
|
+
*/
|
|
44
|
+
save: (item: CreateBrowsHistoryInput, authContext?: AuthContext) => Promise<BrowsHistory>;
|
|
45
|
+
/**
|
|
46
|
+
* Updates one browse-history record by `browsHistoryId`.
|
|
47
|
+
*
|
|
48
|
+
* Use when: user re-visits same platter and you need to update selections or metadata.
|
|
49
|
+
* - Fails if the record does not exist.
|
|
50
|
+
* - Stamps `updated_time` / `updated_user` automatically.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* await browsHistoryDao.update(
|
|
54
|
+
* "brows-history-uuid",
|
|
55
|
+
* { addonIds: ["addon-1", "addon-2"], platterPrice: 5499 },
|
|
56
|
+
* { userSub: "user-123" }
|
|
57
|
+
* );
|
|
58
|
+
*/
|
|
59
|
+
update: (browsHistoryId: string, updates: Partial<BrowsHistory>, authContext?: AuthContext) => Promise<BrowsHistory>;
|
|
60
|
+
/**
|
|
61
|
+
* Fetches one browse-history record by primary key.
|
|
62
|
+
*
|
|
63
|
+
* Use when: detail screen already has `browsHistoryId` from a previous list response.
|
|
64
|
+
* Returns `null` when record is not found.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* const item = await browsHistoryDao.getById("brows-history-uuid");
|
|
68
|
+
*/
|
|
69
|
+
getById: (browsHistoryId: string) => Promise<BrowsHistory | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Returns browse-history for a user with optional sort and limit.
|
|
72
|
+
*
|
|
73
|
+
* Use when: showing "Recently Viewed" or full browse history on home/profile screen.
|
|
74
|
+
* - Queries all pages from GSI `userIdIndex`, then sorts in memory.
|
|
75
|
+
* - Pass `sortBy` as `"created_time"` or `"updated_time"` to order results.
|
|
76
|
+
* - Default `sortOrder` is `"desc"` (newest first).
|
|
77
|
+
* - `limit` is applied after sorting so latest N items are returned correctly.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* // Latest 10 browsed platters (most recently updated first)
|
|
81
|
+
* const recent = await browsHistoryDao.getByUserId("user-123", 10, "updated_time");
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* // Oldest viewed first
|
|
85
|
+
* const oldestFirst = await browsHistoryDao.getByUserId("user-123", undefined, "created_time", "asc");
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* // All history without sorting (raw DynamoDB order)
|
|
89
|
+
* const all = await browsHistoryDao.getByUserId("user-123");
|
|
90
|
+
*/
|
|
91
|
+
getByUserId: (userId: string, limit?: number, sortBy?: BrowsHistorySortField, sortOrder?: BrowsHistorySortOrder) => Promise<BrowsHistory[]>;
|
|
92
|
+
/**
|
|
93
|
+
* Reads timestamp from audit field used for in-memory sorting.
|
|
94
|
+
*/
|
|
95
|
+
private getBrowsHistorySortTime;
|
|
96
|
+
/**
|
|
97
|
+
* Sorts browse-history items by `created_time` or `updated_time`.
|
|
98
|
+
*/
|
|
99
|
+
private sortBrowsHistoryItems;
|
|
100
|
+
/**
|
|
101
|
+
* Paginated query on GSI `userIdIndex`.
|
|
102
|
+
*
|
|
103
|
+
* Use when: infinite scroll / load-more UI where you pass `nextToken` from previous response.
|
|
104
|
+
* For sorted "recent N" views prefer `getByUserId` instead.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* const page1 = await browsHistoryDao.listByUserId("user-123", 20);
|
|
108
|
+
* const page2 = await browsHistoryDao.listByUserId("user-123", 20, page1.nextToken);
|
|
109
|
+
*/
|
|
110
|
+
listByUserId: (userId: string, limit?: number, token?: string) => Promise<ListResult>;
|
|
111
|
+
/**
|
|
112
|
+
* Deletes one browse-history record by primary key.
|
|
113
|
+
*
|
|
114
|
+
* Use when: user clears a single item from browse history.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* await browsHistoryDao.deleteById("brows-history-uuid");
|
|
118
|
+
*/
|
|
119
|
+
deleteById: (browsHistoryId: string) => Promise<void>;
|
|
120
|
+
}
|
|
121
|
+
export declare const browsHistoryDao: BrowsHistoryDao;
|
|
122
|
+
export {};
|
|
@@ -0,0 +1,173 @@
|
|
|
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.browsHistoryDao = void 0;
|
|
7
|
+
const dynamoose_1 = __importDefault(require("dynamoose"));
|
|
8
|
+
const base_dynamoose_dao_1 = require("../../base-dynamoose-dao");
|
|
9
|
+
const brows_history_model_1 = require("./brows-history-model");
|
|
10
|
+
/**
|
|
11
|
+
* DAO for user platter browse history.
|
|
12
|
+
*
|
|
13
|
+
* Table keys: `browsHistoryId` (PK).
|
|
14
|
+
* User lookup: query GSI `userIdIndex` by `userId`.
|
|
15
|
+
*/
|
|
16
|
+
class BrowsHistoryDao extends base_dynamoose_dao_1.GenericDynamooseDAO {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(brows_history_model_1.BrowsHistoryModel, "browsHistoryId");
|
|
19
|
+
/**
|
|
20
|
+
* Creates one browse-history record.
|
|
21
|
+
*
|
|
22
|
+
* Use when: user views a platter and you want to persist that browse event.
|
|
23
|
+
* - `browsHistoryId` auto-generates if omitted.
|
|
24
|
+
* - `userId` is required for later `getByUserId` / `listByUserId` lookups.
|
|
25
|
+
* - Stamps `created_time` / `created_user` automatically.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* await browsHistoryDao.save({
|
|
29
|
+
* userId: "user-123",
|
|
30
|
+
* platterId: "platter-abc",
|
|
31
|
+
* platterName: "Birthday Feast",
|
|
32
|
+
* platterType: "CATERING",
|
|
33
|
+
* platterPrice: 4999,
|
|
34
|
+
* totalItems: 12,
|
|
35
|
+
* menuType: "VEG",
|
|
36
|
+
* mealTime: "Dinner",
|
|
37
|
+
* platterImage: "https://...",
|
|
38
|
+
* replaceItemIds: [],
|
|
39
|
+
* addonIds: [],
|
|
40
|
+
* cutleryIds: [],
|
|
41
|
+
* liveCounterIds: [],
|
|
42
|
+
* skewerAddonIds: []
|
|
43
|
+
* }, { userSub: "user-123" });
|
|
44
|
+
*/
|
|
45
|
+
this.save = async (item, authContext) => {
|
|
46
|
+
return super.save(item, authContext);
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Updates one browse-history record by `browsHistoryId`.
|
|
50
|
+
*
|
|
51
|
+
* Use when: user re-visits same platter and you need to update selections or metadata.
|
|
52
|
+
* - Fails if the record does not exist.
|
|
53
|
+
* - Stamps `updated_time` / `updated_user` automatically.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* await browsHistoryDao.update(
|
|
57
|
+
* "brows-history-uuid",
|
|
58
|
+
* { addonIds: ["addon-1", "addon-2"], platterPrice: 5499 },
|
|
59
|
+
* { userSub: "user-123" }
|
|
60
|
+
* );
|
|
61
|
+
*/
|
|
62
|
+
this.update = async (browsHistoryId, updates, authContext) => {
|
|
63
|
+
const updated = await brows_history_model_1.BrowsHistoryModel.update({ browsHistoryId }, {
|
|
64
|
+
...updates,
|
|
65
|
+
updated_time: new Date(),
|
|
66
|
+
updated_user: authContext?.userSub
|
|
67
|
+
}, {
|
|
68
|
+
condition: new dynamoose_1.default.Condition().attribute("browsHistoryId").exists()
|
|
69
|
+
});
|
|
70
|
+
return updated;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Fetches one browse-history record by primary key.
|
|
74
|
+
*
|
|
75
|
+
* Use when: detail screen already has `browsHistoryId` from a previous list response.
|
|
76
|
+
* Returns `null` when record is not found.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* const item = await browsHistoryDao.getById("brows-history-uuid");
|
|
80
|
+
*/
|
|
81
|
+
this.getById = async (browsHistoryId) => this.get(browsHistoryId);
|
|
82
|
+
/**
|
|
83
|
+
* Returns browse-history for a user with optional sort and limit.
|
|
84
|
+
*
|
|
85
|
+
* Use when: showing "Recently Viewed" or full browse history on home/profile screen.
|
|
86
|
+
* - Queries all pages from GSI `userIdIndex`, then sorts in memory.
|
|
87
|
+
* - Pass `sortBy` as `"created_time"` or `"updated_time"` to order results.
|
|
88
|
+
* - Default `sortOrder` is `"desc"` (newest first).
|
|
89
|
+
* - `limit` is applied after sorting so latest N items are returned correctly.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* // Latest 10 browsed platters (most recently updated first)
|
|
93
|
+
* const recent = await browsHistoryDao.getByUserId("user-123", 10, "updated_time");
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* // Oldest viewed first
|
|
97
|
+
* const oldestFirst = await browsHistoryDao.getByUserId("user-123", undefined, "created_time", "asc");
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* // All history without sorting (raw DynamoDB order)
|
|
101
|
+
* const all = await browsHistoryDao.getByUserId("user-123");
|
|
102
|
+
*/
|
|
103
|
+
this.getByUserId = async (userId, limit, sortBy, sortOrder = "desc") => {
|
|
104
|
+
const items = [];
|
|
105
|
+
let token;
|
|
106
|
+
do {
|
|
107
|
+
const result = await this.listByUserId(userId, undefined, token);
|
|
108
|
+
items.push(...result.items);
|
|
109
|
+
token = result.nextToken;
|
|
110
|
+
} while (token);
|
|
111
|
+
const sortedItems = this.sortBrowsHistoryItems(items, sortBy, sortOrder);
|
|
112
|
+
return typeof limit === "number" ? sortedItems.slice(0, limit) : sortedItems;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Reads timestamp from audit field used for in-memory sorting.
|
|
116
|
+
*/
|
|
117
|
+
this.getBrowsHistorySortTime = (item, field) => {
|
|
118
|
+
const value = item[field];
|
|
119
|
+
if (!value) {
|
|
120
|
+
return 0;
|
|
121
|
+
}
|
|
122
|
+
return value instanceof Date ? value.getTime() : new Date(value).getTime();
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Sorts browse-history items by `created_time` or `updated_time`.
|
|
126
|
+
*/
|
|
127
|
+
this.sortBrowsHistoryItems = (items, sortBy, sortOrder = "desc") => {
|
|
128
|
+
if (!sortBy) {
|
|
129
|
+
return items;
|
|
130
|
+
}
|
|
131
|
+
const direction = sortOrder === "asc" ? 1 : -1;
|
|
132
|
+
return [...items].sort((a, b) => (this.getBrowsHistorySortTime(a, sortBy) - this.getBrowsHistorySortTime(b, sortBy)) * direction);
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Paginated query on GSI `userIdIndex`.
|
|
136
|
+
*
|
|
137
|
+
* Use when: infinite scroll / load-more UI where you pass `nextToken` from previous response.
|
|
138
|
+
* For sorted "recent N" views prefer `getByUserId` instead.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* const page1 = await browsHistoryDao.listByUserId("user-123", 20);
|
|
142
|
+
* const page2 = await browsHistoryDao.listByUserId("user-123", 20, page1.nextToken);
|
|
143
|
+
*/
|
|
144
|
+
this.listByUserId = async (userId, limit, token) => {
|
|
145
|
+
const decodedToken = this.decode(token);
|
|
146
|
+
let queryBuilder = brows_history_model_1.BrowsHistoryModel.query("userId").eq(userId).using("userIdIndex");
|
|
147
|
+
if (decodedToken) {
|
|
148
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
149
|
+
}
|
|
150
|
+
if (typeof limit === "number") {
|
|
151
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
152
|
+
}
|
|
153
|
+
const queryResult = await queryBuilder.exec();
|
|
154
|
+
return {
|
|
155
|
+
items: queryResult,
|
|
156
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Deletes one browse-history record by primary key.
|
|
161
|
+
*
|
|
162
|
+
* Use when: user clears a single item from browse history.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* await browsHistoryDao.deleteById("brows-history-uuid");
|
|
166
|
+
*/
|
|
167
|
+
this.deleteById = async (browsHistoryId) => {
|
|
168
|
+
await this.delete(browsHistoryId);
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.browsHistoryDao = new BrowsHistoryDao();
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3MtaGlzdG9yeS1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9icm93cy1oaXN0b3J5L2Jyb3dzLWhpc3RvcnktZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUFrQztBQUNsQyxpRUFBMEU7QUFFMUUsK0RBSStCO0FBVS9COzs7OztHQUtHO0FBQ0gsTUFBTSxlQUFnQixTQUFRLHdDQUFpQztJQUMzRDtRQUNJLEtBQUssQ0FBQyx1Q0FBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRy9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBeUJHO1FBQ0gsU0FBSSxHQUFHLEtBQUssRUFBRSxJQUE2QixFQUFFLFdBQXlCLEVBQXlCLEVBQUU7WUFDN0YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDO1FBRUY7Ozs7Ozs7Ozs7Ozs7V0FhRztRQUNILFdBQU0sR0FBRyxLQUFLLEVBQ1YsY0FBc0IsRUFDdEIsT0FBOEIsRUFDOUIsV0FBeUIsRUFDSixFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sdUNBQWlCLENBQUMsTUFBTSxDQUMxQyxFQUFFLGNBQWMsRUFBRSxFQUNsQjtnQkFDSSxHQUFHLE9BQU87Z0JBQ1YsWUFBWSxFQUFFLElBQUksSUFBSSxFQUFFO2dCQUN4QixZQUFZLEVBQUUsV0FBVyxFQUFFLE9BQU87YUFDckMsRUFDRDtnQkFDSSxTQUFTLEVBQUUsSUFBSSxtQkFBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sRUFBRTthQUM1RSxDQUNKLENBQUM7WUFDRixPQUFPLE9BQWtDLENBQUM7UUFDOUMsQ0FBQyxDQUFDO1FBRUY7Ozs7Ozs7O1dBUUc7UUFDSCxZQUFPLEdBQUcsS0FBSyxFQUFFLGNBQXNCLEVBQWdDLEVBQUUs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WUFDN0MsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQXdDO2dCQUMvQyxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFnQyxDQUFDO2FBQzdFLENBQUM7UUFDTixDQUFDLENBQUM7UUFFRjs7Ozs7OztXQU9HO1FBQ0gsZUFBVSxHQUFHLEtBQUssRUFBRSxjQUFzQixFQUFpQixFQUFFO1lBQ3pELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUM7SUFyTEYsQ0FBQztDQXNMSjtBQUVZLFFBQUEsZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZHluYW1vb3NlIGZyb20gXCJkeW5hbW9vc2VcIjtcbmltcG9ydCB7IER5bmFtb0tleSwgR2VuZXJpY0R5bmFtb29zZURBTyB9IGZyb20gXCIuLi8uLi9iYXNlLWR5bmFtb29zZS1kYW9cIjtcbmltcG9ydCB7IEF1dGhDb250ZXh0IH0gZnJvbSBcIi4uLy4uL2Jhc2UtZHluYW1vb3NlLW1vZGVsXCI7XG5pbXBvcnQge1xuICAgIEJyb3dzSGlzdG9yeSxcbiAgICBCcm93c0hpc3RvcnlNb2RlbCxcbiAgICBDcmVhdGVCcm93c0hpc3RvcnlJbnB1dFxufSBmcm9tIFwiLi9icm93cy1oaXN0b3J5LW1vZGVsXCI7XG5cbnR5cGUgTGlzdFJlc3VsdCA9IHtcbiAgICBpdGVtczogQnJvd3NIaXN0b3J5W107XG4gICAgbmV4dFRva2VuPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQnJvd3NIaXN0b3J5U29ydEZpZWxkID0gXCJjcmVhdGVkX3RpbWVcIiB8IFwidXBkYXRlZF90aW1lXCI7XG5leHBvcnQgdHlwZSBCcm93c0hpc3RvcnlTb3J0T3JkZXIgPSBcImFzY1wiIHwgXCJkZXNjXCI7XG5cbi8qKlxuICogREFPIGZvciB1c2VyIHBsYXR0ZXIgYnJvd3NlIGhpc3RvcnkuXG4gKlxuICogVGFibGUga2V5czogYGJyb3dzSGlzdG9yeUlkYCAoUEspLlxuICogVXNlciBsb29rdXA6IHF1ZXJ5IEdTSSBgdXNlcklkSW5kZXhgIGJ5IGB1c2VySWRgLlxuICovXG5jbGFzcyBCcm93c0hpc3RvcnlEYW8gZXh0ZW5kcyBHZW5lcmljRHluYW1vb3NlREFPPEJyb3dzSGlzdG9yeT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihCcm93c0hpc3RvcnlNb2RlbCwgXCJicm93c0hpc3RvcnlJZFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIG9uZSBicm93c2UtaGlzdG9yeSByZWNvcmQuXG4gICAgICpcbiAgICAgKiBVc2Ugd2hlbjogdXNlciB2aWV3cyBhIHBsYXR0ZXIgYW5kIHlvdSB3YW50IHRvIHBlcnNpc3QgdGhhdCBicm93c2UgZXZlbnQuXG4gICAgICogLSBgYnJvd3NIaXN0b3J5SWRgIGF1dG8tZ2VuZXJhdGVzIGlmIG9taXR0ZWQuXG4gICAgICogLSBgdXNlcklkYCBpcyByZXF1aXJlZCBmb3IgbGF0ZXIgYGdldEJ5VXNlcklkYCAvIGBsaXN0QnlVc2VySWRgIGxvb2t1cHMuXG4gICAgICogLSBTdGFtcHMgYGNyZWF0ZWRfdGltZWAgLyBgY3JlYXRlZF91c2VyYCBhdXRvbWF0aWNhbGx5LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBhd2FpdCBicm93c0hpc3RvcnlEYW8uc2F2ZSh7XG4gICAgICogICAgIHVzZXJJZDogXCJ1c2VyLTEyM1wiLFxuICAgICAqICAgICBwbGF0dGVySWQ6IFwicGxhdHRlci1hYmNcIixcbiAgICAgKiAgICAgcGxhdHRlck5hbWU6IFwiQmlydGhkYXkgRmVhc3RcIixcbiAgICAgKiAgICAgcGxhdHRlclR5cGU6IFwiQ0FURVJJTkdcIixcbiAgICAgKiAgICAgcGxhdHRlclByaWNlOiA0OTk5LFxuICAgICAqICAgICB0b3RhbEl0ZW1zOiAxMixcbiAgICAgKiAgICAgbWVudVR5cGU6IFwiVkVHXCIsXG4gICAgICogICAgIG1lYWxUaW1lOiBcIkRpbm5lclwiLFxuICAgICAqICAgICBwbGF0dGVySW1hZ2U6IFwiaHR0cHM6Ly8uLi5cIixcbiAgICAgKiAgICAgcmVwbGFjZUl0ZW1JZHM6IFtdLFxuICAgICAqICAgICBhZGRvbklkczogW10sXG4gICAgICogICAgIGN1dGxlcnlJZHM6IFtdLFxuICAgICAqICAgICBsaXZlQ291bnRlcklkczogW10sXG4gICAgICogICAgIHNrZXdlckFkZG9uSWRzOiBbXVxuICAgICAqIH0sIHsgdXNlclN1YjogXCJ1c2VyLTEyM1wiIH0pO1xuICAgICAqL1xuICAgIHNhdmUgPSBhc3luYyAoaXRlbTogQ3JlYXRlQnJvd3NIaXN0b3J5SW5wdXQsIGF1dGhDb250ZXh0PzogQXV0aENvbnRleHQpOiBQcm9taXNlPEJyb3dzSGlzdG9yeT4gPT4ge1xuICAgICAgICByZXR1cm4gc3VwZXIuc2F2ZShpdGVtIGFzIEJyb3dzSGlzdG9yeSwgYXV0aENvbnRleHQpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIG9uZSBicm93c2UtaGlzdG9yeSByZWNvcmQgYnkgYGJyb3dzSGlzdG9yeUlkYC5cbiAgICAgKlxuICAgICAqIFVzZSB3aGVuOiB1c2VyIHJlLXZpc2l0cyBzYW1lIHBsYXR0ZXIgYW5kIHlvdSBuZWVkIHRvIHVwZGF0ZSBzZWxlY3Rpb25zIG9yIG1ldGFkYXRhLlxuICAgICAqIC0gRmFpbHMgaWYgdGhlIHJlY29yZCBkb2VzIG5vdCBleGlzdC5cbiAgICAgKiAtIFN0YW1wcyBgdXBkYXRlZF90aW1lYCAvIGB1cGRhdGVkX3VzZXJgIGF1dG9tYXRpY2FsbHkuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGF3YWl0IGJyb3dzSGlzdG9yeURhby51cGRhdGUoXG4gICAgICogICAgIFwiYnJvd3MtaGlzdG9yeS11dWlkXCIsXG4gICAgICogICAgIHsgYWRkb25JZHM6IFtcImFkZG9uLTFcIiwgXCJhZGRvbi0yXCJdLCBwbGF0dGVyUHJpY2U6IDU0OTkgfSxcbiAgICAgKiAgICAgeyB1c2VyU3ViOiBcInVzZXItMTIzXCIgfVxuICAgICAqICk7XG4gICAgICovXG4gICAgdXBkYXRlID0gYXN5bmMgKFxuICAgICAgICBicm93c0hpc3RvcnlJZDogc3RyaW5nLFxuICAgICAgICB1cGRhdGVzOiBQYXJ0aWFsPEJyb3dzSGlzdG9yeT4sXG4gICAgICAgIGF1dGhDb250ZXh0PzogQXV0aENvbnRleHRcbiAgICApOiBQcm9taXNlPEJyb3dzSGlzdG9yeT4gPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgQnJvd3NIaXN0b3J5TW9kZWwudXBkYXRlKFxuICAgICAgICAgICAgeyBicm93c0hpc3RvcnlJZCB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLnVwZGF0ZXMsXG4gICAgICAgICAgICAgICAgdXBkYXRlZF90aW1lOiBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgICAgIHVwZGF0ZWRfdXNlcjogYXV0aENvbnRleHQ/LnVzZXJTdWJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uOiBuZXcgZHluYW1vb3NlLkNvbmRpdGlvbigpLmF0dHJpYnV0ZShcImJyb3dzSGlzdG9yeUlkXCIpLmV4aXN0cygpXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1cGRhdGVkIGFzIHVua25vd24gYXMgQnJvd3NIaXN0b3J5O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBGZXRjaGVzIG9uZSBicm93c2UtaGlzdG9yeSByZWNvcmQgYnkgcHJpbWFyeSBrZXkuXG4gICAgICpcbiAgICAgKiBVc2Ugd2hlbjogZGV0YWlsIHNjcmVlbiBhbHJlYWR5IGhhcyBgYnJvd3NIaXN0b3J5SWRgIGZyb20gYSBwcmV2aW91cyBsaXN0IHJlc3BvbnNlLlxuICAgICAqIFJldHVybnMgYG51bGxgIHdoZW4gcmVjb3JkIGlzIG5vdCBmb3VuZC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogY29uc3QgaXRlbSA9IGF3YWl0IGJyb3dzSGlzdG9yeURhby5nZXRCeUlkKFwiYnJvd3MtaGlzdG9yeS11dWlkXCIpO1xuICAgICAqL1xuICAgIGdldEJ5SWQgPSBhc3luYyAoYnJvd3NIaXN0b3J5SWQ6IHN0cmluZyk6IFByb21pc2U8QnJvd3NIaXN0b3J5IHwgbnVsbD4gPT4gdGhpcy5nZXQoYnJvd3NIaXN0b3J5SWQpO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBicm93c2UtaGlzdG9yeSBmb3IgYSB1c2VyIHdpdGggb3B0aW9uYWwgc29ydCBhbmQgbGltaXQuXG4gICAgICpcbiAgICAgKiBVc2Ugd2hlbjogc2hvd2luZyBcIlJlY2VudGx5IFZpZXdlZFwiIG9yIGZ1bGwgYnJvd3NlIGhpc3Rvcnkgb24gaG9tZS9wcm9maWxlIHNjcmVlbi5cbiAgICAgKiAtIFF1ZXJpZXMgYWxsIHBhZ2VzIGZyb20gR1NJIGB1c2VySWRJbmRleGAsIHRoZW4gc29ydHMgaW4gbWVtb3J5LlxuICAgICAqIC0gUGFzcyBgc29ydEJ5YCBhcyBgXCJjcmVhdGVkX3RpbWVcImAgb3IgYFwidXBkYXRlZF90aW1lXCJgIHRvIG9yZGVyIHJlc3VsdHMuXG4gICAgICogLSBEZWZhdWx0IGBzb3J0T3JkZXJgIGlzIGBcImRlc2NcImAgKG5ld2VzdCBmaXJzdCkuXG4gICAgICogLSBgbGltaXRgIGlzIGFwcGxpZWQgYWZ0ZXIgc29ydGluZyBzbyBsYXRlc3QgTiBpdGVtcyBhcmUgcmV0dXJuZWQgY29ycmVjdGx5LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBMYXRlc3QgMTAgYnJvd3NlZCBwbGF0dGVycyAobW9zdCByZWNlbnRseSB1cGRhdGVkIGZpcnN0KVxuICAgICAqIGNvbnN0IHJlY2VudCA9IGF3YWl0IGJyb3dzSGlzdG9yeURhby5nZXRCeVVzZXJJZChcInVzZXItMTIzXCIsIDEwLCBcInVwZGF0ZWRfdGltZVwiKTtcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gT2xkZXN0IHZpZXdlZCBmaXJzdFxuICAgICAqIGNvbnN0IG9sZGVzdEZpcnN0ID0gYXdhaXQgYnJvd3NIaXN0b3J5RGFvLmdldEJ5VXNlcklkKFwidXNlci0xMjNcIiwgdW5kZWZpbmVkLCBcImNyZWF0ZWRfdGltZVwiLCBcImFzY1wiKTtcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gQWxsIGhpc3Rvcnkgd2l0aG91dCBzb3J0aW5nIChyYXcgRHluYW1vREIgb3JkZXIpXG4gICAgICogY29uc3QgYWxsID0gYXdhaXQgYnJvd3NIaXN0b3J5RGFvLmdldEJ5VXNlcklkKFwidXNlci0xMjNcIik7XG4gICAgICovXG4gICAgZ2V0QnlVc2VySWQgPSBhc3luYyAoXG4gICAgICAgIHVzZXJJZDogc3RyaW5nLFxuICAgICAgICBsaW1pdD86IG51bWJlcixcbiAgICAgICAgc29ydEJ5PzogQnJvd3NIaXN0b3J5U29ydEZpZWxkLFxuICAgICAgICBzb3J0T3JkZXI6IEJyb3dzSGlzdG9yeVNvcnRPcmRlciA9IFwiZGVzY1wiXG4gICAgKTogUHJvbWlzZTxCcm93c0hpc3RvcnlbXT4gPT4ge1xuICAgICAgICBjb25zdCBpdGVtczogQnJvd3NIaXN0b3J5W10gPSBbXTtcbiAgICAgICAgbGV0IHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5saXN0QnlVc2VySWQodXNlcklkLCB1bmRlZmluZWQsIHRva2VuKTtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goLi4ucmVzdWx0Lml0ZW1zKTtcbiAgICAgICAgICAgIHRva2VuID0gcmVzdWx0Lm5leHRUb2tlbjtcbiAgICAgICAgfSB3aGlsZSAodG9rZW4pO1xuXG4gICAgICAgIGNvbnN0IHNvcnRlZEl0ZW1zID0gdGhpcy5zb3J0QnJvd3NIaXN0b3J5SXRlbXMoaXRlbXMsIHNvcnRCeSwgc29ydE9yZGVyKTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIiA/IHNvcnRlZEl0ZW1zLnNsaWNlKDAsIGxpbWl0KSA6IHNvcnRlZEl0ZW1zO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZWFkcyB0aW1lc3RhbXAgZnJvbSBhdWRpdCBmaWVsZCB1c2VkIGZvciBpbi1tZW1vcnkgc29ydGluZy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEJyb3dzSGlzdG9yeVNvcnRUaW1lID0gKGl0ZW06IEJyb3dzSGlzdG9yeSwgZmllbGQ6IEJyb3dzSGlzdG9yeVNvcnRGaWVsZCk6IG51bWJlciA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbVtmaWVsZF07XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyB2YWx1ZS5nZXRUaW1lKCkgOiBuZXcgRGF0ZSh2YWx1ZSkuZ2V0VGltZSgpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBTb3J0cyBicm93c2UtaGlzdG9yeSBpdGVtcyBieSBgY3JlYXRlZF90aW1lYCBvciBgdXBkYXRlZF90aW1lYC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNvcnRCcm93c0hpc3RvcnlJdGVtcyA9IChcbiAgICAgICAgaXRlbXM6IEJyb3dzSGlzdG9yeVtdLFxuICAgICAgICBzb3J0Qnk/OiBCcm93c0hpc3RvcnlTb3J0RmllbGQsXG4gICAgICAgIHNvcnRPcmRlcjogQnJvd3NIaXN0b3J5U29ydE9yZGVyID0gXCJkZXNjXCJcbiAgICApOiBCcm93c0hpc3RvcnlbXSA9PiB7XG4gICAgICAgIGlmICghc29ydEJ5KSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBzb3J0T3JkZXIgPT09IFwiYXNjXCIgPyAxIDogLTE7XG4gICAgICAgIHJldHVybiBbLi4uaXRlbXNdLnNvcnQoXG4gICAgICAgICAgICAoYSwgYikgPT4gKHRoaXMuZ2V0QnJvd3NIaXN0b3J5U29ydFRpbWUoYSwgc29ydEJ5KSAtIHRoaXMuZ2V0QnJvd3NIaXN0b3J5U29ydFRpbWUoYiwgc29ydEJ5KSkgKiBkaXJlY3Rpb25cbiAgICAgICAgKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUGFnaW5hdGVkIHF1ZXJ5IG9uIEdTSSBgdXNlcklkSW5kZXhgLlxuICAgICAqXG4gICAgICogVXNlIHdoZW46IGluZmluaXRlIHNjcm9sbCAvIGxvYWQtbW9yZSBVSSB3aGVyZSB5b3UgcGFzcyBgbmV4dFRva2VuYCBmcm9tIHByZXZpb3VzIHJlc3BvbnNlLlxuICAgICAqIEZvciBzb3J0ZWQgXCJyZWNlbnQgTlwiIHZpZXdzIHByZWZlciBgZ2V0QnlVc2VySWRgIGluc3RlYWQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGNvbnN0IHBhZ2UxID0gYXdhaXQgYnJvd3NIaXN0b3J5RGFvLmxpc3RCeVVzZXJJZChcInVzZXItMTIzXCIsIDIwKTtcbiAgICAgKiBjb25zdCBwYWdlMiA9IGF3YWl0IGJyb3dzSGlzdG9yeURhby5saXN0QnlVc2VySWQoXCJ1c2VyLTEyM1wiLCAyMCwgcGFnZTEubmV4dFRva2VuKTtcbiAgICAgKi9cbiAgICBsaXN0QnlVc2VySWQgPSBhc3luYyAodXNlcklkOiBzdHJpbmcsIGxpbWl0PzogbnVtYmVyLCB0b2tlbj86IHN0cmluZyk6IFByb21pc2U8TGlzdFJlc3VsdD4gPT4ge1xuICAgICAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSB0aGlzLmRlY29kZSh0b2tlbik7XG4gICAgICAgIGxldCBxdWVyeUJ1aWxkZXIgPSBCcm93c0hpc3RvcnlNb2RlbC5xdWVyeShcInVzZXJJZFwiKS5lcSh1c2VySWQpLnVzaW5nKFwidXNlcklkSW5kZXhcIik7XG4gICAgICAgIGlmIChkZWNvZGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5zdGFydEF0KGRlY29kZWRUb2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtczogcXVlcnlSZXN1bHQgYXMgdW5rbm93biBhcyBCcm93c0hpc3RvcnlbXSxcbiAgICAgICAgICAgIG5leHRUb2tlbjogYXdhaXQgdGhpcy5lbmNvZGUocXVlcnlSZXN1bHQubGFzdEtleSBhcyBEeW5hbW9LZXkgfCB1bmRlZmluZWQpXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgb25lIGJyb3dzZS1oaXN0b3J5IHJlY29yZCBieSBwcmltYXJ5IGtleS5cbiAgICAgKlxuICAgICAqIFVzZSB3aGVuOiB1c2VyIGNsZWFycyBhIHNpbmdsZSBpdGVtIGZyb20gYnJvd3NlIGhpc3RvcnkuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGF3YWl0IGJyb3dzSGlzdG9yeURhby5kZWxldGVCeUlkKFwiYnJvd3MtaGlzdG9yeS11dWlkXCIpO1xuICAgICAqL1xuICAgIGRlbGV0ZUJ5SWQgPSBhc3luYyAoYnJvd3NIaXN0b3J5SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZShicm93c0hpc3RvcnlJZCk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGJyb3dzSGlzdG9yeURhbyA9IG5ldyBCcm93c0hpc3RvcnlEYW8oKTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseDynamooseModel } from "../../base-dynamoose-model";
|
|
2
|
+
export interface BrowsHistory extends BaseDynamooseModel {
|
|
3
|
+
browsHistoryId: string;
|
|
4
|
+
userId: string;
|
|
5
|
+
resumeJourneyId: string;
|
|
6
|
+
platterId: string;
|
|
7
|
+
platterName: string;
|
|
8
|
+
platterType: string;
|
|
9
|
+
platterSubType?: string;
|
|
10
|
+
platterPrice: number;
|
|
11
|
+
totalItems: number;
|
|
12
|
+
menuType: string;
|
|
13
|
+
mealTime: string;
|
|
14
|
+
platterImage: string;
|
|
15
|
+
replaceItemIds: string[];
|
|
16
|
+
addonIds: string[];
|
|
17
|
+
cutleryIds: string[];
|
|
18
|
+
liveCounterIds: string[];
|
|
19
|
+
skewerAddonIds: string[];
|
|
20
|
+
}
|
|
21
|
+
export type CreateBrowsHistoryInput = Omit<BrowsHistory, "browsHistoryId"> & {
|
|
22
|
+
browsHistoryId?: string;
|
|
23
|
+
};
|
|
24
|
+
export declare const BrowsHistoryModel: import("dynamoose/dist/General").ModelType<BrowsHistory>;
|
|
25
|
+
export declare const convertToBrowsHistoryModel: (input: CreateBrowsHistoryInput | BrowsHistory) => BrowsHistory;
|
|
@@ -0,0 +1,98 @@
|
|
|
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.convertToBrowsHistoryModel = exports.BrowsHistoryModel = 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 browsHistorySchema = new dynamoose_1.default.Schema({
|
|
12
|
+
browsHistoryId: {
|
|
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: [String],
|
|
66
|
+
default: []
|
|
67
|
+
},
|
|
68
|
+
addonIds: {
|
|
69
|
+
type: Array,
|
|
70
|
+
schema: [String],
|
|
71
|
+
default: []
|
|
72
|
+
},
|
|
73
|
+
cutleryIds: {
|
|
74
|
+
type: Array,
|
|
75
|
+
schema: [String],
|
|
76
|
+
default: []
|
|
77
|
+
},
|
|
78
|
+
liveCounterIds: {
|
|
79
|
+
type: Array,
|
|
80
|
+
schema: [String],
|
|
81
|
+
default: []
|
|
82
|
+
},
|
|
83
|
+
skewerAddonIds: {
|
|
84
|
+
type: Array,
|
|
85
|
+
schema: [String],
|
|
86
|
+
default: []
|
|
87
|
+
},
|
|
88
|
+
...base_dynamoose_model_1.BASE_DYNAMOOSE_AUDIT_SCHEMA
|
|
89
|
+
}, {
|
|
90
|
+
saveUnknown: false,
|
|
91
|
+
timestamps: true
|
|
92
|
+
});
|
|
93
|
+
exports.BrowsHistoryModel = dynamoose_1.default.model(table_names_1.TABLE_NAMES.BROWS_HISTORY, browsHistorySchema, { create: false, waitForActive: false });
|
|
94
|
+
const convertToBrowsHistoryModel = (input) => {
|
|
95
|
+
return new exports.BrowsHistoryModel(input);
|
|
96
|
+
};
|
|
97
|
+
exports.convertToBrowsHistoryModel = convertToBrowsHistoryModel;
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3MtaGlzdG9yeS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2Jyb3dzLWhpc3RvcnkvYnJvd3MtaGlzdG9yeS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFDbEMsbUNBQW9DO0FBQ3BDLHFFQUE2RjtBQUM3RiwwREFBdUQ7QUEwQnZELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxtQkFBUyxDQUFDLE1BQU0sQ0FDM0M7SUFDSSxjQUFjLEVBQUU7UUFDWixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBQSxtQkFBVSxHQUFFO0tBQzlCO0lBQ0QsTUFBTSxFQUFFO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxlQUFlLEVBQUU7UUFDYixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELFdBQVcsRUFBRTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxXQUFXLEVBQUU7UUFDVCxJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsY0FBYyxFQUFFLE1BQU07SUFDdEIsWUFBWSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELFVBQVUsRUFBRTtRQUNSLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxRQUFRLEVBQUU7UUFDTixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxjQUFjLEVBQUU7UUFDWixJQUFJLEVBQUUsS0FBSztRQUNYLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixPQUFPLEVBQUUsRUFBRTtLQUNkO0lBQ0QsUUFBUSxFQUFFO1FBQ04sSUFBSSxFQUFFLEtBQUs7UUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLEVBQUU7S0FDZDtJQUNELFVBQVUsRUFBRTtRQUNSLElBQUksRUFBRSxLQUFLO1FBQ1gsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxFQUFFO0tBQ2Q7SUFDRCxjQUFjLEVBQUU7UUFDWixJQUFJLEVBQUUsS0FBSztRQUNYLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixPQUFPLEVBQUUsRUFBRTtLQUNkO0lBQ0QsY0FBYyxFQUFFO1FBQ1osSUFBSSxFQUFFLEtBQUs7UUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLEVBQUU7S0FDZDtJQUNELEdBQUcsa0RBQTJCO0NBQ2pDLEVBQ0Q7SUFDSSxXQUFXLEVBQUUsS0FBSztJQUNsQixVQUFVLEVBQUUsSUFBSTtDQUNuQixDQUNKLENBQUM7QUFFVyxRQUFBLGlCQUFpQixHQUFHLG1CQUFTLENBQUMsS0FBSyxDQUM1Qyx5QkFBVyxDQUFDLGFBQWEsRUFDekIsa0JBQWtCLEVBQ2xCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQzFDLENBQUM7QUFFSyxNQUFNLDBCQUEwQixHQUFHLENBQUMsS0FBNkMsRUFBRSxFQUFFO0lBQ3hGLE9BQU8sSUFBSSx5QkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFGVyxRQUFBLDBCQUEwQiw4QkFFckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZHluYW1vb3NlIGZyb20gXCJkeW5hbW9vc2VcIjtcbmltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgeyBCQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUEsIEJhc2VEeW5hbW9vc2VNb2RlbCB9IGZyb20gXCIuLi8uLi9iYXNlLWR5bmFtb29zZS1tb2RlbFwiO1xuaW1wb3J0IHsgVEFCTEVfTkFNRVMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3RhYmxlLW5hbWVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJvd3NIaXN0b3J5IGV4dGVuZHMgQmFzZUR5bmFtb29zZU1vZGVsIHtcbiAgICBicm93c0hpc3RvcnlJZDogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIHJlc3VtZUpvdXJuZXlJZDogc3RyaW5nO1xuICAgIHBsYXR0ZXJJZDogc3RyaW5nO1xuICAgIHBsYXR0ZXJOYW1lOiBzdHJpbmc7XG4gICAgcGxhdHRlclR5cGU6IHN0cmluZztcbiAgICBwbGF0dGVyU3ViVHlwZT86IHN0cmluZztcbiAgICBwbGF0dGVyUHJpY2U6IG51bWJlcjtcbiAgICB0b3RhbEl0ZW1zOiBudW1iZXI7XG4gICAgbWVudVR5cGU6IHN0cmluZztcbiAgICBtZWFsVGltZTogc3RyaW5nO1xuICAgIHBsYXR0ZXJJbWFnZTogc3RyaW5nO1xuICAgIHJlcGxhY2VJdGVtSWRzOiBzdHJpbmdbXTtcbiAgICBhZGRvbklkczogc3RyaW5nW107XG4gICAgY3V0bGVyeUlkczogc3RyaW5nW107XG4gICAgbGl2ZUNvdW50ZXJJZHM6IHN0cmluZ1tdO1xuICAgIHNrZXdlckFkZG9uSWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQnJvd3NIaXN0b3J5SW5wdXQgPSBPbWl0PEJyb3dzSGlzdG9yeSwgXCJicm93c0hpc3RvcnlJZFwiPiAmIHtcbiAgICBicm93c0hpc3RvcnlJZD86IHN0cmluZztcbn07XG5cbmNvbnN0IGJyb3dzSGlzdG9yeVNjaGVtYSA9IG5ldyBkeW5hbW9vc2UuU2NoZW1hKFxuICAgIHtcbiAgICAgICAgYnJvd3NIaXN0b3J5SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGhhc2hLZXk6IHRydWUsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICgpID0+IHJhbmRvbVVVSUQoKVxuICAgICAgICB9LFxuICAgICAgICB1c2VySWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInVzZXJJZEluZGV4XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByZXN1bWVKb3VybmV5SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHBsYXR0ZXJJZDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcGxhdHRlck5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHBsYXR0ZXJUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBwbGF0dGVyU3ViVHlwZTogU3RyaW5nLFxuICAgICAgICBwbGF0dGVyUHJpY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHRvdGFsSXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIG1lbnVUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBtZWFsVGltZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcGxhdHRlckltYWdlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICByZXBsYWNlSXRlbUlkczoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBzY2hlbWE6IFtTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogW11cbiAgICAgICAgfSxcbiAgICAgICAgYWRkb25JZHM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgc2NoZW1hOiBbU3RyaW5nXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIGN1dGxlcnlJZHM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgc2NoZW1hOiBbU3RyaW5nXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIGxpdmVDb3VudGVySWRzOiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheSxcbiAgICAgICAgICAgIHNjaGVtYTogW1N0cmluZ10sXG4gICAgICAgICAgICBkZWZhdWx0OiBbXVxuICAgICAgICB9LFxuICAgICAgICBza2V3ZXJBZGRvbklkczoge1xuICAgICAgICAgICAgdHlwZTogQXJyYXksXG4gICAgICAgICAgICBzY2hlbWE6IFtTdHJpbmddLFxuICAgICAgICAgICAgZGVmYXVsdDogW11cbiAgICAgICAgfSxcbiAgICAgICAgLi4uQkFTRV9EWU5BTU9PU0VfQVVESVRfU0NIRU1BXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHNhdmVVbmtub3duOiBmYWxzZSxcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZVxuICAgIH1cbik7XG5cbmV4cG9ydCBjb25zdCBCcm93c0hpc3RvcnlNb2RlbCA9IGR5bmFtb29zZS5tb2RlbDxCcm93c0hpc3Rvcnk+KFxuICAgIFRBQkxFX05BTUVTLkJST1dTX0hJU1RPUlksXG4gICAgYnJvd3NIaXN0b3J5U2NoZW1hLFxuICAgIHsgY3JlYXRlOiBmYWxzZSwgd2FpdEZvckFjdGl2ZTogZmFsc2UgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRUb0Jyb3dzSGlzdG9yeU1vZGVsID0gKGlucHV0OiBDcmVhdGVCcm93c0hpc3RvcnlJbnB1dCB8IEJyb3dzSGlzdG9yeSkgPT4ge1xuICAgIHJldHVybiBuZXcgQnJvd3NIaXN0b3J5TW9kZWwoaW5wdXQpO1xufTtcbiJdfQ==
|