Skip to content

Commit 3ef6dd5

Browse files
committed
Use common header code
1 parent b040ab4 commit 3ef6dd5

File tree

5 files changed

+12
-12
lines changed

5 files changed

+12
-12
lines changed

lambdas/api-handler/src/handlers/__tests__/get-letter-data.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import * as errors from '../../contracts/errors';
2020
import { createGetLetterDataHandler } from '../get-letter-data';
2121
import { S3Client } from '@aws-sdk/client-s3';
2222
import pino from 'pino';
23-
import { LetterRepository, MIRepository } from '../../../../../internal/datastore/src';
23+
import { LetterRepository } from '../../../../../internal/datastore/src';
2424
import { EnvVars } from '../../config/env';
2525
import { Deps } from "../../config/deps";
2626

lambdas/api-handler/src/handlers/__tests__/get-letters.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { ValidationError } from '../../errors';
2020
import * as errors from '../../contracts/errors';
2121
import { S3Client } from '@aws-sdk/client-s3';
2222
import pino from 'pino';
23-
import { LetterRepository, MIRepository } from '../../../../../internal/datastore/src';
23+
import { LetterRepository } from '../../../../../internal/datastore/src';
2424
import { createGetLettersHandler } from "../get-letters";
2525
import { Deps } from "../../config/deps";
2626
import { EnvVars } from '../../config/env';

lambdas/api-handler/src/handlers/__tests__/patch-letter.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { ValidationError } from '../../errors';
2121
import * as errors from '../../contracts/errors';
2222
import { S3Client } from '@aws-sdk/client-s3';
2323
import pino from 'pino';
24-
import { LetterRepository, MIRepository } from '../../../../../internal/datastore/src';
24+
import { LetterRepository } from '../../../../../internal/datastore/src';
2525
import { EnvVars } from '../../config/env';
2626
import { createPatchLetterHandler } from '../patch-letter';
2727
import { Deps } from "../../config/deps";

lambdas/api-handler/src/handlers/__tests__/post-mi.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { makeApiGwEvent } from "./utils/test-utils";
44
import { PostMIRequest, PostMIResponse } from "../../contracts/mi";
55
import * as miService from '../../services/mi-operations';
66
import pino from 'pino';
7-
import { LetterRepository, MIRepository } from "../../../../../internal/datastore/src";
7+
import { MIRepository } from "../../../../../internal/datastore/src";
88
import { Deps } from "../../config/deps";
99
import { EnvVars } from "../../config/env";
1010
import { createPostMIHandler } from "../post-mi";

lambdas/api-handler/src/handlers/post-mi.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { postMI as postMIOperation } from '../services/mi-operations';
33
import { ApiErrorDetail } from "../contracts/errors";
44
import { ValidationError } from "../errors";
55
import { mapErrorToResponse } from "../mappers/error-mapper";
6-
import { assertNotEmpty, lowerCaseKeys } from "../utils/validation";
6+
import { assertNotEmpty, validateCommonHeaders } from "../utils/validation";
77
import { PostMIRequest, PostMIRequestSchema } from "../contracts/mi";
88
import { mapToMI } from "../mappers/mi-mapper";
99
import { Deps } from "../config/deps";
@@ -12,13 +12,13 @@ export function createPostMIHandler(deps: Deps): APIGatewayProxyHandler {
1212

1313
return async (event) => {
1414

15-
let correlationId;
15+
const commonHeadersResult = validateCommonHeaders(event.headers, deps);
16+
17+
if (!commonHeadersResult.ok) {
18+
return mapErrorToResponse(commonHeadersResult.error, commonHeadersResult.correlationId, deps.logger);
19+
}
1620

1721
try {
18-
assertNotEmpty(event.headers, new Error('The request headers are empty'));
19-
const lowerCasedHeaders = lowerCaseKeys(event.headers);
20-
correlationId = assertNotEmpty(lowerCasedHeaders[deps.env.APIM_CORRELATION_HEADER], new Error("The request headers don't contain the APIM correlation id"));
21-
const supplierId = assertNotEmpty(lowerCasedHeaders[deps.env.SUPPLIER_ID_HEADER], new ValidationError(ApiErrorDetail.InvalidRequestMissingSupplierId));
2222
const body = assertNotEmpty(event.body, new ValidationError(ApiErrorDetail.InvalidRequestMissingBody));
2323

2424
let postMIRequest: PostMIRequest;
@@ -33,15 +33,15 @@ export function createPostMIHandler(deps: Deps): APIGatewayProxyHandler {
3333
}
3434
validateIso8601Timestamp(postMIRequest.data.attributes.timestamp);
3535

36-
const result = await postMIOperation(mapToMI(postMIRequest, supplierId), deps.miRepo);
36+
const result = await postMIOperation(mapToMI(postMIRequest, commonHeadersResult.value.supplierId), deps.miRepo);
3737

3838
return {
3939
statusCode: 201,
4040
body: JSON.stringify(result, null, 2)
4141
};
4242

4343
} catch (error) {
44-
return mapErrorToResponse(error, correlationId, deps.logger);
44+
return mapErrorToResponse(error, commonHeadersResult.value.correlationId, deps.logger);
4545
}
4646
}
4747

0 commit comments

Comments
 (0)