cmp-aws-database 1.7.1 → 2.0.0-proddebug.2
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/base-dynamoose-dao.d.ts +83 -0
- package/dist/base-dynamoose-dao.js +197 -0
- package/dist/base-dynamoose-model.d.ts +33 -0
- package/dist/base-dynamoose-model.js +14 -0
- package/dist/config/database-factory.js +2 -2
- package/dist/config/table-names.d.ts +6 -0
- package/dist/config/table-names.js +7 -1
- package/dist/customer-user/cart/cart-categories-model.d.ts +2 -0
- package/dist/customer-user/cart/cart-categories-model.js +9 -1
- package/dist/customer-user/cart/cart-model.d.ts +25 -0
- package/dist/customer-user/cart/cart-model.js +87 -2
- package/dist/customer-user/content/content-model.d.ts +8 -0
- package/dist/customer-user/content/content-model.js +5 -1
- package/dist/customer-user/cutlery/cutlery-model.d.ts +1 -0
- package/dist/customer-user/cutlery/cutlery-model.js +5 -1
- package/dist/customer-user/default-platter/default-platters-model.d.ts +1 -0
- package/dist/customer-user/default-platter/default-platters-model.js +5 -1
- package/dist/customer-user/items/items-model.d.ts +2 -0
- package/dist/customer-user/items/items-model.js +9 -1
- package/dist/customer-user/live-counter/live-counter-dao.d.ts +6 -0
- package/dist/customer-user/live-counter/live-counter-dao.js +8 -0
- package/dist/customer-user/live-counter/live-counter-model.d.ts +12 -0
- package/dist/customer-user/live-counter/live-counter-model.js +57 -0
- package/dist/customer-user/order-module/plate-order/plate-order-model.d.ts +27 -0
- package/dist/customer-user/order-module/plate-order/plate-order-model.js +100 -10
- package/dist/customer-user/platter-fit-module/platter-fit-dao.d.ts +41 -0
- package/dist/customer-user/platter-fit-module/platter-fit-dao.js +107 -0
- package/dist/customer-user/platter-fit-module/platter-fit-model.d.ts +29 -0
- package/dist/customer-user/platter-fit-module/platter-fit-model.js +88 -0
- package/dist/customer-user/platter-ranking/platter-ranking-dao.d.ts +13 -0
- package/dist/customer-user/platter-ranking/platter-ranking-dao.js +32 -0
- package/dist/customer-user/platter-ranking/platter-ranking-model.d.ts +22 -0
- package/dist/customer-user/platter-ranking/platter-ranking-model.js +92 -0
- package/dist/customer-user/promo-codes/influencer-promo-dao.d.ts +33 -0
- package/dist/customer-user/promo-codes/influencer-promo-dao.js +94 -0
- package/dist/customer-user/promo-codes/influencer-promo-model.d.ts +19 -0
- package/dist/customer-user/promo-codes/influencer-promo-model.js +67 -0
- package/dist/customer-user/promo-codes/influencer-referral-dao.d.ts +34 -0
- package/dist/customer-user/promo-codes/influencer-referral-dao.js +115 -0
- package/dist/customer-user/promo-codes/influencer-referral-model.d.ts +13 -0
- package/dist/customer-user/promo-codes/influencer-referral-model.js +62 -0
- package/dist/customer-user/recommendation/recommendation-dao.d.ts +6 -0
- package/dist/customer-user/recommendation/recommendation-dao.js +8 -0
- package/dist/customer-user/recommendation/recommendation-model.d.ts +12 -0
- package/dist/customer-user/recommendation/recommendation-model.js +57 -0
- package/dist/customer-user/replace-items/replace-items-dao.d.ts +6 -0
- package/dist/customer-user/replace-items/replace-items-dao.js +8 -0
- package/dist/customer-user/replace-items/replace-items-model.d.ts +17 -0
- package/dist/customer-user/replace-items/replace-items-model.js +77 -0
- package/dist/customer-user/resume-journey/resume-journey-model.d.ts +1 -0
- package/dist/customer-user/resume-journey/resume-journey-model.js +5 -1
- package/dist/customer-user/skewers/skewers-model.js +21 -21
- package/package.json +1 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PlatterRankingModel = exports.RankedPlatterEntry = void 0;
|
|
13
|
+
const annotations_1 = require("@nova-odm/annotations");
|
|
14
|
+
const base_model_1 = require("../../base-model");
|
|
15
|
+
/** One row in `rankedPlatters` (matches stored JSON shape). */
|
|
16
|
+
class RankedPlatterEntry {
|
|
17
|
+
}
|
|
18
|
+
exports.RankedPlatterEntry = RankedPlatterEntry;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, annotations_1.attribute)(),
|
|
21
|
+
__metadata("design:type", Number)
|
|
22
|
+
], RankedPlatterEntry.prototype, "rank", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, annotations_1.attribute)(),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], RankedPlatterEntry.prototype, "platterName", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, annotations_1.attribute)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], RankedPlatterEntry.prototype, "platterId", void 0);
|
|
31
|
+
let PlatterRankingModel = class PlatterRankingModel extends base_model_1.BaseModel {
|
|
32
|
+
};
|
|
33
|
+
exports.PlatterRankingModel = PlatterRankingModel;
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, annotations_1.autoGeneratedHashKey)({ type: "String" }),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], PlatterRankingModel.prototype, "rankId", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, annotations_1.attribute)({ type: "String" }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], PlatterRankingModel.prototype, "occasionName", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, annotations_1.attribute)({ indexKeyConfigurations: { occasionAndPlatterTypeIndex: "HASH" }, type: "String" }),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], PlatterRankingModel.prototype, "occasionType", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, annotations_1.attribute)(),
|
|
48
|
+
__metadata("design:type", Number)
|
|
49
|
+
], PlatterRankingModel.prototype, "minPax", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, annotations_1.attribute)(),
|
|
52
|
+
__metadata("design:type", Number)
|
|
53
|
+
], PlatterRankingModel.prototype, "maxPax", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, annotations_1.attribute)({ type: "String" }),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], PlatterRankingModel.prototype, "budgetTier", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, annotations_1.attribute)(),
|
|
60
|
+
__metadata("design:type", Number)
|
|
61
|
+
], PlatterRankingModel.prototype, "minBudget", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, annotations_1.attribute)(),
|
|
64
|
+
__metadata("design:type", Number)
|
|
65
|
+
], PlatterRankingModel.prototype, "maxBudget", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, annotations_1.attribute)({
|
|
68
|
+
indexKeyConfigurations: { platterTypeIndex: "HASH", occasionAndPlatterTypeIndex: "RANGE" },
|
|
69
|
+
type: "String",
|
|
70
|
+
}),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], PlatterRankingModel.prototype, "platterType", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, annotations_1.attribute)({ type: "String" }),
|
|
75
|
+
__metadata("design:type", String)
|
|
76
|
+
], PlatterRankingModel.prototype, "platterSubType", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, annotations_1.attribute)(),
|
|
79
|
+
__metadata("design:type", Array)
|
|
80
|
+
], PlatterRankingModel.prototype, "rankedPlatters", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, annotations_1.attribute)({ indexKeyConfigurations: { "statusIndex": "HASH" }, type: 'String' }),
|
|
83
|
+
__metadata("design:type", String)
|
|
84
|
+
], PlatterRankingModel.prototype, "status", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, annotations_1.attribute)(),
|
|
87
|
+
__metadata("design:type", Number)
|
|
88
|
+
], PlatterRankingModel.prototype, "version", void 0);
|
|
89
|
+
exports.PlatterRankingModel = PlatterRankingModel = __decorate([
|
|
90
|
+
(0, annotations_1.table)("PlatterRankingTable")
|
|
91
|
+
], PlatterRankingModel);
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdHRlci1yYW5raW5nLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWVyLXVzZXIvcGxhdHRlci1yYW5raW5nL3BsYXR0ZXItcmFua2luZy1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1REFBK0U7QUFDL0UsaURBQTZDO0FBRTdDLCtEQUErRDtBQUMvRCxNQUFhLGtCQUFrQjtDQVM5QjtBQVRELGdEQVNDO0FBUEc7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2dEQUNDO0FBR2I7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3VEQUNRO0FBR3BCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztxREFDTTtBQUlmLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW9CLFNBQVEsc0JBQVM7Q0EwQ2pELENBQUE7QUExQ1ksa0RBQW1CO0FBRTVCO0lBREMsSUFBQSxrQ0FBb0IsRUFBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7bURBQzFCO0FBR2Y7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O3lEQUNUO0FBR3JCO0lBREMsSUFBQSx1QkFBUyxFQUFDLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O3lEQUMxRTtBQUdyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7bURBQ0c7QUFHZjtJQURDLElBQUEsdUJBQVMsR0FBRTs7bURBQ0c7QUFHZjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7dURBQ1g7QUFHbkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3NEQUNNO0FBR2xCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztzREFDTTtBQU1sQjtJQUpDLElBQUEsdUJBQVMsRUFBQztRQUNQLHNCQUFzQixFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRTtRQUMxRixJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDOzt3REFDa0I7QUFHcEI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJEQUNQO0FBR3ZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzsyREFDeUI7QUFHckM7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O21EQUNsRTtBQUdmO0lBREMsSUFBQSx1QkFBUyxHQUFFOztvREFDSTs4QkF6Q1AsbUJBQW1CO0lBRC9CLElBQUEsbUJBQUssRUFBQyxxQkFBcUIsQ0FBQztHQUNoQixtQkFBbUIsQ0EwQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXR0cmlidXRlLCBhdXRvR2VuZXJhdGVkSGFzaEtleSwgdGFibGUgfSBmcm9tIFwiQG5vdmEtb2RtL2Fubm90YXRpb25zXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbFwiO1xuXG4vKiogT25lIHJvdyBpbiBgcmFua2VkUGxhdHRlcnNgIChtYXRjaGVzIHN0b3JlZCBKU09OIHNoYXBlKS4gKi9cbmV4cG9ydCBjbGFzcyBSYW5rZWRQbGF0dGVyRW50cnkge1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHJhbms6IG51bWJlcjtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBsYXR0ZXJOYW1lOiBzdHJpbmc7XG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVySWQ6IHN0cmluZztcbn1cblxuQHRhYmxlKFwiUGxhdHRlclJhbmtpbmdUYWJsZVwiKVxuZXhwb3J0IGNsYXNzIFBsYXR0ZXJSYW5raW5nTW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICAgIEBhdXRvR2VuZXJhdGVkSGFzaEtleSh7IHR5cGU6IFwiU3RyaW5nXCIgfSlcbiAgICByYW5rSWQ6IHN0cmluZztcblxuICAgIEBhdHRyaWJ1dGUoeyB0eXBlOiBcIlN0cmluZ1wiIH0pXG4gICAgb2NjYXNpb25OYW1lOiBzdHJpbmc7XG5cbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBvY2Nhc2lvbkFuZFBsYXR0ZXJUeXBlSW5kZXg6IFwiSEFTSFwiIH0sIHR5cGU6IFwiU3RyaW5nXCIgfSlcbiAgICBvY2Nhc2lvblR5cGU6IHN0cmluZztcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1pblBheDogbnVtYmVyO1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWF4UGF4OiBudW1iZXI7XG5cbiAgICBAYXR0cmlidXRlKHsgdHlwZTogXCJTdHJpbmdcIiB9KVxuICAgIGJ1ZGdldFRpZXI6IHN0cmluZzsgLy8gVkFMVUUsIFNUQU5EQVJELCBQUkVNSVVNLCBFQ09OT01ZXG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBtaW5CdWRnZXQ6IG51bWJlcjtcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1heEJ1ZGdldDogbnVtYmVyO1xuXG4gICAgQGF0dHJpYnV0ZSh7XG4gICAgICAgIGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgcGxhdHRlclR5cGVJbmRleDogXCJIQVNIXCIsIG9jY2FzaW9uQW5kUGxhdHRlclR5cGVJbmRleDogXCJSQU5HRVwiIH0sXG4gICAgICAgIHR5cGU6IFwiU3RyaW5nXCIsXG4gICAgfSlcbiAgICBwbGF0dGVyVHlwZTogc3RyaW5nO1xuXG4gICAgQGF0dHJpYnV0ZSh7IHR5cGU6IFwiU3RyaW5nXCIgfSlcbiAgICBwbGF0dGVyU3ViVHlwZTogc3RyaW5nO1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcmFua2VkUGxhdHRlcnM6IFJhbmtlZFBsYXR0ZXJFbnRyeVtdO1xuXG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJzdGF0dXNJbmRleFwiOiBcIkhBU0hcIiB9LCB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIHN0YXR1czogc3RyaW5nO1xuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgdmVyc2lvbjogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { GenericDynamooseDAO } from "../../base-dynamoose-dao";
|
|
2
|
+
import { AuthContext } from "../../base-dynamoose-model";
|
|
3
|
+
import { CreateInfluencerPromoInput, InfluencerPromo, InfluencerPromoStatus } from "./influencer-promo-model";
|
|
4
|
+
type ListResult = {
|
|
5
|
+
items: InfluencerPromo[];
|
|
6
|
+
nextToken?: string;
|
|
7
|
+
};
|
|
8
|
+
declare class InfluencerPromoDao extends GenericDynamooseDAO<InfluencerPromo> {
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Creates one influencer promo; `influencerId` is auto-generated when omitted.
|
|
12
|
+
*/
|
|
13
|
+
save: (item: CreateInfluencerPromoInput, authContext?: AuthContext) => Promise<InfluencerPromo>;
|
|
14
|
+
/**
|
|
15
|
+
* Updates by primary key with existence condition.
|
|
16
|
+
*/
|
|
17
|
+
update: (influencerId: string, updates: Partial<InfluencerPromo>, authContext?: AuthContext) => Promise<InfluencerPromo>;
|
|
18
|
+
getById: (influencerId: string) => Promise<InfluencerPromo | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Query by status (GSI `statusIndex`).
|
|
21
|
+
*/
|
|
22
|
+
listByStatus: (status: InfluencerPromoStatus, limit?: number, token?: string) => Promise<ListResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Query by promo code only (GSI `promoCodeIndex`).
|
|
25
|
+
*/
|
|
26
|
+
listByPromoCode: (promoCode: string, limit?: number, token?: string) => Promise<ListResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Query by promo code + status (composite GSI `promoCodeStatusIndex`).
|
|
29
|
+
*/
|
|
30
|
+
listByPromoCodeAndStatus: (promoCode: string, status: InfluencerPromoStatus, limit?: number, token?: string) => Promise<ListResult>;
|
|
31
|
+
}
|
|
32
|
+
export declare const influencerPromoDao: InfluencerPromoDao;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,94 @@
|
|
|
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.influencerPromoDao = void 0;
|
|
7
|
+
const dynamoose_1 = __importDefault(require("dynamoose"));
|
|
8
|
+
const base_dynamoose_dao_1 = require("../../base-dynamoose-dao");
|
|
9
|
+
const influencer_promo_model_1 = require("./influencer-promo-model");
|
|
10
|
+
class InfluencerPromoDao extends base_dynamoose_dao_1.GenericDynamooseDAO {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(influencer_promo_model_1.InfluencerPromoModel, "influencerId");
|
|
13
|
+
/**
|
|
14
|
+
* Creates one influencer promo; `influencerId` is auto-generated when omitted.
|
|
15
|
+
*/
|
|
16
|
+
this.save = async (item, authContext) => {
|
|
17
|
+
return super.save(item, authContext);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Updates by primary key with existence condition.
|
|
21
|
+
*/
|
|
22
|
+
this.update = async (influencerId, updates, authContext) => {
|
|
23
|
+
const updated = await influencer_promo_model_1.InfluencerPromoModel.update({ influencerId }, {
|
|
24
|
+
...updates,
|
|
25
|
+
updated_time: new Date(),
|
|
26
|
+
updated_user: authContext?.userSub
|
|
27
|
+
}, {
|
|
28
|
+
condition: new dynamoose_1.default.Condition().attribute("influencerId").exists()
|
|
29
|
+
});
|
|
30
|
+
return updated;
|
|
31
|
+
};
|
|
32
|
+
this.getById = async (influencerId) => this.get(influencerId);
|
|
33
|
+
/**
|
|
34
|
+
* Query by status (GSI `statusIndex`).
|
|
35
|
+
*/
|
|
36
|
+
this.listByStatus = async (status, limit, token) => {
|
|
37
|
+
const decodedToken = this.decode(token);
|
|
38
|
+
let queryBuilder = influencer_promo_model_1.InfluencerPromoModel.query("status").eq(status).using("statusIndex");
|
|
39
|
+
if (decodedToken) {
|
|
40
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
41
|
+
}
|
|
42
|
+
if (typeof limit === "number") {
|
|
43
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
44
|
+
}
|
|
45
|
+
const queryResult = await queryBuilder.exec();
|
|
46
|
+
return {
|
|
47
|
+
items: queryResult,
|
|
48
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Query by promo code only (GSI `promoCodeIndex`).
|
|
53
|
+
*/
|
|
54
|
+
this.listByPromoCode = async (promoCode, limit, token) => {
|
|
55
|
+
const decodedToken = this.decode(token);
|
|
56
|
+
let queryBuilder = influencer_promo_model_1.InfluencerPromoModel.query("promoCode").eq(promoCode).using("promoCodeIndex");
|
|
57
|
+
if (decodedToken) {
|
|
58
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
59
|
+
}
|
|
60
|
+
if (typeof limit === "number") {
|
|
61
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
62
|
+
}
|
|
63
|
+
const queryResult = await queryBuilder.exec();
|
|
64
|
+
return {
|
|
65
|
+
items: queryResult,
|
|
66
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Query by promo code + status (composite GSI `promoCodeStatusIndex`).
|
|
71
|
+
*/
|
|
72
|
+
this.listByPromoCodeAndStatus = async (promoCode, status, limit, token) => {
|
|
73
|
+
const decodedToken = this.decode(token);
|
|
74
|
+
let queryBuilder = influencer_promo_model_1.InfluencerPromoModel.query("promoCode")
|
|
75
|
+
.eq(promoCode)
|
|
76
|
+
.where("status")
|
|
77
|
+
.eq(status)
|
|
78
|
+
.using("promoCodeStatusIndex");
|
|
79
|
+
if (decodedToken) {
|
|
80
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
81
|
+
}
|
|
82
|
+
if (typeof limit === "number") {
|
|
83
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
84
|
+
}
|
|
85
|
+
const queryResult = await queryBuilder.exec();
|
|
86
|
+
return {
|
|
87
|
+
items: queryResult,
|
|
88
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.influencerPromoDao = new InfluencerPromoDao();
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mbHVlbmNlci1wcm9tby1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9wcm9tby1jb2Rlcy9pbmZsdWVuY2VyLXByb21vLWRhby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFDbEMsaUVBQTBFO0FBRTFFLHFFQUtrQztBQU9sQyxNQUFNLGtCQUFtQixTQUFRLHdDQUFvQztJQUNqRTtRQUNJLEtBQUssQ0FBQyw2Q0FBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUdoRDs7V0FFRztRQUNILFNBQUksR0FBRyxLQUFLLEVBQUUsSUFBZ0MsRUFBRSxXQUF5QixFQUE0QixFQUFFO1lBQ25HLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUF1QixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQztRQUVGOztXQUVHO1FBQ0gsV0FBTSxHQUFHLEtBQUssRUFDVixZQUFvQixFQUNwQixPQUFpQyxFQUNqQyxXQUF5QixFQUNELEVBQUU7WUFDMUIsTUFBTSxPQUFPLEdBQUcsTUFBTSw2Q0FBb0IsQ0FBQyxNQUFNLENBQzdDLEVBQUUsWUFBWSxFQUFFLEVBQ2hCO2dCQUNJLEdBQUcsT0FBTztnQkFDVixZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hCLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTzthQUNyQyxFQUNEO2dCQUNJLFNBQVMsRUFBRSxJQUFJLG1CQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sRUFBRTthQUMxRSxDQUNKLENBQUM7WUFDRixPQUFPLE9BQXFDLENBQUM7UUFDakQsQ0FBQyxDQUFDO1FBRUYsWUFBTyxHQUFHLEtBQUssRUFBRSxZQUFvQixFQUFtQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRzs7V0FFRztRQUNILGlCQUFZLEdB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Q0FBQyxXQUFXLENBQUMsT0FBZ0MsQ0FBQzthQUM3RSxDQUFDO1FBQ04sQ0FBQyxDQUFDO0lBakdGLENBQUM7Q0FrR0o7QUFFWSxRQUFBLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkeW5hbW9vc2UgZnJvbSBcImR5bmFtb29zZVwiO1xuaW1wb3J0IHsgRHluYW1vS2V5LCBHZW5lcmljRHluYW1vb3NlREFPIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZHluYW1vb3NlLWRhb1wiO1xuaW1wb3J0IHsgQXV0aENvbnRleHQgfSBmcm9tIFwiLi4vLi4vYmFzZS1keW5hbW9vc2UtbW9kZWxcIjtcbmltcG9ydCB7XG4gICAgQ3JlYXRlSW5mbHVlbmNlclByb21vSW5wdXQsXG4gICAgSW5mbHVlbmNlclByb21vLFxuICAgIEluZmx1ZW5jZXJQcm9tb01vZGVsLFxuICAgIEluZmx1ZW5jZXJQcm9tb1N0YXR1c1xufSBmcm9tIFwiLi9pbmZsdWVuY2VyLXByb21vLW1vZGVsXCI7XG5cbnR5cGUgTGlzdFJlc3VsdCA9IHtcbiAgICBpdGVtczogSW5mbHVlbmNlclByb21vW107XG4gICAgbmV4dFRva2VuPzogc3RyaW5nO1xufTtcblxuY2xhc3MgSW5mbHVlbmNlclByb21vRGFvIGV4dGVuZHMgR2VuZXJpY0R5bmFtb29zZURBTzxJbmZsdWVuY2VyUHJvbW8+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoSW5mbHVlbmNlclByb21vTW9kZWwsIFwiaW5mbHVlbmNlcklkXCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgb25lIGluZmx1ZW5jZXIgcHJvbW87IGBpbmZsdWVuY2VySWRgIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gb21pdHRlZC5cbiAgICAgKi9cbiAgICBzYXZlID0gYXN5bmMgKGl0ZW06IENyZWF0ZUluZmx1ZW5jZXJQcm9tb0lucHV0LCBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0KTogUHJvbWlzZTxJbmZsdWVuY2VyUHJvbW8+ID0+IHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLnNhdmUoaXRlbSBhcyBJbmZsdWVuY2VyUHJvbW8sIGF1dGhDb250ZXh0KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBieSBwcmltYXJ5IGtleSB3aXRoIGV4aXN0ZW5jZSBjb25kaXRpb24uXG4gICAgICovXG4gICAgdXBkYXRlID0gYXN5bmMgKFxuICAgICAgICBpbmZsdWVuY2VySWQ6IHN0cmluZyxcbiAgICAgICAgdXBkYXRlczogUGFydGlhbDxJbmZsdWVuY2VyUHJvbW8+LFxuICAgICAgICBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0XG4gICAgKTogUHJvbWlzZTxJbmZsdWVuY2VyUHJvbW8+ID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZCA9IGF3YWl0IEluZmx1ZW5jZXJQcm9tb01vZGVsLnVwZGF0ZShcbiAgICAgICAgICAgIHsgaW5mbHVlbmNlcklkIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udXBkYXRlcyxcbiAgICAgICAgICAgICAgICB1cGRhdGVkX3RpbWU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgdXBkYXRlZF91c2VyOiBhdXRoQ29udGV4dD8udXNlclN1YlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb246IG5ldyBkeW5hbW9vc2UuQ29uZGl0aW9uKCkuYXR0cmlidXRlKFwiaW5mbHVlbmNlcklkXCIpLmV4aXN0cygpXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1cGRhdGVkIGFzIHVua25vd24gYXMgSW5mbHVlbmNlclByb21vO1xuICAgIH07XG5cbiAgICBnZXRCeUlkID0gYXN5bmMgKGluZmx1ZW5jZXJJZDogc3RyaW5nKTogUHJvbWlzZTxJbmZsdWVuY2VyUHJvbW8gfCBudWxsPiA9PiB0aGlzLmdldChpbmZsdWVuY2VySWQpO1xuXG4gICAgLyoqXG4gICAgICogUXVlcnkgYnkgc3RhdHVzIChHU0kgYHN0YXR1c0luZGV4YCkuXG4gICAgICovXG4gICAgbGlzdEJ5U3RhdHVzID0gYXN5bmMgKHN0YXR1czogSW5mbHVlbmNlclByb21vU3RhdHVzLCBsaW1pdD86IG51bWJlciwgdG9rZW4/OiBzdHJpbmcpOiBQcm9taXNlPExpc3RSZXN1bHQ+ID0+IHtcbiAgICAgICAgY29uc3QgZGVjb2RlZFRva2VuID0gdGhpcy5kZWNvZGUodG9rZW4pO1xuICAgICAgICBsZXQgcXVlcnlCdWlsZGVyID0gSW5mbHVlbmNlclByb21vTW9kZWwucXVlcnkoXCJzdGF0dXNcIikuZXEoc3RhdHVzKS51c2luZyhcInN0YXR1c0luZGV4XCIpO1xuICAgICAgICBpZiAoZGVjb2RlZFRva2VuKSB7XG4gICAgICAgICAgICBxdWVyeUJ1aWxkZXIgPSBxdWVyeUJ1aWxkZXIuc3RhcnRBdChkZWNvZGVkVG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbGltaXQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5saW1pdChsaW1pdCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlcnlSZXN1bHQgPSBhd2FpdCBxdWVyeUJ1aWxkZXIuZXhlYygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXRlbXM6IHF1ZXJ5UmVzdWx0IGFzIHVua25vd24gYXMgSW5mbHVlbmNlclByb21vW10sXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBRdWVyeSBieSBwcm9tbyBjb2RlIG9ubHkgKEdTSSBgcHJvbW9Db2RlSW5kZXhgKS5cbiAgICAgKi9cbiAgICBsaXN0QnlQcm9tb0NvZGUgPSBhc3luYyAocHJvbW9Db2RlOiBzdHJpbmcsIGxpbWl0PzogbnVtYmVyLCB0b2tlbj86IHN0cmluZyk6IFByb21pc2U8TGlzdFJlc3VsdD4gPT4ge1xuICAgICAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSB0aGlzLmRlY29kZSh0b2tlbik7XG4gICAgICAgIGxldCBxdWVyeUJ1aWxkZXIgPSBJbmZsdWVuY2VyUHJvbW9Nb2RlbC5xdWVyeShcInByb21vQ29kZVwiKS5lcShwcm9tb0NvZGUpLnVzaW5nKFwicHJvbW9Db2RlSW5kZXhcIik7XG4gICAgICAgIGlmIChkZWNvZGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5zdGFydEF0KGRlY29kZWRUb2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtczogcXVlcnlSZXN1bHQgYXMgdW5rbm93biBhcyBJbmZsdWVuY2VyUHJvbW9bXSxcbiAgICAgICAgICAgIG5leHRUb2tlbjogYXdhaXQgdGhpcy5lbmNvZGUocXVlcnlSZXN1bHQubGFzdEtleSBhcyBEeW5hbW9LZXkgfCB1bmRlZmluZWQpXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFF1ZXJ5IGJ5IHByb21vIGNvZGUgKyBzdGF0dXMgKGNvbXBvc2l0ZSBHU0kgYHByb21vQ29kZVN0YXR1c0luZGV4YCkuXG4gICAgICovXG4gICAgbGlzdEJ5UHJvbW9Db2RlQW5kU3RhdHVzID0gYXN5bmMgKFxuICAgICAgICBwcm9tb0NvZGU6IHN0cmluZyxcbiAgICAgICAgc3RhdHVzOiBJbmZsdWVuY2VyUHJvbW9TdGF0dXMsXG4gICAgICAgIGxpbWl0PzogbnVtYmVyLFxuICAgICAgICB0b2tlbj86IHN0cmluZ1xuICAgICk6IFByb21pc2U8TGlzdFJlc3VsdD4gPT4ge1xuICAgICAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSB0aGlzLmRlY29kZSh0b2tlbik7XG4gICAgICAgIGxldCBxdWVyeUJ1aWxkZXIgPSBJbmZsdWVuY2VyUHJvbW9Nb2RlbC5xdWVyeShcInByb21vQ29kZVwiKVxuICAgICAgICAgICAgLmVxKHByb21vQ29kZSlcbiAgICAgICAgICAgIC53aGVyZShcInN0YXR1c1wiKVxuICAgICAgICAgICAgLmVxKHN0YXR1cylcbiAgICAgICAgICAgIC51c2luZyhcInByb21vQ29kZVN0YXR1c0luZGV4XCIpO1xuICAgICAgICBpZiAoZGVjb2RlZFRva2VuKSB7XG4gICAgICAgICAgICBxdWVyeUJ1aWxkZXIgPSBxdWVyeUJ1aWxkZXIuc3RhcnRBdChkZWNvZGVkVG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbGltaXQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5saW1pdChsaW1pdCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlcnlSZXN1bHQgPSBhd2FpdCBxdWVyeUJ1aWxkZXIuZXhlYygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXRlbXM6IHF1ZXJ5UmVzdWx0IGFzIHVua25vd24gYXMgSW5mbHVlbmNlclByb21vW10sXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBpbmZsdWVuY2VyUHJvbW9EYW8gPSBuZXcgSW5mbHVlbmNlclByb21vRGFvKCk7XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseDynamooseModel } from "../../base-dynamoose-model";
|
|
2
|
+
export declare const INFLUENCER_PROMO_STATUS: {
|
|
3
|
+
readonly ACTIVE: "ACTIVE";
|
|
4
|
+
readonly INACTIVE: "INACTIVE";
|
|
5
|
+
};
|
|
6
|
+
export type InfluencerPromoStatus = (typeof INFLUENCER_PROMO_STATUS)[keyof typeof INFLUENCER_PROMO_STATUS];
|
|
7
|
+
export interface InfluencerPromo extends BaseDynamooseModel {
|
|
8
|
+
influencerId: string;
|
|
9
|
+
promoCode: string;
|
|
10
|
+
influencerName: string;
|
|
11
|
+
promoAmount: number;
|
|
12
|
+
emailId?: string;
|
|
13
|
+
status: InfluencerPromoStatus;
|
|
14
|
+
}
|
|
15
|
+
export type CreateInfluencerPromoInput = Omit<InfluencerPromo, "influencerId"> & {
|
|
16
|
+
influencerId?: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const InfluencerPromoModel: import("dynamoose/dist/General").ModelType<InfluencerPromo>;
|
|
19
|
+
export declare const convertToInfluencerPromoModel: (input: CreateInfluencerPromoInput | InfluencerPromo) => InfluencerPromo;
|
|
@@ -0,0 +1,67 @@
|
|
|
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.convertToInfluencerPromoModel = exports.InfluencerPromoModel = exports.INFLUENCER_PROMO_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.INFLUENCER_PROMO_STATUS = {
|
|
12
|
+
ACTIVE: "ACTIVE",
|
|
13
|
+
INACTIVE: "INACTIVE"
|
|
14
|
+
};
|
|
15
|
+
const influencerPromoSchema = new dynamoose_1.default.Schema({
|
|
16
|
+
influencerId: {
|
|
17
|
+
type: String,
|
|
18
|
+
hashKey: true,
|
|
19
|
+
required: true,
|
|
20
|
+
default: () => (0, crypto_1.randomUUID)()
|
|
21
|
+
},
|
|
22
|
+
promoCode: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: true,
|
|
25
|
+
index: [
|
|
26
|
+
{
|
|
27
|
+
name: "promoCodeIndex",
|
|
28
|
+
type: "global"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "promoCodeStatusIndex",
|
|
32
|
+
type: "global",
|
|
33
|
+
rangeKey: "status"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
influencerName: {
|
|
38
|
+
type: String,
|
|
39
|
+
required: false
|
|
40
|
+
},
|
|
41
|
+
promoAmount: {
|
|
42
|
+
type: Number,
|
|
43
|
+
required: true
|
|
44
|
+
},
|
|
45
|
+
emailId: {
|
|
46
|
+
type: String,
|
|
47
|
+
required: false
|
|
48
|
+
},
|
|
49
|
+
status: {
|
|
50
|
+
type: String,
|
|
51
|
+
required: true,
|
|
52
|
+
enum: [exports.INFLUENCER_PROMO_STATUS.ACTIVE, exports.INFLUENCER_PROMO_STATUS.INACTIVE],
|
|
53
|
+
index: {
|
|
54
|
+
name: "statusIndex",
|
|
55
|
+
type: "global"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
...base_dynamoose_model_1.BASE_DYNAMOOSE_AUDIT_SCHEMA
|
|
59
|
+
}, {
|
|
60
|
+
saveUnknown: false
|
|
61
|
+
});
|
|
62
|
+
exports.InfluencerPromoModel = dynamoose_1.default.model(table_names_1.TABLE_NAMES.INFLUENCER_PROMO, influencerPromoSchema, { create: false, waitForActive: false });
|
|
63
|
+
const convertToInfluencerPromoModel = (input) => {
|
|
64
|
+
return new exports.InfluencerPromoModel(input);
|
|
65
|
+
};
|
|
66
|
+
exports.convertToInfluencerPromoModel = convertToInfluencerPromoModel;
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mbHVlbmNlci1wcm9tby1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL3Byb21vLWNvZGVzL2luZmx1ZW5jZXItcHJvbW8tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBQWtDO0FBQ2xDLG1DQUFvQztBQUNwQyxxRUFBNkY7QUFDN0YsMERBQXVEO0FBRTFDLFFBQUEsdUJBQXVCLEdBQUc7SUFDbkMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFVBQVU7Q0FDZCxDQUFDO0FBaUJYLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxtQkFBUyxDQUFDLE1BQU0sQ0FDOUM7SUFDSSxZQUFZLEVBQUU7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBQSxtQkFBVSxHQUFFO0tBQzlCO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNIO2dCQUNJLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLElBQUksRUFBRSxRQUFRO2FBQ2pCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLHNCQUFzQjtnQkFDNUIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7YUFDckI7U0FDSjtLQUNKO0lBQ0QsY0FBYyxFQUFFO1FBQ1osSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsS0FBSztLQUNsQjtJQUNELFdBQVcsRUFBRTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxPQUFPLEVBQUU7UUFDTCxJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxLQUFLO0tBQ2xCO0lBQ0QsTUFBTSxFQUFFO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLElBQUksRUFBRSxDQUFDLCtCQUF1QixDQUFDLE1BQU0sRUFBRSwrQkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDeEUsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtJQUNELEdBQUcsa0RBQTJCO0NBQ2pDLEVBQ0Q7SUFDSSxXQUFXLEVBQUUsS0FBSztDQUNyQixDQUNKLENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHLG1CQUFTLENBQUMsS0FBSyxDQUMvQyx5QkFBVyxDQUFDLGdCQUFnQixFQUM1QixxQkFBcUIsRUFDckIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FDMUMsQ0FBQztBQUVLLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxLQUFtRCxFQUFFLEVBQUU7SUFDakcsT0FBTyxJQUFJLDRCQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQUZXLFFBQUEsNkJBQTZCLGlDQUV4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkeW5hbW9vc2UgZnJvbSBcImR5bmFtb29zZVwiO1xuaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IEJBU0VfRFlOQU1PT1NFX0FVRElUX1NDSEVNQSwgQmFzZUR5bmFtb29zZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZHluYW1vb3NlLW1vZGVsXCI7XG5pbXBvcnQgeyBUQUJMRV9OQU1FUyB9IGZyb20gXCIuLi8uLi9jb25maWcvdGFibGUtbmFtZXNcIjtcblxuZXhwb3J0IGNvbnN0IElORkxVRU5DRVJfUFJPTU9fU1RBVFVTID0ge1xuICAgIEFDVElWRTogXCJBQ1RJVkVcIixcbiAgICBJTkFDVElWRTogXCJJTkFDVElWRVwiXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBJbmZsdWVuY2VyUHJvbW9TdGF0dXMgPSAodHlwZW9mIElORkxVRU5DRVJfUFJPTU9fU1RBVFVTKVtrZXlvZiB0eXBlb2YgSU5GTFVFTkNFUl9QUk9NT19TVEFUVVNdO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluZmx1ZW5jZXJQcm9tbyBleHRlbmRzIEJhc2VEeW5hbW9vc2VNb2RlbCB7XG4gICAgaW5mbHVlbmNlcklkOiBzdHJpbmc7XG4gICAgcHJvbW9Db2RlOiBzdHJpbmc7XG4gICAgaW5mbHVlbmNlck5hbWU6IHN0cmluZztcbiAgICBwcm9tb0Ftb3VudDogbnVtYmVyO1xuICAgIGVtYWlsSWQ/OiBzdHJpbmc7XG4gICAgc3RhdHVzOiBJbmZsdWVuY2VyUHJvbW9TdGF0dXM7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUluZmx1ZW5jZXJQcm9tb0lucHV0ID0gT21pdDxJbmZsdWVuY2VyUHJvbW8sIFwiaW5mbHVlbmNlcklkXCI+ICYge1xuICAgIGluZmx1ZW5jZXJJZD86IHN0cmluZztcbn07XG5cbmNvbnN0IGluZmx1ZW5jZXJQcm9tb1NjaGVtYSA9IG5ldyBkeW5hbW9vc2UuU2NoZW1hKFxuICAgIHtcbiAgICAgICAgaW5mbHVlbmNlcklkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBoYXNoS2V5OiB0cnVlLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0OiAoKSA9PiByYW5kb21VVUlEKClcbiAgICAgICAgfSxcbiAgICAgICAgcHJvbW9Db2RlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIGluZGV4OiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInByb21vQ29kZUluZGV4XCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2xvYmFsXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJwcm9tb0NvZGVTdGF0dXNJbmRleFwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImdsb2JhbFwiLFxuICAgICAgICAgICAgICAgICAgICByYW5nZUtleTogXCJzdGF0dXNcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgaW5mbHVlbmNlck5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBwcm9tb0Ftb3VudDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgZW1haWxJZDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXR1czoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICBlbnVtOiBbSU5GTFVFTkNFUl9QUk9NT19TVEFUVVMuQUNUSVZFLCBJTkZMVUVOQ0VSX1BST01PX1NUQVRVUy5JTkFDVElWRV0sXG4gICAgICAgICAgICBpbmRleDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwic3RhdHVzSW5kZXhcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImdsb2JhbFwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC4uLkJBU0VfRFlOQU1PT1NFX0FVRElUX1NDSEVNQVxuICAgIH0sXG4gICAge1xuICAgICAgICBzYXZlVW5rbm93bjogZmFsc2VcbiAgICB9XG4pO1xuXG5leHBvcnQgY29uc3QgSW5mbHVlbmNlclByb21vTW9kZWwgPSBkeW5hbW9vc2UubW9kZWw8SW5mbHVlbmNlclByb21vPihcbiAgICBUQUJMRV9OQU1FUy5JTkZMVUVOQ0VSX1BST01PLFxuICAgIGluZmx1ZW5jZXJQcm9tb1NjaGVtYSxcbiAgICB7IGNyZWF0ZTogZmFsc2UsIHdhaXRGb3JBY3RpdmU6IGZhbHNlIH1cbik7XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VG9JbmZsdWVuY2VyUHJvbW9Nb2RlbCA9IChpbnB1dDogQ3JlYXRlSW5mbHVlbmNlclByb21vSW5wdXQgfCBJbmZsdWVuY2VyUHJvbW8pID0+IHtcbiAgICByZXR1cm4gbmV3IEluZmx1ZW5jZXJQcm9tb01vZGVsKGlucHV0KTtcbn07Il19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { GenericDynamooseDAO } from "../../base-dynamoose-dao";
|
|
2
|
+
import { AuthContext } from "../../base-dynamoose-model";
|
|
3
|
+
import { CreateInfluencerReferralInput, InfluencerReferral } from "./influencer-referral-model";
|
|
4
|
+
type ListResult = {
|
|
5
|
+
items: InfluencerReferral[];
|
|
6
|
+
nextToken?: string;
|
|
7
|
+
};
|
|
8
|
+
declare class InfluencerReferralDao extends GenericDynamooseDAO<InfluencerReferral> {
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Creates one record; `influencerReferralId` is auto-generated when omitted.
|
|
12
|
+
*/
|
|
13
|
+
save: (item: CreateInfluencerReferralInput, authContext?: AuthContext) => Promise<InfluencerReferral>;
|
|
14
|
+
update: (influencerReferralId: string, updates: Partial<InfluencerReferral>, authContext?: AuthContext) => Promise<InfluencerReferral>;
|
|
15
|
+
getById: (influencerReferralId: string) => Promise<InfluencerReferral | null>;
|
|
16
|
+
/**
|
|
17
|
+
* GSI `referralUserIdIndex`.
|
|
18
|
+
*/
|
|
19
|
+
listByReferralUserId: (referralUserId: string, limit?: number, token?: string) => Promise<ListResult>;
|
|
20
|
+
/**
|
|
21
|
+
* GSI `promoCodeIndex` (partition only).
|
|
22
|
+
*/
|
|
23
|
+
listByPromoCode: (promoCode: string, limit?: number, token?: string) => Promise<ListResult>;
|
|
24
|
+
/**
|
|
25
|
+
* GSI `influencerIdIndex`.
|
|
26
|
+
*/
|
|
27
|
+
listByInfluencerId: (influencerId: string, limit?: number, token?: string) => Promise<ListResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Composite GSI `promoCodeReferralUserIndex`: promoCode (HASH) + referralUserId (RANGE).
|
|
30
|
+
*/
|
|
31
|
+
listByPromoCodeAndReferralUser: (promoCode: string, referralUserId: string, limit?: number, token?: string) => Promise<ListResult>;
|
|
32
|
+
}
|
|
33
|
+
export declare const influencerReferralDao: InfluencerReferralDao;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,115 @@
|
|
|
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.influencerReferralDao = void 0;
|
|
7
|
+
const dynamoose_1 = __importDefault(require("dynamoose"));
|
|
8
|
+
const base_dynamoose_dao_1 = require("../../base-dynamoose-dao");
|
|
9
|
+
const influencer_referral_model_1 = require("./influencer-referral-model");
|
|
10
|
+
class InfluencerReferralDao extends base_dynamoose_dao_1.GenericDynamooseDAO {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(influencer_referral_model_1.InfluencerReferralModel, "influencerReferralId");
|
|
13
|
+
/**
|
|
14
|
+
* Creates one record; `influencerReferralId` is auto-generated when omitted.
|
|
15
|
+
*/
|
|
16
|
+
this.save = async (item, authContext) => {
|
|
17
|
+
return super.save(item, authContext);
|
|
18
|
+
};
|
|
19
|
+
this.update = async (influencerReferralId, updates, authContext) => {
|
|
20
|
+
const updated = await influencer_referral_model_1.InfluencerReferralModel.update({ influencerReferralId }, {
|
|
21
|
+
...updates,
|
|
22
|
+
updated_time: new Date(),
|
|
23
|
+
updated_user: authContext?.userSub
|
|
24
|
+
}, {
|
|
25
|
+
condition: new dynamoose_1.default.Condition().attribute("influencerReferralId").exists()
|
|
26
|
+
});
|
|
27
|
+
return updated;
|
|
28
|
+
};
|
|
29
|
+
this.getById = async (influencerReferralId) => this.get(influencerReferralId);
|
|
30
|
+
/**
|
|
31
|
+
* GSI `referralUserIdIndex`.
|
|
32
|
+
*/
|
|
33
|
+
this.listByReferralUserId = async (referralUserId, limit, token) => {
|
|
34
|
+
const decodedToken = this.decode(token);
|
|
35
|
+
let queryBuilder = influencer_referral_model_1.InfluencerReferralModel.query("referralUserId")
|
|
36
|
+
.eq(referralUserId)
|
|
37
|
+
.using("referralUserIdIndex");
|
|
38
|
+
if (decodedToken) {
|
|
39
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
40
|
+
}
|
|
41
|
+
if (typeof limit === "number") {
|
|
42
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
43
|
+
}
|
|
44
|
+
const queryResult = await queryBuilder.exec();
|
|
45
|
+
return {
|
|
46
|
+
items: queryResult,
|
|
47
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* GSI `promoCodeIndex` (partition only).
|
|
52
|
+
*/
|
|
53
|
+
this.listByPromoCode = async (promoCode, limit, token) => {
|
|
54
|
+
const decodedToken = this.decode(token);
|
|
55
|
+
let queryBuilder = influencer_referral_model_1.InfluencerReferralModel.query("promoCode")
|
|
56
|
+
.eq(promoCode)
|
|
57
|
+
.using("promoCodeIndex");
|
|
58
|
+
if (decodedToken) {
|
|
59
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
60
|
+
}
|
|
61
|
+
if (typeof limit === "number") {
|
|
62
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
63
|
+
}
|
|
64
|
+
const queryResult = await queryBuilder.exec();
|
|
65
|
+
return {
|
|
66
|
+
items: queryResult,
|
|
67
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* GSI `influencerIdIndex`.
|
|
72
|
+
*/
|
|
73
|
+
this.listByInfluencerId = async (influencerId, limit, token) => {
|
|
74
|
+
const decodedToken = this.decode(token);
|
|
75
|
+
let queryBuilder = influencer_referral_model_1.InfluencerReferralModel.query("influencerId")
|
|
76
|
+
.eq(influencerId)
|
|
77
|
+
.using("influencerIdIndex");
|
|
78
|
+
if (decodedToken) {
|
|
79
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
80
|
+
}
|
|
81
|
+
if (typeof limit === "number") {
|
|
82
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
83
|
+
}
|
|
84
|
+
const queryResult = await queryBuilder.exec();
|
|
85
|
+
return {
|
|
86
|
+
items: queryResult,
|
|
87
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Composite GSI `promoCodeReferralUserIndex`: promoCode (HASH) + referralUserId (RANGE).
|
|
92
|
+
*/
|
|
93
|
+
this.listByPromoCodeAndReferralUser = async (promoCode, referralUserId, limit, token) => {
|
|
94
|
+
const decodedToken = this.decode(token);
|
|
95
|
+
let queryBuilder = influencer_referral_model_1.InfluencerReferralModel.query("promoCode")
|
|
96
|
+
.eq(promoCode)
|
|
97
|
+
.where("referralUserId")
|
|
98
|
+
.eq(referralUserId)
|
|
99
|
+
.using("promoCodeReferralUserIndex");
|
|
100
|
+
if (decodedToken) {
|
|
101
|
+
queryBuilder = queryBuilder.startAt(decodedToken);
|
|
102
|
+
}
|
|
103
|
+
if (typeof limit === "number") {
|
|
104
|
+
queryBuilder = queryBuilder.limit(limit);
|
|
105
|
+
}
|
|
106
|
+
const queryResult = await queryBuilder.exec();
|
|
107
|
+
return {
|
|
108
|
+
items: queryResult,
|
|
109
|
+
nextToken: await this.encode(queryResult.lastKey)
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.influencerReferralDao = new InfluencerReferralDao();
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mbHVlbmNlci1yZWZlcnJhbC1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9wcm9tby1jb2Rlcy9pbmZsdWVuY2VyLXJlZmVycmFsLWRhby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFDbEMsaUVBQTBFO0FBRTFFLDJFQUlxQztBQU9yQyxNQUFNLHFCQUFzQixTQUFRLHdDQUF1QztJQUN2RTtRQUNJLEtBQUssQ0FBQyxtREFBdUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBRzNEOztXQUVHO1FBQ0gsU0FBSSxHQUFHLEtBQUssRUFDUixJQUFtQyxFQUNuQyxXQUF5QixFQUNFLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQTBCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDO1FBRUYsV0FBTSxHQUFHLEtBQUssRUFDVixvQkFBNEIsRUFDNUIsT0FBb0MsRUFDcEMsV0FBeUIsRUFDRSxFQUFFO1lBQzdCLE1BQU0sT0FBTyxHQUFHLE1BQU0sbURBQXVCLENBQUMsTUFBTSxDQUNoRCxFQUFFLG9CQUFvQixFQUFFLEVBQ3hCO2dCQUNJLEdBQUcsT0FBTztnQkFDVixZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hCLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTzthQUNyQyxFQUNEO2dCQUNJLFNBQVMsRUFBRSxJQUFJLG1CQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUMsTUFBTSxFQUFFO2FBQ2xGLENBQ0osQ0FBQztZQUNGLE9BQU8sT0FBd0MsQ0FBQztRQUNwRCxDQUFDLENBQUM7UUFFRixZQUFPLEdBQUcsS0FBSyxFQUFFLG9CQUE0QixFQUFzQyxFQUFFLENBQ2pGLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVuQzs7V0FFRztRQUNILHlC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QUMsQ0FBQztRQUVGOztXQUVHO1FBQ0gsbUNBQThCLEdBQUcsS0FBSyxFQUNsQyxTQUFpQixFQUNqQixjQUFzQixFQUN0QixLQUFjLEVBQ2QsS0FBYyxFQUNLLEVBQUU7WUFDckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxJQUFJLFlBQVksR0FBRyxtREFBdUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2lCQUN4RCxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUNiLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDdkIsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDbEIsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDekMsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDZixZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQThDO2dCQUNyRCxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFnQyxDQUFDO2FBQzdFLENBQUM7UUFDTixDQUFDLENBQUM7SUFuSUYsQ0FBQztDQW9JSjtBQUVZLFFBQUEscUJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGR5bmFtb29zZSBmcm9tIFwiZHluYW1vb3NlXCI7XG5pbXBvcnQgeyBEeW5hbW9LZXksIEdlbmVyaWNEeW5hbW9vc2VEQU8gfSBmcm9tIFwiLi4vLi4vYmFzZS1keW5hbW9vc2UtZGFvXCI7XG5pbXBvcnQgeyBBdXRoQ29udGV4dCB9IGZyb20gXCIuLi8uLi9iYXNlLWR5bmFtb29zZS1tb2RlbFwiO1xuaW1wb3J0IHtcbiAgICBDcmVhdGVJbmZsdWVuY2VyUmVmZXJyYWxJbnB1dCxcbiAgICBJbmZsdWVuY2VyUmVmZXJyYWwsXG4gICAgSW5mbHVlbmNlclJlZmVycmFsTW9kZWxcbn0gZnJvbSBcIi4vaW5mbHVlbmNlci1yZWZlcnJhbC1tb2RlbFwiO1xuXG50eXBlIExpc3RSZXN1bHQgPSB7XG4gICAgaXRlbXM6IEluZmx1ZW5jZXJSZWZlcnJhbFtdO1xuICAgIG5leHRUb2tlbj86IHN0cmluZztcbn07XG5cbmNsYXNzIEluZmx1ZW5jZXJSZWZlcnJhbERhbyBleHRlbmRzIEdlbmVyaWNEeW5hbW9vc2VEQU88SW5mbHVlbmNlclJlZmVycmFsPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKEluZmx1ZW5jZXJSZWZlcnJhbE1vZGVsLCBcImluZmx1ZW5jZXJSZWZlcnJhbElkXCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgb25lIHJlY29yZDsgYGluZmx1ZW5jZXJSZWZlcnJhbElkYCBpcyBhdXRvLWdlbmVyYXRlZCB3aGVuIG9taXR0ZWQuXG4gICAgICovXG4gICAgc2F2ZSA9IGFzeW5jIChcbiAgICAgICAgaXRlbTogQ3JlYXRlSW5mbHVlbmNlclJlZmVycmFsSW5wdXQsXG4gICAgICAgIGF1dGhDb250ZXh0PzogQXV0aENvbnRleHRcbiAgICApOiBQcm9taXNlPEluZmx1ZW5jZXJSZWZlcnJhbD4gPT4ge1xuICAgICAgICByZXR1cm4gc3VwZXIuc2F2ZShpdGVtIGFzIEluZmx1ZW5jZXJSZWZlcnJhbCwgYXV0aENvbnRleHQpO1xuICAgIH07XG5cbiAgICB1cGRhdGUgPSBhc3luYyAoXG4gICAgICAgIGluZmx1ZW5jZXJSZWZlcnJhbElkOiBzdHJpbmcsXG4gICAgICAgIHVwZGF0ZXM6IFBhcnRpYWw8SW5mbHVlbmNlclJlZmVycmFsPixcbiAgICAgICAgYXV0aENvbnRleHQ/OiBBdXRoQ29udGV4dFxuICAgICk6IFByb21pc2U8SW5mbHVlbmNlclJlZmVycmFsPiA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWQgPSBhd2FpdCBJbmZsdWVuY2VyUmVmZXJyYWxNb2RlbC51cGRhdGUoXG4gICAgICAgICAgICB7IGluZmx1ZW5jZXJSZWZlcnJhbElkIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udXBkYXRlcyxcbiAgICAgICAgICAgICAgICB1cGRhdGVkX3RpbWU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgdXBkYXRlZF91c2VyOiBhdXRoQ29udGV4dD8udXNlclN1YlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb246IG5ldyBkeW5hbW9vc2UuQ29uZGl0aW9uKCkuYXR0cmlidXRlKFwiaW5mbHVlbmNlclJlZmVycmFsSWRcIikuZXhpc3RzKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWQgYXMgdW5rbm93biBhcyBJbmZsdWVuY2VyUmVmZXJyYWw7XG4gICAgfTtcblxuICAgIGdldEJ5SWQgPSBhc3luYyAoaW5mbHVlbmNlclJlZmVycmFsSWQ6IHN0cmluZyk6IFByb21pc2U8SW5mbHVlbmNlclJlZmVycmFsIHwgbnVsbD4gPT5cbiAgICAgICAgdGhpcy5nZXQoaW5mbHVlbmNlclJlZmVycmFsSWQpO1xuXG4gICAgLyoqXG4gICAgICogR1NJIGByZWZlcnJhbFVzZXJJZEluZGV4YC5cbiAgICAgKi9cbiAgICBsaXN0QnlSZWZlcnJhbFVzZXJJZCA9IGFzeW5jIChcbiAgICAgICAgcmVmZXJyYWxVc2VySWQ6IHN0cmluZyxcbiAgICAgICAgbGltaXQ/OiBudW1iZXIsXG4gICAgICAgIHRva2VuPzogc3RyaW5nXG4gICAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IEluZmx1ZW5jZXJSZWZlcnJhbE1vZGVsLnF1ZXJ5KFwicmVmZXJyYWxVc2VySWRcIilcbiAgICAgICAgICAgIC5lcShyZWZlcnJhbFVzZXJJZClcbiAgICAgICAgICAgIC51c2luZyhcInJlZmVycmFsVXNlcklkSW5kZXhcIik7XG4gICAgICAgIGlmIChkZWNvZGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5zdGFydEF0KGRlY29kZWRUb2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtczogcXVlcnlSZXN1bHQgYXMgdW5rbm93biBhcyBJbmZsdWVuY2VyUmVmZXJyYWxbXSxcbiAgICAgICAgICAgIG5leHRUb2tlbjogYXdhaXQgdGhpcy5lbmNvZGUocXVlcnlSZXN1bHQubGFzdEtleSBhcyBEeW5hbW9LZXkgfCB1bmRlZmluZWQpXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdTSSBgcHJvbW9Db2RlSW5kZXhgIChwYXJ0aXRpb24gb25seSkuXG4gICAgICovXG4gICAgbGlzdEJ5UHJvbW9Db2RlID0gYXN5bmMgKHByb21vQ29kZTogc3RyaW5nLCBsaW1pdD86IG51bWJlciwgdG9rZW4/OiBzdHJpbmcpOiBQcm9taXNlPExpc3RSZXN1bHQ+ID0+IHtcbiAgICAgICAgY29uc3QgZGVjb2RlZFRva2VuID0gdGhpcy5kZWNvZGUodG9rZW4pO1xuICAgICAgICBsZXQgcXVlcnlCdWlsZGVyID0gSW5mbHVlbmNlclJlZmVycmFsTW9kZWwucXVlcnkoXCJwcm9tb0NvZGVcIilcbiAgICAgICAgICAgIC5lcShwcm9tb0NvZGUpXG4gICAgICAgICAgICAudXNpbmcoXCJwcm9tb0NvZGVJbmRleFwiKTtcbiAgICAgICAgaWYgKGRlY29kZWRUb2tlbikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLnN0YXJ0QXQoZGVjb2RlZFRva2VuKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGxpbWl0ID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICBxdWVyeUJ1aWxkZXIgPSBxdWVyeUJ1aWxkZXIubGltaXQobGltaXQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHF1ZXJ5UmVzdWx0ID0gYXdhaXQgcXVlcnlCdWlsZGVyLmV4ZWMoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBxdWVyeVJlc3VsdCBhcyB1bmtub3duIGFzIEluZmx1ZW5jZXJSZWZlcnJhbFtdLFxuICAgICAgICAgICAgbmV4dFRva2VuOiBhd2FpdCB0aGlzLmVuY29kZShxdWVyeVJlc3VsdC5sYXN0S2V5IGFzIER5bmFtb0tleSB8IHVuZGVmaW5lZClcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogR1NJIGBpbmZsdWVuY2VySWRJbmRleGAuXG4gICAgICovXG4gICAgbGlzdEJ5SW5mbHVlbmNlcklkID0gYXN5bmMgKFxuICAgICAgICBpbmZsdWVuY2VySWQ6IHN0cmluZyxcbiAgICAgICAgbGltaXQ/OiBudW1iZXIsXG4gICAgICAgIHRva2VuPzogc3RyaW5nXG4gICAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IEluZmx1ZW5jZXJSZWZlcnJhbE1vZGVsLnF1ZXJ5KFwiaW5mbHVlbmNlcklkXCIpXG4gICAgICAgICAgICAuZXEoaW5mbHVlbmNlcklkKVxuICAgICAgICAgICAgLnVzaW5nKFwiaW5mbHVlbmNlcklkSW5kZXhcIik7XG4gICAgICAgIGlmIChkZWNvZGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5zdGFydEF0KGRlY29kZWRUb2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtczogcXVlcnlSZXN1bHQgYXMgdW5rbm93biBhcyBJbmZsdWVuY2VyUmVmZXJyYWxbXSxcbiAgICAgICAgICAgIG5leHRUb2tlbjogYXdhaXQgdGhpcy5lbmNvZGUocXVlcnlSZXN1bHQubGFzdEtleSBhcyBEeW5hbW9LZXkgfCB1bmRlZmluZWQpXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENvbXBvc2l0ZSBHU0kgYHByb21vQ29kZVJlZmVycmFsVXNlckluZGV4YDogcHJvbW9Db2RlIChIQVNIKSArIHJlZmVycmFsVXNlcklkIChSQU5HRSkuXG4gICAgICovXG4gICAgbGlzdEJ5UHJvbW9Db2RlQW5kUmVmZXJyYWxVc2VyID0gYXN5bmMgKFxuICAgICAgICBwcm9tb0NvZGU6IHN0cmluZyxcbiAgICAgICAgcmVmZXJyYWxVc2VySWQ6IHN0cmluZyxcbiAgICAgICAgbGltaXQ/OiBudW1iZXIsXG4gICAgICAgIHRva2VuPzogc3RyaW5nXG4gICAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IEluZmx1ZW5jZXJSZWZlcnJhbE1vZGVsLnF1ZXJ5KFwicHJvbW9Db2RlXCIpXG4gICAgICAgICAgICAuZXEocHJvbW9Db2RlKVxuICAgICAgICAgICAgLndoZXJlKFwicmVmZXJyYWxVc2VySWRcIilcbiAgICAgICAgICAgIC5lcShyZWZlcnJhbFVzZXJJZClcbiAgICAgICAgICAgIC51c2luZyhcInByb21vQ29kZVJlZmVycmFsVXNlckluZGV4XCIpO1xuICAgICAgICBpZiAoZGVjb2RlZFRva2VuKSB7XG4gICAgICAgICAgICBxdWVyeUJ1aWxkZXIgPSBxdWVyeUJ1aWxkZXIuc3RhcnRBdChkZWNvZGVkVG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbGltaXQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5saW1pdChsaW1pdCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlcnlSZXN1bHQgPSBhd2FpdCBxdWVyeUJ1aWxkZXIuZXhlYygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXRlbXM6IHF1ZXJ5UmVzdWx0IGFzIHVua25vd24gYXMgSW5mbHVlbmNlclJlZmVycmFsW10sXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBpbmZsdWVuY2VyUmVmZXJyYWxEYW8gPSBuZXcgSW5mbHVlbmNlclJlZmVycmFsRGFvKCk7XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseDynamooseModel } from "../../base-dynamoose-model";
|
|
2
|
+
export interface InfluencerReferral extends BaseDynamooseModel {
|
|
3
|
+
influencerReferralId: string;
|
|
4
|
+
referralUserId: string;
|
|
5
|
+
rewardAmount: number;
|
|
6
|
+
promoCode: string;
|
|
7
|
+
influencerId: string;
|
|
8
|
+
}
|
|
9
|
+
export type CreateInfluencerReferralInput = Omit<InfluencerReferral, "influencerReferralId"> & {
|
|
10
|
+
influencerReferralId?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const InfluencerReferralModel: import("dynamoose/dist/General").ModelType<InfluencerReferral>;
|
|
13
|
+
export declare const convertToInfluencerReferralModel: (input: CreateInfluencerReferralInput | InfluencerReferral) => InfluencerReferral;
|
|
@@ -0,0 +1,62 @@
|
|
|
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.convertToInfluencerReferralModel = exports.InfluencerReferralModel = 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 influencerReferralSchema = new dynamoose_1.default.Schema({
|
|
12
|
+
influencerReferralId: {
|
|
13
|
+
type: String,
|
|
14
|
+
hashKey: true,
|
|
15
|
+
required: true,
|
|
16
|
+
default: () => (0, crypto_1.randomUUID)()
|
|
17
|
+
},
|
|
18
|
+
referralUserId: {
|
|
19
|
+
type: String,
|
|
20
|
+
required: true,
|
|
21
|
+
index: {
|
|
22
|
+
name: "referralUserIdIndex",
|
|
23
|
+
type: "global"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
rewardAmount: {
|
|
27
|
+
type: Number,
|
|
28
|
+
required: true
|
|
29
|
+
},
|
|
30
|
+
promoCode: {
|
|
31
|
+
type: String,
|
|
32
|
+
required: true,
|
|
33
|
+
index: [
|
|
34
|
+
{
|
|
35
|
+
name: "promoCodeIndex",
|
|
36
|
+
type: "global"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "promoCodeReferralUserIndex",
|
|
40
|
+
type: "global",
|
|
41
|
+
rangeKey: "referralUserId"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
influencerId: {
|
|
46
|
+
type: String,
|
|
47
|
+
required: true,
|
|
48
|
+
index: {
|
|
49
|
+
name: "influencerIdIndex",
|
|
50
|
+
type: "global"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
...base_dynamoose_model_1.BASE_DYNAMOOSE_AUDIT_SCHEMA
|
|
54
|
+
}, {
|
|
55
|
+
saveUnknown: false
|
|
56
|
+
});
|
|
57
|
+
exports.InfluencerReferralModel = dynamoose_1.default.model(table_names_1.TABLE_NAMES.INFLUENCER_REFERRAL, influencerReferralSchema, { create: false, waitForActive: false });
|
|
58
|
+
const convertToInfluencerReferralModel = (input) => {
|
|
59
|
+
return new exports.InfluencerReferralModel(input);
|
|
60
|
+
};
|
|
61
|
+
exports.convertToInfluencerReferralModel = convertToInfluencerReferralModel;
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mbHVlbmNlci1yZWZlcnJhbC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL3Byb21vLWNvZGVzL2luZmx1ZW5jZXItcmVmZXJyYWwtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBQWtDO0FBQ2xDLG1DQUFvQztBQUNwQyxxRUFBNkY7QUFDN0YsMERBQXVEO0FBY3ZELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxtQkFBUyxDQUFDLE1BQU0sQ0FDakQ7SUFDSSxvQkFBb0IsRUFBRTtRQUNsQixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBQSxtQkFBVSxHQUFFO0tBQzlCO0lBQ0QsY0FBYyxFQUFFO1FBQ1osSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxxQkFBcUI7WUFDM0IsSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxTQUFTLEVBQUU7UUFDUCxJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO1FBQ2QsS0FBSyxFQUFFO1lBQ0g7Z0JBQ0ksSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7YUFDakI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsZ0JBQWdCO2FBQzdCO1NBQ0o7S0FDSjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxHQUFHLGtEQUEyQjtDQUNqQyxFQUNEO0lBQ0ksV0FBVyxFQUFFLEtBQUs7Q0FDckIsQ0FDSixDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBRyxtQkFBUyxDQUFDLEtBQUssQ0FDbEQseUJBQVcsQ0FBQyxtQkFBbUIsRUFDL0Isd0JBQXdCLEVBQ3hCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQzFDLENBQUM7QUFFSyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsS0FBeUQsRUFBRSxFQUFFO0lBQzFHLE9BQU8sSUFBSSwrQkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFGVyxRQUFBLGdDQUFnQyxvQ0FFM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZHluYW1vb3NlIGZyb20gXCJkeW5hbW9vc2VcIjtcbmltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgeyBCQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUEsIEJhc2VEeW5hbW9vc2VNb2RlbCB9IGZyb20gXCIuLi8uLi9iYXNlLWR5bmFtb29zZS1tb2RlbFwiO1xuaW1wb3J0IHsgVEFCTEVfTkFNRVMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3RhYmxlLW5hbWVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5mbHVlbmNlclJlZmVycmFsIGV4dGVuZHMgQmFzZUR5bmFtb29zZU1vZGVsIHtcbiAgICBpbmZsdWVuY2VyUmVmZXJyYWxJZDogc3RyaW5nO1xuICAgIHJlZmVycmFsVXNlcklkOiBzdHJpbmc7XG4gICAgcmV3YXJkQW1vdW50OiBudW1iZXI7XG4gICAgcHJvbW9Db2RlOiBzdHJpbmc7XG4gICAgaW5mbHVlbmNlcklkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUluZmx1ZW5jZXJSZWZlcnJhbElucHV0ID0gT21pdDxJbmZsdWVuY2VyUmVmZXJyYWwsIFwiaW5mbHVlbmNlclJlZmVycmFsSWRcIj4gJiB7XG4gICAgaW5mbHVlbmNlclJlZmVycmFsSWQ/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBpbmZsdWVuY2VyUmVmZXJyYWxTY2hlbWEgPSBuZXcgZHluYW1vb3NlLlNjaGVtYShcbiAgICB7XG4gICAgICAgIGluZmx1ZW5jZXJSZWZlcnJhbElkOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBoYXNoS2V5OiB0cnVlLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0OiAoKSA9PiByYW5kb21VVUlEKClcbiAgICAgICAgfSxcbiAgICAgICAgcmVmZXJyYWxVc2VySWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInJlZmVycmFsVXNlcklkSW5kZXhcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImdsb2JhbFwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJld2FyZEFtb3VudDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcHJvbW9Db2RlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIGluZGV4OiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInByb21vQ29kZUluZGV4XCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2xvYmFsXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJwcm9tb0NvZGVSZWZlcnJhbFVzZXJJbmRleFwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImdsb2JhbFwiLFxuICAgICAgICAgICAgICAgICAgICByYW5nZUtleTogXCJyZWZlcnJhbFVzZXJJZFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBpbmZsdWVuY2VySWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImluZmx1ZW5jZXJJZEluZGV4XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi5CQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUFcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2F2ZVVua25vd246IGZhbHNlXG4gICAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IEluZmx1ZW5jZXJSZWZlcnJhbE1vZGVsID0gZHluYW1vb3NlLm1vZGVsPEluZmx1ZW5jZXJSZWZlcnJhbD4oXG4gICAgVEFCTEVfTkFNRVMuSU5GTFVFTkNFUl9SRUZFUlJBTCxcbiAgICBpbmZsdWVuY2VyUmVmZXJyYWxTY2hlbWEsXG4gICAgeyBjcmVhdGU6IGZhbHNlLCB3YWl0Rm9yQWN0aXZlOiBmYWxzZSB9XG4pO1xuXG5leHBvcnQgY29uc3QgY29udmVydFRvSW5mbHVlbmNlclJlZmVycmFsTW9kZWwgPSAoaW5wdXQ6IENyZWF0ZUluZmx1ZW5jZXJSZWZlcnJhbElucHV0IHwgSW5mbHVlbmNlclJlZmVycmFsKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBJbmZsdWVuY2VyUmVmZXJyYWxNb2RlbChpbnB1dCk7XG59O1xuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recommendationDao = void 0;
|
|
4
|
+
const base_dao_1 = require("../../base-dao");
|
|
5
|
+
class RecommendationDao extends base_dao_1.GenericDAO {
|
|
6
|
+
}
|
|
7
|
+
exports.recommendationDao = new RecommendationDao();
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb21tZW5kYXRpb24tZGFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWVyLXVzZXIvcmVjb21tZW5kYXRpb24vcmVjb21tZW5kYXRpb24tZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUc1QyxNQUFNLGlCQUFrQixTQUFRLHFCQUErQjtDQUU5RDtBQUVZLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY0RBTyB9IGZyb20gXCIuLi8uLi9iYXNlLWRhb1wiO1xuaW1wb3J0IHsgUmVjb21tZW5kYXRpb25Nb2RlbCB9IGZyb20gXCIuL3JlY29tbWVuZGF0aW9uLW1vZGVsXCI7XG5cbmNsYXNzIFJlY29tbWVuZGF0aW9uRGFvIGV4dGVuZHMgR2VuZXJpY0RBTzxSZWNvbW1lbmRhdGlvbk1vZGVsPiB7XG5cbn1cblxuZXhwb3J0IGNvbnN0IHJlY29tbWVuZGF0aW9uRGFvID0gbmV3IFJlY29tbWVuZGF0aW9uRGFvKCk7Il19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseModel } from "../../base-model";
|
|
2
|
+
export declare class RecommendationModel extends BaseModel {
|
|
3
|
+
recommendationId: string;
|
|
4
|
+
platterId: string;
|
|
5
|
+
platterName: string;
|
|
6
|
+
platterType: string;
|
|
7
|
+
occasion: string;
|
|
8
|
+
minGuest: number;
|
|
9
|
+
maxGuest: number;
|
|
10
|
+
platterOrder: number;
|
|
11
|
+
recommendationType: string;
|
|
12
|
+
}
|