Skip to content

Commit be5e9d9

Browse files
committed
Empty function in PSU that will push data to SQS
1 parent 1bffcb3 commit be5e9d9

3 files changed

Lines changed: 20 additions & 3 deletions

File tree

SAMtemplates/functions/main.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ Resources:
6666
Environment:
6767
Variables:
6868
TABLE_NAME: !Ref PrescriptionStatusUpdatesTableName
69+
NHS_NOTIFY_PRESCRIPTIONS_SQS_QUEUE_URL: !Ref NHSNotifyPrescriptionsSQSQueueUrl
6970
LOG_LEVEL: !Ref LogLevel
7071
ENVIRONMENT: !Ref Environment
7172
TEST_PRESCRIPTIONS_1: "None"

packages/updatePrescriptionStatus/src/updatePrescriptionStatus.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,19 @@
22
import {APIGatewayProxyEvent, APIGatewayProxyResult} from "aws-lambda"
33
import {Logger} from "@aws-lambda-powertools/logger"
44
import {injectLambdaContext} from "@aws-lambda-powertools/logger/middleware"
5+
import {TransactionCanceledException} from "@aws-sdk/client-dynamodb"
6+
57
import middy from "@middy/core"
68
import inputOutputLogger from "@middy/input-output-logger"
7-
import errorHandler from "@nhs/fhir-middy-error-handler"
89
import httpHeaderNormalizer from "@middy/http-header-normalizer"
10+
11+
import errorHandler from "@nhs/fhir-middy-error-handler"
912
import {Bundle, BundleEntry, Task} from "fhir/r4"
13+
14+
import {transactionBundle, validateEntry} from "./validation/content"
1015
import {getPreviousItem, persistDataItems} from "./utils/databaseClient"
1116
import {jobWithTimeout, hasTimedOut} from "./utils/timeoutUtils"
12-
import {transactionBundle, validateEntry} from "./validation/content"
17+
import {pushPrescriptionToNotificationSQS} from "./utils/sqsClient"
1318
import {
1419
accepted,
1520
badRequest,
@@ -19,7 +24,6 @@ import {
1924
serverError,
2025
timeoutResponse
2126
} from "./utils/responses"
22-
import {TransactionCanceledException} from "@aws-sdk/client-dynamodb"
2327
import {
2428
InterceptionResult,
2529
testPrescription1Intercept,
@@ -159,6 +163,10 @@ const lambdaHandler = async (event: APIGatewayProxyEvent): Promise<APIGatewayPro
159163
return response(500, responseEntries)
160164
}
161165

166+
// This prescription was handled successfully,
167+
// so add a message to the notifications SQS
168+
pushPrescriptionToNotificationSQS(dataItems)
169+
162170
return response(201, responseEntries)
163171
}
164172

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import {Logger} from "@aws-lambda-powertools/logger"
2+
import {DataItem} from "../updatePrescriptionStatus"
3+
4+
const sqsUrl = process.env.NHS_NOTIFY_PRESCRIPTIONS_SQS_QUEUE_URL
5+
6+
export function pushPrescriptionToNotificationSQS(data: Array<DataItem>, logger: Logger) {
7+
logger.info("Pushing data items up to the notifications SQS", {data, sqsUrl})
8+
}

0 commit comments

Comments
 (0)