Skip to content

Commit 0495be8

Browse files
committed
function declarations to prove lint change
1 parent 5aa665f commit 0495be8

File tree

1 file changed

+44
-46
lines changed

1 file changed

+44
-46
lines changed

lambdas/authorizer/src/authorizer.ts

Lines changed: 44 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,34 @@ import {
1010
import { Supplier } from "@internal/datastore";
1111
import { Deps } from "./deps";
1212

13-
const getSupplier = async (
13+
export default function createAuthorizerHandler(
14+
deps: Deps,
15+
): APIGatewayRequestAuthorizerHandler {
16+
return (
17+
event: APIGatewayRequestAuthorizerEvent,
18+
context: Context,
19+
callback: Callback<APIGatewayAuthorizerResult>,
20+
): void => {
21+
deps.logger.info(event, "Received event");
22+
23+
checkCertificateExpiry(event.requestContext.identity.clientCert, deps);
24+
25+
getSupplier(event.headers, deps)
26+
.then((supplier: Supplier) => {
27+
deps.logger.info("Allow event");
28+
callback(null, generateAllow(event.methodArn, supplier.id));
29+
})
30+
.catch((error) => {
31+
deps.logger.info(error, "Deny event");
32+
callback(null, generateDeny(event.methodArn));
33+
});
34+
};
35+
}
36+
37+
async function getSupplier(
1438
headers: APIGatewayRequestAuthorizerEventHeaders | null,
1539
deps: Deps,
16-
): Promise<Supplier> => {
40+
): Promise<Supplier> {
1741
const apimId = Object.entries(headers || {}).find(
1842
([headerName, _]) =>
1943
headerName.toLowerCase() ===
@@ -28,13 +52,13 @@ const getSupplier = async (
2852
throw new Error(`Supplier ${supplier.id} is disabled`);
2953
}
3054
return supplier;
31-
};
55+
}
3256

33-
const generatePolicy = (
57+
function generatePolicy(
3458
principalId: string,
3559
effect: "Allow" | "Deny",
3660
resource: string,
37-
): APIGatewayAuthorizerResult => {
61+
): APIGatewayAuthorizerResult {
3862
const authResponse: APIGatewayAuthorizerResult = {
3963
principalId,
4064
policyDocument: {
@@ -49,31 +73,31 @@ const generatePolicy = (
4973
},
5074
};
5175
return authResponse;
52-
};
76+
}
5377

54-
const generateAllow = (
78+
function generateAllow(
5579
resource: string,
5680
supplierId: string,
57-
): APIGatewayAuthorizerResult => {
81+
): APIGatewayAuthorizerResult {
5882
return generatePolicy(supplierId, "Allow", resource);
59-
};
83+
}
6084

61-
const generateDeny = (resource: string): APIGatewayAuthorizerResult => {
85+
function generateDeny(resource: string): APIGatewayAuthorizerResult {
6286
return generatePolicy("invalid-user", "Deny", resource);
63-
};
87+
}
6488

65-
const getCertificateExpiryInDays = (
89+
function getCertificateExpiryInDays(
6690
certificate: APIGatewayEventClientCertificate,
67-
): number => {
91+
): number {
6892
const now = Date.now();
6993
const expiry = new Date(certificate.validity.notAfter).getTime();
7094
return (expiry - now) / (1000 * 60 * 60 * 24);
71-
};
95+
}
7296

73-
const buildCloudWatchMetric = (
97+
function buildCloudWatchMetric(
7498
namespace: string,
7599
certificate: APIGatewayEventClientCertificate,
76-
) => {
100+
) {
77101
return {
78102
_aws: {
79103
Timestamp: Date.now(),
@@ -95,12 +119,12 @@ const buildCloudWatchMetric = (
95119
NOT_AFTER: certificate.validity.notAfter,
96120
"apim-client-certificate-near-expiry": 1,
97121
};
98-
};
122+
}
99123

100-
const checkCertificateExpiry = async (
124+
async function checkCertificateExpiry(
101125
certificate: APIGatewayEventClientCertificate | null,
102126
deps: Deps,
103-
): Promise<void> => {
127+
): Promise<void> {
104128
deps.logger.info({
105129
description: "Client certificate details",
106130
issuerDN: certificate?.issuerDN,
@@ -122,30 +146,4 @@ const checkCertificateExpiry = async (
122146
),
123147
);
124148
}
125-
};
126-
127-
const createAuthorizerHandler = (
128-
deps: Deps,
129-
): APIGatewayRequestAuthorizerHandler => {
130-
return (
131-
event: APIGatewayRequestAuthorizerEvent,
132-
context: Context,
133-
callback: Callback<APIGatewayAuthorizerResult>,
134-
): void => {
135-
deps.logger.info(event, "Received event");
136-
137-
checkCertificateExpiry(event.requestContext.identity.clientCert, deps);
138-
139-
getSupplier(event.headers, deps)
140-
.then((supplier: Supplier) => {
141-
deps.logger.info("Allow event");
142-
callback(null, generateAllow(event.methodArn, supplier.id));
143-
})
144-
.catch((error) => {
145-
deps.logger.info(error, "Deny event");
146-
callback(null, generateDeny(event.methodArn));
147-
});
148-
};
149-
};
150-
151-
export default createAuthorizerHandler;
149+
}

0 commit comments

Comments
 (0)