@squiz/db-lib 1.75.1 → 1.77.0
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/CHANGELOG.md +12 -0
- package/lib/AbstractRepository.js.map +1 -1
- package/lib/ConnectionManager.js.map +1 -1
- package/lib/Migrator.js.map +1 -1
- package/lib/PostgresErrorCodes.js +1 -1
- package/lib/PostgresErrorCodes.js.map +1 -1
- package/lib/dynamodb/AbstractDynamoDbRepository.d.ts +4 -2
- package/lib/dynamodb/AbstractDynamoDbRepository.d.ts.map +1 -1
- package/lib/dynamodb/AbstractDynamoDbRepository.js +18 -13
- package/lib/dynamodb/AbstractDynamoDbRepository.js.map +1 -1
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.d.ts +21 -0
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.d.ts.map +1 -1
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.js +126 -15
- package/lib/dynamodb/AbstractDynamoDbRepository.spec.js.map +1 -1
- package/lib/dynamodb/DynamoDbManager.js.map +1 -1
- package/lib/dynamodb/getDynamoDbOptions.d.ts +1 -1
- package/lib/dynamodb/getDynamoDbOptions.d.ts.map +1 -1
- package/lib/dynamodb/getDynamoDbOptions.js.map +1 -1
- package/lib/externalized/ExternalizedDynamoDbRepository.d.ts +151 -0
- package/lib/externalized/ExternalizedDynamoDbRepository.d.ts.map +1 -0
- package/lib/externalized/ExternalizedDynamoDbRepository.js +463 -0
- package/lib/externalized/ExternalizedDynamoDbRepository.js.map +1 -0
- package/lib/externalized/ExternalizedDynamoDbRepository.spec.d.ts +2 -0
- package/lib/externalized/ExternalizedDynamoDbRepository.spec.d.ts.map +1 -0
- package/lib/externalized/ExternalizedDynamoDbRepository.spec.js +218 -0
- package/lib/externalized/ExternalizedDynamoDbRepository.spec.js.map +1 -0
- package/lib/getConnectionInfo.js +1 -2
- package/lib/getConnectionInfo.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/s3/S3ExternalStorage.d.ts +66 -0
- package/lib/s3/S3ExternalStorage.d.ts.map +1 -0
- package/lib/s3/S3ExternalStorage.js +84 -0
- package/lib/s3/S3ExternalStorage.js.map +1 -0
- package/lib/s3/S3ExternalStorage.spec.d.ts +12 -0
- package/lib/s3/S3ExternalStorage.spec.d.ts.map +1 -0
- package/lib/s3/S3ExternalStorage.spec.js +130 -0
- package/lib/s3/S3ExternalStorage.spec.js.map +1 -0
- package/package.json +9 -8
- package/src/dynamodb/AbstractDynamoDbRepository.spec.ts +140 -1
- package/src/dynamodb/AbstractDynamoDbRepository.ts +22 -12
- package/src/externalized/ExternalizedDynamoDbRepository.spec.ts +274 -0
- package/src/externalized/ExternalizedDynamoDbRepository.ts +545 -0
- package/src/index.ts +4 -0
- package/src/s3/S3ExternalStorage.spec.ts +181 -0
- package/src/s3/S3ExternalStorage.ts +118 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -7,7 +7,8 @@ const AbstractDynamoDbRepository_1 = require("./AbstractDynamoDbRepository");
|
|
|
7
7
|
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
8
8
|
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
9
9
|
const DynamoDbManager_1 = require("./DynamoDbManager");
|
|
10
|
-
const
|
|
10
|
+
const MissingKeyValuesError_1 = require("../error/MissingKeyValuesError");
|
|
11
|
+
const InvalidDbSchemaError_1 = require("../error/InvalidDbSchemaError");
|
|
11
12
|
const aws_sdk_client_mock_1 = require("aws-sdk-client-mock");
|
|
12
13
|
require("aws-sdk-client-mock-jest");
|
|
13
14
|
const client_dynamodb_2 = require("@aws-sdk/client-dynamodb");
|
|
@@ -43,6 +44,13 @@ class TestItem {
|
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
}
|
|
47
|
+
class TestItem2 {
|
|
48
|
+
constructor(data = {}) {
|
|
49
|
+
var _a;
|
|
50
|
+
this.date = (_a = data.date) !== null && _a !== void 0 ? _a : '';
|
|
51
|
+
this.info = data.info;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
46
54
|
const TABLE_NAME = 'test-table';
|
|
47
55
|
const TEST_ITEM_ENTITY_NAME = 'test-item-entity';
|
|
48
56
|
const TEST_ITEM_ENTITY_DEFINITION = {
|
|
@@ -82,14 +90,46 @@ const TEST_ITEM_ENTITY_DEFINITION = {
|
|
|
82
90
|
fieldsAsJsonString: ['data2'],
|
|
83
91
|
optionalIndexes: ['gsi2_pk-gsi2_sk-index'],
|
|
84
92
|
};
|
|
93
|
+
const TEST_ITEM2_ENTITY_NAME = 'test-item-entity2';
|
|
94
|
+
const TEST_ITEM2_ENTITY_DEFINITION = {
|
|
95
|
+
keys: {
|
|
96
|
+
pk: {
|
|
97
|
+
format: 'c#{info.address.country}',
|
|
98
|
+
attributeName: 'pk',
|
|
99
|
+
},
|
|
100
|
+
sk: {
|
|
101
|
+
format: 'ci#{info.address.city}#{info.id}',
|
|
102
|
+
attributeName: 'sk',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
indexes: {
|
|
106
|
+
'gsi1_pk-gsi1_sk-index': {
|
|
107
|
+
pk: {
|
|
108
|
+
format: 'dc#{date}#{info.address.country}',
|
|
109
|
+
attributeName: 'gsi1_pk',
|
|
110
|
+
},
|
|
111
|
+
sk: {
|
|
112
|
+
format: '#meta',
|
|
113
|
+
attributeName: 'gsi1_sk',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
fieldsAsJsonString: [],
|
|
118
|
+
};
|
|
85
119
|
class TestItemRepository extends AbstractDynamoDbRepository_1.AbstractDynamoDbRepository {
|
|
86
120
|
constructor(tableName, dbManager) {
|
|
87
121
|
super(tableName, dbManager, TEST_ITEM_ENTITY_NAME, TEST_ITEM_ENTITY_DEFINITION, TestItem);
|
|
88
122
|
}
|
|
89
123
|
}
|
|
124
|
+
class TestItem2Repository extends AbstractDynamoDbRepository_1.AbstractDynamoDbRepository {
|
|
125
|
+
constructor(tableName, dbManager) {
|
|
126
|
+
super(tableName, dbManager, TEST_ITEM2_ENTITY_NAME, TEST_ITEM2_ENTITY_DEFINITION, TestItem2);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
90
129
|
const ddbManager = new DynamoDbManager_1.DynamoDbManager(ddbDoc, (dbManager) => {
|
|
91
130
|
return {
|
|
92
131
|
testItem: new TestItemRepository(TABLE_NAME, dbManager),
|
|
132
|
+
testItem2: new TestItem2Repository(TABLE_NAME, dbManager),
|
|
93
133
|
};
|
|
94
134
|
});
|
|
95
135
|
// Test start ////////////////////////////////////
|
|
@@ -213,7 +253,7 @@ describe('AbstractRepository', () => {
|
|
|
213
253
|
extraColumn: '123',
|
|
214
254
|
extraColumn2: '',
|
|
215
255
|
};
|
|
216
|
-
await expect(repository.createItem(item)).rejects.toEqual(new
|
|
256
|
+
await expect(repository.createItem(item)).rejects.toEqual(new InvalidDbSchemaError_1.InvalidDbSchemaError('Excess properties in entity test-item-entity: extraColumn, extraColumn2'));
|
|
217
257
|
});
|
|
218
258
|
it('should throw error if input does not includes key field(s)', async () => {
|
|
219
259
|
const partialItem = {
|
|
@@ -221,7 +261,7 @@ describe('AbstractRepository', () => {
|
|
|
221
261
|
country: 'au',
|
|
222
262
|
data: {},
|
|
223
263
|
};
|
|
224
|
-
await expect(repository.createItem(partialItem)).rejects.toEqual(new
|
|
264
|
+
await expect(repository.createItem(partialItem)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError('Key field "name" must be specified in the input item in entity test-item-entity'));
|
|
225
265
|
});
|
|
226
266
|
});
|
|
227
267
|
describe('updateItem()', () => {
|
|
@@ -424,14 +464,14 @@ describe('AbstractRepository', () => {
|
|
|
424
464
|
country: 'au-updated',
|
|
425
465
|
extra: '',
|
|
426
466
|
};
|
|
427
|
-
await expect(repository.updateItem(updateItem)).rejects.toEqual(new
|
|
467
|
+
await expect(repository.updateItem(updateItem)).rejects.toEqual(new InvalidDbSchemaError_1.InvalidDbSchemaError('Excess properties in entity test-item-entity: extra'));
|
|
428
468
|
});
|
|
429
469
|
it('should throw error if input does not includes key field(s)', async () => {
|
|
430
470
|
const updateItem = {
|
|
431
471
|
age: 99,
|
|
432
472
|
country: 'au-updated', // should be "string" type
|
|
433
473
|
};
|
|
434
|
-
await expect(repository.updateItem(updateItem)).rejects.toEqual(new
|
|
474
|
+
await expect(repository.updateItem(updateItem)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError('Key field "name" must be specified in the input item in entity test-item-entity'));
|
|
435
475
|
});
|
|
436
476
|
});
|
|
437
477
|
describe('getItem()', () => {
|
|
@@ -488,7 +528,7 @@ describe('AbstractRepository', () => {
|
|
|
488
528
|
},
|
|
489
529
|
Item: {
|
|
490
530
|
name: 'foo',
|
|
491
|
-
age: '99',
|
|
531
|
+
age: '99', // should be number
|
|
492
532
|
country: 'au',
|
|
493
533
|
data: {},
|
|
494
534
|
},
|
|
@@ -498,7 +538,7 @@ describe('AbstractRepository', () => {
|
|
|
498
538
|
});
|
|
499
539
|
it('should throw error if input does not includes key field(s)', async () => {
|
|
500
540
|
const partialItem = { age: 99 };
|
|
501
|
-
await expect(repository.getItem(partialItem)).rejects.toEqual(new
|
|
541
|
+
await expect(repository.getItem(partialItem)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError('Key field "name" must be specified in the input item in entity test-item-entity'));
|
|
502
542
|
});
|
|
503
543
|
it('should throw error if JSON string field has non-string data', async () => {
|
|
504
544
|
ddbClientMock.on(lib_dynamodb_1.GetCommand).resolves({
|
|
@@ -507,7 +547,7 @@ describe('AbstractRepository', () => {
|
|
|
507
547
|
},
|
|
508
548
|
Item: {
|
|
509
549
|
name: 'foo',
|
|
510
|
-
age: 99,
|
|
550
|
+
age: 99, // should be number
|
|
511
551
|
country: 'au',
|
|
512
552
|
data: {},
|
|
513
553
|
data2: {
|
|
@@ -822,7 +862,7 @@ describe('AbstractRepository', () => {
|
|
|
822
862
|
});
|
|
823
863
|
it('should throw error if any input item does not includes key field(s)', async () => {
|
|
824
864
|
const requestItems = [{ name: 'foo' }, { age: 22 }];
|
|
825
|
-
await expect(repository.getItems(requestItems)).rejects.toEqual(new
|
|
865
|
+
await expect(repository.getItems(requestItems)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError('Key field "name" must be specified in the input item in entity test-item-entity'));
|
|
826
866
|
});
|
|
827
867
|
});
|
|
828
868
|
describe('deleteItems()', () => {
|
|
@@ -1035,7 +1075,7 @@ describe('AbstractRepository', () => {
|
|
|
1035
1075
|
});
|
|
1036
1076
|
it('should throw error if any input item does not includes key field(s)', async () => {
|
|
1037
1077
|
const requestItems = [{ name: 'foo' }, { age: 22 }];
|
|
1038
|
-
await expect(repository.deleteItems(requestItems)).rejects.toEqual(new
|
|
1078
|
+
await expect(repository.deleteItems(requestItems)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError('Key field "name" must be specified in the input item in entity test-item-entity'));
|
|
1039
1079
|
});
|
|
1040
1080
|
});
|
|
1041
1081
|
describe('queryItems()', () => {
|
|
@@ -1306,23 +1346,23 @@ describe('AbstractRepository', () => {
|
|
|
1306
1346
|
it('should throw error for invalid index query', async () => {
|
|
1307
1347
|
const index = 'undefined-index';
|
|
1308
1348
|
const partialItem = { age: 99, country: 'au' };
|
|
1309
|
-
await expect(repository.queryItems(partialItem, { index })).rejects.toEqual(new
|
|
1349
|
+
await expect(repository.queryItems(partialItem, { index })).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError(`Table index '${index}' not defined on entity test-item-entity`));
|
|
1310
1350
|
});
|
|
1311
1351
|
it('should throw error for missing key fields', async () => {
|
|
1312
1352
|
const partialItem = { age: 99, country: 'au' };
|
|
1313
|
-
await expect(repository.queryItems(partialItem)).rejects.toEqual(new
|
|
1353
|
+
await expect(repository.queryItems(partialItem)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError(`Key field "name" must be specified in the input item in entity test-item-entity`));
|
|
1314
1354
|
});
|
|
1315
1355
|
it('should throw error for missing key fields when using index', async () => {
|
|
1316
1356
|
const partialItem = { name: 'foo' };
|
|
1317
1357
|
const useSortKey = false;
|
|
1318
1358
|
const index = 'gsi1_pk-gsi1_sk-index';
|
|
1319
|
-
await expect(repository.queryItems(partialItem, { useSortKey, index })).rejects.toEqual(new
|
|
1359
|
+
await expect(repository.queryItems(partialItem, { useSortKey, index })).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError(`Key field "country" must be specified in the input item in entity test-item-entity`));
|
|
1320
1360
|
});
|
|
1321
1361
|
it('should throw error for missing key fields with "useSortKey" param true when using index', async () => {
|
|
1322
1362
|
const partialItem = { country: 'au' };
|
|
1323
1363
|
const useSortKey = true;
|
|
1324
1364
|
const index = 'gsi1_pk-gsi1_sk-index';
|
|
1325
|
-
await expect(repository.queryItems(partialItem, { useSortKey, index })).rejects.toEqual(new
|
|
1365
|
+
await expect(repository.queryItems(partialItem, { useSortKey, index })).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError(`Key field "age" must be specified in the input item in entity test-item-entity`));
|
|
1326
1366
|
});
|
|
1327
1367
|
});
|
|
1328
1368
|
describe('deleteItem()', () => {
|
|
@@ -1362,7 +1402,7 @@ describe('AbstractRepository', () => {
|
|
|
1362
1402
|
});
|
|
1363
1403
|
it('should throw error if input does not includes key field(s)', async () => {
|
|
1364
1404
|
const partialItem = { age: 99 };
|
|
1365
|
-
await expect(repository.deleteItem(partialItem)).rejects.toEqual(new
|
|
1405
|
+
await expect(repository.deleteItem(partialItem)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError('Key field "name" must be specified in the input item in entity test-item-entity'));
|
|
1366
1406
|
});
|
|
1367
1407
|
});
|
|
1368
1408
|
describe('Writer fns with transaction - DynamoDbManager', () => {
|
|
@@ -1456,5 +1496,76 @@ describe('AbstractRepository', () => {
|
|
|
1456
1496
|
});
|
|
1457
1497
|
});
|
|
1458
1498
|
});
|
|
1499
|
+
describe('Entity definitions having keys with the object properties', () => {
|
|
1500
|
+
it('should use the correct keys in the request', async () => {
|
|
1501
|
+
const repository = new TestItem2Repository(TABLE_NAME, ddbManager);
|
|
1502
|
+
ddbClientMock.on(lib_dynamodb_1.PutCommand).resolves({
|
|
1503
|
+
$metadata: {
|
|
1504
|
+
httpStatusCode: 200,
|
|
1505
|
+
},
|
|
1506
|
+
});
|
|
1507
|
+
const input = {
|
|
1508
|
+
TableName: TABLE_NAME,
|
|
1509
|
+
Item: {
|
|
1510
|
+
pk: 'c#au',
|
|
1511
|
+
sk: 'ci#syd#id-99',
|
|
1512
|
+
gsi1_pk: 'dc#2025-02-26#au',
|
|
1513
|
+
gsi1_sk: '#meta',
|
|
1514
|
+
date: '2025-02-26',
|
|
1515
|
+
info: {
|
|
1516
|
+
id: 'id-99',
|
|
1517
|
+
name: 'john',
|
|
1518
|
+
age: 42,
|
|
1519
|
+
address: {
|
|
1520
|
+
country: 'au',
|
|
1521
|
+
city: 'syd',
|
|
1522
|
+
},
|
|
1523
|
+
},
|
|
1524
|
+
},
|
|
1525
|
+
ConditionExpression: `attribute_not_exists(pk)`,
|
|
1526
|
+
};
|
|
1527
|
+
const item = {
|
|
1528
|
+
date: '2025-02-26',
|
|
1529
|
+
info: {
|
|
1530
|
+
id: 'id-99',
|
|
1531
|
+
name: 'john',
|
|
1532
|
+
age: 42,
|
|
1533
|
+
address: {
|
|
1534
|
+
country: 'au',
|
|
1535
|
+
city: 'syd',
|
|
1536
|
+
},
|
|
1537
|
+
},
|
|
1538
|
+
};
|
|
1539
|
+
const result = await repository.createItem(item);
|
|
1540
|
+
expect(ddbClientMock).toHaveReceivedCommandWith(lib_dynamodb_1.PutCommand, input);
|
|
1541
|
+
expect(result).toEqual(new TestItem2({
|
|
1542
|
+
date: '2025-02-26',
|
|
1543
|
+
info: {
|
|
1544
|
+
id: 'id-99',
|
|
1545
|
+
name: 'john',
|
|
1546
|
+
age: 42,
|
|
1547
|
+
address: {
|
|
1548
|
+
country: 'au',
|
|
1549
|
+
city: 'syd',
|
|
1550
|
+
},
|
|
1551
|
+
},
|
|
1552
|
+
}));
|
|
1553
|
+
});
|
|
1554
|
+
it('should throw error if input does not includes key field(s)', async () => {
|
|
1555
|
+
const repository = new TestItem2Repository(TABLE_NAME, ddbManager);
|
|
1556
|
+
const partialItem = {
|
|
1557
|
+
date: '2025-02-26',
|
|
1558
|
+
info: {
|
|
1559
|
+
id: 'id-99',
|
|
1560
|
+
name: 'john',
|
|
1561
|
+
age: 42,
|
|
1562
|
+
address: {
|
|
1563
|
+
country: 'au',
|
|
1564
|
+
},
|
|
1565
|
+
},
|
|
1566
|
+
};
|
|
1567
|
+
await expect(repository.getItem(partialItem)).rejects.toEqual(new MissingKeyValuesError_1.MissingKeyValuesError('Key field "info.address.city" must be specified in the input item in entity test-item-entity2'));
|
|
1568
|
+
});
|
|
1569
|
+
});
|
|
1459
1570
|
});
|
|
1460
1571
|
//# sourceMappingURL=AbstractDynamoDbRepository.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDynamoDbRepository.spec.js","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractDynamoDbRepository.spec.js","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamoDbManager.js","sourceRoot":"","sources":["../../src/dynamodb/DynamoDbManager.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AACpC,gEAA6D;AAC7D,4CAA2C;AAE3C,MAAM,MAAM,GAAG,WAAK,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;AASzD,MAAa,eAAe;IAI1B,YACS,MAAwB,EAC/B,iBAA+E;QADxE,WAAM,GAAN,MAAM,CAAkB;QAG/B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAI,IAA8C;QACjF,MAAM,aAAa,GAAG,IAAA,mBAAU,GAAE,CAAC;QAEnC,IAAI;
|
|
1
|
+
{"version":3,"file":"DynamoDbManager.js","sourceRoot":"","sources":["../../src/dynamodb/DynamoDbManager.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AACpC,gEAA6D;AAC7D,4CAA2C;AAE3C,MAAM,MAAM,GAAG,WAAK,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;AASzD,MAAa,eAAe;IAI1B,YACS,MAAwB,EAC/B,iBAA+E;QADxE,WAAM,GAAN,MAAM,CAAkB;QAG/B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAI,IAA8C;QACjF,MAAM,aAAa,GAAG,IAAA,mBAAU,GAAE,CAAC;QAEnC,IAAI,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,uBAAuB,CAAC,aAAqB,EAAE,IAAqB;QACzE,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,mCAAgB,CAAC,4BAA4B,aAAa,8BAA8B,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QACpD,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,mCAAgB,CAAC,4BAA4B,aAAa,cAAc,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,OAAO,MAAM,CAAC,eAAe,CAC3B,oBAAoB,EACpB;YACE,UAAU,EAAE;gBACV,yBAAyB,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM;aACvE;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;oBACrC,kBAAkB,EAAE,aAAa;oBACjC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,aAAqB;QAC5C,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,mCAAgB,CAAC,gBAAgB,aAAa,mBAAmB,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC;IAEO,gBAAgB,CAAC,aAAqB;QAC5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;CACF;AAvED,0CAuEC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const getDynamoDbOptions: (awsRegion: string, nodeEnv:
|
|
1
|
+
export declare const getDynamoDbOptions: (awsRegion: string, nodeEnv: "production" | "development") => {
|
|
2
2
|
region: string;
|
|
3
3
|
credentials?: undefined;
|
|
4
4
|
endpoint?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDynamoDbOptions.d.ts","sourceRoot":"","sources":["../../src/dynamodb/getDynamoDbOptions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"getDynamoDbOptions.d.ts","sourceRoot":"","sources":["../../src/dynamodb/getDynamoDbOptions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,EAAE,SAAS,YAAY,GAAG,aAAa;;;;;;;;;;;CAQ1F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDynamoDbOptions.js","sourceRoot":"","sources":["../../src/dynamodb/getDynamoDbOptions.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,OAAqC,EAAE,EAAE;;IAC7F,IAAI,OAAO,KAAK,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"getDynamoDbOptions.js","sourceRoot":"","sources":["../../src/dynamodb/getDynamoDbOptions.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,OAAqC,EAAE,EAAE;;IAC7F,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;QAC3D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,uBAAuB;KAChH,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @file ExternalizedDynamoDbRepository.ts
|
|
3
|
+
* @description This file contains the ExternalizedDynamoDbRepository class, which is used to store and retrieve externalized items from DynamoDB and S3.
|
|
4
|
+
* @author Dean Heffernan
|
|
5
|
+
* @copyright 2025 Squiz
|
|
6
|
+
*/
|
|
7
|
+
import { AbstractDynamoDbRepository, EntityDefinition, QueryOptions } from '../dynamodb/AbstractDynamoDbRepository';
|
|
8
|
+
import { DynamoDbManager, Transaction } from '../dynamodb/DynamoDbManager';
|
|
9
|
+
import { S3ExternalStorage, S3StorageLocation } from '../s3/S3ExternalStorage';
|
|
10
|
+
/**
|
|
11
|
+
* The ExternalizedDynamoDbRepository class is used to store and retrieve externalized items from DynamoDB and S3.
|
|
12
|
+
* @class ExternalizedDynamoDbRepository
|
|
13
|
+
* @extends {AbstractDynamoDbRepository<SHAPE, DATA_CLASS>}
|
|
14
|
+
* @param {string} tableName - The name of the DynamoDB table to use for storing externalized items.
|
|
15
|
+
* @param {ContentDynamodbDbManager} dbManager - The DynamoDB database manager to use for storing externalized items.
|
|
16
|
+
* @param {string} entityName - The name of the entity to store externalized items for.
|
|
17
|
+
* @param {EntityDefinition} entityDefinition - The entity definition to use for storing externalized items.
|
|
18
|
+
* @param {DATA_CLASS} classRef - The class to use for storing externalized items.
|
|
19
|
+
* @param {S3ExternalStorage} storage - The S3 storage to use for storing externalized items.
|
|
20
|
+
* @returns {ExternalizedDynamoDbRepository} A new instance of the ExternalizedDynamoDbRepository class.
|
|
21
|
+
*/
|
|
22
|
+
export declare abstract class ExternalizedDynamoDbRepository<SHAPE extends object, DATA_CLASS extends SHAPE & {
|
|
23
|
+
storageLocation?: S3StorageLocation;
|
|
24
|
+
}> extends AbstractDynamoDbRepository<SHAPE, DATA_CLASS> {
|
|
25
|
+
private readonly storage;
|
|
26
|
+
/**
|
|
27
|
+
* Creates a new instance of the ExternalizedDynamoDbRepository class.
|
|
28
|
+
* @constructor
|
|
29
|
+
* @param {string} tableName - The name of the DynamoDB table to use for storing externalized items.
|
|
30
|
+
* @param {DynamoDbManager} dbManager - The DynamoDB database manager to use for storing externalized items.
|
|
31
|
+
* @param {string} entityName - The name of the entity to store externalized items for.
|
|
32
|
+
* @param {EntityDefinition} entityDefinition - The entity definition to use for storing externalized items.
|
|
33
|
+
* @param {DATA_CLASS} classRef - The class to use for storing externalized items.
|
|
34
|
+
* @param {S3ExternalStorage} storage - The S3 storage to use for storing externalized items.
|
|
35
|
+
* @returns {ExternalizedDynamoDbRepository} A new instance of the ExternalizedDynamoDbRepository class.
|
|
36
|
+
*/
|
|
37
|
+
constructor(tableName: string, dbManager: DynamoDbManager<any>, entityName: string, entityDefinition: EntityDefinition, classRef: {
|
|
38
|
+
new (data?: Record<string, unknown>): DATA_CLASS;
|
|
39
|
+
}, storage: S3ExternalStorage);
|
|
40
|
+
/**
|
|
41
|
+
* Creates a new item in the repository.
|
|
42
|
+
* If the item exceeds DynamoDB's size limit, it will automatically externalize the content to S3.
|
|
43
|
+
* @param {DATA_CLASS} value - The value to create the item for.
|
|
44
|
+
* @param {Transaction} transaction - The transaction to use for creating the item.
|
|
45
|
+
* @param {Partial<SHAPE>} additionalValue - Additional value to use for creating the item.
|
|
46
|
+
* @param {Object} options - The options to use for creating the item.
|
|
47
|
+
* @returns {Promise<DATA_CLASS>} A promise that resolves to the created item.
|
|
48
|
+
*/
|
|
49
|
+
createItem(value: DATA_CLASS, transaction?: Transaction, additionalValue?: Partial<SHAPE>, options?: {
|
|
50
|
+
overrideExisting?: boolean;
|
|
51
|
+
}): Promise<DATA_CLASS>;
|
|
52
|
+
/**
|
|
53
|
+
* Internal method to create an item in the repository.
|
|
54
|
+
* @param {DATA_CLASS} value - The value to create the item for.
|
|
55
|
+
* @param {Transaction} transaction - The transaction to use for creating the item.
|
|
56
|
+
* @param {Partial<SHAPE>} additionalValue - Additional value to use for creating the item.
|
|
57
|
+
* @param {Object} options - The options to use for creating the item.
|
|
58
|
+
* @returns {Promise<DATA_CLASS>} A promise that resolves to the created item.
|
|
59
|
+
*/
|
|
60
|
+
private createItemInternal;
|
|
61
|
+
/**
|
|
62
|
+
* Updates an item in the repository.
|
|
63
|
+
* If the item exceeds DynamoDB's size limit, it will automatically externalize the content to S3.
|
|
64
|
+
* @param {Partial<SHAPE>} value - The value to update the item with.
|
|
65
|
+
* @returns {Promise<DATA_CLASS | undefined>} A promise that resolves to the updated item.
|
|
66
|
+
*/
|
|
67
|
+
updateItem(value: Partial<SHAPE>): Promise<DATA_CLASS | undefined>;
|
|
68
|
+
/**
|
|
69
|
+
* Internal method to update an item in the repository.
|
|
70
|
+
* @param {Partial<SHAPE>} value - The value to update the item with.
|
|
71
|
+
* @returns {Promise<DATA_CLASS | undefined>} A promise that resolves to the updated item.
|
|
72
|
+
*/
|
|
73
|
+
private updateItemInternal;
|
|
74
|
+
/**
|
|
75
|
+
* Gets an item from the repository.
|
|
76
|
+
* @param {Partial<SHAPE>} item - The item to get.
|
|
77
|
+
* @returns {Promise<DATA_CLASS | undefined>} A promise that resolves to the item.
|
|
78
|
+
*/
|
|
79
|
+
getItem(item: Partial<SHAPE>): Promise<DATA_CLASS | undefined>;
|
|
80
|
+
/**
|
|
81
|
+
* Gets items from the repository.
|
|
82
|
+
* @param {Partial<SHAPE>[]} items - The items to get.
|
|
83
|
+
* @returns {Promise<DATA_CLASS[]>} A promise that resolves to the items.
|
|
84
|
+
*/
|
|
85
|
+
getItems(items: Partial<SHAPE>[]): Promise<DATA_CLASS[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Queries items from the repository.
|
|
88
|
+
* @param {Partial<SHAPE>} item - The item to query.
|
|
89
|
+
* @param {QueryOptions} options - The options to use for querying the items.
|
|
90
|
+
* @returns {Promise<DATA_CLASS[]>} A promise that resolves to the items.
|
|
91
|
+
*/
|
|
92
|
+
queryItems(item: Partial<SHAPE>, options?: QueryOptions): Promise<DATA_CLASS[]>;
|
|
93
|
+
/**
|
|
94
|
+
* Deletes an item from the repository.
|
|
95
|
+
* @param {Partial<SHAPE>} partialItem - The item to delete.
|
|
96
|
+
* @param {Transaction} transaction - The transaction to use for deleting the item.
|
|
97
|
+
* @returns {Promise<number>} A promise that resolves to the number of items deleted.
|
|
98
|
+
*/
|
|
99
|
+
deleteItem(partialItem: Partial<SHAPE>, transaction?: Transaction): Promise<number>;
|
|
100
|
+
/**
|
|
101
|
+
* Deletes items from the repository.
|
|
102
|
+
* @param {Partial<SHAPE>[]} items - The items to delete.
|
|
103
|
+
* @returns {Promise<void>} A promise that resolves when the items are deleted.
|
|
104
|
+
*/
|
|
105
|
+
deleteItems(items: Partial<SHAPE>[]): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Prepares a value for storage by externalizing large content to S3.
|
|
108
|
+
* @param {DATA_CLASS} value - The value to prepare for storage.
|
|
109
|
+
* @returns {Promise<DATA_CLASS>} A promise that resolves to the prepared value for DynamoDB.
|
|
110
|
+
*/
|
|
111
|
+
prepareValueForStorage(value: DATA_CLASS): Promise<DATA_CLASS>;
|
|
112
|
+
/**
|
|
113
|
+
* Extracts only the key field values from an object based on the entity definition.
|
|
114
|
+
* Large content fields (defined in fieldsAsJsonString) are set to empty values.
|
|
115
|
+
* All other fields (key fields and small metadata) are preserved.
|
|
116
|
+
*
|
|
117
|
+
* @param {Record<string, unknown>} obj - The source object to extract key fields from.
|
|
118
|
+
* @returns {Record<string, unknown>} An object containing only the key field values.
|
|
119
|
+
*/
|
|
120
|
+
protected getKeyFieldsValues(obj: Record<string, unknown>): Record<string, unknown>;
|
|
121
|
+
/**
|
|
122
|
+
* Override parent's hydrateItem to preserve storageLocation
|
|
123
|
+
* The parent's hydrateItem creates a new instance which strips storageLocation
|
|
124
|
+
*/
|
|
125
|
+
protected hydrateItem(item: Record<string, unknown>): DATA_CLASS;
|
|
126
|
+
/**
|
|
127
|
+
* Hydrates a record from external storage.
|
|
128
|
+
* @param {DATA_CLASS} record - The record to hydrate.
|
|
129
|
+
* @returns {Promise<DATA_CLASS | undefined>} A promise that resolves to the hydrated record (without storageLocation).
|
|
130
|
+
*/
|
|
131
|
+
private hydrateFromExternalStorage;
|
|
132
|
+
/**
|
|
133
|
+
* Fetches the stored location of an item.
|
|
134
|
+
* @param {Partial<SHAPE>} partialItem - The item to fetch the stored location for.
|
|
135
|
+
* @returns {Promise<S3StorageLocation | undefined>} A promise that resolves to the stored location.
|
|
136
|
+
*/
|
|
137
|
+
private fetchStoredLocation;
|
|
138
|
+
/**
|
|
139
|
+
* Check if the error is due to DynamoDB item size limit being exceeded.
|
|
140
|
+
* @param {unknown} error - The error to check.
|
|
141
|
+
* @returns {boolean} True if the error is due to DynamoDB item size limit being exceeded, false otherwise.
|
|
142
|
+
*/
|
|
143
|
+
protected isDynamoItemSizeLimitError(error: unknown): boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Check if the message contains the DynamoDB size keyword.
|
|
146
|
+
* @param {string} message - The message to check.
|
|
147
|
+
* @returns {boolean} True if the message contains the DynamoDB size keyword, false otherwise.
|
|
148
|
+
*/
|
|
149
|
+
private hasDynamoSizeKeyword;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=ExternalizedDynamoDbRepository.d.ts.map
|