@@ -13,36 +13,39 @@ export type Deps = {
1313 env : EnvVars
1414} ;
1515
16- function createLetterRepository ( log : pino . Logger , envVars : EnvVars ) : LetterRepository {
16+ function createDocumentClient ( ) : DynamoDBDocumentClient {
1717 const ddbClient = new DynamoDBClient ( { } ) ;
18- const docClient = DynamoDBDocumentClient . from ( ddbClient ) ;
18+ return DynamoDBDocumentClient . from ( ddbClient ) ;
19+ }
20+
21+
22+ function createLetterRepository ( documentClient : DynamoDBDocumentClient , log : pino . Logger , envVars : EnvVars ) : LetterRepository {
1923 const config = {
2024 lettersTableName : envVars . LETTERS_TABLE_NAME ,
2125 ttlHours : envVars . LETTER_TTL_HOURS
2226 } ;
2327
24- return new LetterRepository ( docClient , log , config ) ;
28+ return new LetterRepository ( documentClient , log , config ) ;
2529}
2630
27- function createDBHealthcheck ( envVars : EnvVars ) : DBHealthcheck {
28- const ddbClient = new DynamoDBClient ( { } ) ;
29- const docClient = DynamoDBDocumentClient . from ( ddbClient ) ;
31+ function createDBHealthcheck ( documentClient : DynamoDBDocumentClient , envVars : EnvVars ) : DBHealthcheck {
3032 const config = {
3133 lettersTableName : envVars . LETTERS_TABLE_NAME ,
3234 ttlHours : envVars . LETTER_TTL_HOURS
3335 } ;
3436
35- return new DBHealthcheck ( docClient , config ) ;
37+ return new DBHealthcheck ( documentClient , config ) ;
3638}
3739
3840export function createDependenciesContainer ( ) : Deps {
3941
4042 const log = pino ( ) ;
43+ const documentClient = createDocumentClient ( ) ;
4144
4245 return {
4346 s3Client : new S3Client ( ) ,
44- letterRepo : createLetterRepository ( log , envVars ) ,
45- dbHealthcheck : createDBHealthcheck ( envVars ) ,
47+ letterRepo : createLetterRepository ( documentClient , log , envVars ) ,
48+ dbHealthcheck : createDBHealthcheck ( documentClient , envVars ) ,
4649 logger : log ,
4750 env : envVars
4851 } ;
0 commit comments