@trunkrs/common 1.6.8 → 1.6.11
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/package.json +1 -1
- package/services/aws/dynamodb/errors/WhereClauseNotProvidedError.d.ts +5 -0
- package/services/aws/dynamodb/errors/WhereClauseNotProvidedError.js +14 -0
- package/services/aws/dynamodb/errors/WhereClauseNotProvidedError.js.map +1 -0
- package/services/aws/dynamodb/utils/query/QueryBuilder.js +15 -9
- package/services/aws/dynamodb/utils/query/QueryBuilder.js.map +1 -1
- package/services/aws/dynamodb/utils/query/QueryParameters.d.ts +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
const ErrorBase_1 = __importDefault(require("../../../../models/errors/ErrorBase"));
|
|
7
|
+
class WhereClauseNotProvidedError extends ErrorBase_1.default {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.message = 'A where clause must be provided for this DynamoDB operation';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = WhereClauseNotProvidedError;
|
|
14
|
+
//# sourceMappingURL=WhereClauseNotProvidedError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WhereClauseNotProvidedError.js","sourceRoot":"","sources":["../../../../../services/aws/dynamodb/errors/WhereClauseNotProvidedError.ts"],"names":[],"mappings":";;;;;AAAA,oFAA2D;AAE3D,MAAM,2BAA4B,SAAQ,mBAAS;IACjD;QACE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,OAAO,GAAG,6DAA6D,CAAA;IAC9E,CAAC;CACF;AAED,kBAAe,2BAA2B,CAAA"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const DynamoOperator_1 = __importDefault(require("../operators/DynamoOperator"));
|
|
7
7
|
const errors_1 = require("../../../../../models/errors");
|
|
8
|
+
const WhereClauseNotProvidedError_1 = __importDefault(require("../../errors/WhereClauseNotProvidedError"));
|
|
8
9
|
class QueryBuilder {
|
|
9
10
|
static buildProjectionExpression(selectStatement) {
|
|
10
11
|
if (!selectStatement.length) {
|
|
@@ -74,31 +75,36 @@ class QueryBuilder {
|
|
|
74
75
|
TableName: tableName,
|
|
75
76
|
IndexName: indexName,
|
|
76
77
|
Limit: limit,
|
|
77
|
-
ProjectionExpression: select
|
|
78
|
-
? QueryBuilder.buildProjectionExpression(select)
|
|
79
|
-
: undefined,
|
|
80
|
-
FilterExpression: this.buildExpression(where),
|
|
81
|
-
ExpressionAttributeNames: QueryBuilder.buildAttributeNames(where),
|
|
82
|
-
ExpressionAttributeValues: this.buildAttributeValues(where),
|
|
83
78
|
};
|
|
79
|
+
if (select && select.length) {
|
|
80
|
+
op.ProjectionExpression = QueryBuilder.buildProjectionExpression(select);
|
|
81
|
+
}
|
|
82
|
+
if (where && Object.values(where).length) {
|
|
83
|
+
op.FilterExpression = this.buildExpression(where);
|
|
84
|
+
op.ExpressionAttributeNames = QueryBuilder.buildAttributeNames(where);
|
|
85
|
+
op.ExpressionAttributeValues = this.buildAttributeValues(where);
|
|
86
|
+
}
|
|
84
87
|
return op;
|
|
85
88
|
}
|
|
86
89
|
static buildQuery({ query, primaryKeys, tableName, indexName, }) {
|
|
87
90
|
const { where, limit, select, orderDescending } = query;
|
|
91
|
+
if (!where || !Object.values(where).length) {
|
|
92
|
+
throw new WhereClauseNotProvidedError_1.default();
|
|
93
|
+
}
|
|
88
94
|
const { keyCondition, filterCondition } = this.splitKeyAndFilterCondition(where, primaryKeys);
|
|
89
95
|
const op = {
|
|
90
96
|
TableName: tableName,
|
|
91
97
|
IndexName: indexName,
|
|
92
98
|
Limit: limit,
|
|
93
99
|
ScanIndexForward: !orderDescending,
|
|
94
|
-
ProjectionExpression: select
|
|
95
|
-
? QueryBuilder.buildProjectionExpression(select)
|
|
96
|
-
: undefined,
|
|
97
100
|
KeyConditionExpression: this.buildExpression(keyCondition),
|
|
98
101
|
FilterExpression: this.buildExpression(filterCondition),
|
|
99
102
|
ExpressionAttributeNames: QueryBuilder.buildAttributeNames(where),
|
|
100
103
|
ExpressionAttributeValues: this.buildAttributeValues(where),
|
|
101
104
|
};
|
|
105
|
+
if (select) {
|
|
106
|
+
op.ProjectionExpression = QueryBuilder.buildProjectionExpression(select);
|
|
107
|
+
}
|
|
102
108
|
return op;
|
|
103
109
|
}
|
|
104
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../../../services/aws/dynamodb/utils/query/QueryBuilder.ts"],"names":[],"mappings":";;;;;AAEA,iFAAwD;AAKxD,yDAAyE;
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../../../services/aws/dynamodb/utils/query/QueryBuilder.ts"],"names":[],"mappings":"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"}
|