Skip to content

Commit e090e46

Browse files
committed
CCM-11192: fix for main merge
1 parent 53ceec8 commit e090e46

File tree

3 files changed

+89
-70
lines changed

3 files changed

+89
-70
lines changed

internal/datastore/src/__test__/letter-repository.test.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,21 @@ describe('LetterRepository', () => {
306306
await checkLetterExists('supplier1', 'letter59');
307307
});
308308

309+
test('should skip array gaps', async () => {
310+
const letters = [
311+
createLetter('supplier1', 'letter1'),
312+
createLetter('supplier1', 'letter2'),
313+
createLetter('supplier1', 'letter3')
314+
];
315+
316+
delete letters[1];
317+
318+
await letterRepository.putLetterBatch(letters);
319+
320+
await checkLetterExists('supplier1', 'letter1');
321+
await checkLetterExists('supplier1', 'letter3');
322+
});
323+
309324
test('rethrows errors from DynamoDB when batch creating letter', async () => {
310325
const misconfiguredRepository = new LetterRepository(db.docClient, logger, {
311326
...db.config,

internal/datastore/src/letter-repository.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,19 @@ export class LetterRepository {
5353
return LetterSchema.parse(letterDb);
5454
}
5555

56-
async putLetterBatch(letters: Omit<Letter, 'ttl' | 'supplierStatus'>[]): Promise<void> {
56+
async putLetterBatch(letters: Omit<Letter, 'ttl' | 'supplierStatus'| 'supplierStatusSk'>[]): Promise<void> {
5757
let lettersDb: Letter[] = [];
5858
for (let i = 0; i < letters.length; i++) {
59+
60+
const letter = letters[i];
61+
62+
if(!letter){
63+
continue;
64+
}
65+
5966
lettersDb.push({
60-
...letters[i],
61-
supplierStatus: `${letters[i].supplierId}#${letters[i].status}`,
67+
...letter,
68+
supplierStatus: `${letter.supplierId}#${letter.status}`,
6269
supplierStatusSk: Date.now().toString(),
6370
ttl: Math.floor(Date.now() / 1000 + 60 * 60 * this.config.ttlHours)
6471
});

package-lock.json

Lines changed: 64 additions & 67 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)