@itzworking/single-table 0.0.151 → 0.0.157
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/{src → dist}/decorators/editable/editable.d.ts +1 -0
- package/dist/decorators/editable/editable.d.ts.map +1 -0
- package/dist/decorators/editable/editable.js +4 -0
- package/dist/decorators/editable/index.d.ts +3 -0
- package/dist/decorators/editable/index.d.ts.map +1 -0
- package/{src → dist}/decorators/editable/is-editable.d.ts +1 -0
- package/dist/decorators/editable/is-editable.d.ts.map +1 -0
- package/dist/decorators/editable/is-editable.js +4 -0
- package/{src → dist}/decorators/editable/symbol.d.ts +1 -0
- package/dist/decorators/editable/symbol.d.ts.map +1 -0
- package/dist/decorators/editable/symbol.js +1 -0
- package/{src → dist}/decorators/entity/entity.d.ts +1 -0
- package/dist/decorators/entity/entity.d.ts.map +1 -0
- package/dist/decorators/entity/entity.js +6 -0
- package/{src → dist}/decorators/entity/get-entity-name.d.ts +1 -0
- package/dist/decorators/entity/get-entity-name.d.ts.map +1 -0
- package/dist/decorators/entity/get-entity-name.js +4 -0
- package/dist/decorators/entity/index.d.ts +3 -0
- package/dist/decorators/entity/index.d.ts.map +1 -0
- package/{src → dist}/decorators/entity/symbol.d.ts +1 -0
- package/dist/decorators/entity/symbol.d.ts.map +1 -0
- package/dist/decorators/entity/symbol.js +1 -0
- package/{src → dist}/decorators/gsis/get-pk-composition.d.ts +1 -0
- package/dist/decorators/gsis/get-pk-composition.d.ts.map +1 -0
- package/dist/decorators/gsis/get-pk-composition.js +4 -0
- package/{src → dist}/decorators/gsis/get-sk-composition.d.ts +1 -0
- package/dist/decorators/gsis/get-sk-composition.d.ts.map +1 -0
- package/dist/decorators/gsis/get-sk-composition.js +4 -0
- package/{src → dist}/decorators/gsis/gsis.d.ts +1 -0
- package/dist/decorators/gsis/gsis.d.ts.map +1 -0
- package/dist/decorators/gsis/gsis.js +15 -0
- package/dist/decorators/gsis/index.d.ts +4 -0
- package/dist/decorators/gsis/index.d.ts.map +1 -0
- package/{src → dist}/decorators/gsis/symbols.d.ts +1 -0
- package/dist/decorators/gsis/symbols.d.ts.map +1 -0
- package/{src → dist}/decorators/gsis/symbols.js +1 -5
- package/{src → dist}/decorators/gsis/types.d.ts +1 -0
- package/dist/decorators/gsis/types.d.ts.map +1 -0
- package/dist/decorators/gsis/types.js +1 -0
- package/dist/decorators/index.d.ts +5 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/{src → dist}/dynamodb/delete-dynamodb-item.d.ts +1 -0
- package/dist/dynamodb/delete-dynamodb-item.d.ts.map +1 -0
- package/dist/dynamodb/delete-dynamodb-item.js +24 -0
- package/{src → dist}/dynamodb/dynamodb.d.ts +1 -0
- package/dist/dynamodb/dynamodb.d.ts.map +1 -0
- package/{src → dist}/dynamodb/dynamodb.js +3 -7
- package/{src → dist}/dynamodb/get-dynamodb-item.d.ts +1 -0
- package/dist/dynamodb/get-dynamodb-item.d.ts.map +1 -0
- package/dist/dynamodb/get-dynamodb-item.js +24 -0
- package/dist/dynamodb/index.d.ts +8 -0
- package/dist/dynamodb/index.d.ts.map +1 -0
- package/{src → dist}/dynamodb/put-dynamodb-item.d.ts +1 -0
- package/dist/dynamodb/put-dynamodb-item.d.ts.map +1 -0
- package/dist/dynamodb/put-dynamodb-item.js +28 -0
- package/{src → dist}/dynamodb/query-all-dynamodb.d.ts +1 -0
- package/dist/dynamodb/query-all-dynamodb.d.ts.map +1 -0
- package/dist/dynamodb/query-all-dynamodb.js +19 -0
- package/{src → dist}/dynamodb/query-dynamodb.d.ts +1 -0
- package/dist/dynamodb/query-dynamodb.d.ts.map +1 -0
- package/dist/dynamodb/query-dynamodb.js +28 -0
- package/{src → dist}/dynamodb/update-dynamodb-item.d.ts +1 -0
- package/dist/dynamodb/update-dynamodb-item.d.ts.map +1 -0
- package/dist/dynamodb/update-dynamodb-item.js +24 -0
- package/{src → dist}/errors/decorators-error.d.ts +1 -0
- package/dist/errors/decorators-error.d.ts.map +1 -0
- package/dist/errors/decorators-error.js +10 -0
- package/{src → dist}/errors/generate-update-expression-error.d.ts +1 -0
- package/dist/errors/generate-update-expression-error.d.ts.map +1 -0
- package/dist/errors/generate-update-expression-error.js +10 -0
- package/{src → dist}/errors/index-decorator-error.d.ts +1 -0
- package/dist/errors/index-decorator-error.d.ts.map +1 -0
- package/dist/errors/index-decorator-error.js +10 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/{src → dist}/errors/key-composition-error.d.ts +1 -0
- package/dist/errors/key-composition-error.d.ts.map +1 -0
- package/dist/errors/key-composition-error.js +10 -0
- package/{src → dist}/errors/single-table-error.d.ts +1 -0
- package/dist/errors/single-table-error.d.ts.map +1 -0
- package/{src → dist}/errors/single-table-error.js +2 -6
- package/{src → dist}/errors/single-table-item-format-error.d.ts +1 -0
- package/dist/errors/single-table-item-format-error.d.ts.map +1 -0
- package/dist/errors/single-table-item-format-error.js +10 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/single-table-item/index.d.ts +2 -0
- package/dist/single-table-item/index.d.ts.map +1 -0
- package/{src → dist}/single-table-item/single-table-item.d.ts +1 -0
- package/dist/single-table-item/single-table-item.d.ts.map +1 -0
- package/dist/single-table-item/single-table-item.js +278 -0
- package/{src → dist}/single-table-item/utils/capitalize-first-letter.d.ts +1 -0
- package/dist/single-table-item/utils/capitalize-first-letter.d.ts.map +1 -0
- package/dist/single-table-item/utils/capitalize-first-letter.js +3 -0
- package/{src → dist}/single-table-item/utils/handle-composite-primary-key.d.ts +1 -0
- package/dist/single-table-item/utils/handle-composite-primary-key.d.ts.map +1 -0
- package/dist/single-table-item/utils/handle-composite-primary-key.js +33 -0
- package/dist/single-table-item/utils/index.d.ts +4 -0
- package/dist/single-table-item/utils/index.d.ts.map +1 -0
- package/{src → dist}/single-table-item/utils/validate-entity-annotations.d.ts +1 -0
- package/dist/single-table-item/utils/validate-entity-annotations.d.ts.map +1 -0
- package/{src → dist}/single-table-item/utils/validate-entity-annotations.js +3 -8
- package/dist/single-table-repository/index.d.ts +3 -0
- package/dist/single-table-repository/index.d.ts.map +1 -0
- package/{src → dist}/single-table-repository/single-table-repository.d.ts +1 -0
- package/dist/single-table-repository/single-table-repository.d.ts.map +1 -0
- package/dist/single-table-repository/single-table-repository.js +211 -0
- package/{src → dist}/single-table-repository/types.d.ts +1 -0
- package/dist/single-table-repository/types.d.ts.map +1 -0
- package/dist/single-table-repository/types.js +1 -0
- package/{src → dist}/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/package.json +38 -10
- package/src/decorators/editable/editable.js +0 -9
- package/src/decorators/editable/editable.js.map +0 -1
- package/src/decorators/editable/index.js +0 -6
- package/src/decorators/editable/index.js.map +0 -1
- package/src/decorators/editable/is-editable.js +0 -9
- package/src/decorators/editable/is-editable.js.map +0 -1
- package/src/decorators/editable/symbol.js +0 -5
- package/src/decorators/editable/symbol.js.map +0 -1
- package/src/decorators/entity/entity.js +0 -11
- package/src/decorators/entity/entity.js.map +0 -1
- package/src/decorators/entity/get-entity-name.js +0 -9
- package/src/decorators/entity/get-entity-name.js.map +0 -1
- package/src/decorators/entity/index.js +0 -6
- package/src/decorators/entity/index.js.map +0 -1
- package/src/decorators/entity/symbol.js +0 -5
- package/src/decorators/entity/symbol.js.map +0 -1
- package/src/decorators/gsis/get-pk-composition.js +0 -9
- package/src/decorators/gsis/get-pk-composition.js.map +0 -1
- package/src/decorators/gsis/get-sk-composition.js +0 -9
- package/src/decorators/gsis/get-sk-composition.js.map +0 -1
- package/src/decorators/gsis/gsis.js +0 -19
- package/src/decorators/gsis/gsis.js.map +0 -1
- package/src/decorators/gsis/index.js +0 -7
- package/src/decorators/gsis/index.js.map +0 -1
- package/src/decorators/gsis/symbols.js.map +0 -1
- package/src/decorators/gsis/types.js +0 -3
- package/src/decorators/gsis/types.js.map +0 -1
- package/src/decorators/index.js +0 -8
- package/src/decorators/index.js.map +0 -1
- package/src/dynamodb/delete-dynamodb-item.js +0 -30
- package/src/dynamodb/delete-dynamodb-item.js.map +0 -1
- package/src/dynamodb/dynamodb.js.map +0 -1
- package/src/dynamodb/get-dynamodb-item.js +0 -30
- package/src/dynamodb/get-dynamodb-item.js.map +0 -1
- package/src/dynamodb/index.js +0 -11
- package/src/dynamodb/index.js.map +0 -1
- package/src/dynamodb/put-dynamodb-item.js +0 -31
- package/src/dynamodb/put-dynamodb-item.js.map +0 -1
- package/src/dynamodb/query-all-dynamodb.js +0 -22
- package/src/dynamodb/query-all-dynamodb.js.map +0 -1
- package/src/dynamodb/query-dynamodb.js +0 -31
- package/src/dynamodb/query-dynamodb.js.map +0 -1
- package/src/dynamodb/update-dynamodb-item.js +0 -30
- package/src/dynamodb/update-dynamodb-item.js.map +0 -1
- package/src/errors/decorators-error.js +0 -15
- package/src/errors/decorators-error.js.map +0 -1
- package/src/errors/generate-update-expression-error.js +0 -15
- package/src/errors/generate-update-expression-error.js.map +0 -1
- package/src/errors/index-decorator-error.js +0 -15
- package/src/errors/index-decorator-error.js.map +0 -1
- package/src/errors/index.js +0 -9
- package/src/errors/index.js.map +0 -1
- package/src/errors/key-composition-error.js +0 -15
- package/src/errors/key-composition-error.js.map +0 -1
- package/src/errors/single-table-error.js.map +0 -1
- package/src/errors/single-table-item-format-error.js +0 -15
- package/src/errors/single-table-item-format-error.js.map +0 -1
- package/src/index.js +0 -10
- package/src/index.js.map +0 -1
- package/src/single-table-item/index.js +0 -5
- package/src/single-table-item/index.js.map +0 -1
- package/src/single-table-item/single-table-item.js +0 -259
- package/src/single-table-item/single-table-item.js.map +0 -1
- package/src/single-table-item/utils/capitalize-first-letter.js +0 -8
- package/src/single-table-item/utils/capitalize-first-letter.js.map +0 -1
- package/src/single-table-item/utils/handle-composite-primary-key.js +0 -38
- package/src/single-table-item/utils/handle-composite-primary-key.js.map +0 -1
- package/src/single-table-item/utils/index.js +0 -7
- package/src/single-table-item/utils/index.js.map +0 -1
- package/src/single-table-item/utils/validate-entity-annotations.js.map +0 -1
- package/src/single-table-repository/index.js +0 -6
- package/src/single-table-repository/index.js.map +0 -1
- package/src/single-table-repository/single-table-repository.js +0 -197
- package/src/single-table-repository/single-table-repository.js.map +0 -1
- package/src/single-table-repository/types.js +0 -3
- package/src/single-table-repository/types.js.map +0 -1
- package/src/types.js +0 -3
- package/src/types.js.map +0 -1
- /package/{src/decorators/editable/index.d.ts → dist/decorators/editable/index.js} +0 -0
- /package/{src/decorators/entity/index.d.ts → dist/decorators/entity/index.js} +0 -0
- /package/{src/decorators/gsis/index.d.ts → dist/decorators/gsis/index.js} +0 -0
- /package/{src/decorators/index.d.ts → dist/decorators/index.js} +0 -0
- /package/{src/dynamodb/index.d.ts → dist/dynamodb/index.js} +0 -0
- /package/{src/errors/index.d.ts → dist/errors/index.js} +0 -0
- /package/{src/index.d.ts → dist/index.js} +0 -0
- /package/{src/single-table-item/index.d.ts → dist/single-table-item/index.js} +0 -0
- /package/{src/single-table-item/utils/index.d.ts → dist/single-table-item/utils/index.js} +0 -0
- /package/{src/single-table-repository/index.d.ts → dist/single-table-repository/index.js} +0 -0
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SingleTableRepository = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const dynamodb_1 = require("../dynamodb");
|
|
6
|
-
const powertools_1 = require("@itzworking/powertools");
|
|
7
|
-
class SingleTableRepository {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.tableName = process.env.MAIN_TABLE_NAME || process.env.MAIN_TABLE_TABLE_NAME || "";
|
|
10
|
-
}
|
|
11
|
-
getUserId() {
|
|
12
|
-
var _a;
|
|
13
|
-
try {
|
|
14
|
-
return ((_a = (0, powertools_1.getContext)().user) === null || _a === void 0 ? void 0 : _a.id) || "unknown";
|
|
15
|
-
}
|
|
16
|
-
catch (e) {
|
|
17
|
-
return "unknown";
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
insert(entity, options) {
|
|
21
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const now = new Date();
|
|
23
|
-
entity.createdAt = now;
|
|
24
|
-
entity.updatedAt = now;
|
|
25
|
-
const userId = this.getUserId();
|
|
26
|
-
entity.createdBy = userId;
|
|
27
|
-
entity.updatedBy = userId;
|
|
28
|
-
let retryLimit = (options === null || options === void 0 ? void 0 : options.override) ? 1 : 3;
|
|
29
|
-
while (retryLimit > 0) {
|
|
30
|
-
try {
|
|
31
|
-
yield (0, dynamodb_1.putDynamodbItem)(Object.assign({ TableName: this.tableName || "", Item: entity.toSingleTableItem(), ConditionExpression: (options === null || options === void 0 ? void 0 : options.override)
|
|
32
|
-
? undefined
|
|
33
|
-
: "attribute_not_exists(PK) AND attribute_not_exists(SK)" }, options === null || options === void 0 ? void 0 : options.input));
|
|
34
|
-
retryLimit = 0;
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
if (error.name === "ConditionalCheckFailedException" &&
|
|
38
|
-
retryLimit > 1) {
|
|
39
|
-
entity.generateId();
|
|
40
|
-
retryLimit--;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
throw error;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return entity;
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
get(entity, options) {
|
|
51
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const { Item: item } = yield (0, dynamodb_1.getDynamodbItem)(Object.assign({ TableName: this.tableName || "", Key: entity.key() }, options === null || options === void 0 ? void 0 : options.input));
|
|
53
|
-
if (!item) {
|
|
54
|
-
throw new powertools_1.NotFoundError(`Item not found: ${JSON.stringify(entity.key())}`);
|
|
55
|
-
}
|
|
56
|
-
const EntityClass = Object.getPrototypeOf(entity).constructor;
|
|
57
|
-
return new EntityClass(item);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
update(entity, options) {
|
|
61
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
var _a, _b;
|
|
63
|
-
if ((_a = options === null || options === void 0 ? void 0 : options.attributes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
64
|
-
if (!options.attributes.includes("updatedAt")) {
|
|
65
|
-
options.attributes.push("updatedAt");
|
|
66
|
-
}
|
|
67
|
-
if (!options.attributes.includes("updatedBy")) {
|
|
68
|
-
options.attributes.push("updatedBy");
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
entity.updatedAt = new Date();
|
|
72
|
-
entity.updatedBy = this.getUserId();
|
|
73
|
-
const dynamodbResponse = yield (0, dynamodb_1.updateDynamodbItem)(Object.assign(Object.assign({ TableName: this.tableName || "", Key: entity.key(), ReturnValues: "ALL_NEW" }, entity.generateUpdateExpression(((options === null || options === void 0 ? void 0 : options.attributes) || []))), options === null || options === void 0 ? void 0 : options.input));
|
|
74
|
-
const EntityClass = Object.getPrototypeOf(entity).constructor;
|
|
75
|
-
return new EntityClass((_b = dynamodbResponse === null || dynamodbResponse === void 0 ? void 0 : dynamodbResponse.Attributes) !== null && _b !== void 0 ? _b : entity);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
delete(entity, options) {
|
|
79
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
80
|
-
var _a, _b;
|
|
81
|
-
entity.deletedAt = new Date();
|
|
82
|
-
entity.deletedBy = this.getUserId();
|
|
83
|
-
yield (0, dynamodb_1.updateDynamodbItem)(Object.assign({ TableName: ((_a = options === null || options === void 0 ? void 0 : options.input) === null || _a === void 0 ? void 0 : _a.TableName) || this.tableName || "", Key: ((_b = options === null || options === void 0 ? void 0 : options.input) === null || _b === void 0 ? void 0 : _b.Key) || entity.key(), ReturnValues: "NONE" }, entity.generateUpdateExpression(["deletedAt", "deletedBy"])));
|
|
84
|
-
yield (0, dynamodb_1.deleteDynamodbItem)(Object.assign({ TableName: this.tableName || "", Key: entity.key() }, options === null || options === void 0 ? void 0 : options.input));
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
query(entity, options) {
|
|
88
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
return this.queryMultipleEntityTypes(entity, Object.assign(Object.assign({}, options), { entityClasses: [entity.constructor] }));
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
queryMultipleEntityTypes(entity, options) {
|
|
93
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
if (options.sortKey && Object.keys(options.sortKey).length > 1) {
|
|
95
|
-
throw new Error("Only one sort key condition is allowed");
|
|
96
|
-
}
|
|
97
|
-
const typeAndConstructor = {};
|
|
98
|
-
for (const entityClass of options.entityClasses) {
|
|
99
|
-
typeAndConstructor[new entityClass().type()] = entityClass;
|
|
100
|
-
}
|
|
101
|
-
const index = options.index || "";
|
|
102
|
-
let KeyConditionExpression = "#pk = :pk";
|
|
103
|
-
const ExpressionAttributeNames = {
|
|
104
|
-
"#pk": `${index}PK`,
|
|
105
|
-
};
|
|
106
|
-
const ExpressionAttributeValues = {
|
|
107
|
-
":pk": `${entity[`${index.toLowerCase()}pk`]()}`,
|
|
108
|
-
};
|
|
109
|
-
if (options.sortKey && Object.keys(options.sortKey).length > 0) {
|
|
110
|
-
ExpressionAttributeNames["#sk"] = `${index}SK`;
|
|
111
|
-
if (options.sortKey.equalTo !== undefined) {
|
|
112
|
-
KeyConditionExpression += " and #sk = :sk";
|
|
113
|
-
ExpressionAttributeValues[":sk"] = options.sortKey.equalTo;
|
|
114
|
-
}
|
|
115
|
-
else if (options.sortKey.lessThanOrEqualTo !== undefined) {
|
|
116
|
-
KeyConditionExpression += " and #sk <= :sk";
|
|
117
|
-
ExpressionAttributeValues[":sk"] = options.sortKey.lessThanOrEqualTo;
|
|
118
|
-
}
|
|
119
|
-
else if (options.sortKey.lessThan !== undefined) {
|
|
120
|
-
KeyConditionExpression += " and #sk < :sk";
|
|
121
|
-
ExpressionAttributeValues[":sk"] = options.sortKey.lessThan;
|
|
122
|
-
}
|
|
123
|
-
else if (options.sortKey.greaterThanOrEqualTo !== undefined) {
|
|
124
|
-
KeyConditionExpression += " and #sk >= :sk";
|
|
125
|
-
ExpressionAttributeValues[":sk"] = options.sortKey.greaterThanOrEqualTo;
|
|
126
|
-
}
|
|
127
|
-
else if (options.sortKey.greaterThan !== undefined) {
|
|
128
|
-
KeyConditionExpression += " and #sk > :sk";
|
|
129
|
-
ExpressionAttributeValues[":sk"] = options.sortKey.greaterThan;
|
|
130
|
-
}
|
|
131
|
-
else if (options.sortKey.between !== undefined &&
|
|
132
|
-
options.sortKey.between.length === 2) {
|
|
133
|
-
KeyConditionExpression += " and #sk between :sk1 and :sk2";
|
|
134
|
-
ExpressionAttributeValues[":sk"] = options.sortKey.between[0];
|
|
135
|
-
ExpressionAttributeValues[":sk2"] = options.sortKey.between[1];
|
|
136
|
-
}
|
|
137
|
-
else if (options.sortKey.beginsWith !== undefined) {
|
|
138
|
-
KeyConditionExpression += " and begins_with(#sk, :sk)";
|
|
139
|
-
ExpressionAttributeValues[":sk"] = options.sortKey.beginsWith;
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
throw new Error("Invalid sort key condition");
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
const response = {
|
|
146
|
-
items: [],
|
|
147
|
-
};
|
|
148
|
-
let dynamodbItems;
|
|
149
|
-
if (options === null || options === void 0 ? void 0 : options.queryAll) {
|
|
150
|
-
dynamodbItems = yield (0, dynamodb_1.queryAllDynamodb)(Object.assign({ TableName: this.tableName || "", IndexName: options.index, KeyConditionExpression,
|
|
151
|
-
ExpressionAttributeNames,
|
|
152
|
-
ExpressionAttributeValues }, options === null || options === void 0 ? void 0 : options.input));
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
const { Items, LastEvaluatedKey } = yield (0, dynamodb_1.queryDynamodb)(Object.assign({ TableName: this.tableName || "", IndexName: options.index, KeyConditionExpression,
|
|
156
|
-
ExpressionAttributeNames,
|
|
157
|
-
ExpressionAttributeValues }, options === null || options === void 0 ? void 0 : options.input));
|
|
158
|
-
if (LastEvaluatedKey) {
|
|
159
|
-
response.lastEvaluatedKey = LastEvaluatedKey;
|
|
160
|
-
}
|
|
161
|
-
dynamodbItems = Items || [];
|
|
162
|
-
}
|
|
163
|
-
for (const dynamodbItem of dynamodbItems) {
|
|
164
|
-
const entityClass = typeAndConstructor[dynamodbItem.type];
|
|
165
|
-
if (!entityClass) {
|
|
166
|
-
throw new Error(`Entity class not found for type ${dynamodbItem.type}`);
|
|
167
|
-
}
|
|
168
|
-
response.items.push(new entityClass(dynamodbItem));
|
|
169
|
-
}
|
|
170
|
-
// if (response.items.length > 0) {
|
|
171
|
-
// const classPriority: Map<EntityConstructor<U>, number> = new Map();
|
|
172
|
-
// let index = 0;
|
|
173
|
-
// for (const entityClass of options.entityClasses) {
|
|
174
|
-
// classPriority.set(entityClass, index);
|
|
175
|
-
// index++;
|
|
176
|
-
// }
|
|
177
|
-
// const classPriorityArray = Array.from(classPriority.keys());
|
|
178
|
-
// response.items.sort((a, b) => {
|
|
179
|
-
// const aPriority = classPriorityArray.findIndex(
|
|
180
|
-
// (constructorFn) => a instanceof constructorFn
|
|
181
|
-
// );
|
|
182
|
-
// const bPriority = classPriorityArray.findIndex(
|
|
183
|
-
// (constructorFn) => b instanceof constructorFn
|
|
184
|
-
// );
|
|
185
|
-
//
|
|
186
|
-
// const classCompare = aPriority - bPriority;
|
|
187
|
-
// if (classCompare !== 0) return classCompare;
|
|
188
|
-
//
|
|
189
|
-
// return a.createdAt.getTime() - b.createdAt.getTime();
|
|
190
|
-
// });
|
|
191
|
-
// }
|
|
192
|
-
return response;
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
exports.SingleTableRepository = SingleTableRepository;
|
|
197
|
-
//# sourceMappingURL=single-table-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"single-table-repository.js","sourceRoot":"","sources":["../../../../../libs/single-table/src/single-table-repository/single-table-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../libs/single-table/src/single-table-repository/types.ts"],"names":[],"mappings":""}
|
package/src/types.js
DELETED
package/src/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../libs/single-table/src/types.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|