cmp-aws-database 1.7.1-dev.25 → 1.7.1-dev.27

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,57 @@
1
+ import { BaseDynamooseModel, AuthContext } from "./base-dynamoose-model";
2
+ type DynamoKeyValue = string | number | boolean | null;
3
+ export type DynamoKey = Record<string, DynamoKeyValue>;
4
+ type DynamooseModelLike = {
5
+ create: Function;
6
+ update: Function;
7
+ get: Function;
8
+ delete: Function;
9
+ batchPut: Function;
10
+ batchGet: Function;
11
+ };
12
+ export declare class GenericDynamooseDAO<T extends BaseDynamooseModel> {
13
+ protected readonly model: DynamooseModelLike;
14
+ protected readonly primaryKeyName: keyof T & string;
15
+ /**
16
+ * @param model Dynamoose model instance for the target table.
17
+ * @param primaryKeyName Attribute name used as the table hash key.
18
+ */
19
+ constructor(model: DynamooseModelLike, primaryKeyName: keyof T & string);
20
+ /**
21
+ * Builds a DynamoDB key object from a single primary key value.
22
+ */
23
+ protected getKeyObject(primaryKeyValue: string): DynamoKey;
24
+ /**
25
+ * Creates a new record and automatically stamps created audit fields.
26
+ */
27
+ save(item: T, authContext?: AuthContext): Promise<T>;
28
+ /**
29
+ * Updates an existing record and automatically stamps updated audit fields.
30
+ */
31
+ update(primaryKeyValue: string, updates: Partial<T>, authContext?: AuthContext): Promise<T>;
32
+ /**
33
+ * Deletes one record by primary key.
34
+ */
35
+ delete(primaryKeyValue: string): Promise<T | undefined>;
36
+ /**
37
+ * Fetches one record by primary key. Returns null when not found.
38
+ */
39
+ get(primaryKeyValue: string): Promise<T | null>;
40
+ /**
41
+ * Writes multiple records in a batch and throws if any item is left unprocessed.
42
+ */
43
+ batchSave(items: T[], authContext?: AuthContext): Promise<T[]>;
44
+ /**
45
+ * Fetches multiple records by primary keys.
46
+ */
47
+ batchGet(primaryKeyValues: string[]): Promise<T[]>;
48
+ /**
49
+ * Decodes a base64 continuation token into DynamoDB last evaluated key.
50
+ */
51
+ decode(continuationToken: string | undefined): DynamoKey | undefined;
52
+ /**
53
+ * Encodes DynamoDB last evaluated key into a base64 continuation token.
54
+ */
55
+ encode(lastEvaluatedKey: DynamoKey | undefined): Promise<string | undefined>;
56
+ }
57
+ export {};
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericDynamooseDAO = void 0;
4
+ class GenericDynamooseDAO {
5
+ /**
6
+ * @param model Dynamoose model instance for the target table.
7
+ * @param primaryKeyName Attribute name used as the table hash key.
8
+ */
9
+ constructor(model, primaryKeyName) {
10
+ this.model = model;
11
+ this.primaryKeyName = primaryKeyName;
12
+ }
13
+ /**
14
+ * Builds a DynamoDB key object from a single primary key value.
15
+ */
16
+ getKeyObject(primaryKeyValue) {
17
+ return { [this.primaryKeyName]: primaryKeyValue };
18
+ }
19
+ /**
20
+ * Creates a new record and automatically stamps created audit fields.
21
+ */
22
+ async save(item, authContext) {
23
+ const createFn = this.model.create;
24
+ const created = await createFn({
25
+ ...item,
26
+ created_time: new Date(),
27
+ created_user: authContext?.userSub
28
+ });
29
+ return created;
30
+ }
31
+ /**
32
+ * Updates an existing record and automatically stamps updated audit fields.
33
+ */
34
+ async update(primaryKeyValue, updates, authContext) {
35
+ const updateFn = this.model.update;
36
+ const updated = await updateFn(this.getKeyObject(primaryKeyValue), {
37
+ ...updates,
38
+ updated_time: new Date(),
39
+ updated_user: authContext?.userSub
40
+ });
41
+ return updated;
42
+ }
43
+ /**
44
+ * Deletes one record by primary key.
45
+ */
46
+ async delete(primaryKeyValue) {
47
+ const deleteFn = this.model.delete;
48
+ const deleted = await deleteFn(this.getKeyObject(primaryKeyValue));
49
+ return deleted;
50
+ }
51
+ /**
52
+ * Fetches one record by primary key. Returns null when not found.
53
+ */
54
+ async get(primaryKeyValue) {
55
+ const getFn = this.model.get;
56
+ const item = await getFn(this.getKeyObject(primaryKeyValue));
57
+ return item ?? null;
58
+ }
59
+ /**
60
+ * Writes multiple records in a batch and throws if any item is left unprocessed.
61
+ */
62
+ async batchSave(items, authContext) {
63
+ const now = new Date();
64
+ const inputItems = items.map((item) => ({
65
+ ...item,
66
+ created_time: now,
67
+ created_user: authContext?.userSub
68
+ }));
69
+ const batchPutFn = this.model.batchPut;
70
+ const result = await batchPutFn(inputItems);
71
+ if (result.unprocessedItems.length > 0) {
72
+ throw new Error(`Batch save partially failed. Unprocessed items: ${result.unprocessedItems.length}`);
73
+ }
74
+ return inputItems;
75
+ }
76
+ /**
77
+ * Fetches multiple records by primary keys.
78
+ */
79
+ async batchGet(primaryKeyValues) {
80
+ const keys = primaryKeyValues.map((value) => this.getKeyObject(value));
81
+ const batchGetFn = this.model.batchGet;
82
+ const items = await batchGetFn(keys);
83
+ return items;
84
+ }
85
+ /**
86
+ * Decodes a base64 continuation token into DynamoDB last evaluated key.
87
+ */
88
+ decode(continuationToken) {
89
+ if (!continuationToken) {
90
+ return undefined;
91
+ }
92
+ try {
93
+ return JSON.parse(Buffer.from(continuationToken, "base64").toString("utf8"));
94
+ }
95
+ catch (error) {
96
+ throw new Error("Invalid continuationToken");
97
+ }
98
+ }
99
+ /**
100
+ * Encodes DynamoDB last evaluated key into a base64 continuation token.
101
+ */
102
+ async encode(lastEvaluatedKey) {
103
+ if (!lastEvaluatedKey) {
104
+ return undefined;
105
+ }
106
+ return Buffer.from(JSON.stringify(lastEvaluatedKey)).toString("base64");
107
+ }
108
+ }
109
+ exports.GenericDynamooseDAO = GenericDynamooseDAO;
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1keW5hbW9vc2UtZGFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Jhc2UtZHluYW1vb3NlLWRhby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5QkEsTUFBYSxtQkFBbUI7SUFDNUI7OztPQUdHO0lBQ0gsWUFDdUIsS0FBeUIsRUFDekIsY0FBZ0M7UUFEaEMsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWtCO0lBQ25ELENBQUM7SUFFTDs7T0FFRztJQUNPLFlBQVksQ0FBQyxlQUF1QjtRQUMxQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFPLEVBQUUsV0FBeUI7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDO1lBQzNCLEdBQUcsSUFBSTtZQUNQLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtZQUN4QixZQUFZLEVBQUUsV0FBVyxFQUFFLE9BQU87U0FDckMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUF1QixFQUFFLE9BQW1CLEVBQUUsV0FBeUI7UUFDaEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUNsQztZQUNJLEdBQUcsT0FBTztZQUNWLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtZQUN4QixZQUFZLEVBQUUsV0FBVyxFQUFFLE9BQU87U0FDckMsQ0FDSixD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Q0FDSjtBQXZIRCxrREF1SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRHluYW1vb3NlTW9kZWwsIEF1dGhDb250ZXh0IH0gZnJvbSBcIi4vYmFzZS1keW5hbW9vc2UtbW9kZWxcIjtcblxudHlwZSBEeW5hbW9LZXlWYWx1ZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsO1xuZXhwb3J0IHR5cGUgRHluYW1vS2V5ID0gUmVjb3JkPHN0cmluZywgRHluYW1vS2V5VmFsdWU+O1xuXG50eXBlIEJhdGNoUHV0UmVzcG9uc2U8VD4gPSB7XG4gICAgdW5wcm9jZXNzZWRJdGVtczogUGFydGlhbDxUPltdO1xufTtcblxudHlwZSBDcmVhdGVGbjxUPiA9IChpdGVtOiBQYXJ0aWFsPFQ+KSA9PiBQcm9taXNlPG9iamVjdD47XG50eXBlIFVwZGF0ZUZuPFQ+ID0gKGtleTogRHluYW1vS2V5LCB1cGRhdGU6IFBhcnRpYWw8VD4pID0+IFByb21pc2U8b2JqZWN0PjtcbnR5cGUgRGVsZXRlRm4gPSAoa2V5OiBEeW5hbW9LZXkpID0+IFByb21pc2U8b2JqZWN0IHwgdW5kZWZpbmVkPjtcbnR5cGUgR2V0Rm4gPSAoa2V5OiBEeW5hbW9LZXkpID0+IFByb21pc2U8b2JqZWN0IHwgdW5kZWZpbmVkPjtcbnR5cGUgQmF0Y2hQdXRGbjxUPiA9IChpdGVtczogUGFydGlhbDxUPltdKSA9PiBQcm9taXNlPEJhdGNoUHV0UmVzcG9uc2U8VD4+O1xudHlwZSBCYXRjaEdldEZuID0gKGtleXM6IER5bmFtb0tleVtdKSA9PiBQcm9taXNlPG9iamVjdFtdPjtcblxudHlwZSBEeW5hbW9vc2VNb2RlbExpa2UgPSB7XG4gICAgY3JlYXRlOiBGdW5jdGlvbjtcbiAgICB1cGRhdGU6IEZ1bmN0aW9uO1xuICAgIGdldDogRnVuY3Rpb247XG4gICAgZGVsZXRlOiBGdW5jdGlvbjtcbiAgICBiYXRjaFB1dDogRnVuY3Rpb247XG4gICAgYmF0Y2hHZXQ6IEZ1bmN0aW9uO1xufTtcblxuZXhwb3J0IGNsYXNzIEdlbmVyaWNEeW5hbW9vc2VEQU88VCBleHRlbmRzIEJhc2VEeW5hbW9vc2VNb2RlbD4ge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtb2RlbCBEeW5hbW9vc2UgbW9kZWwgaW5zdGFuY2UgZm9yIHRoZSB0YXJnZXQgdGFibGUuXG4gICAgICogQHBhcmFtIHByaW1hcnlLZXlOYW1lIEF0dHJpYnV0ZSBuYW1lIHVzZWQgYXMgdGhlIHRhYmxlIGhhc2gga2V5LlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZWw6IER5bmFtb29zZU1vZGVsTGlrZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByaW1hcnlLZXlOYW1lOiBrZXlvZiBUICYgc3RyaW5nXG4gICAgKSB7IH1cblxuICAgIC8qKlxuICAgICAqIEJ1aWxkcyBhIER5bmFtb0RCIGtleSBvYmplY3QgZnJvbSBhIHNpbmdsZSBwcmltYXJ5IGtleSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0S2V5T2JqZWN0KHByaW1hcnlLZXlWYWx1ZTogc3RyaW5nKTogRHluYW1vS2V5IHtcbiAgICAgICAgcmV0dXJuIHsgW3RoaXMucHJpbWFyeUtleU5hbWVdOiBwcmltYXJ5S2V5VmFsdWUgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IHJlY29yZCBhbmQgYXV0b21hdGljYWxseSBzdGFtcHMgY3JlYXRlZCBhdWRpdCBmaWVsZHMuXG4gICAgICovXG4gICAgYXN5bmMgc2F2ZShpdGVtOiBULCBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0KTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUZuID0gdGhpcy5tb2RlbC5jcmVhdGUgYXMgQ3JlYXRlRm48VD47XG4gICAgICAgIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCBjcmVhdGVGbih7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgY3JlYXRlZF90aW1lOiBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgY3JlYXRlZF91c2VyOiBhdXRoQ29udGV4dD8udXNlclN1YlxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZWQgYXMgVDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIHJlY29yZCBhbmQgYXV0b21hdGljYWxseSBzdGFtcHMgdXBkYXRlZCBhdWRpdCBmaWVsZHMuXG4gICAgICovXG4gICAgYXN5bmMgdXBkYXRlKHByaW1hcnlLZXlWYWx1ZTogc3RyaW5nLCB1cGRhdGVzOiBQYXJ0aWFsPFQ+LCBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0KTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZUZuID0gdGhpcy5tb2RlbC51cGRhdGUgYXMgVXBkYXRlRm48VD47XG4gICAgICAgIGNvbnN0IHVwZGF0ZWQgPSBhd2FpdCB1cGRhdGVGbihcbiAgICAgICAgICAgIHRoaXMuZ2V0S2V5T2JqZWN0KHByaW1hcnlLZXlWYWx1ZSksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udXBkYXRlcyxcbiAgICAgICAgICAgICAgICB1cGRhdGVkX3RpbWU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgdXBkYXRlZF91c2VyOiBhdXRoQ29udGV4dD8udXNlclN1YlxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdXBkYXRlZCBhcyBUO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgb25lIHJlY29yZCBieSBwcmltYXJ5IGtleS5cbiAgICAgKi9cbiAgICBhc3luYyBkZWxldGUocHJpbWFyeUtleVZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgY29uc3QgZGVsZXRlRm4gPSB0aGlzLm1vZGVsLmRlbGV0ZSBhcyBEZWxldGVGbjtcbiAgICAgICAgY29uc3QgZGVsZXRlZCA9IGF3YWl0IGRlbGV0ZUZuKHRoaXMuZ2V0S2V5T2JqZWN0KHByaW1hcnlLZXlWYWx1ZSkpO1xuICAgICAgICByZXR1cm4gZGVsZXRlZCBhcyBUIHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZldGNoZXMgb25lIHJlY29yZCBieSBwcmltYXJ5IGtleS4gUmV0dXJucyBudWxsIHdoZW4gbm90IGZvdW5kLlxuICAgICAqL1xuICAgIGFzeW5jIGdldChwcmltYXJ5S2V5VmFsdWU6IHN0cmluZyk6IFByb21pc2U8VCB8IG51bGw+IHtcbiAgICAgICAgY29uc3QgZ2V0Rm4gPSB0aGlzLm1vZGVsLmdldCBhcyBHZXRGbjtcbiAgICAgICAgY29uc3QgaXRlbSA9IGF3YWl0IGdldEZuKHRoaXMuZ2V0S2V5T2JqZWN0KHByaW1hcnlLZXlWYWx1ZSkpO1xuICAgICAgICByZXR1cm4gKGl0ZW0gYXMgVCB8IHVuZGVmaW5lZCkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZXMgbXVsdGlwbGUgcmVjb3JkcyBpbiBhIGJhdGNoIGFuZCB0aHJvd3MgaWYgYW55IGl0ZW0gaXMgbGVmdCB1bnByb2Nlc3NlZC5cbiAgICAgKi9cbiAgICBhc3luYyBiYXRjaFNhdmUoaXRlbXM6IFRbXSwgYXV0aENvbnRleHQ/OiBBdXRoQ29udGV4dCk6IFByb21pc2U8VFtdPiB7XG4gICAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IGlucHV0SXRlbXMgPSBpdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgY3JlYXRlZF90aW1lOiBub3csXG4gICAgICAgICAgICBjcmVhdGVkX3VzZXI6IGF1dGhDb250ZXh0Py51c2VyU3ViXG4gICAgICAgIH0pKSBhcyBUW107XG5cbiAgICAgICAgY29uc3QgYmF0Y2hQdXRGbiA9IHRoaXMubW9kZWwuYmF0Y2hQdXQgYXMgQmF0Y2hQdXRGbjxUPjtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYmF0Y2hQdXRGbihpbnB1dEl0ZW1zKTtcbiAgICAgICAgaWYgKHJlc3VsdC51bnByb2Nlc3NlZEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQmF0Y2ggc2F2ZSBwYXJ0aWFsbHkgZmFpbGVkLiBVbnByb2Nlc3NlZCBpdGVtczogJHtyZXN1bHQudW5wcm9jZXNzZWRJdGVtcy5sZW5ndGh9YCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5wdXRJdGVtcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGZXRjaGVzIG11bHRpcGxlIHJlY29yZHMgYnkgcHJpbWFyeSBrZXlzLlxuICAgICAqL1xuICAgIGFzeW5jIGJhdGNoR2V0KHByaW1hcnlLZXlWYWx1ZXM6IHN0cmluZ1tdKTogUHJvbWlzZTxUW10+IHtcbiAgICAgICAgY29uc3Qga2V5cyA9IHByaW1hcnlLZXlWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gdGhpcy5nZXRLZXlPYmplY3QodmFsdWUpKTtcbiAgICAgICAgY29uc3QgYmF0Y2hHZXRGbiA9IHRoaXMubW9kZWwuYmF0Y2hHZXQgYXMgQmF0Y2hHZXRGbjtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCBiYXRjaEdldEZuKGtleXMpO1xuICAgICAgICByZXR1cm4gaXRlbXMgYXMgVFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlY29kZXMgYSBiYXNlNjQgY29udGludWF0aW9uIHRva2VuIGludG8gRHluYW1vREIgbGFzdCBldmFsdWF0ZWQga2V5LlxuICAgICAqL1xuICAgIGRlY29kZShjb250aW51YXRpb25Ub2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkKTogRHluYW1vS2V5IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCFjb250aW51YXRpb25Ub2tlbikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShjb250aW51YXRpb25Ub2tlbiwgXCJiYXNlNjRcIikudG9TdHJpbmcoXCJ1dGY4XCIpKSBhcyBEeW5hbW9LZXk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNvbnRpbnVhdGlvblRva2VuXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5jb2RlcyBEeW5hbW9EQiBsYXN0IGV2YWx1YXRlZCBrZXkgaW50byBhIGJhc2U2NCBjb250aW51YXRpb24gdG9rZW4uXG4gICAgICovXG4gICAgYXN5bmMgZW5jb2RlKGxhc3RFdmFsdWF0ZWRLZXk6IER5bmFtb0tleSB8IHVuZGVmaW5lZCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmICghbGFzdEV2YWx1YXRlZEtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShsYXN0RXZhbHVhdGVkS2V5KSkudG9TdHJpbmcoXCJiYXNlNjRcIik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shared audit fields for Dynamoose entities.
3
+ * Extend this interface in module-specific model interfaces.
4
+ */
5
+ export interface BaseDynamooseModel {
6
+ created_time?: Date;
7
+ updated_time?: Date;
8
+ created_user?: string;
9
+ updated_user?: string;
10
+ }
11
+ /**
12
+ * Reusable runtime schema fragment for audit fields.
13
+ * Spread this into Dynamoose schema definitions to avoid duplication.
14
+ */
15
+ export declare const BASE_DYNAMOOSE_AUDIT_SCHEMA: {
16
+ readonly created_time: DateConstructor;
17
+ readonly updated_time: DateConstructor;
18
+ readonly created_user: StringConstructor;
19
+ readonly updated_user: StringConstructor;
20
+ };
21
+ /**
22
+ * Auth payload used by DAO methods for audit stamping.
23
+ */
24
+ export type AuthContext = {
25
+ userSub?: string;
26
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BASE_DYNAMOOSE_AUDIT_SCHEMA = void 0;
4
+ /**
5
+ * Reusable runtime schema fragment for audit fields.
6
+ * Spread this into Dynamoose schema definitions to avoid duplication.
7
+ */
8
+ exports.BASE_DYNAMOOSE_AUDIT_SCHEMA = {
9
+ created_time: Date,
10
+ updated_time: Date,
11
+ created_user: String,
12
+ updated_user: String
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1keW5hbW9vc2UtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFzZS1keW5hbW9vc2UtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0E7OztHQUdHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRztJQUN2QyxZQUFZLEVBQUUsSUFBSTtJQUNsQixZQUFZLEVBQUUsSUFBSTtJQUNsQixZQUFZLEVBQUUsTUFBTTtJQUNwQixZQUFZLEVBQUUsTUFBTTtDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNoYXJlZCBhdWRpdCBmaWVsZHMgZm9yIER5bmFtb29zZSBlbnRpdGllcy5cbiAqIEV4dGVuZCB0aGlzIGludGVyZmFjZSBpbiBtb2R1bGUtc3BlY2lmaWMgbW9kZWwgaW50ZXJmYWNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRHluYW1vb3NlTW9kZWwge1xuICAgIGNyZWF0ZWRfdGltZT86IERhdGU7XG4gICAgdXBkYXRlZF90aW1lPzogRGF0ZTtcbiAgICBjcmVhdGVkX3VzZXI/OiBzdHJpbmc7XG4gICAgdXBkYXRlZF91c2VyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJldXNhYmxlIHJ1bnRpbWUgc2NoZW1hIGZyYWdtZW50IGZvciBhdWRpdCBmaWVsZHMuXG4gKiBTcHJlYWQgdGhpcyBpbnRvIER5bmFtb29zZSBzY2hlbWEgZGVmaW5pdGlvbnMgdG8gYXZvaWQgZHVwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBCQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUEgPSB7XG4gICAgY3JlYXRlZF90aW1lOiBEYXRlLFxuICAgIHVwZGF0ZWRfdGltZTogRGF0ZSxcbiAgICBjcmVhdGVkX3VzZXI6IFN0cmluZyxcbiAgICB1cGRhdGVkX3VzZXI6IFN0cmluZ1xufSBhcyBjb25zdDtcblxuLyoqXG4gKiBBdXRoIHBheWxvYWQgdXNlZCBieSBEQU8gbWV0aG9kcyBmb3IgYXVkaXQgc3RhbXBpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIEF1dGhDb250ZXh0ID0ge1xuICAgIHVzZXJTdWI/OiBzdHJpbmc7XG59O1xuIl19
@@ -16,6 +16,7 @@ export declare const BASE_TABLE_NAMES: {
16
16
  readonly ORDER_REVIEW_FEEDBACK: "OrderReviewFeedbackTable";
17
17
  readonly CATERING_REQUEST: "CateringRequestTable";
18
18
  readonly FMP_REQUEST_CALLBACK: "FmpRequestCallbackTable";
19
+ readonly PLATTER_FIT: "PlatterFitTable";
19
20
  readonly ORDER: "OrderTable";
20
21
  readonly ORDER_ADDRESS: "OrderAddressTable";
21
22
  readonly ORDER_REVIEW: "OrderReviewTable";
@@ -71,6 +72,7 @@ export declare const TABLE_NAMES: {
71
72
  readonly ORDER_REVIEW_FEEDBACK: string;
72
73
  readonly CATERING_REQUEST: string;
73
74
  readonly FMP_REQUEST_CALLBACK: string;
75
+ readonly PLATTER_FIT: string;
74
76
  readonly ORDER: string;
75
77
  readonly ORDER_ADDRESS: string;
76
78
  readonly ORDER_REVIEW: string;
@@ -22,6 +22,7 @@ exports.BASE_TABLE_NAMES = {
22
22
  ORDER_REVIEW_FEEDBACK: 'OrderReviewFeedbackTable',
23
23
  CATERING_REQUEST: 'CateringRequestTable',
24
24
  FMP_REQUEST_CALLBACK: 'FmpRequestCallbackTable',
25
+ PLATTER_FIT: 'PlatterFitTable',
25
26
  // Order Module Tables
26
27
  ORDER: 'OrderTable',
27
28
  ORDER_ADDRESS: 'OrderAddressTable',
@@ -92,6 +93,7 @@ exports.TABLE_NAMES = {
92
93
  ORDER_REVIEW_FEEDBACK: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ORDER_REVIEW_FEEDBACK),
93
94
  CATERING_REQUEST: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.CATERING_REQUEST),
94
95
  FMP_REQUEST_CALLBACK: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.FMP_REQUEST_CALLBACK),
96
+ PLATTER_FIT: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.PLATTER_FIT),
95
97
  // Order Module Tables
96
98
  ORDER: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ORDER),
97
99
  ORDER_ADDRESS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ORDER_ADDRESS),
