cmp-aws-database 1.2.0-dev.78 → 1.2.0-dev.79

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.
@@ -0,0 +1,27 @@
1
+ import { BaseModel } from './base-model';
2
+ export interface AuthContext {
3
+ userSub: string;
4
+ clientId?: string;
5
+ }
6
+ export declare const dynamoDB: import("@aws-sdk/client-dynamodb").DynamoDB;
7
+ export declare class GenericDAO<T extends BaseModel> {
8
+ protected model: any;
9
+ constructor(model: any);
10
+ batchUpdate(items: T[], batchSize?: number, authContext?: AuthContext): Promise<T[]>;
11
+ parallelBatchPut(inputItems: T[], batchSize?: number, maxConcurrentSegments?: number, authContext?: AuthContext): Promise<T[]>;
12
+ parallelBatchDelete(inputItems: T[], batchSize?: number, maxConcurrentSegments?: number): Promise<T[]>;
13
+ parallelScan(options?: Record<string, unknown>): Promise<T[]>;
14
+ scan(options?: Record<string, unknown>): Promise<T[]>;
15
+ save(item: T, authContext?: AuthContext): Promise<T>;
16
+ update(item: T, authContext?: AuthContext): Promise<T>;
17
+ delete(item: T): Promise<T | undefined>;
18
+ get(item: T): Promise<T>;
19
+ batchPut(items: T[], authContext?: AuthContext): Promise<T[]>;
20
+ batchDelete(items: T[]): Promise<T[]>;
21
+ batchGet(items: T[]): Promise<T[]>;
22
+ parallelBatchGet(inputItems: T[], batchSize?: number, maxConcurrentSegments?: number): Promise<T[]>;
23
+ parallelQuery(keyConditions: Record<string, unknown>[], maxConcurrentCalls?: number, options?: Record<string, unknown>): Promise<T[]>;
24
+ private customQuery;
25
+ decode(continuationToken: string | undefined): Record<string, unknown> | undefined;
26
+ encode(lastEvaluatedKey: Record<string, unknown>): Promise<string>;
27
+ }
@@ -0,0 +1,250 @@
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.GenericDAO = exports.dynamoDB = void 0;
7
+ const dynamoose_1 = __importDefault(require("dynamoose"));
8
+ exports.dynamoDB = new dynamoose_1.default.aws.ddb.DynamoDB({
9
+ maxAttempts: 10
10
+ });
11
+ class GenericDAO {
12
+ constructor(model) {
13
+ this.model = model;
14
+ }
15
+ async batchUpdate(items, batchSize = 100, authContext) {
16
+ let success = 0, totalToUpdate = items.length;
17
+ let updateItems = [];
18
+ while (items.length > 0) {
19
+ let promises = [];
20
+ let batch = items.splice(0, batchSize);
21
+ promises = batch.map(item => this.update(item, authContext));
22
+ let results = await Promise.allSettled(promises);
23
+ results.forEach(result => {
24
+ if (result.status === "fulfilled") {
25
+ success += 1;
26
+ updateItems.push(result.value);
27
+ }
28
+ });
29
+ console.log(`${success}/${totalToUpdate}`);
30
+ }
31
+ return updateItems;
32
+ }
33
+ async parallelBatchPut(inputItems, batchSize = 1000, maxConcurrentSegments = 20, authContext) {
34
+ let startTime = Date.now();
35
+ let items = [];
36
+ items = items.concat(inputItems);
37
+ items = items.map(item => {
38
+ item.created_time = new Date();
39
+ if (authContext) {
40
+ item.created_user = authContext.userSub;
41
+ }
42
+ return item;
43
+ });
44
+ let maxSegments = [];
45
+ let putItems = [];
46
+ while (items.length > 0) {
47
+ let batch = items.splice(0, batchSize * maxConcurrentSegments);
48
+ let segment = [];
49
+ while (batch.length > 0) {
50
+ segment.push(batch.splice(0, batchSize));
51
+ }
52
+ maxSegments.push(segment);
53
+ }
54
+ for (const segment of maxSegments) {
55
+ let startTime = Date.now();
56
+ let promises = [];
57
+ console.log(`batch length = ${segment.length}`);
58
+ for (const batch of segment) {
59
+ promises.push(this.batchPut(batch, authContext));
60
+ }
61
+ let result = await Promise.all(promises);
62
+ console.log("segment complete");
63
+ result.forEach((res) => {
64
+ putItems = putItems.concat(res);
65
+ });
66
+ console.log(`time for segment put ${Date.now() - startTime}`);
67
+ }
68
+ console.log(`total time for complete parallel put ${Date.now() - startTime}`);
69
+ return putItems;
70
+ }
71
+ async parallelBatchDelete(inputItems, batchSize = 1000, maxConcurrentSegments = 20) {
72
+ let startTime = Date.now();
73
+ let items = [];
74
+ items = items.concat(inputItems);
75
+ let maxSegments = [];
76
+ let deletedItems = [];
77
+ while (items.length > 0) {
78
+ let batch = items.splice(0, batchSize * maxConcurrentSegments);
79
+ let segment = [];
80
+ while (batch.length > 0) {
81
+ segment.push(batch.splice(0, batchSize));
82
+ }
83
+ maxSegments.push(segment);
84
+ }
85
+ for (const segment of maxSegments) {
86
+ let startTime = Date.now();
87
+ let promises = [];
88
+ console.log(`batch length = ${segment.length}`);
89
+ for (const batch of segment) {
90
+ promises.push(this.batchDelete(batch));
91
+ }
92
+ let result = await Promise.all(promises);
93
+ console.log("segment complete");
94
+ result.forEach((res) => {
95
+ deletedItems = deletedItems.concat(res);
96
+ });
97
+ console.log(`time for segment delete ${Date.now() - startTime}`);
98
+ }
99
+ console.log(`total time for complete parallel delete ${Date.now() - startTime}`);
100
+ return deletedItems;
101
+ }
102
+ async parallelScan(options) {
103
+ let items = [];
104
+ const scan = this.model.scan().all();
105
+ for await (const item of scan) {
106
+ items.push(item);
107
+ if (items.length % 100000 === 0) {
108
+ console.log("read 100K");
109
+ }
110
+ }
111
+ return items;
112
+ }
113
+ async scan(options) {
114
+ let items = [];
115
+ const scan = this.model.scan();
116
+ for await (const item of scan) {
117
+ items.push(item);
118
+ }
119
+ return items;
120
+ }
121
+ async save(item, authContext) {
122
+ item.created_time = new Date();
123
+ if (authContext) {
124
+ item.created_user = authContext.userSub;
125
+ }
126
+ const res = await this.model.create(item);
127
+ return res;
128
+ }
129
+ async update(item, authContext) {
130
+ item.updated_time = new Date();
131
+ if (authContext) {
132
+ item.updated_user = authContext.userSub;
133
+ }
134
+ const res = await this.model.update(item);
135
+ return res;
136
+ }
137
+ async delete(item) {
138
+ return await this.model.delete(item);
139
+ }
140
+ async get(item) {
141
+ const res = await this.model.get(item);
142
+ return res;
143
+ }
144
+ async batchPut(items, authContext) {
145
+ let finalItems = [];
146
+ items = items.map(item => {
147
+ item.created_time = new Date();
148
+ if (authContext) {
149
+ item.created_user = authContext.userSub;
150
+ }
151
+ return item;
152
+ });
153
+ for await (const item of this.model.batchPut(items)) {
154
+ console.log(item);
155
+ finalItems.push(item);
156
+ }
157
+ return finalItems;
158
+ }
159
+ async batchDelete(items) {
160
+ let deleteItems = [];
161
+ for await (const item of this.model.batchDelete(items)) {
162
+ deleteItems.push(item);
163
+ }
164
+ return deleteItems;
165
+ }
166
+ async batchGet(items) {
167
+ let getItems = [];
168
+ for await (const item of this.model.batchGet(items)) {
169
+ getItems.push(item);
170
+ }
171
+ return getItems;
172
+ }
173
+ async parallelBatchGet(inputItems, batchSize = 1000, maxConcurrentSegments = 20) {
174
+ let startTime = Date.now();
175
+ let items = [];
176
+ items = items.concat(inputItems);
177
+ let maxSegments = [];
178
+ let resultItems = [];
179
+ while (items.length > 0) {
180
+ let batch = items.splice(0, batchSize * maxConcurrentSegments);
181
+ let segment = [];
182
+ while (batch.length > 0) {
183
+ segment.push(batch.splice(0, batchSize));
184
+ }
185
+ maxSegments.push(segment);
186
+ }
187
+ for (const segment of maxSegments) {
188
+ let startTime = Date.now();
189
+ let promises = [];
190
+ console.log(`batch length = ${segment.length}`);
191
+ for (const batch of segment) {
192
+ promises.push(this.batchGet(batch));
193
+ }
194
+ let result = await Promise.all(promises);
195
+ console.log("segment complete");
196
+ result.forEach((res) => {
197
+ resultItems = resultItems.concat(res);
198
+ });
199
+ console.log(`time for segment get ${Date.now() - startTime}`);
200
+ }
201
+ console.log(`total time for complete parallel get ${Date.now() - startTime}`);
202
+ return resultItems;
203
+ }
204
+ async parallelQuery(keyConditions, maxConcurrentCalls = 20, options) {
205
+ const startTime = Date.now();
206
+ const results = [];
207
+ while (keyConditions.length > 0) {
208
+ const segmentConditions = keyConditions.splice(0, maxConcurrentCalls);
209
+ const queryPromises = segmentConditions.map((keyCondition) => {
210
+ return this.customQuery(keyCondition, options);
211
+ });
212
+ const queryResults = await Promise.all(queryPromises);
213
+ for (const queryResult of queryResults) {
214
+ results.push(...queryResult);
215
+ }
216
+ }
217
+ console.log(`total time for complete parallel query ${Date.now() - startTime}`);
218
+ return results;
219
+ }
220
+ async customQuery(keyConditions, options) {
221
+ const startTime = Date.now();
222
+ const items = [];
223
+ const query = this.model.query(keyConditions);
224
+ if (options?.limit)
225
+ query.limit(options.limit);
226
+ for await (const item of query) {
227
+ items.push(item);
228
+ }
229
+ console.log(`total time for complete query ${Date.now() - startTime}`);
230
+ return items;
231
+ }
232
+ decode(continuationToken) {
233
+ if (continuationToken) {
234
+ try {
235
+ let lastEvaluatedKey = JSON.parse(Buffer.from(continuationToken, 'base64').toString('utf8'));
236
+ console.log("Incoming Last Evaluated Key " + lastEvaluatedKey);
237
+ return lastEvaluatedKey;
238
+ }
239
+ catch (error) {
240
+ throw new Error('Invalid continuationToken');
241
+ }
242
+ }
243
+ return undefined;
244
+ }
245
+ async encode(lastEvaluatedKey) {
246
+ return Buffer.from(JSON.stringify(lastEvaluatedKey)).toString('base64');
247
+ }
248
+ }
249
+ exports.GenericDAO = GenericDAO;
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYW8tZHluYW1vb3NlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Jhc2UtZGFvLWR5bmFtb29zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFRckIsUUFBQSxRQUFRLEdBQUcsSUFBSSxtQkFBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ25ELFdBQVcsRUFBRSxFQUFFO0NBQ2xCLENBQUMsQ0FBQztBQUVILE1BQWEsVUFBVTtJQUNuQixZQUFzQixLQUFVO1FBQVYsVUFBSyxHQUFMLEtBQUssQ0FBSztJQUFJLENBQUM7SUFFckMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFVLEVBQUUsU0FBUyxHQUFHLEdBQUcsRUFBRSxXQUF5QjtRQUNwRSxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDOUMsSUFBSSxXQUFXLEdBQVEsRUFBRSxDQUFDO1FBRTFCLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLFFBQVEsR0FBaUIsRUFBRSxDQUFDO1lBQ2hDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM3RCxJQUFJLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFakQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO29CQUNoQyxPQUFPLElBQUksQ0FBQyxDQUFDO29CQUNi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Z0IsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPLGdCQUFnQixDQUFDO1lBQzVCLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUF5QztRQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDSjtBQXpSRCxnQ0F5UkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZHluYW1vb3NlIGZyb20gJ2R5bmFtb29zZSc7XG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuL2Jhc2UtbW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb250ZXh0IHtcbiAgICB1c2VyU3ViOiBzdHJpbmc7XG4gICAgY2xpZW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9EQiA9IG5ldyBkeW5hbW9vc2UuYXdzLmRkYi5EeW5hbW9EQih7XG4gICAgbWF4QXR0ZW1wdHM6IDEwXG59KTtcblxuZXhwb3J0IGNsYXNzIEdlbmVyaWNEQU88VCBleHRlbmRzIEJhc2VNb2RlbD4ge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBtb2RlbDogYW55KSB7IH1cblxuICAgIGFzeW5jIGJhdGNoVXBkYXRlKGl0ZW1zOiBUW10sIGJhdGNoU2l6ZSA9IDEwMCwgYXV0aENvbnRleHQ/OiBBdXRoQ29udGV4dCk6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGxldCBzdWNjZXNzID0gMCwgdG90YWxUb1VwZGF0ZSA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgICAgbGV0IHVwZGF0ZUl0ZW1zOiBUW10gPSBbXTtcblxuICAgICAgICB3aGlsZSAoaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IHByb21pc2VzOiBQcm9taXNlPFQ+W10gPSBbXTtcbiAgICAgICAgICAgIGxldCBiYXRjaCA9IGl0ZW1zLnNwbGljZSgwLCBiYXRjaFNpemUpO1xuICAgICAgICAgICAgcHJvbWlzZXMgPSBiYXRjaC5tYXAoaXRlbSA9PiB0aGlzLnVwZGF0ZShpdGVtLCBhdXRoQ29udGV4dCkpO1xuICAgICAgICAgICAgbGV0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocHJvbWlzZXMpO1xuXG4gICAgICAgICAgICByZXN1bHRzLmZvckVhY2gocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzICs9IDE7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUl0ZW1zLnB1c2gocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke3N1Y2Nlc3N9LyR7dG90YWxUb1VwZGF0ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXBkYXRlSXRlbXM7XG4gICAgfVxuXG4gICAgYXN5bmMgcGFyYWxsZWxCYXRjaFB1dChpbnB1dEl0ZW1zOiBUW10sIGJhdGNoU2l6ZTogbnVtYmVyID0gMTAwMCwgbWF4Q29uY3VycmVudFNlZ21lbnRzOiBudW1iZXIgPSAyMCwgYXV0aENvbnRleHQ/OiBBdXRoQ29udGV4dCk6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGxldCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICBsZXQgaXRlbXM6IFRbXSA9IFtdO1xuICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChpbnB1dEl0ZW1zKTtcbiAgICAgICAgaXRlbXMgPSBpdGVtcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLmNyZWF0ZWRfdGltZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBpZiAoYXV0aENvbnRleHQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNyZWF0ZWRfdXNlciA9IGF1dGhDb250ZXh0LnVzZXJTdWI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IG1heFNlZ21lbnRzOiBUW11bXVtdID0gW107XG4gICAgICAgIGxldCBwdXRJdGVtczogVFtdID0gW107XG5cbiAgICAgICAgd2hpbGUgKGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBiYXRjaCA9IGl0ZW1zLnNwbGljZSgwLCBiYXRjaFNpemUgKiBtYXhDb25jdXJyZW50U2VnbWVudHMpO1xuICAgICAgICAgICAgbGV0IHNlZ21lbnQ6IFRbXVtdID0gW107XG4gICAgICAgICAgICB3aGlsZSAoYmF0Y2gubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHNlZ21lbnQucHVzaChiYXRjaC5zcGxpY2UoMCwgYmF0Y2hTaXplKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXhTZWdtZW50cy5wdXNoKHNlZ21lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBzZWdtZW50IG9mIG1heFNlZ21lbnRzKSB7XG4gICAgICAgICAgICBsZXQgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgIGxldCBwcm9taXNlczogUHJvbWlzZTxUW10+W10gPSBbXTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBiYXRjaCBsZW5ndGggPSAke3NlZ21lbnQubGVuZ3RofWApO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGJhdGNoIG9mIHNlZ21lbnQpIHtcbiAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMuYmF0Y2hQdXQoYmF0Y2gsIGF1dGhDb250ZXh0KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInNlZ21lbnQgY29tcGxldGVcIik7XG4gICAgICAgICAgICByZXN1bHQuZm9yRWFjaCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgcHV0SXRlbXMgPSBwdXRJdGVtcy5jb25jYXQocmVzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHRpbWUgZm9yIHNlZ21lbnQgcHV0ICR7RGF0ZS5ub3coKSAtIHN0YXJ0VGltZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKGB0b3RhbCB0aW1lIGZvciBjb21wbGV0ZSBwYXJhbGxlbCBwdXQgJHtEYXRlLm5vdygpIC0gc3RhcnRUaW1lfWApO1xuICAgICAgICByZXR1cm4gcHV0SXRlbXM7XG4gICAgfVxuXG4gICAgYXN5bmMgcGFyYWxsZWxCYXRjaERlbGV0ZShpbnB1dEl0ZW1zOiBUW10sIGJhdGNoU2l6ZTogbnVtYmVyID0gMTAwMCwgbWF4Q29uY3VycmVudFNlZ21lbnRzOiBudW1iZXIgPSAyMCk6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGxldCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICBsZXQgaXRlbXM6IFRbXSA9IFtdO1xuICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChpbnB1dEl0ZW1zKTtcbiAgICAgICAgbGV0IG1heFNlZ21lbnRzOiBUW11bXVtdID0gW107XG4gICAgICAgIGxldCBkZWxldGVkSXRlbXM6IFRbXSA9IFtdO1xuXG4gICAgICAgIHdoaWxlIChpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgYmF0Y2ggPSBpdGVtcy5zcGxpY2UoMCwgYmF0Y2hTaXplICogbWF4Q29uY3VycmVudFNlZ21lbnRzKTtcbiAgICAgICAgICAgIGxldCBzZWdtZW50OiBUW11bXSA9IFtdO1xuICAgICAgICAgICAgd2hpbGUgKGJhdGNoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBzZWdtZW50LnB1c2goYmF0Y2guc3BsaWNlKDAsIGJhdGNoU2l6ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWF4U2VnbWVudHMucHVzaChzZWdtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3Qgc2VnbWVudCBvZiBtYXhTZWdtZW50cykge1xuICAgICAgICAgICAgbGV0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICBsZXQgcHJvbWlzZXM6IFByb21pc2U8VFtdPltdID0gW107XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgYmF0Y2ggbGVuZ3RoID0gJHtzZWdtZW50Lmxlbmd0aH1gKTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBiYXRjaCBvZiBzZWdtZW50KSB7XG4gICAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaCh0aGlzLmJhdGNoRGVsZXRlKGJhdGNoKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInNlZ21lbnQgY29tcGxldGVcIik7XG4gICAgICAgICAgICByZXN1bHQuZm9yRWFjaCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgZGVsZXRlZEl0ZW1zID0gZGVsZXRlZEl0ZW1zLmNvbmNhdChyZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdGltZSBmb3Igc2VnbWVudCBkZWxldGUgJHtEYXRlLm5vdygpIC0gc3RhcnRUaW1lfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coYHRvdGFsIHRpbWUgZm9yIGNvbXBsZXRlIHBhcmFsbGVsIGRlbGV0ZSAke0RhdGUubm93KCkgLSBzdGFydFRpbWV9YCk7XG4gICAgICAgIHJldHVybiBkZWxldGVkSXRlbXM7XG4gICAgfVxuXG4gICAgYXN5bmMgcGFyYWxsZWxTY2FuKG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGxldCBpdGVtczogVFtdID0gW107XG4gICAgICAgIGNvbnN0IHNjYW4gPSB0aGlzLm1vZGVsLnNjYW4oKS5hbGwoKTtcblxuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IGl0ZW0gb2Ygc2Nhbikge1xuICAgICAgICAgICAgaXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggJSAxMDAwMDAgPT09IDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInJlYWQgMTAwS1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgYXN5bmMgc2NhbihvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQcm9taXNlPFRbXT4ge1xuICAgICAgICBsZXQgaXRlbXM6IFRbXSA9IFtdO1xuICAgICAgICBjb25zdCBzY2FuID0gdGhpcy5tb2RlbC5zY2FuKCk7XG5cbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBpdGVtIG9mIHNjYW4pIHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cblxuICAgIGFzeW5jIHNhdmUoaXRlbTogVCwgYXV0aENvbnRleHQ/OiBBdXRoQ29udGV4dCk6IFByb21pc2U8VD4ge1xuICAgICAgICBpdGVtLmNyZWF0ZWRfdGltZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGlmIChhdXRoQ29udGV4dCkge1xuICAgICAgICAgICAgaXRlbS5jcmVhdGVkX3VzZXIgPSBhdXRoQ29udGV4dC51c2VyU3ViO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubW9kZWwuY3JlYXRlKGl0ZW0pO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZShpdGVtOiBULCBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0KTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGl0ZW0udXBkYXRlZF90aW1lID0gbmV3IERhdGUoKTtcbiAgICAgICAgaWYgKGF1dGhDb250ZXh0KSB7XG4gICAgICAgICAgICBpdGVtLnVwZGF0ZWRfdXNlciA9IGF1dGhDb250ZXh0LnVzZXJTdWI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5tb2RlbC51cGRhdGUoaXRlbSk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgYXN5bmMgZGVsZXRlKGl0ZW06IFQpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubW9kZWwuZGVsZXRlKGl0ZW0pO1xuICAgIH1cblxuICAgIGFzeW5jIGdldChpdGVtOiBUKTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubW9kZWwuZ2V0KGl0ZW0pO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGFzeW5jIGJhdGNoUHV0KGl0ZW1zOiBUW10sIGF1dGhDb250ZXh0PzogQXV0aENvbnRleHQpOiBQcm9taXNlPFRbXT4ge1xuICAgICAgICBsZXQgZmluYWxJdGVtczogVFtdID0gW107XG4gICAgICAgIGl0ZW1zID0gaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5jcmVhdGVkX3RpbWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgaWYgKGF1dGhDb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgaXRlbS5jcmVhdGVkX3VzZXIgPSBhdXRoQ29udGV4dC51c2VyU3ViO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiB0aGlzLm1vZGVsLmJhdGNoUHV0KGl0ZW1zKSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coaXRlbSk7XG4gICAgICAgICAgICBmaW5hbEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbmFsSXRlbXM7XG4gICAgfVxuXG4gICAgYXN5bmMgYmF0Y2hEZWxldGUoaXRlbXM6IFRbXSk6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGxldCBkZWxldGVJdGVtczogVFtdID0gW107XG4gICAgICAgIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiB0aGlzLm1vZGVsLmJhdGNoRGVsZXRlKGl0ZW1zKSkge1xuICAgICAgICAgICAgZGVsZXRlSXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVsZXRlSXRlbXM7XG4gICAgfVxuXG4gICAgYXN5bmMgYmF0Y2hHZXQoaXRlbXM6IFRbXSk6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGxldCBnZXRJdGVtczogVFtdID0gW107XG4gICAgICAgIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiB0aGlzLm1vZGVsLmJhdGNoR2V0KGl0ZW1zKSkge1xuICAgICAgICAgICAgZ2V0SXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0SXRlbXM7XG4gICAgfVxuXG4gICAgYXN5bmMgcGFyYWxsZWxCYXRjaEdldChpbnB1dEl0ZW1zOiBUW10sIGJhdGNoU2l6ZTogbnVtYmVyID0gMTAwMCwgbWF4Q29uY3VycmVudFNlZ21lbnRzOiBudW1iZXIgPSAyMCk6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGxldCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICBsZXQgaXRlbXM6IFRbXSA9IFtdO1xuICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChpbnB1dEl0ZW1zKTtcbiAgICAgICAgbGV0IG1heFNlZ21lbnRzOiBUW11bXVtdID0gW107XG4gICAgICAgIGxldCByZXN1bHRJdGVtczogVFtdID0gW107XG5cbiAgICAgICAgd2hpbGUgKGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBiYXRjaCA9IGl0ZW1zLnNwbGljZSgwLCBiYXRjaFNpemUgKiBtYXhDb25jdXJyZW50U2VnbWVudHMpO1xuICAgICAgICAgICAgbGV0IHNlZ21lbnQ6IFRbXVtdID0gW107XG4gICAgICAgICAgICB3aGlsZSAoYmF0Y2gubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHNlZ21lbnQucHVzaChiYXRjaC5zcGxpY2UoMCwgYmF0Y2hTaXplKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXhTZWdtZW50cy5wdXNoKHNlZ21lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBzZWdtZW50IG9mIG1heFNlZ21lbnRzKSB7XG4gICAgICAgICAgICBsZXQgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgIGxldCBwcm9taXNlczogUHJvbWlzZTxUW10+W10gPSBbXTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBiYXRjaCBsZW5ndGggPSAke3NlZ21lbnQubGVuZ3RofWApO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGJhdGNoIG9mIHNlZ21lbnQpIHtcbiAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMuYmF0Y2hHZXQoYmF0Y2gpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwic2VnbWVudCBjb21wbGV0ZVwiKTtcbiAgICAgICAgICAgIHJlc3VsdC5mb3JFYWNoKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICByZXN1bHRJdGVtcyA9IHJlc3VsdEl0ZW1zLmNvbmNhdChyZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdGltZSBmb3Igc2VnbWVudCBnZXQgJHtEYXRlLm5vdygpIC0gc3RhcnRUaW1lfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coYHRvdGFsIHRpbWUgZm9yIGNvbXBsZXRlIHBhcmFsbGVsIGdldCAke0RhdGUubm93KCkgLSBzdGFydFRpbWV9YCk7XG4gICAgICAgIHJldHVybiByZXN1bHRJdGVtcztcbiAgICB9XG5cbiAgICBhc3luYyBwYXJhbGxlbFF1ZXJ5KFxuICAgICAgICBrZXlDb25kaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdLFxuICAgICAgICBtYXhDb25jdXJyZW50Q2FsbHM6IG51bWJlciA9IDIwLFxuICAgICAgICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICApOiBQcm9taXNlPFRbXT4ge1xuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCByZXN1bHRzOiBUW10gPSBbXTtcblxuICAgICAgICB3aGlsZSAoa2V5Q29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBzZWdtZW50Q29uZGl0aW9ucyA9IGtleUNvbmRpdGlvbnMuc3BsaWNlKDAsIG1heENvbmN1cnJlbnRDYWxscyk7XG4gICAgICAgICAgICBjb25zdCBxdWVyeVByb21pc2VzID0gc2VnbWVudENvbmRpdGlvbnMubWFwKChrZXlDb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21RdWVyeShrZXlDb25kaXRpb24sIG9wdGlvbnMpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHF1ZXJ5UHJvbWlzZXMpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBxdWVyeVJlc3VsdCBvZiBxdWVyeVJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2goLi4ucXVlcnlSZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coYHRvdGFsIHRpbWUgZm9yIGNvbXBsZXRlIHBhcmFsbGVsIHF1ZXJ5ICR7RGF0ZS5ub3coKSAtIHN0YXJ0VGltZX1gKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBjdXN0b21RdWVyeShrZXlDb25kaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgb3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUHJvbWlzZTxUW10+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgaXRlbXM6IFRbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5tb2RlbC5xdWVyeShrZXlDb25kaXRpb25zKTtcbiAgICAgICAgaWYgKG9wdGlvbnM/LmxpbWl0KSBxdWVyeS5saW1pdChvcHRpb25zLmxpbWl0KTtcblxuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IGl0ZW0gb2YgcXVlcnkpIHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmxvZyhgdG90YWwgdGltZSBmb3IgY29tcGxldGUgcXVlcnkgJHtEYXRlLm5vdygpIC0gc3RhcnRUaW1lfWApO1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgZGVjb2RlKGNvbnRpbnVhdGlvblRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChjb250aW51YXRpb25Ub2tlbikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbGFzdEV2YWx1YXRlZEtleSA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20oY29udGludWF0aW9uVG9rZW4sICdiYXNlNjQnKS50b1N0cmluZygndXRmOCcpKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkluY29taW5nIExhc3QgRXZhbHVhdGVkIEtleSBcIiArIGxhc3RFdmFsdWF0ZWRLZXkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBsYXN0RXZhbHVhdGVkS2V5O1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29udGludWF0aW9uVG9rZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGFzeW5jIGVuY29kZShsYXN0RXZhbHVhdGVkS2V5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShsYXN0RXZhbHVhdGVkS2V5KSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export declare const BaseSchema: import("dynamoose/dist/Schema").Schema;
2
+ export declare class BaseModel {
3
+ created_time?: Date;
4
+ updated_time?: Date;
5
+ created_user?: string;
6
+ updated_user?: string;
7
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseModel = exports.BaseSchema = void 0;
4
+ const dynamoose_1 = require("dynamoose");
5
+ exports.BaseSchema = new dynamoose_1.Schema({
6
+ created_time: {
7
+ type: Date,
8
+ default: () => new Date()
9
+ },
10
+ updated_time: {
11
+ type: Date,
12
+ default: () => new Date()
13
+ },
14
+ created_user: {
15
+ type: String
16
+ },
17
+ updated_user: {
18
+ type: String
19
+ }
20
+ }, {
21
+ timestamps: {
22
+ createdAt: 'created_time',
23
+ updatedAt: 'updated_time'
24
+ }
25
+ });
26
+ class BaseModel {
27
+ }
28
+ exports.BaseModel = BaseModel;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RlbC1keW5hbW9vc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFzZS1tb2RlbC1keW5hbW9vc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQW1DO0FBRXRCLFFBQUEsVUFBVSxHQUFHLElBQUksa0JBQU0sQ0FBQztJQUNqQyxZQUFZLEVBQUU7UUFDVixJQUFJLEVBQUUsSUFBSTtRQUNWLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRTtLQUM1QjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxJQUFJO1FBQ1YsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFO0tBQzVCO0lBQ0QsWUFBWSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU07S0FDZjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO0tBQ2Y7Q0FDSixFQUFFO0lBQ0MsVUFBVSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLGNBQWM7S0FDNUI7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFhLFNBQVM7Q0FLckI7QUFMRCw4QkFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ2R5bmFtb29zZSc7XG5cbmV4cG9ydCBjb25zdCBCYXNlU2NoZW1hID0gbmV3IFNjaGVtYSh7XG4gICAgY3JlYXRlZF90aW1lOiB7XG4gICAgICAgIHR5cGU6IERhdGUsXG4gICAgICAgIGRlZmF1bHQ6ICgpID0+IG5ldyBEYXRlKClcbiAgICB9LFxuICAgIHVwZGF0ZWRfdGltZToge1xuICAgICAgICB0eXBlOiBEYXRlLFxuICAgICAgICBkZWZhdWx0OiAoKSA9PiBuZXcgRGF0ZSgpXG4gICAgfSxcbiAgICBjcmVhdGVkX3VzZXI6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgfSxcbiAgICB1cGRhdGVkX3VzZXI6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgfVxufSwge1xuICAgIHRpbWVzdGFtcHM6IHtcbiAgICAgICAgY3JlYXRlZEF0OiAnY3JlYXRlZF90aW1lJyxcbiAgICAgICAgdXBkYXRlZEF0OiAndXBkYXRlZF90aW1lJ1xuICAgIH1cbn0pO1xuXG5leHBvcnQgY2xhc3MgQmFzZU1vZGVsIHtcbiAgICBjcmVhdGVkX3RpbWU/OiBEYXRlO1xuICAgIHVwZGF0ZWRfdGltZT86IERhdGU7XG4gICAgY3JlYXRlZF91c2VyPzogc3RyaW5nO1xuICAgIHVwZGF0ZWRfdXNlcj86IHN0cmluZztcbn1cbiJdfQ==
@@ -20,4 +20,5 @@ export declare class DefaultPlatterModel extends BaseModel {
20
20
  platterCuisine: string;
21
21
  platterEventType?: string;
22
22
  plateFactorValue?: number;
23
+ discountPercentage?: number;
23
24
  }
@@ -96,7 +96,11 @@ __decorate([
96
96
  (0, annotations_1.attribute)(),
97
97
  __metadata("design:type", Number)
98
98
  ], DefaultPlatterModel.prototype, "plateFactorValue", void 0);
99
+ __decorate([
100
+ (0, annotations_1.attribute)(),
101
+ __metadata("design:type", Number)
102
+ ], DefaultPlatterModel.prototype, "discountPercentage", void 0);
99
103
  exports.DefaultPlatterModel = DefaultPlatterModel = __decorate([
100
104
  (0, annotations_1.table)("DefaultPlattersTable")
101
105
  ], DefaultPlatterModel);
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wbGF0dGVycy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2RlZmF1bHQtcGxhdHRlci9kZWZhdWx0LXBsYXR0ZXJzLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHVEQUErRTtBQUMvRSxpREFBNkM7QUFHdEMsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxzQkFBUztDQStDakQsQ0FBQTtBQS9DWSxrREFBbUI7QUFFNUI7SUFEQyxJQUFBLGtDQUFvQixFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDOztzREFDdkI7QUFFbEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3dEQUNRO0FBRXBCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzs0REFDYztBQUUxQjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDOztzREFDOUU7QUFFbEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3VEQUNPO0FBRW5CO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt1REFDTztBQUVuQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ0s7QUFFakI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7MERBQ2xFO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztxREFDSztBQUVqQjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsYUFBYTs7O3NEQUNoRjtBQUVsQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7eURBQ1c7QUFFdkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3FEQUNLO0FBRWpCO0lBREMsSUFBQSx1QkFBUyxFQUFDLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O3dEQUMzRTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7b0RBQ0k7QUFHaEI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7MkRBQ2xFO0FBR3ZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt5REFDUztBQUdyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7MkRBQ1c7QUFHdkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzJEQUNXO0FBR3ZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzs2REFDYztBQUcxQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7NkRBQ2M7OEJBOUNqQixtQkFBbUI7SUFEL0IsSUFBQSxtQkFBSyxFQUFDLHNCQUFzQixDQUFDO0dBQ2pCLG1CQUFtQixDQStDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdHRyaWJ1dGUsIGF1dG9HZW5lcmF0ZWRIYXNoS2V5LCB0YWJsZSB9IGZyb20gXCJAbm92YS1vZG0vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XG5cbkB0YWJsZShcIkRlZmF1bHRQbGF0dGVyc1RhYmxlXCIpXG5leHBvcnQgY2xhc3MgRGVmYXVsdFBsYXR0ZXJNb2RlbCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gICAgQGF1dG9HZW5lcmF0ZWRIYXNoS2V5KHsgdHlwZTogJ1N0cmluZycgfSlcbiAgICBwbGF0dGVySWQ6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVyTmFtZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGV2ZW50Q2F0ZWdvcmllczogc3RyaW5nW107XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVyVHlwZUJhc2VQcmljZUluZGV4XCI6IFwiUkFOR0VcIiB9LCB0eXBlOiAnTnVtYmVyJyB9KVxuICAgIGJhc2VQcmljZTogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1pbmltdW1QYXg6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBtYXhpbXVtUGF4OiBudW1iZXI7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWluUHJpY2U6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBcInBsYXR0ZXJBY3RpdmVJbmRleFwiOiBcIkhBU0hcIiB9LCB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIHBsYXR0ZXJBY3RpdmU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBpbWFnZVVybDogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwibWVhbFRpbWVzSW5kZXhcIjogXCJIQVNIXCIgfSwgdHlwZTogJ1N0cmluZycgfSkgLy8gVjIgVXBkYXRlZFxuICAgIG1lYWxUaW1lczogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1lbnVMb2NhdGlvbjogc3RyaW5nW107XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWVudVR5cGU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBcInBsYXR0ZXJUeXBlQmFzZVByaWNlSW5kZXhcIjogXCJIQVNIXCIgfSwgdHlwZTogJ1N0cmluZycgfSlcbiAgICBwbGF0dGVyVHlwZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBvcHVsYXI6IHN0cmluZztcblxuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwicGxhdHRlclN1YlR5cGVJbmRleFwiOiBcIkhBU0hcIiB9LCB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIHBsYXR0ZXJTdWJUeXBlOiBzdHJpbmc7IC8vIFYyXG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBpY29uSW1hZ2VUYWc6IHN0cmluZzsgLy8gVjJcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBsYXR0ZXJUZXh0VGFnOiBzdHJpbmc7IC8vIFYyXG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVyQ3Vpc2luZTogc3RyaW5nOyAvLyBWMlxuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcGxhdHRlckV2ZW50VHlwZT86IHN0cmluZzsgLy8gVjJcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBsYXRlRmFjdG9yVmFsdWU/OiBudW1iZXI7IC8vIFYyXG59Il19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wbGF0dGVycy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2RlZmF1bHQtcGxhdHRlci9kZWZhdWx0LXBsYXR0ZXJzLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHVEQUErRTtBQUMvRSxpREFBNkM7QUFHdEMsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxzQkFBUztDQWtEakQsQ0FBQTtBQWxEWSxrREFBbUI7QUFFNUI7SUFEQyxJQUFBLGtDQUFvQixFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDOztzREFDdkI7QUFFbEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3dEQUNRO0FBRXBCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzs0REFDYztBQUUxQjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDOztzREFDOUU7QUFFbEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3VEQUNPO0FBRW5CO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt1REFDTztBQUVuQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ0s7QUFFakI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7MERBQ2xFO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztxREFDSztBQUVqQjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsYUFBYTs7O3NEQUNoRjtBQUVsQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7eURBQ1c7QUFFdkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3FEQUNLO0FBRWpCO0lBREMsSUFBQSx1QkFBUyxFQUFDLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O3dEQUMzRTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7b0RBQ0k7QUFHaEI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7MkRBQ2xFO0FBR3ZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt5REFDUztBQUdyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7MkRBQ1c7QUFHdkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzJEQUNXO0FBR3ZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzs2REFDYztBQUcxQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7NkRBQ2M7QUFHMUI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OytEQUNnQjs4QkFqRG5CLG1CQUFtQjtJQUQvQixJQUFBLG1CQUFLLEVBQUMsc0JBQXNCLENBQUM7R0FDakIsbUJBQW1CLENBa0QvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0dHJpYnV0ZSwgYXV0b0dlbmVyYXRlZEhhc2hLZXksIHRhYmxlIH0gZnJvbSBcIkBub3ZhLW9kbS9hbm5vdGF0aW9uc1wiO1xuaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Jhc2UtbW9kZWxcIjtcblxuQHRhYmxlKFwiRGVmYXVsdFBsYXR0ZXJzVGFibGVcIilcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGxhdHRlck1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgICBAYXV0b0dlbmVyYXRlZEhhc2hLZXkoeyB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIHBsYXR0ZXJJZDogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBsYXR0ZXJOYW1lOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZXZlbnRDYXRlZ29yaWVzOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBcInBsYXR0ZXJUeXBlQmFzZVByaWNlSW5kZXhcIjogXCJSQU5HRVwiIH0sIHR5cGU6ICdOdW1iZXInIH0pXG4gICAgYmFzZVByaWNlOiBudW1iZXI7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWluaW11bVBheDogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1heGltdW1QYXg6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBtaW5QcmljZTogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwicGxhdHRlckFjdGl2ZUluZGV4XCI6IFwiSEFTSFwiIH0sIHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgcGxhdHRlckFjdGl2ZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJtZWFsVGltZXNJbmRleFwiOiBcIkhBU0hcIiB9LCB0eXBlOiAnU3RyaW5nJyB9KSAvLyBWMiBVcGRhdGVkXG4gICAgbWVhbFRpbWVzOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWVudUxvY2F0aW9uOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICBtZW51VHlwZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwicGxhdHRlclR5cGVCYXNlUHJpY2VJbmRleFwiOiBcIkhBU0hcIiB9LCB0eXBlOiAnU3RyaW5nJyB9KVxuICAgIHBsYXR0ZXJUeXBlOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcG9wdWxhcjogc3RyaW5nO1xuXG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVyU3ViVHlwZUluZGV4XCI6IFwiSEFTSFwiIH0sIHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgcGxhdHRlclN1YlR5cGU6IHN0cmluZzsgLy8gVjJcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGljb25JbWFnZVRhZzogc3RyaW5nOyAvLyBWMlxuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcGxhdHRlclRleHRUYWc6IHN0cmluZzsgLy8gVjJcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHBsYXR0ZXJDdWlzaW5lOiBzdHJpbmc7IC8vIFYyXG5cbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVyRXZlbnRUeXBlPzogc3RyaW5nOyAvLyBWMlxuXG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcGxhdGVGYWN0b3JWYWx1ZT86IG51bWJlcjsgLy8gVjJcblxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlcjsgLy8gVjJcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { GenericDAO, AuthContext } from '../base-dao-dynamoose';
2
+ import { Example } from './example-model';
3
+ export declare class ExampleDAO extends GenericDAO<Example> {
4
+ constructor();
5
+ findByExampleStringProperty(value: string): Promise<Example[]>;
6
+ findByExampleNumberProperty(value: number): Promise<Example[]>;
7
+ findByExampleBooleanProperty(value: boolean): Promise<Example[]>;
8
+ findByCreatedUser(userSub: string): Promise<Example[]>;
9
+ createExample(exampleStringProperty: string, exampleNumberProperty: number, exampleBooleanProperty: boolean, authContext?: AuthContext): Promise<Example>;
10
+ updateExample(id: string, updates: Partial<Example>, authContext?: AuthContext): Promise<Example>;
11
+ deleteExample(id: string): Promise<void>;
12
+ getExampleById(id: string): Promise<Example>;
13
+ getAllExamples(): Promise<Example[]>;
14
+ batchCreateExamples(examples: Array<{
15
+ exampleStringProperty: string;
16
+ exampleNumberProperty: number;
17
+ exampleBooleanProperty: boolean;
18
+ }>, authContext?: AuthContext): Promise<Example[]>;
19
+ batchDeleteExamples(ids: string[]): Promise<void>;
20
+ batchGetExamples(ids: string[]): Promise<Example[]>;
21
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExampleDAO = void 0;
4
+ const base_dao_dynamoose_1 = require("../base-dao-dynamoose");
5
+ const example_model_1 = require("./example-model");
6
+ class ExampleDAO extends base_dao_dynamoose_1.GenericDAO {
7
+ constructor() {
8
+ super(example_model_1.ExampleModel);
9
+ }
10
+ async findByExampleStringProperty(value) {
11
+ return await this.model.scan('exampleStringProperty').eq(value).exec();
12
+ }
13
+ async findByExampleNumberProperty(value) {
14
+ return await this.model.scan('exampleNumberProperty').eq(value).exec();
15
+ }
16
+ async findByExampleBooleanProperty(value) {
17
+ return await this.model.scan('exampleBooleanProperty').eq(value).exec();
18
+ }
19
+ async findByCreatedUser(userSub) {
20
+ return await this.model.scan('created_user').eq(userSub).exec();
21
+ }
22
+ async createExample(exampleStringProperty, exampleNumberProperty, exampleBooleanProperty, authContext) {
23
+ const example = new example_model_1.Example();
24
+ example.exampleStringProperty = exampleStringProperty;
25
+ example.exampleNumberProperty = exampleNumberProperty;
26
+ example.exampleBooleanProperty = exampleBooleanProperty;
27
+ return await this.save(example, authContext);
28
+ }
29
+ async updateExample(id, updates, authContext) {
30
+ const example = new example_model_1.Example();
31
+ example.id = id;
32
+ Object.assign(example, updates);
33
+ return await this.update(example, authContext);
34
+ }
35
+ async deleteExample(id) {
36
+ const example = new example_model_1.Example();
37
+ example.id = id;
38
+ await this.delete(example);
39
+ }
40
+ async getExampleById(id) {
41
+ const example = new example_model_1.Example();
42
+ example.id = id;
43
+ return await this.get(example);
44
+ }
45
+ async getAllExamples() {
46
+ return await this.scan();
47
+ }
48
+ async batchCreateExamples(examples, authContext) {
49
+ const exampleObjects = examples.map(ex => {
50
+ const example = new example_model_1.Example();
51
+ example.exampleStringProperty = ex.exampleStringProperty;
52
+ example.exampleNumberProperty = ex.exampleNumberProperty;
53
+ example.exampleBooleanProperty = ex.exampleBooleanProperty;
54
+ return example;
55
+ });
56
+ return await this.batchPut(exampleObjects, authContext);
57
+ }
58
+ async batchDeleteExamples(ids) {
59
+ const examples = ids.map(id => {
60
+ const example = new example_model_1.Example();
61
+ example.id = id;
62
+ return example;
63
+ });
64
+ await this.batchDelete(examples);
65
+ }
66
+ async batchGetExamples(ids) {
67
+ const examples = ids.map(id => {
68
+ const example = new example_model_1.Example();
69
+ example.id = id;
70
+ return example;
71
+ });
72
+ return await this.batchGet(examples);
73
+ }
74
+ }
75
+ exports.ExampleDAO = ExampleDAO;
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3VzdG9tZXItdXNlci9leGFtcGxlLWRhby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBZ0U7QUFDaEUsbURBQXdEO0FBRXhELE1BQWEsVUFBVyxTQUFRLCtCQUFtQjtJQUMvQztRQUNJLEtBQUssQ0FBQyw0QkFBWSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxLQUFhO1FBQzNDLE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsS0FBSyxDQUFDLDJCQUEyQixDQUFDLEtBQWE7UUFDM0MsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBYztRQUM3QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFlO1FBQ25DLE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQ2YscUJBQTZCLEVBQzdCLHFCQUE2QixFQUM3QixzQkFBK0IsRUFDL0IsV0FBeUI7UUFFekIsTUFBTSxPQUFP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QyxDQUFDO0lBQ3pDLENBQUM7Q0FDSjtBQW5HRCxnQ0FtR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljREFPLCBBdXRoQ29udGV4dCB9IGZyb20gJy4uL2Jhc2UtZGFvLWR5bmFtb29zZSc7XG5pbXBvcnQgeyBFeGFtcGxlTW9kZWwsIEV4YW1wbGUgfSBmcm9tICcuL2V4YW1wbGUtbW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXhhbXBsZURBTyBleHRlbmRzIEdlbmVyaWNEQU88RXhhbXBsZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihFeGFtcGxlTW9kZWwpO1xuICAgIH1cblxuICAgIGFzeW5jIGZpbmRCeUV4YW1wbGVTdHJpbmdQcm9wZXJ0eSh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTxFeGFtcGxlW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubW9kZWwuc2NhbignZXhhbXBsZVN0cmluZ1Byb3BlcnR5JykuZXEodmFsdWUpLmV4ZWMoKTtcbiAgICB9XG5cbiAgICBhc3luYyBmaW5kQnlFeGFtcGxlTnVtYmVyUHJvcGVydHkodmFsdWU6IG51bWJlcik6IFByb21pc2U8RXhhbXBsZVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLm1vZGVsLnNjYW4oJ2V4YW1wbGVOdW1iZXJQcm9wZXJ0eScpLmVxKHZhbHVlKS5leGVjKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgZmluZEJ5RXhhbXBsZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZTogYm9vbGVhbik6IFByb21pc2U8RXhhbXBsZVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLm1vZGVsLnNjYW4oJ2V4YW1wbGVCb29sZWFuUHJvcGVydHknKS5lcSh2YWx1ZSkuZXhlYygpO1xuICAgIH1cblxuICAgIGFzeW5jIGZpbmRCeUNyZWF0ZWRVc2VyKHVzZXJTdWI6IHN0cmluZyk6IFByb21pc2U8RXhhbXBsZVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLm1vZGVsLnNjYW4oJ2NyZWF0ZWRfdXNlcicpLmVxKHVzZXJTdWIpLmV4ZWMoKTtcbiAgICB9XG5cbiAgICBhc3luYyBjcmVhdGVFeGFtcGxlKFxuICAgICAgICBleGFtcGxlU3RyaW5nUHJvcGVydHk6IHN0cmluZyxcbiAgICAgICAgZXhhbXBsZU51bWJlclByb3BlcnR5OiBudW1iZXIsXG4gICAgICAgIGV4YW1wbGVCb29sZWFuUHJvcGVydHk6IGJvb2xlYW4sXG4gICAgICAgIGF1dGhDb250ZXh0PzogQXV0aENvbnRleHRcbiAgICApOiBQcm9taXNlPEV4YW1wbGU+IHtcbiAgICAgICAgY29uc3QgZXhhbXBsZSA9IG5ldyBFeGFtcGxlKCk7XG4gICAgICAgIGV4YW1wbGUuZXhhbXBsZVN0cmluZ1Byb3BlcnR5ID0gZXhhbXBsZVN0cmluZ1Byb3BlcnR5O1xuICAgICAgICBleGFtcGxlLmV4YW1wbGVOdW1iZXJQcm9wZXJ0eSA9IGV4YW1wbGVOdW1iZXJQcm9wZXJ0eTtcbiAgICAgICAgZXhhbXBsZS5leGFtcGxlQm9vbGVhblByb3BlcnR5ID0gZXhhbXBsZUJvb2xlYW5Qcm9wZXJ0eTtcblxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5zYXZlKGV4YW1wbGUsIGF1dGhDb250ZXh0KTtcbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGVFeGFtcGxlKFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICB1cGRhdGVzOiBQYXJ0aWFsPEV4YW1wbGU+LFxuICAgICAgICBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0XG4gICAgKTogUHJvbWlzZTxFeGFtcGxlPiB7XG4gICAgICAgIGNvbnN0IGV4YW1wbGUgPSBuZXcgRXhhbXBsZSgpO1xuICAgICAgICBleGFtcGxlLmlkID0gaWQ7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oZXhhbXBsZSwgdXBkYXRlcyk7XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlKGV4YW1wbGUsIGF1dGhDb250ZXh0KTtcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGVFeGFtcGxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZXhhbXBsZSA9IG5ldyBFeGFtcGxlKCk7XG4gICAgICAgIGV4YW1wbGUuaWQgPSBpZDtcbiAgICAgICAgYXdhaXQgdGhpcy5kZWxldGUoZXhhbXBsZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0RXhhbXBsZUJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8RXhhbXBsZT4ge1xuICAgICAgICBjb25zdCBleGFtcGxlID0gbmV3IEV4YW1wbGUoKTtcbiAgICAgICAgZXhhbXBsZS5pZCA9IGlkO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXQoZXhhbXBsZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0QWxsRXhhbXBsZXMoKTogUHJvbWlzZTxFeGFtcGxlW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2NhbigpO1xuICAgIH1cblxuICAgIGFzeW5jIGJhdGNoQ3JlYXRlRXhhbXBsZXMoXG4gICAgICAgIGV4YW1wbGVzOiBBcnJheTx7XG4gICAgICAgICAgICBleGFtcGxlU3RyaW5nUHJvcGVydHk6IHN0cmluZztcbiAgICAgICAgICAgIGV4YW1wbGVOdW1iZXJQcm9wZXJ0eTogbnVtYmVyO1xuICAgICAgICAgICAgZXhhbXBsZUJvb2xlYW5Qcm9wZXJ0eTogYm9vbGVhbjtcbiAgICAgICAgfT4sXG4gICAgICAgIGF1dGhDb250ZXh0PzogQXV0aENvbnRleHRcbiAgICApOiBQcm9taXNlPEV4YW1wbGVbXT4ge1xuICAgICAgICBjb25zdCBleGFtcGxlT2JqZWN0cyA9IGV4YW1wbGVzLm1hcChleCA9PiB7XG4gICAgICAgICAgICBjb25zdCBleGFtcGxlID0gbmV3IEV4YW1wbGUoKTtcbiAgICAgICAgICAgIGV4YW1wbGUuZXhhbXBsZVN0cmluZ1Byb3BlcnR5ID0gZXguZXhhbXBsZVN0cmluZ1Byb3BlcnR5O1xuICAgICAgICAgICAgZXhhbXBsZS5leGFtcGxlTnVtYmVyUHJvcGVydHkgPSBleC5leGFtcGxlTnVtYmVyUHJvcGVydHk7XG4gICAgICAgICAgICBleGFtcGxlLmV4YW1wbGVCb29sZWFuUHJvcGVydHkgPSBleC5leGFtcGxlQm9vbGVhblByb3BlcnR5O1xuICAgICAgICAgICAgcmV0dXJuIGV4YW1wbGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJhdGNoUHV0KGV4YW1wbGVPYmplY3RzLCBhdXRoQ29udGV4dCk7XG4gICAgfVxuXG4gICAgYXN5bmMgYmF0Y2hEZWxldGVFeGFtcGxlcyhpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGV4YW1wbGVzID0gaWRzLm1hcChpZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBleGFtcGxlID0gbmV3IEV4YW1wbGUoKTtcbiAgICAgICAgICAgIGV4YW1wbGUuaWQgPSBpZDtcbiAgICAgICAgICAgIHJldHVybiBleGFtcGxlO1xuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgdGhpcy5iYXRjaERlbGV0ZShleGFtcGxlcyk7XG4gICAgfVxuXG4gICAgYXN5bmMgYmF0Y2hHZXRFeGFtcGxlcyhpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxFeGFtcGxlW10+IHtcbiAgICAgICAgY29uc3QgZXhhbXBsZXMgPSBpZHMubWFwKGlkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4YW1wbGUgPSBuZXcgRXhhbXBsZSgpO1xuICAgICAgICAgICAgZXhhbXBsZS5pZCA9IGlkO1xuICAgICAgICAgICAgcmV0dXJuIGV4YW1wbGU7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXRjaEdldChleGFtcGxlcyk7XG4gICAgfVxufVxuIl19
@@ -1,7 +1,8 @@
1
- import { BaseModel } from "../base-model";
2
- export declare class ExampleModel extends BaseModel {
3
- id: string;
1
+ import { BaseModel } from '../base-model';
2
+ export declare const ExampleModel: import("dynamoose/dist/General").ModelType<import("dynamoose/dist/Item").AnyItem>;
3
+ export declare class Example extends BaseModel {
4
+ id?: string;
4
5
  exampleStringProperty: string;
5
6
  exampleNumberProperty: number;
6
- exampleBooleanProperty: string;
7
+ exampleBooleanProperty: boolean;
7
8
  }
@@ -1,37 +1,71 @@
1
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);
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
10
24
  };
11
25
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ExampleModel = void 0;
13
- const annotations_1 = require("@nova-odm/annotations");
26
+ exports.Example = exports.ExampleModel = void 0;
27
+ const dynamoose_1 = __importStar(require("dynamoose"));
14
28
  const base_model_1 = require("../base-model");
15
- let ExampleModel = class ExampleModel extends base_model_1.BaseModel {
16
- };
17
- exports.ExampleModel = ExampleModel;
18
- __decorate([
19
- (0, annotations_1.autoGeneratedHashKey)({ type: "String" }),
20
- __metadata("design:type", String)
21
- ], ExampleModel.prototype, "id", void 0);
22
- __decorate([
23
- (0, annotations_1.attribute)(),
24
- __metadata("design:type", String)
25
- ], ExampleModel.prototype, "exampleStringProperty", void 0);
26
- __decorate([
27
- (0, annotations_1.attribute)(),
28
- __metadata("design:type", Number)
29
- ], ExampleModel.prototype, "exampleNumberProperty", void 0);
30
- __decorate([
31
- (0, annotations_1.attribute)(),
32
- __metadata("design:type", String)
33
- ], ExampleModel.prototype, "exampleBooleanProperty", void 0);
34
- exports.ExampleModel = ExampleModel = __decorate([
35
- (0, annotations_1.table)("example")
36
- ], ExampleModel);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21lci11c2VyL2V4YW1wbGUtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXdGO0FBQ3hGLDhDQUEwQztBQUduQyxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsc0JBQVM7Q0FTMUMsQ0FBQTtBQVRZLG9DQUFZO0FBRXJCO0lBREMsSUFBQSxrQ0FBb0IsRUFBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7d0NBQzlCO0FBRVg7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzJEQUNrQjtBQUU5QjtJQURDLElBQUEsdUJBQVMsR0FBRTs7MkRBQ2tCO0FBRTlCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzs0REFDbUI7dUJBUnRCLFlBQVk7SUFEeEIsSUFBQSxtQkFBSyxFQUFDLFNBQVMsQ0FBQztHQUNKLFlBQVksQ0FTeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdHRyaWJ1dGUsIGF1dG9HZW5lcmF0ZWRIYXNoS2V5LCBoYXNoS2V5LCB0YWJsZSB9IGZyb20gXCJAbm92YS1vZG0vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuLi9iYXNlLW1vZGVsXCI7XG5cbkB0YWJsZShcImV4YW1wbGVcIilcbmV4cG9ydCBjbGFzcyBFeGFtcGxlTW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICAgIEBhdXRvR2VuZXJhdGVkSGFzaEtleSh7IHR5cGU6IFwiU3RyaW5nXCIgfSlcbiAgICBpZDogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGV4YW1wbGVTdHJpbmdQcm9wZXJ0eTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGV4YW1wbGVOdW1iZXJQcm9wZXJ0eTogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGV4YW1wbGVCb29sZWFuUHJvcGVydHk6IHN0cmluZztcbn0iXX0=
29
+ const ExampleSchema = new dynamoose_1.Schema({
30
+ id: {
31
+ type: String,
32
+ hashKey: true,
33
+ default: () => require('crypto').randomUUID()
34
+ },
35
+ exampleStringProperty: {
36
+ type: String,
37
+ required: true
38
+ },
39
+ exampleNumberProperty: {
40
+ type: Number,
41
+ required: true
42
+ },
43
+ exampleBooleanProperty: {
44
+ type: Boolean,
45
+ required: true
46
+ },
47
+ created_time: {
48
+ type: Date,
49
+ default: () => new Date()
50
+ },
51
+ updated_time: {
52
+ type: Date,
53
+ default: () => new Date()
54
+ },
55
+ created_user: {
56
+ type: String
57
+ },
58
+ updated_user: {
59
+ type: String
60
+ }
61
+ }, {
62
+ timestamps: {
63
+ createdAt: 'created_time',
64
+ updatedAt: 'updated_time'
65
+ }
66
+ });
67
+ exports.ExampleModel = dynamoose_1.default.model('example', ExampleSchema);
68
+ class Example extends base_model_1.BaseModel {
69
+ }
70
+ exports.Example = Example;
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21lci11c2VyL2V4YW1wbGUtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBOEM7QUFDOUMsOENBQTBDO0FBRTFDLE1BQU0sYUFBYSxHQUFHLElBQUksa0JBQU0sQ0FBQztJQUM3QixFQUFFLEVBQUU7UUFDQSxJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxJQUFJO1FBQ2IsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUU7S0FDaEQ7SUFDRCxxQkFBcUIsRUFBRTtRQUNuQixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QscUJBQXFCLEVBQUU7UUFDbkIsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELHNCQUFzQixFQUFFO1FBQ3BCLElBQUksRUFBRSxPQUFPO1FBQ2IsUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxZQUFZLEVBQUU7UUFDVixJQUFJLEVBQUUsSUFBSTtRQUNWLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRTtLQUM1QjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxJQUFJO1FBQ1YsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFO0tBQzVCO0lBQ0QsWUFBWSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU07S0FDZjtJQUNELFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO0tBQ2Y7Q0FDSixFQUFFO0lBQ0MsVUFBVSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLGNBQWM7S0FDNUI7Q0FDSixDQUFDLENBQUM7QUFFVSxRQUFBLFlBQVksR0FBRyxtQkFBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFdEUsTUFBYSxPQUFRLFNBQVEsc0JBQVM7Q0FLckM7QUFMRCwwQkFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkeW5hbW9vc2UsIHsgU2NoZW1hIH0gZnJvbSAnZHluYW1vb3NlJztcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4uL2Jhc2UtbW9kZWwnO1xuXG5jb25zdCBFeGFtcGxlU2NoZW1hID0gbmV3IFNjaGVtYSh7XG4gICAgaWQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBoYXNoS2V5OiB0cnVlLFxuICAgICAgICBkZWZhdWx0OiAoKSA9PiByZXF1aXJlKCdjcnlwdG8nKS5yYW5kb21VVUlEKClcbiAgICB9LFxuICAgIGV4YW1wbGVTdHJpbmdQcm9wZXJ0eToge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgfSxcbiAgICBleGFtcGxlTnVtYmVyUHJvcGVydHk6IHtcbiAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgIH0sXG4gICAgZXhhbXBsZUJvb2xlYW5Qcm9wZXJ0eToge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgIH0sXG4gICAgY3JlYXRlZF90aW1lOiB7XG4gICAgICAgIHR5cGU6IERhdGUsXG4gICAgICAgIGRlZmF1bHQ6ICgpID0+IG5ldyBEYXRlKClcbiAgICB9LFxuICAgIHVwZGF0ZWRfdGltZToge1xuICAgICAgICB0eXBlOiBEYXRlLFxuICAgICAgICBkZWZhdWx0OiAoKSA9PiBuZXcgRGF0ZSgpXG4gICAgfSxcbiAgICBjcmVhdGVkX3VzZXI6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgfSxcbiAgICB1cGRhdGVkX3VzZXI6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nXG4gICAgfVxufSwge1xuICAgIHRpbWVzdGFtcHM6IHtcbiAgICAgICAgY3JlYXRlZEF0OiAnY3JlYXRlZF90aW1lJyxcbiAgICAgICAgdXBkYXRlZEF0OiAndXBkYXRlZF90aW1lJ1xuICAgIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgRXhhbXBsZU1vZGVsID0gZHluYW1vb3NlLm1vZGVsKCdleGFtcGxlJywgRXhhbXBsZVNjaGVtYSk7XG5cbmV4cG9ydCBjbGFzcyBFeGFtcGxlIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBleGFtcGxlU3RyaW5nUHJvcGVydHk6IHN0cmluZztcbiAgICBleGFtcGxlTnVtYmVyUHJvcGVydHk6IG51bWJlcjtcbiAgICBleGFtcGxlQm9vbGVhblByb3BlcnR5OiBib29sZWFuO1xufSJdfQ==
@@ -18,5 +18,4 @@ export declare class FindMyPlatterModel extends BaseModel {
18
18
  hasEgg: boolean;
19
19
  hasChicken: boolean;
20
20
  hasMutton: boolean;
21
- discountPercentage?: number;
22
21
  }
@@ -87,11 +87,7 @@ __decorate([
87
87
  (0, annotations_1.attribute)(),
88
88
  __metadata("design:type", Boolean)
89
89
  ], FindMyPlatterModel.prototype, "hasMutton", void 0);
90
- __decorate([
91
- (0, annotations_1.attribute)(),
92
- __metadata("design:type", Number)
93
- ], FindMyPlatterModel.prototype, "discountPercentage", void 0);
94
90
  exports.FindMyPlatterModel = FindMyPlatterModel = __decorate([
95
91
  (0, annotations_1.table)("FindMyPlatterTable")
96
92
  ], FindMyPlatterModel);
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1teS1wbGF0dGVyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWVyLXVzZXIvZmluZG15cGxhdHRlci9maW5kLW15LXBsYXR0ZXItbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQStFO0FBQy9FLGlEQUE2QztBQUd0QyxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLHNCQUFTO0NBdUNoRCxDQUFBO0FBdkNZLGdEQUFrQjtBQUUzQjtJQURDLElBQUEsa0NBQW9CLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJEQUNqQjtBQUV4QjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQzs7cURBQ2xEO0FBRWxCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt1REFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ007QUFFbEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3NEQUNPO0FBRW5CO0lBREMsSUFBQSx1QkFBUyxHQUFFOztzREFDTztBQUVuQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7b0RBQ0s7QUFFakI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7b0RBQzlFO0FBRWpCO0lBREMsSUFBQSx1QkFBUyxFQUFDLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDOzt5REFDbEQ7QUFFdEI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7O3FEQUNsRDtBQUVsQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7b0RBQ0s7QUFFakI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7O3VEQUNsRDtBQUVwQjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQzs7MERBQ2xEO0FBRXZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt1REFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ087QUFFbkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2tEQUNJO0FBRWhCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztzREFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ087QUFFbkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzhEQUNnQjs2QkF0Q25CLGtCQUFrQjtJQUQ5QixJQUFBLG1CQUFLLEVBQUMsb0JBQW9CLENBQUM7R0FDZixrQkFBa0IsQ0F1QzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXR0cmlidXRlLCBhdXRvR2VuZXJhdGVkSGFzaEtleSwgdGFibGUgfSBmcm9tIFwiQG5vdmEtb2RtL2Fubm90YXRpb25zXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbFwiO1xuXG5AdGFibGUoXCJGaW5kTXlQbGF0dGVyVGFibGVcIilcbmV4cG9ydCBjbGFzcyBGaW5kTXlQbGF0dGVyTW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICAgIEBhdXRvR2VuZXJhdGVkSGFzaEtleSh7IHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgZmluZE15UGxhdHRlcklkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVySWRJbmRleFwiOiBcIkhBU0hcIiB9IH0pXG4gICAgcGxhdHRlcklkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcGxhdHRlck5hbWU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBiYXNlUHJpY2U6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBtaW5pbXVtUGF4OiBudW1iZXI7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWF4aW11bVBheDogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVyVHlwZU1pblByaWNlSW5kZXhcIjogXCJSQU5HRVwiIH0sIHR5cGU6ICdOdW1iZXInIH0pXG4gICAgbWluUHJpY2U6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBcInBsYXR0ZXJBY3RpdmVJbmRleFwiOiBcIkhBU0hcIiB9IH0pXG4gICAgcGxhdHRlckFjdGl2ZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwibWVhbFRpbWVzSW5kZXhcIjogXCJIQVNIXCIgfSB9KVxuICAgIG1lYWxUaW1lczogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1lbnVUeXBlOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVyVHlwZUluZGV4XCI6IFwiSEFTSFwiIH0gfSlcbiAgICBwbGF0dGVyVHlwZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwicGxhdHRlclN1YlR5cGVJbmRleFwiOiBcIkhBU0hcIiB9IH0pXG4gICAgcGxhdHRlclN1YlR5cGU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVyTGluazogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGhhc1BhbmVlcjogYm9vbGVhbjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBoYXNFZ2c6IGJvb2xlYW47XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaGFzQ2hpY2tlbjogYm9vbGVhbjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBoYXNNdXR0b246IGJvb2xlYW47XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZGlzY291bnRQZXJjZW50YWdlPzogbnVtYmVyO1xufSJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1teS1wbGF0dGVyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWVyLXVzZXIvZmluZG15cGxhdHRlci9maW5kLW15LXBsYXR0ZXItbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQStFO0FBQy9FLGlEQUE2QztBQUd0QyxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLHNCQUFTO0NBcUNoRCxDQUFBO0FBckNZLGdEQUFrQjtBQUUzQjtJQURDLElBQUEsa0NBQW9CLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJEQUNqQjtBQUV4QjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQzs7cURBQ2xEO0FBRWxCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt1REFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ007QUFFbEI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O3NEQUNPO0FBRW5CO0lBREMsSUFBQSx1QkFBUyxHQUFFOztzREFDTztBQUVuQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7b0RBQ0s7QUFFakI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7b0RBQzlFO0FBRWpCO0lBREMsSUFBQSx1QkFBUyxFQUFDLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDOzt5REFDbEQ7QUFFdEI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7O3FEQUNsRDtBQUVsQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7b0RBQ0s7QUFFakI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7O3VEQUNsRDtBQUVwQjtJQURDLElBQUEsdUJBQVMsRUFBQyxFQUFFLHNCQUFzQixFQUFFLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQzs7MERBQ2xEO0FBRXZCO0lBREMsSUFBQSx1QkFBUyxHQUFFOzt1REFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ087QUFFbkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2tEQUNJO0FBRWhCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztzREFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ087NkJBcENWLGtCQUFrQjtJQUQ5QixJQUFBLG1CQUFLLEVBQUMsb0JBQW9CLENBQUM7R0FDZixrQkFBa0IsQ0FxQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXR0cmlidXRlLCBhdXRvR2VuZXJhdGVkSGFzaEtleSwgdGFibGUgfSBmcm9tIFwiQG5vdmEtb2RtL2Fubm90YXRpb25zXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbFwiO1xuXG5AdGFibGUoXCJGaW5kTXlQbGF0dGVyVGFibGVcIilcbmV4cG9ydCBjbGFzcyBGaW5kTXlQbGF0dGVyTW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICAgIEBhdXRvR2VuZXJhdGVkSGFzaEtleSh7IHR5cGU6ICdTdHJpbmcnIH0pXG4gICAgZmluZE15UGxhdHRlcklkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVySWRJbmRleFwiOiBcIkhBU0hcIiB9IH0pXG4gICAgcGxhdHRlcklkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgcGxhdHRlck5hbWU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBiYXNlUHJpY2U6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBtaW5pbXVtUGF4OiBudW1iZXI7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgbWF4aW11bVBheDogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVyVHlwZU1pblByaWNlSW5kZXhcIjogXCJSQU5HRVwiIH0sIHR5cGU6ICdOdW1iZXInIH0pXG4gICAgbWluUHJpY2U6IG51bWJlcjtcbiAgICBAYXR0cmlidXRlKHsgaW5kZXhLZXlDb25maWd1cmF0aW9uczogeyBcInBsYXR0ZXJBY3RpdmVJbmRleFwiOiBcIkhBU0hcIiB9IH0pXG4gICAgcGxhdHRlckFjdGl2ZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwibWVhbFRpbWVzSW5kZXhcIjogXCJIQVNIXCIgfSB9KVxuICAgIG1lYWxUaW1lczogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1lbnVUeXBlOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJwbGF0dGVyVHlwZUluZGV4XCI6IFwiSEFTSFwiIH0gfSlcbiAgICBwbGF0dGVyVHlwZTogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoeyBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwicGxhdHRlclN1YlR5cGVJbmRleFwiOiBcIkhBU0hcIiB9IH0pXG4gICAgcGxhdHRlclN1YlR5cGU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICBwbGF0dGVyTGluazogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIGhhc1BhbmVlcjogYm9vbGVhbjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBoYXNFZ2c6IGJvb2xlYW47XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgaGFzQ2hpY2tlbjogYm9vbGVhbjtcbiAgICBAYXR0cmlidXRlKClcbiAgICBoYXNNdXR0b246IGJvb2xlYW47XG59Il19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cmp-aws-database",
3
- "version": "1.2.0-dev.78",
3
+ "version": "1.2.0-dev.79",
4
4
  "bin": {
5
5
  "craft-my-plate-database": "bin/craft-my-plate-database.js"
6
6
  },
@@ -33,6 +33,7 @@
33
33
  "@nova-odm/annotations": "^0.8.7",
34
34
  "aws-cdk-lib": "2.176.0",
35
35
  "constructs": "^10.0.0",
36
+ "dynamoose": "^4.1.5",
36
37
  "reflect-metadata": "^0.1.14"
37
38
  },
38
39
  "description": "The package \"cmp-aws-database\" is for its database, which defines global tables. These tables are designed to be imported and used across multiple applications of \"craft-my-plate.\"",