@factorearth/recordmiddleware-dataaccesslayer 1.0.19 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aws-services.d.ts +16 -1
- package/dist/aws-services.js +28 -2
- package/dist/aws-services.js.map +1 -1
- package/dist/batchDeleteItems.js +2 -3
- package/dist/batchDeleteItems.js.map +1 -1
- package/dist/batchDeleteObjectsFromS3.js +3 -3
- package/dist/batchDeleteObjectsFromS3.js.map +1 -1
- package/dist/batchGetItems.js +2 -3
- package/dist/batchGetItems.js.map +1 -1
- package/dist/batchPutItems.js +2 -3
- package/dist/batchPutItems.js.map +1 -1
- package/dist/deleteItem.js +2 -2
- package/dist/deleteItem.js.map +1 -1
- package/dist/getItem.js +5 -7
- package/dist/getItem.js.map +1 -1
- package/dist/getTableSchema.js +3 -3
- package/dist/getTableSchema.js.map +1 -1
- package/dist/putItem.js +2 -2
- package/dist/putItem.js.map +1 -1
- package/dist/updateItem.js +2 -2
- package/dist/updateItem.js.map +1 -1
- package/package.json +2 -2
package/dist/aws-services.d.ts
CHANGED
|
@@ -1,2 +1,17 @@
|
|
|
1
|
+
import { DynamoDBClientConfig } from "@aws-sdk/client-dynamodb";
|
|
2
|
+
import { S3Client, S3ClientConfig } from "@aws-sdk/client-s3";
|
|
1
3
|
import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
|
|
2
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Returns a reference to the existing dynamoDBDocClient, creating it if it hasn't been already with the provided config
|
|
6
|
+
* @author Eric Webb <ewebb@factorearth.com>
|
|
7
|
+
* @param config Optional config for the dynamoDBDocClient
|
|
8
|
+
* @returns The reference to the dynamoDBDocClient object
|
|
9
|
+
*/
|
|
10
|
+
export declare function getDocClient(config?: DynamoDBClientConfig): DynamoDBDocumentClient;
|
|
11
|
+
/**
|
|
12
|
+
* Returns a reference to the existing S3Client, creating it if it hasn't been already with the provided config
|
|
13
|
+
* @author Eric Webb <ewebb@factorearth.com>
|
|
14
|
+
* @param config Optional config for the s3Client
|
|
15
|
+
* @returns The reference to the S3Client object
|
|
16
|
+
*/
|
|
17
|
+
export declare function getS3Client(config?: S3ClientConfig): S3Client;
|
package/dist/aws-services.js
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
|
|
2
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
2
3
|
import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
let dynamoDbDocClient;
|
|
5
|
+
let s3Client;
|
|
6
|
+
/**
|
|
7
|
+
* Returns a reference to the existing dynamoDBDocClient, creating it if it hasn't been already with the provided config
|
|
8
|
+
* @author Eric Webb <ewebb@factorearth.com>
|
|
9
|
+
* @param config Optional config for the dynamoDBDocClient
|
|
10
|
+
* @returns The reference to the dynamoDBDocClient object
|
|
11
|
+
*/
|
|
12
|
+
export function getDocClient(config) {
|
|
13
|
+
if (!dynamoDbDocClient) {
|
|
14
|
+
const dynamoDbClient = config ? new DynamoDBClient(config) : new DynamoDBClient();
|
|
15
|
+
dynamoDbDocClient = DynamoDBDocumentClient.from(dynamoDbClient);
|
|
16
|
+
}
|
|
17
|
+
return dynamoDbDocClient;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Returns a reference to the existing S3Client, creating it if it hasn't been already with the provided config
|
|
21
|
+
* @author Eric Webb <ewebb@factorearth.com>
|
|
22
|
+
* @param config Optional config for the s3Client
|
|
23
|
+
* @returns The reference to the S3Client object
|
|
24
|
+
*/
|
|
25
|
+
export function getS3Client(config) {
|
|
26
|
+
if (!s3Client) {
|
|
27
|
+
s3Client = config ? new S3Client(config) : new S3Client();
|
|
28
|
+
}
|
|
29
|
+
return s3Client;
|
|
30
|
+
}
|
|
5
31
|
//# sourceMappingURL=aws-services.js.map
|
package/dist/aws-services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-services.js","sourceRoot":"","sources":["../lib/aws-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"aws-services.js","sourceRoot":"","sources":["../lib/aws-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAwB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,IAAI,iBAAqD,CAAC;AAC1D,IAAI,QAA8B,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAA6B;IACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC;QAClF,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
package/dist/batchDeleteItems.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BatchWriteCommand, } from "@aws-sdk/lib-dynamodb";
|
|
2
|
-
import { dynamoDbDocClient } from "./aws-services.js";
|
|
3
2
|
import chunkBatch from "./chunkBatch.js";
|
|
4
|
-
import { MAX_ITEMS_BATCH_WRITE } from "./index.js";
|
|
3
|
+
import { getDocClient, MAX_ITEMS_BATCH_WRITE } from "./index.js";
|
|
5
4
|
import { batchDeleteObjectsFromS3 } from "./batchDeleteObjectsFromS3.js";
|
|
6
5
|
export async function batchDeleteItems(items, tableName, bucketNames) {
|
|
7
6
|
const s3Keys = [];
|
|
@@ -24,7 +23,7 @@ export async function batchDeleteItems(items, tableName, bucketNames) {
|
|
|
24
23
|
};
|
|
25
24
|
const command = new BatchWriteCommand(commandInput);
|
|
26
25
|
try {
|
|
27
|
-
await
|
|
26
|
+
await getDocClient().send(command);
|
|
28
27
|
if (s3Keys.length > 0 && bucketNames) {
|
|
29
28
|
for (const bucketName of bucketNames) {
|
|
30
29
|
await batchDeleteObjectsFromS3(bucketName.name, s3Keys, bucketName.compressed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchDeleteItems.js","sourceRoot":"","sources":["../lib/batchDeleteItems.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,GAEjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"batchDeleteItems.js","sourceRoot":"","sources":["../lib/batchDeleteItems.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,GAEjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAc,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAMzE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,KAAmB,EACnB,SAAiB,EACjB,WAA0B;IAE1B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,IAAI,UAAU,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO;gBACN,aAAa,EAAE;oBACd,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE;iBAC1B;aACD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAA2B;YAC5C,YAAY,EAAE;gBACb,CAAC,SAAS,CAAC,EAAE,cAAc;aAC3B;SACD,CAAC;QACF,MAAM,OAAO,GAAsB,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC;YACJ,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;gBACtC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACtC,MAAM,wBAAwB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;gBAChF,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;YACnE,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DeleteObjectsCommand } from "@aws-sdk/client-s3";
|
|
2
2
|
import chunkBatch from "./chunkBatch.js";
|
|
3
|
-
|
|
3
|
+
import { getS3Client } from "./aws-services.js";
|
|
4
4
|
export const batchDeleteObjectsFromS3 = async (bucketName, keys, compressed) => {
|
|
5
5
|
const chunkSize = 1000;
|
|
6
6
|
const chunks = chunkBatch(keys, chunkSize);
|
|
@@ -15,7 +15,7 @@ export const batchDeleteObjectsFromS3 = async (bucketName, keys, compressed) =>
|
|
|
15
15
|
})),
|
|
16
16
|
},
|
|
17
17
|
};
|
|
18
|
-
const data = await
|
|
18
|
+
const data = await getS3Client().send(new DeleteObjectsCommand(deleteInput));
|
|
19
19
|
if (data.Errors || !data.Deleted) {
|
|
20
20
|
console.error("Error deleting objects:", data.Errors);
|
|
21
21
|
throw data.Errors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchDeleteObjectsFromS3.js","sourceRoot":"","sources":["../lib/batchDeleteObjectsFromS3.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"batchDeleteObjectsFromS3.js","sourceRoot":"","sources":["../lib/batchDeleteObjectsFromS3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC5C,UAAkB,EAClB,IAAc,EACd,UAAmB,EACH,EAAE;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG;YACnB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE;gBACP,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC5B,GAAG,EAAE,UAAU;wBACd,CAAC,CAAC,UAAU,GAAG,EAAE;wBACjB,CAAC,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;iBAC3C,CAAC,CAAC;aACH;SACD,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,MAAM,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;AACF,CAAC,CAAC"}
|
package/dist/batchGetItems.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BatchGetCommand } from "@aws-sdk/lib-dynamodb";
|
|
2
|
-
import { dynamoDbDocClient } from "./aws-services.js";
|
|
3
2
|
import chunkBatch from "./chunkBatch.js";
|
|
4
|
-
import { MAX_ITEMS_BATCH_READ } from "./index.js";
|
|
3
|
+
import { getDocClient, MAX_ITEMS_BATCH_READ } from "./index.js";
|
|
5
4
|
export async function batchGetItems(ids, tableName) {
|
|
6
5
|
const chunks = chunkBatch(ids, MAX_ITEMS_BATCH_READ);
|
|
7
6
|
const finalItems = [];
|
|
@@ -15,7 +14,7 @@ export async function batchGetItems(ids, tableName) {
|
|
|
15
14
|
};
|
|
16
15
|
const command = new BatchGetCommand(commandInput);
|
|
17
16
|
try {
|
|
18
|
-
const sendResult = await
|
|
17
|
+
const sendResult = await getDocClient().send(command);
|
|
19
18
|
const items = sendResult.Responses?.[tableName];
|
|
20
19
|
if (items) {
|
|
21
20
|
for (const item of items) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchGetItems.js","sourceRoot":"","sources":["../lib/batchGetItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"batchGetItems.js","sourceRoot":"","sources":["../lib/batchGetItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAc,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,SAAiB;IACvE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAyB;YAC1C,YAAY,EAAE;gBACb,CAAC,SAAS,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK;iBACX;aACD;SACD,CAAC;QACF,MAAM,OAAO,GAAoB,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBAC1B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;YAAA,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
package/dist/batchPutItems.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BatchWriteCommand } from "@aws-sdk/lib-dynamodb";
|
|
2
|
-
import { dynamoDbDocClient } from "./aws-services.js";
|
|
3
2
|
import chunkBatch from "./chunkBatch.js";
|
|
4
|
-
import { MAX_ITEMS_BATCH_WRITE } from "./index.js";
|
|
3
|
+
import { getDocClient, MAX_ITEMS_BATCH_WRITE } from "./index.js";
|
|
5
4
|
export async function batchPutItems(items, tableName) {
|
|
6
5
|
const chunks = chunkBatch(items, MAX_ITEMS_BATCH_WRITE);
|
|
7
6
|
for (const chunk of chunks) {
|
|
@@ -19,7 +18,7 @@ export async function batchPutItems(items, tableName) {
|
|
|
19
18
|
};
|
|
20
19
|
const command = new BatchWriteCommand(commandInput);
|
|
21
20
|
try {
|
|
22
|
-
await
|
|
21
|
+
await getDocClient().send(command);
|
|
23
22
|
}
|
|
24
23
|
catch (err) {
|
|
25
24
|
console.error(`ERROR BATCH PUTTING DOCUMENTS IN ${tableName}`, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchPutItems.js","sourceRoot":"","sources":["../lib/batchPutItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA0B,MAAM,uBAAuB,CAAC;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"batchPutItems.js","sourceRoot":"","sources":["../lib/batchPutItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA0B,MAAM,uBAAuB,CAAC;AAClF,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAY,EAAE,SAAiB;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO;gBACN,UAAU,EAAE;oBACX,IAAI;iBACJ;aACD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAA2B;YAC5C,YAAY,EAAE;gBACb,CAAC,SAAS,CAAC,EAAE,WAAW;aACxB;SACD,CAAC;QACF,MAAM,OAAO,GAAsB,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC;YACJ,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,qCAAqC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;AACF,CAAC"}
|
package/dist/deleteItem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DeleteCommand } from "@aws-sdk/lib-dynamodb";
|
|
2
|
-
import {
|
|
2
|
+
import { getDocClient } from "aws-services";
|
|
3
3
|
export async function deleteItem(id, tableName) {
|
|
4
4
|
const commandInput = {
|
|
5
5
|
TableName: tableName,
|
|
@@ -9,7 +9,7 @@ export async function deleteItem(id, tableName) {
|
|
|
9
9
|
};
|
|
10
10
|
const command = new DeleteCommand(commandInput);
|
|
11
11
|
try {
|
|
12
|
-
await
|
|
12
|
+
await getDocClient().send(command);
|
|
13
13
|
}
|
|
14
14
|
catch (err) {
|
|
15
15
|
console.error(`ERROR DELETING DOCUMENT ${id} in ${tableName}`);
|
package/dist/deleteItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteItem.js","sourceRoot":"","sources":["../lib/deleteItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deleteItem.js","sourceRoot":"","sources":["../lib/deleteItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAU,EAAE,SAAiB;IAC7D,MAAM,YAAY,GAAuB;QACxC,SAAS,EAAE,SAAS;QACpB,GAAG,EAAE;YACJ,EAAE;SACF;KACD,CAAC;IACF,MAAM,OAAO,GAAkB,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/D,IAAI,CAAC;QACJ,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,SAAS,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC"}
|
package/dist/getItem.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { dynamoDbDocClient } from "./aws-services.js";
|
|
2
1
|
import { GetCommand, QueryCommand } from "@aws-sdk/lib-dynamodb";
|
|
3
2
|
import { _columnsAndAttributeToReturn } from "./utils.js";
|
|
3
|
+
import { getDocClient } from "./aws-services.js";
|
|
4
4
|
export const getItem = async (id, tableName) => {
|
|
5
5
|
const params = {
|
|
6
6
|
TableName: tableName,
|
|
@@ -9,7 +9,7 @@ export const getItem = async (id, tableName) => {
|
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
11
|
try {
|
|
12
|
-
const data = await
|
|
12
|
+
const data = await getDocClient().send(new GetCommand(params));
|
|
13
13
|
if (!data.Item) {
|
|
14
14
|
const errObj = {
|
|
15
15
|
name: "ItemCollectionSizeLimitExceededException",
|
|
@@ -34,13 +34,11 @@ export const getItemsByIndex = async (indexName, tableName, attributeValue, attr
|
|
|
34
34
|
ExpressionAttributeNames: expressionAttributeNames,
|
|
35
35
|
ExpressionAttributeValues: {
|
|
36
36
|
":fkval": attributeValue
|
|
37
|
-
}
|
|
37
|
+
},
|
|
38
|
+
ProjectionExpression: columnsToReturn
|
|
38
39
|
};
|
|
39
|
-
if (columnsToReturn) {
|
|
40
|
-
params.ProjectionExpression = columnsToReturn;
|
|
41
|
-
}
|
|
42
40
|
try {
|
|
43
|
-
const data = await
|
|
41
|
+
const data = await getDocClient().send(new QueryCommand(params));
|
|
44
42
|
return data.Items || [];
|
|
45
43
|
}
|
|
46
44
|
catch (err) {
|
package/dist/getItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getItem.js","sourceRoot":"","sources":["../lib/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getItem.js","sourceRoot":"","sources":["../lib/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,YAAY,EAAqB,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAAU,EAAE,SAAiB,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAoB;QAC/B,SAAS,EAAE,SAAS;QACpB,GAAG,EAAE;YACJ,EAAE;SACF;KACD,CAAC;IACF,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG;gBACd,IAAI,EAAE,0CAA0C;gBAChD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,SAAS,EAAE;aAC7D,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,uBAAuB,SAAS,EAAE,CAAC,CAAC;YAClE,MAAM,MAAM,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,SAAiB,EAAE,SAAiB,EAAE,cAAsB,EAAE,SAAiB,EAAE,OAAkB,EAAE,EAAE;IAC5I,MAAM,EAAE,wBAAwB,EAAE,eAAe,EAAE,GAAG,4BAA4B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3G,MAAM,MAAM,GAAsB;QACjC,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,sBAAsB,EAAE,cAAc;QACtC,wBAAwB,EAAE,wBAAwB;QAClD,yBAAyB,EAAE;YAC1B,QAAQ,EAAE,cAAc;SACxB;QACD,oBAAoB,EAAE,eAAe;KACrC,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC,CAAC"}
|
package/dist/getTableSchema.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { dynamoDbDocClient } from "./aws-services.js";
|
|
2
1
|
import { DescribeTableCommand } from "@aws-sdk/client-dynamodb";
|
|
2
|
+
import { getDocClient } from "aws-services";
|
|
3
3
|
export const getTableSchema = async (tableName) => {
|
|
4
4
|
const params = {
|
|
5
5
|
TableName: tableName,
|
|
6
6
|
};
|
|
7
7
|
try {
|
|
8
|
-
const data = await
|
|
8
|
+
const data = await getDocClient().send(new DescribeTableCommand(params));
|
|
9
9
|
if (data.Table && data.Table.AttributeDefinitions) {
|
|
10
10
|
const tableSchema = [];
|
|
11
11
|
for (const attribute of data.Table.AttributeDefinitions) {
|
|
@@ -28,7 +28,7 @@ export const getTableKeySchema = async (tableName) => {
|
|
|
28
28
|
TableName: tableName,
|
|
29
29
|
};
|
|
30
30
|
try {
|
|
31
|
-
const data = await
|
|
31
|
+
const data = await getDocClient().send(new DescribeTableCommand(params));
|
|
32
32
|
if (data.Table && data.Table.KeySchema) {
|
|
33
33
|
return data.Table.KeySchema;
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableSchema.js","sourceRoot":"","sources":["../lib/getTableSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getTableSchema.js","sourceRoot":"","sources":["../lib/getTableSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAoB,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAqB,EAAE;IAC5E,MAAM,MAAM,GAAG;QACd,SAAS,EAAE,SAAS;KACpB,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBACzD,IAAI,SAAS,CAAC,aAAa;oBAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,WAAW,CAAC;QACpB,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,SAAiB,EAA+B,EAAE;IACzF,MAAM,MAAM,GAAG;QACd,SAAS,EAAE,SAAS;KACpB,CAAC;IACF,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC,CAAC"}
|
package/dist/putItem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PutCommand } from "@aws-sdk/lib-dynamodb";
|
|
2
|
-
import {
|
|
2
|
+
import { getDocClient } from "aws-services";
|
|
3
3
|
export async function putItem(item, tableName) {
|
|
4
4
|
const commandInput = {
|
|
5
5
|
Item: item,
|
|
@@ -7,7 +7,7 @@ export async function putItem(item, tableName) {
|
|
|
7
7
|
};
|
|
8
8
|
const command = new PutCommand(commandInput);
|
|
9
9
|
try {
|
|
10
|
-
await
|
|
10
|
+
await getDocClient().send(command);
|
|
11
11
|
}
|
|
12
12
|
catch (err) {
|
|
13
13
|
console.error(`ERROR PUTTING ITEM IN ${tableName}`);
|
package/dist/putItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putItem.js","sourceRoot":"","sources":["../lib/putItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"putItem.js","sourceRoot":"","sources":["../lib/putItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAyB,EAAE,SAAiB;IACzE,MAAM,YAAY,GAAoB;QACrC,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,SAAS;KACpB,CAAC;IACF,MAAM,OAAO,GAAe,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC;QACJ,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC"}
|
package/dist/updateItem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UpdateCommand } from "@aws-sdk/lib-dynamodb";
|
|
2
|
-
import {
|
|
2
|
+
import { getDocClient } from "./aws-services.js";
|
|
3
3
|
export async function updateItem(item, tableName) {
|
|
4
4
|
const commandInput = {
|
|
5
5
|
TableName: tableName,
|
|
@@ -7,7 +7,7 @@ export async function updateItem(item, tableName) {
|
|
|
7
7
|
};
|
|
8
8
|
const command = new UpdateCommand(commandInput);
|
|
9
9
|
try {
|
|
10
|
-
await
|
|
10
|
+
await getDocClient().send(command);
|
|
11
11
|
}
|
|
12
12
|
catch (err) {
|
|
13
13
|
console.error(`ERROR UPDATING ITEM IN TABLE ${tableName}`);
|
package/dist/updateItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateItem.js","sourceRoot":"","sources":["../lib/updateItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"updateItem.js","sourceRoot":"","sources":["../lib/updateItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAyB,EAAE,SAAiB;IAC5E,MAAM,YAAY,GAAuB;QACxC,SAAS,EAAE,SAAS;QACpB,GAAG,EAAE,IAAI;KACT,CAAC;IACF,MAAM,OAAO,GAAkB,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/D,IAAI,CAAC;QACJ,MAAM,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@factorearth/recordmiddleware-dataaccesslayer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "A module for accessing dynamdb efficiently",
|
|
5
5
|
"author": "madtrx <marlin.makori@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/FactorEarth/RecordMiddleware#readme",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"access": "public",
|
|
34
34
|
"registry": "https://registry.npmjs.org/"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "3ccf7910fcc1af62b6aa4306871a1dafde81d531"
|
|
37
37
|
}
|