@@ -128,4 +130,4 @@ exports.TABLE_NAMES = {
128
130
  ACTIVITY_LOGS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.ACTIVITY_LOGS),
129
131
  QUOTATIONS: TableNameManager.getTableName(exports.BASE_TABLE_NAMES.QUOTATIONS),
130
132
  };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3RhYmxlLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFxRDtBQUVyRCxnREFBZ0Q7QUFDbkMsUUFBQSxnQkFBZ0IsR0FBRztJQUM1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixtQkFBbUIsRUFBRSx5QkFBeUI7SUFDOUMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7SUFDM0MsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxvQkFBb0IsRUFBRSx5QkFBeUI7SUFDL0MsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGVBQWUsRUFBRSxxQkFBcUI7SUFDdEMscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxnQkFBZ0IsRUFBRSxzQkFBc0I7SUFDeEMsb0JBQW9CLEVBQUUseUJBQXlCO0lBRS9DLHNCQUFzQjtJQUN0QixLQUFLLEVBQUUsWUFBWTtJQUNuQixhQUFhLEVBQUUsbUJBQW1CO0lBQ2xDLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixRQUFRLEVBQUUsZUFBZTtJQUN6QixZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLGNBQWMsRUFBRSxvQkFBb0I7SUFDcEMsV0FBVyxFQUFFLGlCQUFpQjtJQUU5Qix3QkFBd0I7SUFDeEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxJQUFJLEVBQUUsV0FBVztJQUNqQixlQUFlLEVBQUUscUJBQXFCO0lB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QU0sQ0FBQztJQUM5RCxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsa0JBQWtCLENBQUM7SUFDdEYsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxTQUFTLENBQUM7SUFFcEUsdUJBQXVCO0lBQ3ZCLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzVFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzVFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsVUFBVSxDQUFDO0NBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhYmFzZUZhY3RvcnkgfSBmcm9tICcuL2RhdGFiYXNlLWZhY3RvcnknO1xuXG4vLyBCYXNlIHRhYmxlIG5hbWVzICh3aXRob3V0IGVudmlyb25tZW50IHByZWZpeClcbmV4cG9ydCBjb25zdCBCQVNFX1RBQkxFX05BTUVTID0ge1xuICAgIC8vIEN1c3RvbWVyIEFwcCBUYWJsZXNcbiAgICBBUFBfRkVFREJBQ0s6ICdBcHBGZWVkYmFja1RhYmxlJyxcbiAgICBMU1FfQ1JNOiAnTHNxQ3JtVGFibGUnLFxuICAgIENVVExFUlk6ICdDdXRsZXJ5VGFibGUnLFxuICAgIElURU1fQUNDT01QQU5JTUVOVFM6ICdJdGVtQWNjb21wYW5pbWVudHNUYWJsZScsXG4gICAgQ1VJU0lORTogJ0N1aXNpbmVUYWJsZScsXG4gICAgVElFUl9ERVRBSUxTOiAnVGllckRldGFpbHNUYWJsZScsXG4gICAgVVNFUl9PUkRFUl9TVU1NQVJZOiAnVXNlck9yZGVyU3VtbWFyeVRhYmxlJyxcbiAgICBUSUVSX1JFRkVSUkFMOiAnVGllclJlZmVycmFsVGFibGUnLFxuICAgIFVTRVJfQUREUkVTU19SRVFVRVNUOiAnVXNlckFkZHJlc3NSZXF1ZXN0VGFibGUnLFxuICAgIENPTU1PTl9GRUVEQkFDSzogJ0NvbW1vbkZlZWRiYWNrVGFibGUnLFxuICAgIEdVRVNUX0ZFRURCQUNLOiAnR3Vlc3RGZWVkYmFja1RhYmxlJyxcbiAgICBDT1VOVEVSOiAnQ291bnRlclRhYmxlJyxcbiAgICBSRVFVRVNUX0lOVk9JQ0U6ICdSZXF1ZXN0SW52b2ljZVRhYmxlJyxcbiAgICBQTEFUVEVSX1NFQVJDSF9FVkVOVFM6ICdQbGF0dGVyU2VhcmNoRXZlbnRzVGFibGUnLFxuICAgIE9SREVSX1JFVklFV19GRUVEQkFDSzogJ09yZGVyUmV2aWV3RmVlZGJhY2tUYWJsZScsXG4gICAgQ0FURVJJTkdfUkVRVUVTVDogJ0NhdGVyaW5nUmVxdWVzdFRhYmxlJyxcbiAgICBGTVBfUkVRVUVTVF9DQUxMQkFDSzogJ0ZtcFJlcXVlc3RDYWxsYmFja1RhYmxlJyxcblxuICAgIC8vIE9yZGVyIE1vZHVsZSBUYWJsZXNcbiAgICBPUkRFUjogJ09yZGVyVGFibGUnLFxuICAgIE9SREVSX0FERFJFU1M6ICdPcmRlckFkZHJlc3NUYWJsZScsXG4gICAgT1JERVJfUkVWSUVXOiAnT3JkZXJSZXZpZXdUYWJsZScsXG4gICAgUEFZTUVOVDogJ1BheW1lbnRUYWJsZScsXG4gICAgUExBVEVfT1JERVI6ICdQbGF0ZU9yZGVyVGFibGUnLFxuICAgIFRSQUNLSU5HOiAnVHJhY2tpbmdUYWJsZScsXG4gICAgVVNFUl9BRERSRVNTOiAnVXNlckFkZHJlc3NUYWJsZScsXG4gICAgVVNFUl9TUEVDSUZJQ1M6ICdVc2VyU3BlY2lmaWNzVGFibGUnLFxuICAgIEJCUV9TS0VXRVJTOiAnQmJxU2tld2Vyc1RhYmxlJyxcblxuICAgIC8vIE90aGVyIEN1c3RvbWVyIFRhYmxlc1xuICAgIEFERF9PTlM6ICdBZGRPbnNUYWJsZScsXG4gICAgQkFOS19ERVRBSUxTOiAnQmFua0RldGFpbHNUYWJsZScsXG4gICAgQ0FSVDogJ0NhcnRUYWJsZScsXG4gICAgQ0FSVF9DQVRFR09SSUVTOiAnQ2FydENhdGVnb3JpZXNUYWJsZScsXG4gICAgQ0FURUdPUlk6ICdDYXRlZ29yeVRhYmxlJyxcbiAgICBDQVRFUklORzogJ0NhdGVyaW5nVGFibGUnLFxuICAgIENPTlRFTlQ6ICdDb250ZW50VGFibGUnLFxuICAgIENPVVBPTlM6ICdDb3Vwb25zVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUjogJ0RlZmF1bHRQbGF0dGVyVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUl9DQVRFR09SSUVTOiAnRGVmYXVsdFBsYXR0ZXJDYXRlZ29yaWVzVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUl9JVEVNUzogJ0RlZmF1bHRQbGF0dGVySXRlbXNUYWJsZScsXG4gICAgRVZFTlRfRVhFQ1VUSVZFUzogJ0V2ZW50RXhlY3V0aXZlc1RhYmxlJyxcbiAgICBJVEVNUzogJ0l0ZW1zVGFibGUnLFxuICAgIExFQUQ6ICdMZWFkVGFibGUnLFxuICAgIE9DQ0FTSU9OOiAnT2NjYXNpb25UYWJsZScsXG4gICAgUkVGRVJSQUxfQ09OVEVOVDogJ1JlZmVycmFsQ29udGVudFRhYmxlJyxcbiAgICBVU0VSOiAnVXNlclRhYmxlJyxcbiAgICBXQUxMRVQ6ICdXYWxsZXRUYWJsZScsXG4gICAgV0FMTEVUX1RSQU5TQUNUSU9OOiAnV2FsbGV0VHJhbnNhY3Rpb25UYWJsZScsXG4gICAgV0lUSERSQVdOOiAnV2l0aGRyYXduVGFibGUnLFxuXG4gICAgLy8gSW50ZXJuYWwgVXNlciBUYWJsZXNcbiAgICBJTlRFUk5BTF9VU0VSOiAnSW50ZXJuYWxVc2VyVGFibGUnLFxuICAgIEFDVElWSVRZX0xPR1M6ICdBY3Rpdml0eUxvZ3NUYWJsZScsXG4gICAgUVVPVEFUSU9OUzogJ1F1b3RhdGlvbnNUYWJsZScsXG59IGFzIGNvbnN0O1xuXG4vLyBFbnZpcm9ubWVudC1hd2FyZSB0YWJsZSBuYW1lIGdldHRlclxuZXhwb3J0IGNsYXNzIFRhYmxlTmFtZU1hbmFnZXIge1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVOYW1lKGJhc2VUYWJsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBEYXRhYmFzZUZhY3RvcnkuZ2V0VGFibGVOYW1lKGJhc2VUYWJsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWxsVGFibGVOYW1lcygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgdGFibGVOYW1lczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKEJBU0VfVEFCTEVfTkFNRVMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgdGFibGVOYW1lc1trZXldID0gdGhpcy5nZXRUYWJsZU5hbWUodmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGFibGVOYW1lcztcbiAgICB9XG59XG5cbi8vIEV4cG9ydCBlbnZpcm9ubWVudC1hd2FyZSB0YWJsZSBuYW1lc1xuZXhwb3J0IGNvbnN0IFRBQkxFX05BTUVTID0ge1xuICAgIC8vIEN1c3RvbWVyIEFwcCBUYWJsZXNcbiAgICBBUFBfRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQVBQX0ZFRURCQUNLKSxcbiAgICBMU1FfQ1JNOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkxTUV9DUk0pLFxuICAgIENVVExFUlk6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ1VUTEVSWSksXG4gICAgSVRFTV9BQ0NPTVBBTklNRU5UUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JVEVNX0FDQ09NUEFOSU1FTlRTKSxcbiAgICBDVUlTSU5FOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNVSVNJTkUpLFxuICAgIFRJRVJfREVUQUlMUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5USUVSX0RFVEFJTFMpLFxuICAgIFVTRVJfT1JERVJfU1VNTUFSWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5VU0VSX09SREVSX1NVTU1BUlkpLFxuICAgIFRJRVJfUkVGRVJSQUw6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVElFUl9SRUZFUlJBTCksXG4gICAgVVNFUl9BRERSRVNTX1JFUVVFU1Q6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9BRERSRVNTX1JFUVVFU1QpLFxuICAgIENPTU1PTl9GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT01NT05fRkVFREJBQ0spLFxuICAgIEdVRVNUX0ZFRURCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkdVRVNUX0ZFRURCQUNLKSxcbiAgICBDT1VOVEVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNPVU5URVIpLFxuICAgIFJFUVVFU1RfSU5WT0lDRTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5SRVFVRVNUX0lOVk9JQ0UpLFxuICAgIFBMQVRURVJfU0VBUkNIX0VWRU5UUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5QTEFUVEVSX1NFQVJDSF9FVkVOVFMpLFxuICAgIE9SREVSX1JFVklFV19GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9SRVZJRVdfRkVFREJBQ0spLFxuICAgIENBVEVSSU5HX1JFUVVFU1Q6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FURVJJTkdfUkVRVUVTVCksXG4gICAgRk1QX1JFUVVFU1RfQ0FMTEJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuRk1QX1JFUVVFU1RfQ0FMTEJBQ0spLFxuXG4gICAgLy8gT3JkZXIgTW9kdWxlIFRhYmxlc1xuICAgIE9SREVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLk9SREVSKSxcbiAgICBPUkRFUl9BRERSRVNTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLk9SREVSX0FERFJFU1MpLFxuICAgIE9SREVSX1JFVklFVzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9SRVZJRVcpLFxuICAgIFBBWU1FTlQ6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUEFZTUVOVCksXG4gICAgUExBVEVfT1JERVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuUExBVEVfT1JERVIpLFxuICAgIFRSQUNLSU5HOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlRSQUNLSU5HKSxcbiAgICBVU0VSX0FERFJFU1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9BRERSRVNTKSxcbiAgICBVU0VSX1NQRUNJRklDUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5VU0VSX1NQRUNJRklDUyksXG4gICAgQkJRX1NLRVdFUlM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQkJRX1NLRVdFUlMpLFxuXG4gICAgLy8gT3RoZXIgQ3VzdG9tZXIgVGFibGVzXG4gICAgQUREX09OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5BRERfT05TKSxcbiAgICBCQU5LX0RFVEFJTFM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQkFOS19ERVRBSUxTKSxcbiAgICBDQVJUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNBUlQpLFxuICAgIENBUlRfQ0FURUdPUklFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVJUX0NBVEVHT1JJRVMpLFxuICAgIENBVEVHT1JZOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNBVEVHT1JZKSxcbiAgICBDQVRFUklORzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRFUklORyksXG4gICAgQ09OVEVOVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT05URU5UKSxcbiAgICBDT1VQT05TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNPVVBPTlMpLFxuICAgIERFRkFVTFRfUExBVFRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5ERUZBVUxUX1BMQVRURVIpLFxuICAgIERFRkFVTFRfUExBVFRFUl9DQVRFR09SSUVTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkRFRkFVTFRfUExBVFRFUl9DQVRFR09SSUVTKSxcbiAgICBERUZBVUxUX1BMQVRURVJfSVRFTVM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuREVGQVVMVF9QTEFUVEVSX0lURU1TKSxcbiAgICBFVkVOVF9FWEVDVVRJVkVTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkVWRU5UX0VYRUNVVElWRVMpLFxuICAgIElURU1TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklURU1TKSxcbiAgICBMRUFEOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkxFQUQpLFxuICAgIE9DQ0FTSU9OOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLk9DQ0FTSU9OKSxcbiAgICBSRUZFUlJBTF9DT05URU5UOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlJFRkVSUkFMX0NPTlRFTlQpLFxuICAgIFVTRVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUiksXG4gICAgV0FMTEVUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLldBTExFVCksXG4gICAgV0FMTEVUX1RSQU5TQUNUSU9OOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLldBTExFVF9UUkFOU0FDVElPTiksXG4gICAgV0lUSERSQVdOOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLldJVEhEUkFXTiksXG5cbiAgICAvLyBJbnRlcm5hbCBVc2VyIFRhYmxlc1xuICAgIElOVEVSTkFMX1VTRVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuSU5URVJOQUxfVVNFUiksXG4gICAgQUNUSVZJVFlfTE9HUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5BQ1RJVklUWV9MT0dTKSxcbiAgICBRVU9UQVRJT05TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlFVT1RBVElPTlMpLFxufSBhcyBjb25zdDtcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3RhYmxlLW5hbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFxRDtBQUVyRCxnREFBZ0Q7QUFDbkMsUUFBQSxnQkFBZ0IsR0FBRztJQUM1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixPQUFPLEVBQUUsY0FBYztJQUN2QixtQkFBbUIsRUFBRSx5QkFBeUI7SUFDOUMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7SUFDM0MsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxvQkFBb0IsRUFBRSx5QkFBeUI7SUFDL0MsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLGVBQWUsRUFBRSxxQkFBcUI7SUFDdEMscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELHFCQUFxQixFQUFFLDBCQUEwQjtJQUNqRCxnQkFBZ0IsRUFBRSxzQkFBc0I7SUFDeEMsb0JBQW9CLEVBQUUseUJBQXlCO0lBQy9DLFdBQVcsRUFBRSxpQkFBaUI7SUFFOUIsc0JBQXNCO0lBQ3RCLEtBQUssRUFBRSxZQUFZO0lBQ25CLGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsY0FBYztJQUN2QixXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxXQUFXLEVBQUUsaUJBQWlCO0lBRTlCLHdCQUF3QjtJQUN4QixPQUFPLEVBQUUsYUFBYTtJQUN0QixZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLElBQUksRUFBRSxXQUFXO0lB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QUFZLENBQUMsd0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQzFELE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsd0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQzlELGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztJQUN0RixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLHdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUVwRSx1QkFBdUI7SUFDdkIsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDNUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDNUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyx3QkFBZ0IsQ0FBQyxVQUFVLENBQUM7Q0FDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFiYXNlRmFjdG9yeSB9IGZyb20gJy4vZGF0YWJhc2UtZmFjdG9yeSc7XG5cbi8vIEJhc2UgdGFibGUgbmFtZXMgKHdpdGhvdXQgZW52aXJvbm1lbnQgcHJlZml4KVxuZXhwb3J0IGNvbnN0IEJBU0VfVEFCTEVfTkFNRVMgPSB7XG4gICAgLy8gQ3VzdG9tZXIgQXBwIFRhYmxlc1xuICAgIEFQUF9GRUVEQkFDSzogJ0FwcEZlZWRiYWNrVGFibGUnLFxuICAgIExTUV9DUk06ICdMc3FDcm1UYWJsZScsXG4gICAgQ1VUTEVSWTogJ0N1dGxlcnlUYWJsZScsXG4gICAgSVRFTV9BQ0NPTVBBTklNRU5UUzogJ0l0ZW1BY2NvbXBhbmltZW50c1RhYmxlJyxcbiAgICBDVUlTSU5FOiAnQ3Vpc2luZVRhYmxlJyxcbiAgICBUSUVSX0RFVEFJTFM6ICdUaWVyRGV0YWlsc1RhYmxlJyxcbiAgICBVU0VSX09SREVSX1NVTU1BUlk6ICdVc2VyT3JkZXJTdW1tYXJ5VGFibGUnLFxuICAgIFRJRVJfUkVGRVJSQUw6ICdUaWVyUmVmZXJyYWxUYWJsZScsXG4gICAgVVNFUl9BRERSRVNTX1JFUVVFU1Q6ICdVc2VyQWRkcmVzc1JlcXVlc3RUYWJsZScsXG4gICAgQ09NTU9OX0ZFRURCQUNLOiAnQ29tbW9uRmVlZGJhY2tUYWJsZScsXG4gICAgR1VFU1RfRkVFREJBQ0s6ICdHdWVzdEZlZWRiYWNrVGFibGUnLFxuICAgIENPVU5URVI6ICdDb3VudGVyVGFibGUnLFxuICAgIFJFUVVFU1RfSU5WT0lDRTogJ1JlcXVlc3RJbnZvaWNlVGFibGUnLFxuICAgIFBMQVRURVJfU0VBUkNIX0VWRU5UUzogJ1BsYXR0ZXJTZWFyY2hFdmVudHNUYWJsZScsXG4gICAgT1JERVJfUkVWSUVXX0ZFRURCQUNLOiAnT3JkZXJSZXZpZXdGZWVkYmFja1RhYmxlJyxcbiAgICBDQVRFUklOR19SRVFVRVNUOiAnQ2F0ZXJpbmdSZXF1ZXN0VGFibGUnLFxuICAgIEZNUF9SRVFVRVNUX0NBTExCQUNLOiAnRm1wUmVxdWVzdENhbGxiYWNrVGFibGUnLFxuICAgIFBMQVRURVJfRklUOiAnUGxhdHRlckZpdFRhYmxlJyxcblxuICAgIC8vIE9yZGVyIE1vZHVsZSBUYWJsZXNcbiAgICBPUkRFUjogJ09yZGVyVGFibGUnLFxuICAgIE9SREVSX0FERFJFU1M6ICdPcmRlckFkZHJlc3NUYWJsZScsXG4gICAgT1JERVJfUkVWSUVXOiAnT3JkZXJSZXZpZXdUYWJsZScsXG4gICAgUEFZTUVOVDogJ1BheW1lbnRUYWJsZScsXG4gICAgUExBVEVfT1JERVI6ICdQbGF0ZU9yZGVyVGFibGUnLFxuICAgIFRSQUNLSU5HOiAnVHJhY2tpbmdUYWJsZScsXG4gICAgVVNFUl9BRERSRVNTOiAnVXNlckFkZHJlc3NUYWJsZScsXG4gICAgVVNFUl9TUEVDSUZJQ1M6ICdVc2VyU3BlY2lmaWNzVGFibGUnLFxuICAgIEJCUV9TS0VXRVJTOiAnQmJxU2tld2Vyc1RhYmxlJyxcblxuICAgIC8vIE90aGVyIEN1c3RvbWVyIFRhYmxlc1xuICAgIEFERF9PTlM6ICdBZGRPbnNUYWJsZScsXG4gICAgQkFOS19ERVRBSUxTOiAnQmFua0RldGFpbHNUYWJsZScsXG4gICAgQ0FSVDogJ0NhcnRUYWJsZScsXG4gICAgQ0FSVF9DQVRFR09SSUVTOiAnQ2FydENhdGVnb3JpZXNUYWJsZScsXG4gICAgQ0FURUdPUlk6ICdDYXRlZ29yeVRhYmxlJyxcbiAgICBDQVRFUklORzogJ0NhdGVyaW5nVGFibGUnLFxuICAgIENPTlRFTlQ6ICdDb250ZW50VGFibGUnLFxuICAgIENPVVBPTlM6ICdDb3Vwb25zVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUjogJ0RlZmF1bHRQbGF0dGVyVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUl9DQVRFR09SSUVTOiAnRGVmYXVsdFBsYXR0ZXJDYXRlZ29yaWVzVGFibGUnLFxuICAgIERFRkFVTFRfUExBVFRFUl9JVEVNUzogJ0RlZmF1bHRQbGF0dGVySXRlbXNUYWJsZScsXG4gICAgRVZFTlRfRVhFQ1VUSVZFUzogJ0V2ZW50RXhlY3V0aXZlc1RhYmxlJyxcbiAgICBJVEVNUzogJ0l0ZW1zVGFibGUnLFxuICAgIExFQUQ6ICdMZWFkVGFibGUnLFxuICAgIE9DQ0FTSU9OOiAnT2NjYXNpb25UYWJsZScsXG4gICAgUkVGRVJSQUxfQ09OVEVOVDogJ1JlZmVycmFsQ29udGVudFRhYmxlJyxcbiAgICBVU0VSOiAnVXNlclRhYmxlJyxcbiAgICBXQUxMRVQ6ICdXYWxsZXRUYWJsZScsXG4gICAgV0FMTEVUX1RSQU5TQUNUSU9OOiAnV2FsbGV0VHJhbnNhY3Rpb25UYWJsZScsXG4gICAgV0lUSERSQVdOOiAnV2l0aGRyYXduVGFibGUnLFxuXG4gICAgLy8gSW50ZXJuYWwgVXNlciBUYWJsZXNcbiAgICBJTlRFUk5BTF9VU0VSOiAnSW50ZXJuYWxVc2VyVGFibGUnLFxuICAgIEFDVElWSVRZX0xPR1M6ICdBY3Rpdml0eUxvZ3NUYWJsZScsXG4gICAgUVVPVEFUSU9OUzogJ1F1b3RhdGlvbnNUYWJsZScsXG59IGFzIGNvbnN0O1xuXG4vLyBFbnZpcm9ubWVudC1hd2FyZSB0YWJsZSBuYW1lIGdldHRlclxuZXhwb3J0IGNsYXNzIFRhYmxlTmFtZU1hbmFnZXIge1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVOYW1lKGJhc2VUYWJsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBEYXRhYmFzZUZhY3RvcnkuZ2V0VGFibGVOYW1lKGJhc2VUYWJsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWxsVGFibGVOYW1lcygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgdGFibGVOYW1lczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKEJBU0VfVEFCTEVfTkFNRVMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgdGFibGVOYW1lc1trZXldID0gdGhpcy5nZXRUYWJsZU5hbWUodmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGFibGVOYW1lcztcbiAgICB9XG59XG5cbi8vIEV4cG9ydCBlbnZpcm9ubWVudC1hd2FyZSB0YWJsZSBuYW1lc1xuZXhwb3J0IGNvbnN0IFRBQkxFX05BTUVTID0ge1xuICAgIC8vIEN1c3RvbWVyIEFwcCBUYWJsZXNcbiAgICBBUFBfRkVFREJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQVBQX0ZFRURCQUNLKSxcbiAgICBMU1FfQ1JNOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkxTUV9DUk0pLFxuICAgIENVVExFUlk6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ1VUTEVSWSksXG4gICAgSVRFTV9BQ0NPTVBBTklNRU5UUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JVEVNX0FDQ09NUEFOSU1FTlRTKSxcbiAgICBDVUlTSU5FOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNVSVNJTkUpLFxuICAgIFRJRVJfREVUQUlMUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5USUVSX0RFVEFJTFMpLFxuICAgIFVTRVJfT1JERVJfU1VNTUFSWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5VU0VSX09SREVSX1NVTU1BUlkpLFxuICAgIFRJRVJfUkVGRVJSQUw6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVElFUl9SRUZFUlJBTCksXG4gICAgVVNFUl9BRERSRVNTX1JFUVVFU1Q6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9BRERSRVNTX1JFUVVFU1QpLFxuICAgIENPTU1PTl9GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT01NT05fRkVFREJBQ0spLFxuICAgIEdVRVNUX0ZFRURCQUNLOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkdVRVNUX0ZFRURCQUNLKSxcbiAgICBDT1VOVEVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkNPVU5URVIpLFxuICAgIFJFUVVFU1RfSU5WT0lDRTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5SRVFVRVNUX0lOVk9JQ0UpLFxuICAgIFBMQVRURVJfU0VBUkNIX0VWRU5UUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5QTEFUVEVSX1NFQVJDSF9FVkVOVFMpLFxuICAgIE9SREVSX1JFVklFV19GRUVEQkFDSzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9SRVZJRVdfRkVFREJBQ0spLFxuICAgIENBVEVSSU5HX1JFUVVFU1Q6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FURVJJTkdfUkVRVUVTVCksXG4gICAgRk1QX1JFUVVFU1RfQ0FMTEJBQ0s6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuRk1QX1JFUVVFU1RfQ0FMTEJBQ0spLFxuICAgIFBMQVRURVJfRklUOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBMQVRURVJfRklUKSxcblxuICAgIC8vIE9yZGVyIE1vZHVsZSBUYWJsZXNcbiAgICBPUkRFUjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUiksXG4gICAgT1JERVJfQUREUkVTUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PUkRFUl9BRERSRVNTKSxcbiAgICBPUkRFUl9SRVZJRVc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuT1JERVJfUkVWSUVXKSxcbiAgICBQQVlNRU5UOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBBWU1FTlQpLFxuICAgIFBMQVRFX09SREVSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlBMQVRFX09SREVSKSxcbiAgICBUUkFDS0lORzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5UUkFDS0lORyksXG4gICAgVVNFUl9BRERSRVNTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVJfQUREUkVTUyksXG4gICAgVVNFUl9TUEVDSUZJQ1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuVVNFUl9TUEVDSUZJQ1MpLFxuICAgIEJCUV9TS0VXRVJTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJCUV9TS0VXRVJTKSxcblxuICAgIC8vIE90aGVyIEN1c3RvbWVyIFRhYmxlc1xuICAgIEFERF9PTlM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUREX09OUyksXG4gICAgQkFOS19ERVRBSUxTOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkJBTktfREVUQUlMUyksXG4gICAgQ0FSVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVJUKSxcbiAgICBDQVJUX0NBVEVHT1JJRVM6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FSVF9DQVRFR09SSUVTKSxcbiAgICBDQVRFR09SWTogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DQVRFR09SWSksXG4gICAgQ0FURVJJTkc6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ0FURVJJTkcpLFxuICAgIENPTlRFTlQ6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQ09OVEVOVCksXG4gICAgQ09VUE9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5DT1VQT05TKSxcbiAgICBERUZBVUxUX1BMQVRURVI6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuREVGQVVMVF9QTEFUVEVSKSxcbiAgICBERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5ERUZBVUxUX1BMQVRURVJfQ0FURUdPUklFUyksXG4gICAgREVGQVVMVF9QTEFUVEVSX0lURU1TOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLkRFRkFVTFRfUExBVFRFUl9JVEVNUyksXG4gICAgRVZFTlRfRVhFQ1VUSVZFUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5FVkVOVF9FWEVDVVRJVkVTKSxcbiAgICBJVEVNUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5JVEVNUyksXG4gICAgTEVBRDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5MRUFEKSxcbiAgICBPQ0NBU0lPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5PQ0NBU0lPTiksXG4gICAgUkVGRVJSQUxfQ09OVEVOVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5SRUZFUlJBTF9DT05URU5UKSxcbiAgICBVU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLlVTRVIpLFxuICAgIFdBTExFVDogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVQpLFxuICAgIFdBTExFVF9UUkFOU0FDVElPTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XQUxMRVRfVFJBTlNBQ1RJT04pLFxuICAgIFdJVEhEUkFXTjogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5XSVRIRFJBV04pLFxuXG4gICAgLy8gSW50ZXJuYWwgVXNlciBUYWJsZXNcbiAgICBJTlRFUk5BTF9VU0VSOiBUYWJsZU5hbWVNYW5hZ2VyLmdldFRhYmxlTmFtZShCQVNFX1RBQkxFX05BTUVTLklOVEVSTkFMX1VTRVIpLFxuICAgIEFDVElWSVRZX0xPR1M6IFRhYmxlTmFtZU1hbmFnZXIuZ2V0VGFibGVOYW1lKEJBU0VfVEFCTEVfTkFNRVMuQUNUSVZJVFlfTE9HUyksXG4gICAgUVVPVEFUSU9OUzogVGFibGVOYW1lTWFuYWdlci5nZXRUYWJsZU5hbWUoQkFTRV9UQUJMRV9OQU1FUy5RVU9UQVRJT05TKSxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -1,4 +1,11 @@
