@goldstack/template-dynamodb 0.2.27 → 0.3.2
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/src/dynamoDBData.d.ts +4 -4
- package/dist/src/dynamoDBData.d.ts.map +1 -1
- package/dist/src/dynamoDBData.js +10 -13
- package/dist/src/dynamoDBData.js.map +1 -1
- package/dist/src/dynamoDBMigrations.d.ts +4 -4
- package/dist/src/dynamoDBMigrations.d.ts.map +1 -1
- package/dist/src/dynamoDBMigrations.js.map +1 -1
- package/dist/src/localDynamoDB.d.ts +3 -3
- package/dist/src/localDynamoDB.d.ts.map +1 -1
- package/dist/src/localDynamoDB.js +13 -3
- package/dist/src/localDynamoDB.js.map +1 -1
- package/dist/src/templateDynamoDBTable.d.ts +4 -4
- package/dist/src/templateDynamoDBTable.d.ts.map +1 -1
- package/dist/src/templateDynamoDBTable.js +4 -9
- package/dist/src/templateDynamoDBTable.js.map +1 -1
- package/dist/src/umzugDynamoDBStorage.d.ts +3 -3
- package/dist/src/umzugDynamoDBStorage.d.ts.map +1 -1
- package/dist/src/umzugDynamoDBStorage.js +10 -14
- package/dist/src/umzugDynamoDBStorage.js.map +1 -1
- package/package.json +8 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EmbeddedPackageConfig } from '@goldstack/utils-package-config-embedded';
|
|
2
|
-
import
|
|
2
|
+
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
3
3
|
import { DynamoDBDeployment, DynamoDBPackage } from './templateDynamoDB';
|
|
4
|
-
export declare function assertTableActive(packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, client:
|
|
5
|
-
export declare const assertTable: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, client:
|
|
6
|
-
export declare const deleteTable: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, client:
|
|
4
|
+
export declare function assertTableActive(packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, client: DynamoDBClient): Promise<void>;
|
|
5
|
+
export declare const assertTable: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, client: DynamoDBClient) => Promise<void>;
|
|
6
|
+
export declare const deleteTable: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, client: DynamoDBClient) => Promise<void>;
|
|
7
7
|
//# sourceMappingURL=dynamoDBData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamoDBData.d.ts","sourceRoot":"","sources":["../../src/dynamoDBData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamoDBData.d.ts","sourceRoot":"","sources":["../../src/dynamoDBData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAIL,cAAc,EAGf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQzE,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACzE,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,eAAO,MAAM,WAAW,kBACP,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,kBACzD,MAAM,UACd,cAAc,KACrB,QAAQ,IAAI,CA4Cd,CAAC;AAEF,eAAO,MAAM,WAAW,kBACP,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,kBACzD,MAAM,UACd,cAAc,KACrB,QAAQ,IAAI,CAqBd,CAAC"}
|
package/dist/src/dynamoDBData.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deleteTable = exports.assertTable = exports.assertTableActive = void 0;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
4
5
|
const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
|
|
5
6
|
function sleep(ms) {
|
|
6
7
|
return new Promise((resolve) => {
|
|
@@ -15,9 +16,9 @@ async function assertTableActive(packageConfig, deploymentName, client) {
|
|
|
15
16
|
// ensure that able is ACTIVE before proceeding
|
|
16
17
|
while (tableStatus !== 'ACTIVE' && retries < 120) {
|
|
17
18
|
try {
|
|
18
|
-
const tableInfo = await client
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
const tableInfo = await client.send(new client_dynamodb_1.DescribeTableCommand({
|
|
20
|
+
TableName: tableName,
|
|
21
|
+
}));
|
|
21
22
|
tableStatus = (_a = tableInfo.Table) === null || _a === void 0 ? void 0 : _a.TableStatus;
|
|
22
23
|
}
|
|
23
24
|
catch (e) {
|
|
@@ -34,8 +35,7 @@ async function assertTableActive(packageConfig, deploymentName, client) {
|
|
|
34
35
|
exports.assertTableActive = assertTableActive;
|
|
35
36
|
const assertTable = async (packageConfig, deploymentName, client) => {
|
|
36
37
|
const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
|
|
37
|
-
const res = client
|
|
38
|
-
.createTable({
|
|
38
|
+
const res = client.send(new client_dynamodb_1.CreateTableCommand({
|
|
39
39
|
TableName: tableName,
|
|
40
40
|
AttributeDefinitions: [
|
|
41
41
|
{
|
|
@@ -58,8 +58,7 @@ const assertTable = async (packageConfig, deploymentName, client) => {
|
|
|
58
58
|
},
|
|
59
59
|
],
|
|
60
60
|
BillingMode: 'PAY_PER_REQUEST',
|
|
61
|
-
})
|
|
62
|
-
.promise();
|
|
61
|
+
}));
|
|
63
62
|
await new Promise((resolve, reject) => {
|
|
64
63
|
res
|
|
65
64
|
.then(async () => {
|
|
@@ -67,7 +66,7 @@ const assertTable = async (packageConfig, deploymentName, client) => {
|
|
|
67
66
|
resolve();
|
|
68
67
|
})
|
|
69
68
|
.catch((e) => {
|
|
70
|
-
if (e
|
|
69
|
+
if (e instanceof client_dynamodb_1.ResourceInUseException) {
|
|
71
70
|
// all good if table exists already
|
|
72
71
|
resolve();
|
|
73
72
|
return;
|
|
@@ -79,18 +78,16 @@ const assertTable = async (packageConfig, deploymentName, client) => {
|
|
|
79
78
|
exports.assertTable = assertTable;
|
|
80
79
|
const deleteTable = async (packageConfig, deploymentName, client) => {
|
|
81
80
|
const tableName = await (0, dynamoDBPackageUtils_1.getTableName)(packageConfig, deploymentName);
|
|
82
|
-
const res = client
|
|
83
|
-
.deleteTable({
|
|
81
|
+
const res = client.send(new client_dynamodb_1.DeleteTableCommand({
|
|
84
82
|
TableName: tableName,
|
|
85
|
-
})
|
|
86
|
-
.promise();
|
|
83
|
+
}));
|
|
87
84
|
await new Promise((resolve, reject) => {
|
|
88
85
|
res
|
|
89
86
|
.then(async () => {
|
|
90
87
|
resolve();
|
|
91
88
|
})
|
|
92
89
|
.catch((e) => {
|
|
93
|
-
if (e
|
|
90
|
+
if (e instanceof client_dynamodb_1.ResourceNotFoundException) {
|
|
94
91
|
// all good if table already deleted
|
|
95
92
|
resolve();
|
|
96
93
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamoDBData.js","sourceRoot":"","sources":["../../src/dynamoDBData.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dynamoDBData.js","sourceRoot":"","sources":["../../src/dynamoDBData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { EmbeddedPackageConfig } from '@goldstack/utils-package-config-embedded';
|
|
2
|
-
import
|
|
2
|
+
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
3
3
|
import DynamoDBPackage, { DynamoDBDeployment } from './types/DynamoDBPackage';
|
|
4
4
|
import { InputMigrations } from 'umzug/lib/types';
|
|
5
5
|
export interface DynamoDBContext {
|
|
6
|
-
client:
|
|
6
|
+
client: DynamoDBClient;
|
|
7
7
|
tableName: string;
|
|
8
8
|
}
|
|
9
|
-
export declare const performMigrations: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, migrations: InputMigrations<DynamoDBContext>, client:
|
|
10
|
-
export declare const migrateDownTo: (migrationName: string, packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, migrations: InputMigrations<DynamoDBContext>, client:
|
|
9
|
+
export declare const performMigrations: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, migrations: InputMigrations<DynamoDBContext>, client: DynamoDBClient) => Promise<void>;
|
|
10
|
+
export declare const migrateDownTo: (migrationName: string, packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName: string, migrations: InputMigrations<DynamoDBContext>, client: DynamoDBClient) => Promise<void>;
|
|
11
11
|
//# sourceMappingURL=dynamoDBMigrations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamoDBMigrations.d.ts","sourceRoot":"","sources":["../../src/dynamoDBMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"dynamoDBMigrations.d.ts","sourceRoot":"","sources":["../../src/dynamoDBMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,eAAe,EAAE,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,kBACb,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,kBACzD,MAAM,cACV,gBAAgB,eAAe,CAAC,UACpC,cAAc,KACrB,QAAQ,IAAI,CASd,CAAC;AAEF,eAAO,MAAM,aAAa,kBACT,MAAM,iBACN,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,kBACzD,MAAM,cACV,gBAAgB,eAAe,CAAC,UACpC,cAAc,KACrB,QAAQ,IAAI,CASd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamoDBMigrations.js","sourceRoot":"","sources":["../../src/dynamoDBMigrations.ts"],"names":[],"mappings":";;;AAEA,iEAAsD;AAEtD,iEAAyD;AAGzD,iCAA8B;AAOvB,MAAM,iBAAiB,GAAG,KAAK,EACpC,aAAyE,EACzE,cAAsB,EACtB,UAA4C,EAC5C,
|
|
1
|
+
{"version":3,"file":"dynamoDBMigrations.js","sourceRoot":"","sources":["../../src/dynamoDBMigrations.ts"],"names":[],"mappings":";;;AAEA,iEAAsD;AAEtD,iEAAyD;AAGzD,iCAA8B;AAOvB,MAAM,iBAAiB,GAAG,KAAK,EACpC,aAAyE,EACzE,cAAsB,EACtB,UAA4C,EAC5C,MAAsB,EACP,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,SAAS,CAC3B,aAAa,EACb,cAAc,EACd,MAAM,EACN,UAAU,CACX,CAAC;IAEF,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,iBAAiB,qBAc5B;AAEK,MAAM,aAAa,GAAG,KAAK,EAChC,aAAqB,EACrB,aAAyE,EACzE,cAAsB,EACtB,UAA4C,EAC5C,MAAsB,EACP,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,SAAS,CAC3B,aAAa,EACb,cAAc,EACd,MAAM,EACN,UAAU,CACX,CAAC;IAEF,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;AAC1C,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB;AAEF,KAAK,UAAU,SAAS,CACtB,aAAyE,EACzE,cAAsB,EACtB,MAAsB,EACtB,UAA4C;IAE5C,MAAM,SAAS,GAAG,MAAM,IAAA,mCAAY,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,sCAAe,CAAC;QAClC,QAAQ,EAAE,MAAM;QAChB,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,aAAK,CAAkB;QACvC,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,MAAM;YACN,SAAS;SACV;QACD,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { EmbeddedPackageConfig } from '@goldstack/utils-package-config-embedded';
|
|
2
|
-
import {
|
|
2
|
+
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
3
3
|
import { DynamoDBDeployment, DynamoDBPackage } from './templateDynamoDB';
|
|
4
4
|
export interface DynamoDBInstance {
|
|
5
5
|
port: number;
|
|
6
6
|
stop: () => Promise<void>;
|
|
7
7
|
}
|
|
8
|
-
export declare const localConnect: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<
|
|
8
|
+
export declare const localConnect: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<DynamoDBClient>;
|
|
9
9
|
export declare const endpointUrl: (startedContainer: DynamoDBInstance) => string;
|
|
10
|
-
export declare const createClient: (startedContainer: DynamoDBInstance) =>
|
|
10
|
+
export declare const createClient: (startedContainer: DynamoDBInstance) => DynamoDBClient;
|
|
11
11
|
export declare const startLocalDynamoDB: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<DynamoDBInstance>;
|
|
12
12
|
export declare const stopLocalDynamoDB: (packageConfig: EmbeddedPackageConfig<DynamoDBPackage, DynamoDBDeployment>, deploymentName?: string) => Promise<void>;
|
|
13
13
|
//# sourceMappingURL=localDynamoDB.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localDynamoDB.d.ts","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"localDynamoDB.d.ts","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQzE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AASD,eAAO,MAAM,YAAY,kBACR,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,cAAc,CAYxB,CAAC;AAEF,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,KAAG,MAEhE,CAAC;AAEF,eAAO,MAAM,YAAY,qBACL,gBAAgB,KACjC,cAUF,CAAC;AAEF,eAAO,MAAM,kBAAkB,kBACd,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,gBAAgB,CAmB1B,CAAC;AAmEF,eAAO,MAAM,iBAAiB,kBACb,sBAAsB,eAAe,EAAE,kBAAkB,CAAC,mBACxD,MAAM,KACtB,QAAQ,IAAI,CAad,CAAC"}
|
|
@@ -4,10 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.stopLocalDynamoDB = exports.startLocalDynamoDB = exports.createClient = exports.endpointUrl = exports.localConnect = void 0;
|
|
7
|
-
const
|
|
7
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
8
8
|
const dynamo_db_local_1 = __importDefault(require("dynamo-db-local"));
|
|
9
9
|
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
10
10
|
const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
|
|
11
|
+
const wait_port_1 = __importDefault(require("wait-port"));
|
|
11
12
|
const tcp_port_used_1 = require("tcp-port-used");
|
|
12
13
|
const MAPPED_PORT = 8000;
|
|
13
14
|
function areWeTestingWithJest() {
|
|
@@ -31,7 +32,7 @@ const endpointUrl = (startedContainer) => {
|
|
|
31
32
|
exports.endpointUrl = endpointUrl;
|
|
32
33
|
const createClient = (startedContainer) => {
|
|
33
34
|
const endpoint = (0, exports.endpointUrl)(startedContainer);
|
|
34
|
-
return new
|
|
35
|
+
return new client_dynamodb_1.DynamoDBClient({
|
|
35
36
|
endpoint,
|
|
36
37
|
region: 'eu-central-1',
|
|
37
38
|
credentials: {
|
|
@@ -71,7 +72,16 @@ const spawnLocalDynamoDB = async () => {
|
|
|
71
72
|
}
|
|
72
73
|
if ((0, utils_sh_1.commandExists)('java')) {
|
|
73
74
|
console.debug('Starting local DynamoDB with Java');
|
|
74
|
-
const pr = dynamo_db_local_1.default.spawn({
|
|
75
|
+
const pr = dynamo_db_local_1.default.spawn({
|
|
76
|
+
port: MAPPED_PORT,
|
|
77
|
+
path: null,
|
|
78
|
+
detached: false,
|
|
79
|
+
});
|
|
80
|
+
await (0, wait_port_1.default)({
|
|
81
|
+
host: 'localhost',
|
|
82
|
+
port: MAPPED_PORT,
|
|
83
|
+
});
|
|
84
|
+
console.debug('Started local DynamoDB with Java');
|
|
75
85
|
return {
|
|
76
86
|
port: MAPPED_PORT,
|
|
77
87
|
stop: async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":";;;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"localDynamoDB.js","sourceRoot":"","sources":["../../src/localDynamoDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
2
2
|
import { DynamoDBPackage } from './types/DynamoDBPackage';
|
|
3
3
|
import { InputMigrations } from 'umzug/lib/types';
|
|
4
4
|
import { DynamoDBContext } from './dynamoDBMigrations';
|
|
@@ -10,7 +10,7 @@ export declare const connect: ({ goldstackConfig, packageSchema, migrations, dep
|
|
|
10
10
|
packageSchema: any;
|
|
11
11
|
migrations: InputMigrations<DynamoDBContext>;
|
|
12
12
|
deploymentName?: string | undefined;
|
|
13
|
-
}) => Promise<
|
|
13
|
+
}) => Promise<DynamoDBClient>;
|
|
14
14
|
/**
|
|
15
15
|
* Deletes the DynamoDB table with all its data.
|
|
16
16
|
*/
|
|
@@ -18,12 +18,12 @@ export declare const deleteTable: ({ goldstackConfig, packageSchema, deploymentN
|
|
|
18
18
|
goldstackConfig: DynamoDBPackage | any;
|
|
19
19
|
packageSchema: any;
|
|
20
20
|
deploymentName?: string | undefined;
|
|
21
|
-
}) => Promise<
|
|
21
|
+
}) => Promise<DynamoDBClient>;
|
|
22
22
|
export declare const migrateDownTo: ({ migrationName, goldstackConfig, packageSchema, migrations, deploymentName, }: {
|
|
23
23
|
migrationName: string;
|
|
24
24
|
goldstackConfig: DynamoDBPackage | any;
|
|
25
25
|
packageSchema: any;
|
|
26
26
|
migrations: InputMigrations<DynamoDBContext>;
|
|
27
27
|
deploymentName?: string | undefined;
|
|
28
|
-
}) => Promise<
|
|
28
|
+
}) => Promise<DynamoDBClient>;
|
|
29
29
|
//# sourceMappingURL=templateDynamoDBTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateDynamoDBTable.d.ts","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templateDynamoDBTable.d.ts","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAY9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAW9B,eAAO,MAAM,YAAY,oBACN,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,MAAM,CAWhB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oBACZ,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,iBAAiB,oBACX,eAAe,GAAG,GAAG,iBACvB,GAAG,mBACD,MAAM,KACtB,QAAQ,IAAI,CAiBd,CAAC;AA8BF,eAAO,MAAM,OAAO;qBAMD,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,cAAc,CAqBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;qBAKL,eAAe,GAAG,GAAG;mBACvB,GAAG;;MAEhB,QAAQ,cAAc,CAczB,CAAC;AAEF,eAAO,MAAM,aAAa;mBAOT,MAAM;qBACJ,eAAe,GAAG,GAAG;mBACvB,GAAG;gBACN,gBAAgB,eAAe,CAAC;;MAE1C,QAAQ,cAAc,CAuBzB,CAAC"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.migrateDownTo = exports.deleteTable = exports.connect = exports.stopLocalDynamoDB = exports.startLocalDynamoDB = exports.getTableName = void 0;
|
|
7
|
-
|
|
8
|
-
const dynamodb_1 = __importDefault(require("aws-sdk/clients/dynamodb"));
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
9
5
|
const dynamoDBPackageUtils_1 = require("./dynamoDBPackageUtils");
|
|
10
6
|
const utils_package_config_embedded_1 = require("@goldstack/utils-package-config-embedded");
|
|
11
7
|
const dynamoDBData_1 = require("./dynamoDBData");
|
|
12
8
|
const dynamoDBMigrations_1 = require("./dynamoDBMigrations");
|
|
13
9
|
const utils_esbuild_1 = require("@goldstack/utils-esbuild");
|
|
14
|
-
const
|
|
10
|
+
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
15
11
|
/**
|
|
16
12
|
* Map to keep track for which deployment and tables initialisation and migrations have already been performed
|
|
17
13
|
*/
|
|
@@ -60,7 +56,7 @@ const createClient = async (packageConfig, deploymentName) => {
|
|
|
60
56
|
const deployment = packageConfig.getDeployment(deploymentName);
|
|
61
57
|
let awsUser;
|
|
62
58
|
if (process.env.AWS_ACCESS_KEY_ID) {
|
|
63
|
-
awsUser =
|
|
59
|
+
awsUser = (0, credential_providers_1.fromEnv)();
|
|
64
60
|
}
|
|
65
61
|
else {
|
|
66
62
|
// load this in lazy to enable omitting the dependency when bundling lambdas
|
|
@@ -68,8 +64,7 @@ const createClient = async (packageConfig, deploymentName) => {
|
|
|
68
64
|
const infraAWSLib = require((0, utils_esbuild_1.excludeInBundle)('@goldstack/infra-aws'));
|
|
69
65
|
awsUser = await infraAWSLib.getAWSUser(deployment.awsUser);
|
|
70
66
|
}
|
|
71
|
-
const dynamoDB = new
|
|
72
|
-
apiVersion: '2012-08-10',
|
|
67
|
+
const dynamoDB = new client_dynamodb_1.DynamoDBClient({
|
|
73
68
|
credentials: awsUser,
|
|
74
69
|
region: deployment.awsRegion,
|
|
75
70
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateDynamoDBTable.js","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templateDynamoDBTable.js","sourceRoot":"","sources":["../../src/templateDynamoDBTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
2
2
|
import { UmzugStorage } from 'umzug';
|
|
3
3
|
import { MigrationParams } from 'umzug/lib/types';
|
|
4
4
|
import { DynamoDBContext } from './dynamoDBMigrations';
|
|
5
5
|
export declare class DynamoDBStorage implements UmzugStorage<DynamoDBContext> {
|
|
6
|
-
dynamoClient:
|
|
6
|
+
dynamoClient: DynamoDBClient;
|
|
7
7
|
tableName: string;
|
|
8
8
|
migrationsKey: string;
|
|
9
9
|
partitionKey: string;
|
|
10
10
|
sortKey: string;
|
|
11
11
|
constructor({ dynamoDB, tableName, migrationsKey, partitionKey, sortKey, }: {
|
|
12
|
-
dynamoDB:
|
|
12
|
+
dynamoDB: DynamoDBClient;
|
|
13
13
|
tableName: string;
|
|
14
14
|
migrationsKey?: string;
|
|
15
15
|
partitionKey?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"umzugDynamoDBStorage.d.ts","sourceRoot":"","sources":["../../src/umzugDynamoDBStorage.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"umzugDynamoDBStorage.d.ts","sourceRoot":"","sources":["../../src/umzugDynamoDBStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EAIf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,eAAgB,YAAW,YAAY,CAAC,eAAe,CAAC;IACnE,YAAY,EAAE,cAAc,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;gBAEJ,EACV,QAAQ,EACR,SAAS,EACT,aAA6B,EAC7B,YAAmB,EACnB,OAAc,GACf,EAAE;QACD,QAAQ,EAAE,cAAc,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAQK,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrE,cAAc,CAClB,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC;IAgBV,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAiCpC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DynamoDBStorage = void 0;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
4
5
|
const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
|
|
5
6
|
class DynamoDBStorage {
|
|
6
7
|
constructor({ dynamoDB, tableName, migrationsKey = '#MIGRATIONS', partitionKey = 'pk', sortKey = 'sk', }) {
|
|
@@ -12,15 +13,13 @@ class DynamoDBStorage {
|
|
|
12
13
|
}
|
|
13
14
|
async logMigration(params) {
|
|
14
15
|
try {
|
|
15
|
-
await params.context.client
|
|
16
|
-
.putItem({
|
|
16
|
+
await params.context.client.send(new client_dynamodb_1.PutItemCommand({
|
|
17
17
|
TableName: params.context.tableName,
|
|
18
18
|
Item: (0, util_dynamodb_1.marshall)({
|
|
19
19
|
[this.partitionKey]: this.migrationsKey,
|
|
20
20
|
[this.sortKey]: params.name,
|
|
21
21
|
}),
|
|
22
|
-
})
|
|
23
|
-
.promise();
|
|
22
|
+
}));
|
|
24
23
|
}
|
|
25
24
|
catch (e) {
|
|
26
25
|
throw new Error(`Failed to log migration ${params.name}. ` + e);
|
|
@@ -28,15 +27,13 @@ class DynamoDBStorage {
|
|
|
28
27
|
}
|
|
29
28
|
async unlogMigration(params) {
|
|
30
29
|
try {
|
|
31
|
-
await params.context.client
|
|
32
|
-
.deleteItem({
|
|
30
|
+
await params.context.client.send(new client_dynamodb_1.DeleteItemCommand({
|
|
33
31
|
TableName: this.tableName,
|
|
34
32
|
Key: (0, util_dynamodb_1.marshall)({
|
|
35
33
|
[this.partitionKey]: this.migrationsKey,
|
|
36
34
|
[this.sortKey]: params.name,
|
|
37
35
|
}),
|
|
38
|
-
})
|
|
39
|
-
.promise();
|
|
36
|
+
}));
|
|
40
37
|
}
|
|
41
38
|
catch (e) {
|
|
42
39
|
throw new Error(`Failed to unlog migration ${params.name}. ` + e);
|
|
@@ -45,11 +42,10 @@ class DynamoDBStorage {
|
|
|
45
42
|
async executed() {
|
|
46
43
|
var _a, _b;
|
|
47
44
|
const migrations = [];
|
|
48
|
-
let
|
|
45
|
+
let itemsLength = undefined;
|
|
49
46
|
let lastEvaluatedKey = undefined;
|
|
50
47
|
do {
|
|
51
|
-
res = await this.dynamoClient
|
|
52
|
-
.query({
|
|
48
|
+
const res = await this.dynamoClient.send(new client_dynamodb_1.QueryCommand({
|
|
53
49
|
TableName: this.tableName,
|
|
54
50
|
KeyConditionExpression: '#pk = :pk',
|
|
55
51
|
ExpressionAttributeNames: {
|
|
@@ -59,8 +55,7 @@ class DynamoDBStorage {
|
|
|
59
55
|
':pk': this.migrationsKey,
|
|
60
56
|
}),
|
|
61
57
|
ExclusiveStartKey: lastEvaluatedKey,
|
|
62
|
-
})
|
|
63
|
-
.promise();
|
|
58
|
+
}));
|
|
64
59
|
lastEvaluatedKey = res.LastEvaluatedKey;
|
|
65
60
|
const items = (_a = res === null || res === void 0 ? void 0 : res.Items) === null || _a === void 0 ? void 0 : _a.map((entry) => {
|
|
66
61
|
return (0, util_dynamodb_1.unmarshall)(entry);
|
|
@@ -68,7 +63,8 @@ class DynamoDBStorage {
|
|
|
68
63
|
if (items) {
|
|
69
64
|
migrations.push(...items);
|
|
70
65
|
}
|
|
71
|
-
|
|
66
|
+
itemsLength = (_b = res === null || res === void 0 ? void 0 : res.Items) === null || _b === void 0 ? void 0 : _b.length;
|
|
67
|
+
} while (itemsLength && lastEvaluatedKey);
|
|
72
68
|
return migrations.map((m) => m[this.sortKey]);
|
|
73
69
|
}
|
|
74
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"umzugDynamoDBStorage.js","sourceRoot":"","sources":["../../src/umzugDynamoDBStorage.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"umzugDynamoDBStorage.js","sourceRoot":"","sources":["../../src/umzugDynamoDBStorage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/template-dynamodb",
|
|
3
|
-
"version": "0.2
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Utilities for building modules for DynamoDB access.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -39,6 +39,9 @@
|
|
|
39
39
|
"version:apply:force": "yarn version $@ && yarn version apply"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
+
"@aws-sdk/client-dynamodb": "3.485.0",
|
|
43
|
+
"@aws-sdk/credential-providers": "3.485.0",
|
|
44
|
+
"@aws-sdk/types": "^3.485.0",
|
|
42
45
|
"@aws-sdk/util-dynamodb": "^3.87.0",
|
|
43
46
|
"@goldstack/infra": "0.4.9",
|
|
44
47
|
"@goldstack/infra-aws": "0.4.15",
|
|
@@ -46,9 +49,8 @@
|
|
|
46
49
|
"@goldstack/utils-package": "0.4.9",
|
|
47
50
|
"@goldstack/utils-package-config-embedded": "0.5.10",
|
|
48
51
|
"@goldstack/utils-sh": "0.5.9",
|
|
49
|
-
"@goldstack/utils-terraform": "0.4.
|
|
50
|
-
"
|
|
51
|
-
"dynamo-db-local": "^7.2.0",
|
|
52
|
+
"@goldstack/utils-terraform": "0.4.17",
|
|
53
|
+
"dynamo-db-local": "^7.3.0",
|
|
52
54
|
"tcp-port-used": "^1.0.2",
|
|
53
55
|
"umzug": "^3.1.1"
|
|
54
56
|
},
|
|
@@ -65,7 +67,8 @@
|
|
|
65
67
|
"jest": "^29.3.1",
|
|
66
68
|
"rimraf": "^3.0.2",
|
|
67
69
|
"ts-node": "^10.9.1",
|
|
68
|
-
"typescript": "^4.8.4"
|
|
70
|
+
"typescript": "^4.8.4",
|
|
71
|
+
"wait-port": "^1.1.0"
|
|
69
72
|
},
|
|
70
73
|
"publishConfig": {
|
|
71
74
|
"main": "dist/src/templateDynamoDB.js"
|