1
1
  import { BaseModel } from "../../base-model";
2
+ /**
3
+ * Arbitrary metadata: any key name, values can be primitives, nested maps, or lists (including lists of objects).
4
+ * Example: metadata.homeBanner = [{ platterImage, platterId, ... }, ...]; metadata.tags = ["a","b"];
5
+ */
6
+ export type ContentMetadataValue = string | number | boolean | null | ContentMetadataValue[] | {
7
+ [key: string]: ContentMetadataValue;
8
+ };
2
9
  export declare class ContentModel extends BaseModel {
3
10
  id: string;
4
11
  category: string;
@@ -14,6 +21,5 @@ export declare class ContentModel extends BaseModel {
14
21
  contentActive: string;
15
22
  description?: string;
16
23
  content_title?: string[];
17
- /** Arbitrary string key–value pairs (DynamoDB Map); extend schema without new columns */
18
- metadata?: Record<string, string>;
24
+ metadata?: Record<string, ContentMetadataValue>;
19
25
  }
@@ -78,10 +78,10 @@ __decorate([
78
78
  __metadata("design:type", Array)
79
79
  ], ContentModel.prototype, "content_title", void 0);
80
80
  __decorate([
81
- (0, annotations_1.attribute)({ memberType: "String" }),
81
+ (0, annotations_1.attribute)(),
82
82
  __metadata("design:type", Object)
83
83
  ], ContentModel.prototype, "metadata", void 0);
84
84
  exports.ContentModel = ContentModel = __decorate([
85
85
  (0, annotations_1.table)("ContentTable")
86
86
  ], ContentModel);
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2NvbnRlbnQvY29udGVudC1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1REFBK0U7QUFDL0UsaURBQTZDO0FBR3RDLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxzQkFBUztDQXVDMUMsQ0FBQTtBQXZDWSxvQ0FBWTtBQUVyQjtJQURDLElBQUEsa0NBQW9CLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O3dDQUM5QjtBQUtYO0lBSkMsSUFBQSx1QkFBUyxFQUFDO1FBQ1Asc0JBQXNCLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVE7S0FDdEUsQ0FBQzs7OENBRWU7QUFJakI7SUFIQyxJQUFBLHVCQUFTLEVBQUM7UUFDUCxzQkFBc0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRO0tBQzVFLENBQUM7O29EQUNxQjtBQUl2QjtJQUhDLElBQUEsdUJBQVMsRUFBQztRQUNQLHNCQUFzQixFQUFFLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVE7S0FDNUUsQ0FBQzs7MkNBQ1k7QUFFZDtJQURDLElBQUEsdUJBQVMsR0FBRTs7Z0RBQ087QUFFbkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2tEQUNVO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztpREFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ2M7QUFFMUI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2dEQUNTO0FBRXJCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztnREFDUztBQUVyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7OENBQ087QUFFbkI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7bURBQ2xFO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztpREFDUztBQUVyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7bURBQ2E7QUFHekI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7OzhDQUNGO3VCQXRDekIsWUFBWTtJQUR4QixJQUFBLG1CQUFLLEVBQUMsY0FBYyxDQUFDO0dBQ1QsWUFBWSxDQXVDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdHRyaWJ1dGUsIGF1dG9HZW5lcmF0ZWRIYXNoS2V5LCB0YWJsZSB9IGZyb20gXCJAbm92YS1vZG0vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XG5cbkB0YWJsZShcIkNvbnRlbnRUYWJsZVwiKVxuZXhwb3J0IGNsYXNzIENvbnRlbnRNb2RlbCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gICAgQGF1dG9HZW5lcmF0ZWRIYXNoS2V5KHsgdHlwZTogXCJTdHJpbmdcIiB9KVxuICAgIGlkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7XG4gICAgICAgIGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJjYXRlZ29yeUluZGV4XCI6IFwiSEFTSFwiIH0sIHR5cGU6ICdTdHJpbmcnXG4gICAgfSlcblxuICAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7XG4gICAgICAgIGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJjYXRlZ29yeU9yZGVySW5kZXhcIjogXCJSQU5HRVwiIH0sIHR5cGU6ICdOdW1iZXInXG4gICAgfSlcbiAgICBjYXRlZ29yeV9vcmRlcjogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoe1xuICAgICAgICBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwidGl0bGVDYXRlZ29yeUluZGV4XCI6IFwiUkFOR0VcIiB9LCB0eXBlOiAnU3RyaW5nJ1xuICAgIH0pXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICB0aXRsZV9pY29uOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY29udGVudF90eXBlPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHRpdGxlX2ltYWdlOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY29udGVudF9kZXRhaWxzOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICBpbWFnZXNfdXJsOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICB2aWRlb3NfdXJsOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICBsb2NhdGlvbjogc3RyaW5nW107XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJjb250ZW50QWN0aXZlSW5kZXhcIjogXCJIQVNIXCIgfSwgdHlwZTogJ1N0cmluZycgfSlcbiAgICBjb250ZW50QWN0aXZlOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7IC8vIE5ldyBBZGRlZCAwNi0wMy0yMDI2XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY29udGVudF90aXRsZT86IHN0cmluZ1tdOyAvLyBOZXcgQWRkZWQgMDYtMDMtMjAyNlxuICAgIC8qKiBBcmJpdHJhcnkgc3RyaW5nIGtleeKAk3ZhbHVlIHBhaXJzIChEeW5hbW9EQiBNYXApOyBleHRlbmQgc2NoZW1hIHdpdGhvdXQgbmV3IGNvbHVtbnMgKi9cbiAgICBAYXR0cmlidXRlKHsgbWVtYmVyVHlwZTogXCJTdHJpbmdcIiB9KVxuICAgIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn0iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b21lci11c2VyL2NvbnRlbnQvY29udGVudC1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1REFBK0U7QUFDL0UsaURBQTZDO0FBZXRDLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxzQkFBUztDQXNDMUMsQ0FBQTtBQXRDWSxvQ0FBWTtBQUVyQjtJQURDLElBQUEsa0NBQW9CLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O3dDQUM5QjtBQUtYO0lBSkMsSUFBQSx1QkFBUyxFQUFDO1FBQ1Asc0JBQXNCLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVE7S0FDdEUsQ0FBQzs7OENBRWU7QUFJakI7SUFIQyxJQUFBLHVCQUFTLEVBQUM7UUFDUCxzQkFBc0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRO0tBQzVFLENBQUM7O29EQUNxQjtBQUl2QjtJQUhDLElBQUEsdUJBQVMsRUFBQztRQUNQLHNCQUFzQixFQUFFLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVE7S0FDNUUsQ0FBQzs7MkNBQ1k7QUFFZDtJQURDLElBQUEsdUJBQVMsR0FBRTs7Z0RBQ087QUFFbkI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2tEQUNVO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztpREFDUTtBQUVwQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7cURBQ2M7QUFFMUI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7O2dEQUNTO0FBRXJCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztnREFDUztBQUVyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7OENBQ087QUFFbkI7SUFEQyxJQUFBLHVCQUFTLEVBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7bURBQ2xFO0FBRXRCO0lBREMsSUFBQSx1QkFBUyxHQUFFOztpREFDUztBQUVyQjtJQURDLElBQUEsdUJBQVMsR0FBRTs7bURBQ2E7QUFFekI7SUFEQyxJQUFBLHVCQUFTLEdBQUU7OzhDQUNvQzt1QkFyQ3ZDLFlBQVk7SUFEeEIsSUFBQSxtQkFBSyxFQUFDLGNBQWMsQ0FBQztHQUNULFlBQVksQ0FzQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXR0cmlidXRlLCBhdXRvR2VuZXJhdGVkSGFzaEtleSwgdGFibGUgfSBmcm9tIFwiQG5vdmEtb2RtL2Fubm90YXRpb25zXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbFwiO1xuXG4vKipcbiAqIEFyYml0cmFyeSBtZXRhZGF0YTogYW55IGtleSBuYW1lLCB2YWx1ZXMgY2FuIGJlIHByaW1pdGl2ZXMsIG5lc3RlZCBtYXBzLCBvciBsaXN0cyAoaW5jbHVkaW5nIGxpc3RzIG9mIG9iamVjdHMpLlxuICogRXhhbXBsZTogbWV0YWRhdGEuaG9tZUJhbm5lciA9IFt7IHBsYXR0ZXJJbWFnZSwgcGxhdHRlcklkLCAuLi4gfSwgLi4uXTsgbWV0YWRhdGEudGFncyA9IFtcImFcIixcImJcIl07XG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnRNZXRhZGF0YVZhbHVlID1cbiAgICB8IHN0cmluZ1xuICAgIHwgbnVtYmVyXG4gICAgfCBib29sZWFuXG4gICAgfCBudWxsXG4gICAgfCBDb250ZW50TWV0YWRhdGFWYWx1ZVtdXG4gICAgfCB7IFtrZXk6IHN0cmluZ106IENvbnRlbnRNZXRhZGF0YVZhbHVlIH07XG5cbkB0YWJsZShcIkNvbnRlbnRUYWJsZVwiKVxuZXhwb3J0IGNsYXNzIENvbnRlbnRNb2RlbCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gICAgQGF1dG9HZW5lcmF0ZWRIYXNoS2V5KHsgdHlwZTogXCJTdHJpbmdcIiB9KVxuICAgIGlkOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7XG4gICAgICAgIGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJjYXRlZ29yeUluZGV4XCI6IFwiSEFTSFwiIH0sIHR5cGU6ICdTdHJpbmcnXG4gICAgfSlcblxuICAgIGNhdGVnb3J5OiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSh7XG4gICAgICAgIGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJjYXRlZ29yeU9yZGVySW5kZXhcIjogXCJSQU5HRVwiIH0sIHR5cGU6ICdOdW1iZXInXG4gICAgfSlcbiAgICBjYXRlZ29yeV9vcmRlcjogbnVtYmVyO1xuICAgIEBhdHRyaWJ1dGUoe1xuICAgICAgICBpbmRleEtleUNvbmZpZ3VyYXRpb25zOiB7IFwidGl0bGVDYXRlZ29yeUluZGV4XCI6IFwiUkFOR0VcIiB9LCB0eXBlOiAnU3RyaW5nJ1xuICAgIH0pXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBAYXR0cmlidXRlKClcbiAgICB0aXRsZV9pY29uOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY29udGVudF90eXBlPzogc3RyaW5nO1xuICAgIEBhdHRyaWJ1dGUoKVxuICAgIHRpdGxlX2ltYWdlOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY29udGVudF9kZXRhaWxzOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICBpbWFnZXNfdXJsOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICB2aWRlb3NfdXJsOiBzdHJpbmdbXTtcbiAgICBAYXR0cmlidXRlKClcbiAgICBsb2NhdGlvbjogc3RyaW5nW107XG4gICAgQGF0dHJpYnV0ZSh7IGluZGV4S2V5Q29uZmlndXJhdGlvbnM6IHsgXCJjb250ZW50QWN0aXZlSW5kZXhcIjogXCJIQVNIXCIgfSwgdHlwZTogJ1N0cmluZycgfSlcbiAgICBjb250ZW50QWN0aXZlOiBzdHJpbmc7XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7IC8vIE5ldyBBZGRlZCAwNi0wMy0yMDI2XG4gICAgQGF0dHJpYnV0ZSgpXG4gICAgY29udGVudF90aXRsZT86IHN0cmluZ1tdOyAvLyBOZXcgQWRkZWQgMDYtMDMtMjAyNlxuICAgIEBhdHRyaWJ1dGUoKVxuICAgIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgQ29udGVudE1ldGFkYXRhVmFsdWU+O1xufSJdfQ==
@@ -0,0 +1,41 @@
1
+ import { GenericDynamooseDAO } from "../../base-dynamoose-dao";
2
+ import { AuthContext } from "../../base-dynamoose-model";
3
+ import { CreatePlatterFitInput, PlatterFit } from "./platter-fit-model";
4
+ type ListResult = {
5
+ items: PlatterFit[];
6
+ nextToken?: string;
7
+ };
8
+ declare class PlatterFitDao extends GenericDynamooseDAO<PlatterFit> {
9
+ /**
10
+ * Connects platter-fit DAO to the table model and its primary key.
11
+ */
12
+ constructor();
13
+ /**
14
+ * Creates one platter-fit record.
15
+ * If platterFitId is not passed, Dynamoose auto-generates it from schema default.
16
+ */
17
+ save: (item: CreatePlatterFitInput, authContext?: AuthContext) => Promise<PlatterFit>;
18
+ /**
19
+ * Updates one platter-fit record by id with conditional existence check.
20
+ */
21
+ update: (platterFitId: string, updates: Partial<PlatterFit>, authContext?: AuthContext) => Promise<PlatterFit>;
22
+ /**
23
+ * Returns one platter-fit record by primary key.
24
+ */
25
+ getById: (platterFitId: string) => Promise<PlatterFit | null>;
26
+ /**
27
+ * Lists records by status using token-based pagination.
28
+ * Pass returned nextToken in the next call to continue.
29
+ */
30
+ listByStatus: (status: string, limit?: number, token?: string) => Promise<ListResult>;
31
+ /**
32
+ * Lists records by occasionType using token-based pagination.
33
+ */
34
+ listByOccasionType: (occasionType: string, limit?: number, token?: string) => Promise<ListResult>;
35
+ /**
36
+ * Lists records by platterId using token-based pagination.
37
+ */
38
+ listByPlatterId: (platterId: string, limit?: number, token?: string) => Promise<ListResult>;
39
+ }
40
+ export declare const platterFitDao: PlatterFitDao;
41
+ export {};
@@ -0,0 +1,107 @@
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.platterFitDao = void 0;
7
+ const dynamoose_1 = __importDefault(require("dynamoose"));
8
+ const base_dynamoose_dao_1 = require("../../base-dynamoose-dao");
9
+ const platter_fit_model_1 = require("./platter-fit-model");
10
+ class PlatterFitDao extends base_dynamoose_dao_1.GenericDynamooseDAO {
11
+ /**
12
+ * Connects platter-fit DAO to the table model and its primary key.
13
+ */
14
+ constructor() {
15
+ super(platter_fit_model_1.PlatterFitModel, "platterFitId");
16
+ /**
17
+ * Creates one platter-fit record.
18
+ * If platterFitId is not passed, Dynamoose auto-generates it from schema default.
19
+ */
20
+ this.save = async (item, authContext) => {
21
+ return super.save(item, authContext);
22
+ };
23
+ /**
24
+ * Updates one platter-fit record by id with conditional existence check.
25
+ */
26
+ this.update = async (platterFitId, updates, authContext) => {
27
+ const updated = await platter_fit_model_1.PlatterFitModel.update({ platterFitId }, {
28
+ ...updates,
29
+ updated_time: new Date(),
30
+ updated_user: authContext?.userSub
31
+ }, {
32
+ condition: new dynamoose_1.default.Condition().where("platterFitId").eq(platterFitId)
33
+ });
34
+ return { ...updated };
35
+ };
36
+ /**
37
+ * Returns one platter-fit record by primary key.
38
+ */
39
+ this.getById = async (platterFitId) => this.get(platterFitId);
40
+ /**
41
+ * Lists records by status using token-based pagination.
42
+ * Pass returned nextToken in the next call to continue.
43
+ */
44
+ this.listByStatus = async (status, limit, token) => {
45
+ const decodedToken = this.decode(token);
46
+ let queryBuilder = platter_fit_model_1.PlatterFitModel
47
+ .query("status")
48
+ .eq(status)
49
+ .using("statusIndex");
50
+ if (decodedToken) {
51
+ queryBuilder = queryBuilder.startAt(decodedToken);
52
+ }
53
+ if (typeof limit === "number") {
54
+ queryBuilder = queryBuilder.limit(limit);
55
+ }
56
+ const queryResult = await queryBuilder.exec();
57
+ return {
58
+ items: queryResult.map((item) => ({ ...item })),
59
+ nextToken: await this.encode(queryResult.lastKey)
60
+ };
61
+ };
62
+ /**
63
+ * Lists records by occasionType using token-based pagination.
64
+ */
65
+ this.listByOccasionType = async (occasionType, limit, token) => {
66
+ const decodedToken = this.decode(token);
67
+ let queryBuilder = platter_fit_model_1.PlatterFitModel
68
+ .query("occasionType")
69
+ .eq(occasionType)
70
+ .using("occasionTypeIndex");
71
+ if (decodedToken) {
72
+ queryBuilder = queryBuilder.startAt(decodedToken);
73
+ }
74
+ if (typeof limit === "number") {
75
+ queryBuilder = queryBuilder.limit(limit);
76
+ }
77
+ const queryResult = await queryBuilder.exec();
78
+ return {
79
+ items: queryResult.map((item) => ({ ...item })),
80
+ nextToken: await this.encode(queryResult.lastKey)
81
+ };
82
+ };
83
+ /**
84
+ * Lists records by platterId using token-based pagination.
85
+ */
86
+ this.listByPlatterId = async (platterId, limit, token) => {
87
+ const decodedToken = this.decode(token);
88
+ let queryBuilder = platter_fit_model_1.PlatterFitModel
89
+ .query("platterId")
90
+ .eq(platterId)
91
+ .using("platterIdIndex");
92
+ if (decodedToken) {
93
+ queryBuilder = queryBuilder.startAt(decodedToken);
94
+ }
95
+ if (typeof limit === "number") {
96
+ queryBuilder = queryBuilder.limit(limit);
97
+ }
98
+ const queryResult = await queryBuilder.exec();
99
+ return {
100
+ items: queryResult.map((item) => ({ ...item })),
101
+ nextToken: await this.encode(queryResult.lastKey)
102
+ };
103
+ };
104
+ }
105
+ }
106
+ exports.platterFitDao = new PlatterFitDao();
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdHRlci1maXQtZGFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWVyLXVzZXIvcGxhdHRlci1maXQtbW9kdWxlL3BsYXR0ZXItZml0LWRhby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBa0M7QUFDbEMsaUVBQTBFO0FBRTFFLDJEQUF5RjtBQU96RixNQUFNLGFBQWMsU0FBUSx3Q0FBK0I7SUFDdkQ7O09BRUc7SUFDSDtRQUNJLEtBQUssQ0FBQyxtQ0FBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRzNDOzs7V0FHRztRQUNILFNBQUksR0FBRyxLQUFLLEVBQUUsSUFBMkIsRUFBRSxXQUF5QixFQUF1QixFQUFFO1lBQ3pGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQUVGOztXQUVHO1FBQ0gsV0FBTSxHQUFHLEtBQUssRUFDVixZQUFvQixFQUNwQixPQUE0QixFQUM1QixXQUF5QixFQUNOLEVBQUU7WUFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxtQ0FBZSxDQUFDLE1BQU0sQ0FDeEMsRUFBRSxZQUFZLEVBQUUsRUFDaEI7Z0JBQ0ksR0FBRyxPQUFPO2dCQUNWLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDeEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPO2FBQ3JDLEVBQ0Q7Z0JBQ0ksU0FBUyxFQUFFLElBQUksbUJBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQzthQUM5RSxDQUNKLENBQUM7WUFDRixPQUFPLEVBQUUsR0FBSSxPQUFrQixFQUFnQixDQUFDO1FBQ3BELENBQUMsQ0FBQztRQUVGOztXQUVHO1FBQ0gsWUFBTyxHQUFHLEtBQUssRUFBRSxZQUFvQixFQUE4QixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FB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Q0FBQztZQUM3QyxDQUFDO1lBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFOUMsT0FBTztnQkFDSCxLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUksSUFBZSxFQUFpQixDQUFBLENBQUM7Z0JBQ3pFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWdDLENBQUM7YUFDN0UsQ0FBQztRQUNOLENBQUMsQ0FBQztJQS9HRixDQUFDO0NBZ0hKO0FBRVksUUFBQSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkeW5hbW9vc2UgZnJvbSBcImR5bmFtb29zZVwiO1xuaW1wb3J0IHsgRHluYW1vS2V5LCBHZW5lcmljRHluYW1vb3NlREFPIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZHluYW1vb3NlLWRhb1wiO1xuaW1wb3J0IHsgQXV0aENvbnRleHQgfSBmcm9tIFwiLi4vLi4vYmFzZS1keW5hbW9vc2UtbW9kZWxcIjtcbmltcG9ydCB7IENyZWF0ZVBsYXR0ZXJGaXRJbnB1dCwgUGxhdHRlckZpdCwgUGxhdHRlckZpdE1vZGVsIH0gZnJvbSBcIi4vcGxhdHRlci1maXQtbW9kZWxcIjtcblxudHlwZSBMaXN0UmVzdWx0ID0ge1xuICAgIGl0ZW1zOiBQbGF0dGVyRml0W107XG4gICAgbmV4dFRva2VuPzogc3RyaW5nO1xufTtcblxuY2xhc3MgUGxhdHRlckZpdERhbyBleHRlbmRzIEdlbmVyaWNEeW5hbW9vc2VEQU88UGxhdHRlckZpdD4ge1xuICAgIC8qKlxuICAgICAqIENvbm5lY3RzIHBsYXR0ZXItZml0IERBTyB0byB0aGUgdGFibGUgbW9kZWwgYW5kIGl0cyBwcmltYXJ5IGtleS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoUGxhdHRlckZpdE1vZGVsLCBcInBsYXR0ZXJGaXRJZFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIG9uZSBwbGF0dGVyLWZpdCByZWNvcmQuXG4gICAgICogSWYgcGxhdHRlckZpdElkIGlzIG5vdCBwYXNzZWQsIER5bmFtb29zZSBhdXRvLWdlbmVyYXRlcyBpdCBmcm9tIHNjaGVtYSBkZWZhdWx0LlxuICAgICAqL1xuICAgIHNhdmUgPSBhc3luYyAoaXRlbTogQ3JlYXRlUGxhdHRlckZpdElucHV0LCBhdXRoQ29udGV4dD86IEF1dGhDb250ZXh0KTogUHJvbWlzZTxQbGF0dGVyRml0PiA9PiB7XG4gICAgICAgIHJldHVybiBzdXBlci5zYXZlKGl0ZW0gYXMgUGxhdHRlckZpdCwgYXV0aENvbnRleHQpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIG9uZSBwbGF0dGVyLWZpdCByZWNvcmQgYnkgaWQgd2l0aCBjb25kaXRpb25hbCBleGlzdGVuY2UgY2hlY2suXG4gICAgICovXG4gICAgdXBkYXRlID0gYXN5bmMgKFxuICAgICAgICBwbGF0dGVyRml0SWQ6IHN0cmluZyxcbiAgICAgICAgdXBkYXRlczogUGFydGlhbDxQbGF0dGVyRml0PixcbiAgICAgICAgYXV0aENvbnRleHQ/OiBBdXRoQ29udGV4dFxuICAgICk6IFByb21pc2U8UGxhdHRlckZpdD4gPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgUGxhdHRlckZpdE1vZGVsLnVwZGF0ZShcbiAgICAgICAgICAgIHsgcGxhdHRlckZpdElkIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udXBkYXRlcyxcbiAgICAgICAgICAgICAgICB1cGRhdGVkX3RpbWU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgdXBkYXRlZF91c2VyOiBhdXRoQ29udGV4dD8udXNlclN1YlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb246IG5ldyBkeW5hbW9vc2UuQ29uZGl0aW9uKCkud2hlcmUoXCJwbGF0dGVyRml0SWRcIikuZXEocGxhdHRlckZpdElkKVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4geyAuLi4odXBkYXRlZCBhcyBvYmplY3QpIH0gYXMgUGxhdHRlckZpdDtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBvbmUgcGxhdHRlci1maXQgcmVjb3JkIGJ5IHByaW1hcnkga2V5LlxuICAgICAqL1xuICAgIGdldEJ5SWQgPSBhc3luYyAocGxhdHRlckZpdElkOiBzdHJpbmcpOiBQcm9taXNlPFBsYXR0ZXJGaXQgfCBudWxsPiA9PiB0aGlzLmdldChwbGF0dGVyRml0SWQpO1xuXG4gICAgLyoqXG4gICAgICogTGlzdHMgcmVjb3JkcyBieSBzdGF0dXMgdXNpbmcgdG9rZW4tYmFzZWQgcGFnaW5hdGlvbi5cbiAgICAgKiBQYXNzIHJldHVybmVkIG5leHRUb2tlbiBpbiB0aGUgbmV4dCBjYWxsIHRvIGNvbnRpbnVlLlxuICAgICAqL1xuICAgIGxpc3RCeVN0YXR1cyA9IGFzeW5jIChzdGF0dXM6IHN0cmluZywgbGltaXQ/OiBudW1iZXIsIHRva2VuPzogc3RyaW5nKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IFBsYXR0ZXJGaXRNb2RlbFxuICAgICAgICAgICAgLnF1ZXJ5KFwic3RhdHVzXCIpXG4gICAgICAgICAgICAuZXEoc3RhdHVzKVxuICAgICAgICAgICAgLnVzaW5nKFwic3RhdHVzSW5kZXhcIik7XG4gICAgICAgIGlmIChkZWNvZGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5zdGFydEF0KGRlY29kZWRUb2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBxdWVyeVJlc3VsdC5tYXAoKGl0ZW0pID0+ICh7IC4uLihpdGVtIGFzIG9iamVjdCkgfSBhcyBQbGF0dGVyRml0KSksXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBMaXN0cyByZWNvcmRzIGJ5IG9jY2FzaW9uVHlwZSB1c2luZyB0b2tlbi1iYXNlZCBwYWdpbmF0aW9uLlxuICAgICAqL1xuICAgIGxpc3RCeU9jY2FzaW9uVHlwZSA9IGFzeW5jIChvY2Nhc2lvblR5cGU6IHN0cmluZywgbGltaXQ/OiBudW1iZXIsIHRva2VuPzogc3RyaW5nKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IFBsYXR0ZXJGaXRNb2RlbFxuICAgICAgICAgICAgLnF1ZXJ5KFwib2NjYXNpb25UeXBlXCIpXG4gICAgICAgICAgICAuZXEob2NjYXNpb25UeXBlKVxuICAgICAgICAgICAgLnVzaW5nKFwib2NjYXNpb25UeXBlSW5kZXhcIik7XG5cbiAgICAgICAgaWYgKGRlY29kZWRUb2tlbikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLnN0YXJ0QXQoZGVjb2RlZFRva2VuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbGltaXQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5saW1pdChsaW1pdCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBxdWVyeVJlc3VsdC5tYXAoKGl0ZW0pID0+ICh7IC4uLihpdGVtIGFzIG9iamVjdCkgfSBhcyBQbGF0dGVyRml0KSksXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBMaXN0cyByZWNvcmRzIGJ5IHBsYXR0ZXJJZCB1c2luZyB0b2tlbi1iYXNlZCBwYWdpbmF0aW9uLlxuICAgICAqL1xuICAgIGxpc3RCeVBsYXR0ZXJJZCA9IGFzeW5jIChwbGF0dGVySWQ6IHN0cmluZywgbGltaXQ/OiBudW1iZXIsIHRva2VuPzogc3RyaW5nKTogUHJvbWlzZTxMaXN0UmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMuZGVjb2RlKHRva2VuKTtcbiAgICAgICAgbGV0IHF1ZXJ5QnVpbGRlciA9IFBsYXR0ZXJGaXRNb2RlbFxuICAgICAgICAgICAgLnF1ZXJ5KFwicGxhdHRlcklkXCIpXG4gICAgICAgICAgICAuZXEocGxhdHRlcklkKVxuICAgICAgICAgICAgLnVzaW5nKFwicGxhdHRlcklkSW5kZXhcIik7XG5cbiAgICAgICAgaWYgKGRlY29kZWRUb2tlbikge1xuICAgICAgICAgICAgcXVlcnlCdWlsZGVyID0gcXVlcnlCdWlsZGVyLnN0YXJ0QXQoZGVjb2RlZFRva2VuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbGltaXQgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHF1ZXJ5QnVpbGRlciA9IHF1ZXJ5QnVpbGRlci5saW1pdChsaW1pdCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IGF3YWl0IHF1ZXJ5QnVpbGRlci5leGVjKCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBxdWVyeVJlc3VsdC5tYXAoKGl0ZW0pID0+ICh7IC4uLihpdGVtIGFzIG9iamVjdCkgfSBhcyBQbGF0dGVyRml0KSksXG4gICAgICAgICAgICBuZXh0VG9rZW46IGF3YWl0IHRoaXMuZW5jb2RlKHF1ZXJ5UmVzdWx0Lmxhc3RLZXkgYXMgRHluYW1vS2V5IHwgdW5kZWZpbmVkKVxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBwbGF0dGVyRml0RGFvID0gbmV3IFBsYXR0ZXJGaXREYW8oKTtcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { BaseDynamooseModel } from "../../base-dynamoose-model";
2
+ export declare const PLATTER_FIT_TABLE_NAME = "PlatterFitTable";
3
+ export interface PlatterFit extends BaseDynamooseModel {
4
+ platterFitId: string;
5
+ occasionName: string;
6
+ occasionType: string;
7
+ occasionSubType?: string;
8
+ minPax: number;
9
+ maxPax: number;
10
+ budgetTier: string;
11
+ rank: number;
12
+ rankTag?: string;
13
+ platterId: string;
14
+ platterName: string;
15
+ bucketPaxDescription?: string;
16
+ occasionDescription?: string;
17
+ othersDescription?: string;
18
+ status: string;
19
+ }
20
+ export type CreatePlatterFitInput = Omit<PlatterFit, "platterFitId"> & {
21
+ platterFitId?: string;
22
+ };
23
+ export declare const PlatterFitModel: import("dynamoose/dist/General").ModelType<import("dynamoose/dist/Item").AnyItem>;
@@ -0,0 +1,79 @@
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.PlatterFitModel = exports.PLATTER_FIT_TABLE_NAME = 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
+ exports.PLATTER_FIT_TABLE_NAME = "PlatterFitTable";
11
+ const platterFitSchema = new dynamoose_1.default.Schema({
12
+ platterFitId: {
13
+ type: String,
14
+ hashKey: true,
15
+ required: true,
16
+ default: () => (0, crypto_1.randomUUID)()
17
+ },
18
+ occasionName: {
19
+ type: String,
20
+ required: true
21
+ },
22
+ occasionType: {
23
+ type: String,
24
+ required: true,
25
+ index: {
26
+ name: "occasionTypeIndex",
27
+ type: "global"
28
+ }
29
+ },
30
+ occasionSubType: String,
31
+ minPax: {
32
+ type: Number,
33
+ required: true
34
+ },
35
+ maxPax: {
36
+ type: Number,
37
+ required: true
38
+ },
39
+ budgetTier: {
40
+ type: String,
41
+ required: true
42
+ },
43
+ rank: {
44
+ type: Number,
45
+ required: true
46
+ },
47
+ rankTag: String,
48
+ platterId: {
49
+ type: String,
50
+ required: true,
51
+ index: {
52
+ name: "platterIdIndex",
53
+ type: "global"
54
+ }
55
+ },
56
+ platterName: {
57
+ type: String,
58
+ required: true
59
+ },
60
+ bucketPaxDescription: String,
61
+ occasionDescription: String,
62
+ othersDescription: String,
63
+ status: {
64
+ type: String,
65
+ required: true,
66
+ index: {
67
+ name: "statusIndex",
68
+ type: "global"
69
+ }
70
+ },
71
+ ...base_dynamoose_model_1.BASE_DYNAMOOSE_AUDIT_SCHEMA
72
+ }, {
73
+ saveUnknown: false
74
+ });
75
+ exports.PlatterFitModel = dynamoose_1.default.model(exports.PLATTER_FIT_TABLE_NAME, platterFitSchema, {
76
+ create: false,
77
+ waitForActive: false
78
+ });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdHRlci1maXQtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9wbGF0dGVyLWZpdC1tb2R1bGUvcGxhdHRlci1maXQtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBQWtDO0FBQ2xDLG1DQUFvQztBQUNwQyxxRUFBNkY7QUFFaEYsUUFBQSxzQkFBc0IsR0FBRyxpQkFBaUIsQ0FBQztBQXdCeEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1CQUFTLENBQUMsTUFBTSxDQUN6QztJQUNJLFlBQVksRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixRQUFRLEVBQUUsSUFBSTtRQUNkLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFBLG1CQUFVLEdBQUU7S0FDOUI7SUFDRCxZQUFZLEVBQUU7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsWUFBWSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxtQkFBbUI7WUFDekIsSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtJQUNELGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLE1BQU0sRUFBRTtRQUNKLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxNQUFNLEVBQUU7UUFDSixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELElBQUksRUFBRTtRQUNGLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxPQUFPLEVBQUUsTUFBTTtJQUNmLFNBQVMsRUFBRTtRQUNQLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxXQUFXLEVBQUU7UUFDVCxJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0Qsb0JBQW9CLEVBQUUsTUFBTTtJQUM1QixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGlCQUFpQixFQUFFLE1BQU07SUFDekIsTUFBTSxFQUFFO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7SUFDRCxHQUFHLGtEQUEyQjtDQUNqQyxFQUNEO0lBQ0ksV0FBVyxFQUFFLEtBQUs7Q0FDckIsQ0FDSixDQUFDO0FBRVcsUUFBQSxlQUFlLEdBQUcsbUJBQVMsQ0FBQyxLQUFLLENBQzFDLDhCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEI7SUFDSSxNQUFNLEVBQUUsS0FBSztJQUNiLGFBQWEsRUFBRSxLQUFLO0NBQ3ZCLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkeW5hbW9vc2UgZnJvbSBcImR5bmFtb29zZVwiO1xuaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IEJBU0VfRFlOQU1PT1NFX0FVRElUX1NDSEVNQSwgQmFzZUR5bmFtb29zZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZHluYW1vb3NlLW1vZGVsXCI7XG5cbmV4cG9ydCBjb25zdCBQTEFUVEVSX0ZJVF9UQUJMRV9OQU1FID0gXCJQbGF0dGVyRml0VGFibGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQbGF0dGVyRml0IGV4dGVuZHMgQmFzZUR5bmFtb29zZU1vZGVsIHtcbiAgICBwbGF0dGVyRml0SWQ6IHN0cmluZztcbiAgICBvY2Nhc2lvbk5hbWU6IHN0cmluZztcbiAgICBvY2Nhc2lvblR5cGU6IHN0cmluZztcbiAgICBvY2Nhc2lvblN1YlR5cGU/OiBzdHJpbmc7XG4gICAgbWluUGF4OiBudW1iZXI7XG4gICAgbWF4UGF4OiBudW1iZXI7XG4gICAgYnVkZ2V0VGllcjogc3RyaW5nO1xuICAgIHJhbms6IG51bWJlcjtcbiAgICByYW5rVGFnPzogc3RyaW5nO1xuICAgIHBsYXR0ZXJJZDogc3RyaW5nO1xuICAgIHBsYXR0ZXJOYW1lOiBzdHJpbmc7XG4gICAgYnVja2V0UGF4RGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgb2NjYXNpb25EZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBvdGhlcnNEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBzdGF0dXM6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlUGxhdHRlckZpdElucHV0ID0gT21pdDxQbGF0dGVyRml0LCBcInBsYXR0ZXJGaXRJZFwiPiAmIHtcbiAgICBwbGF0dGVyRml0SWQ/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBwbGF0dGVyRml0U2NoZW1hID0gbmV3IGR5bmFtb29zZS5TY2hlbWEoXG4gICAge1xuICAgICAgICBwbGF0dGVyRml0SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGhhc2hLZXk6IHRydWUsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICgpID0+IHJhbmRvbVVVSUQoKVxuICAgICAgICB9LFxuICAgICAgICBvY2Nhc2lvbk5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIG9jY2FzaW9uVHlwZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICBpbmRleDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwib2NjYXNpb25UeXBlSW5kZXhcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImdsb2JhbFwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9jY2FzaW9uU3ViVHlwZTogU3RyaW5nLFxuICAgICAgICBtaW5QYXg6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIG1heFBheDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgYnVkZ2V0VGllcjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcmFuazoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcmFua1RhZzogU3RyaW5nLFxuICAgICAgICBwbGF0dGVySWQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInBsYXR0ZXJJZEluZGV4XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBwbGF0dGVyTmFtZToge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgYnVja2V0UGF4RGVzY3JpcHRpb246IFN0cmluZyxcbiAgICAgICAgb2NjYXNpb25EZXNjcmlwdGlvbjogU3RyaW5nLFxuICAgICAgICBvdGhlcnNEZXNjcmlwdGlvbjogU3RyaW5nLFxuICAgICAgICBzdGF0dXM6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInN0YXR1c0luZGV4XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnbG9iYWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi5CQVNFX0RZTkFNT09TRV9BVURJVF9TQ0hFTUFcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2F2ZVVua25vd246IGZhbHNlXG4gICAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IFBsYXR0ZXJGaXRNb2RlbCA9IGR5bmFtb29zZS5tb2RlbChcbiAgICBQTEFUVEVSX0ZJVF9UQUJMRV9OQU1FLFxuICAgIHBsYXR0ZXJGaXRTY2hlbWEsXG4gICAge1xuICAgICAgICBjcmVhdGU6IGZhbHNlLFxuICAgICAgICB3YWl0Rm9yQWN0aXZlOiBmYWxzZVxuICAgIH1cbik7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cmp-aws-database",
3
- "version": "1.7.1-dev.25",
3
+ "version": "1.7.1-dev.27",
4
4
  "bin": {
5
5
  "craft-my-plate-database": "bin/craft-my-plate-database.js"
6
6
  },