From e3e1768421375a35ad937014e8eba3ef8bc778b0 Mon Sep 17 00:00:00 2001 From: gentksb Date: Sat, 9 Mar 2024 16:16:46 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E3=83=8F=E3=83=B3?= =?UTF-8?q?=E3=83=89=E3=83=AA=E3=83=B3=E3=82=B0=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lambda/spilitwise-automation/handler.ts | 2 +- lambda/spilitwise-automation/main.ts | 9 +++++++-- lib/splitwise-automation-stack.ts | 2 +- package.json | 3 ++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lambda/spilitwise-automation/handler.ts b/lambda/spilitwise-automation/handler.ts index c1270ab..a46f105 100644 --- a/lambda/spilitwise-automation/handler.ts +++ b/lambda/spilitwise-automation/handler.ts @@ -33,7 +33,7 @@ export const handler: Handler = async ( throw new Error("環境変数が設定されていません"); } - const resuleMessage = splitRecent20Expenses({ + const resuleMessage = await splitRecent20Expenses({ SPLITWISE_API_KEY_PARAMETER_NAME, SLACK_WEBHOOK_URL, USER1_ID, diff --git a/lambda/spilitwise-automation/main.ts b/lambda/spilitwise-automation/main.ts index 59068f9..d591f23 100644 --- a/lambda/spilitwise-automation/main.ts +++ b/lambda/spilitwise-automation/main.ts @@ -112,8 +112,13 @@ export const splitRecent20Expenses = async (props: Props) => { paths["/update_expense/{id}"]["post"]["responses"]["200"]["content"]["application/json"] > ) => { - if (response.data.errors?.length !== 0) { - console.error(response.data.errors); + // errorが無い場合は空オブジェクトが返ってくるので、判定条件に含めておく + if ( + response.data.errors === undefined || + (response.data.errors !== undefined && + Object.keys(response.data.errors).length > 0) + ) { + console.error(response.data.errors?.toString()); await webhook.send({ text: `割り勘処理でエラー発生\n ID:${response.data.expenses?.[0].id}\n${response.data.errors?.toString()}`, }); diff --git a/lib/splitwise-automation-stack.ts b/lib/splitwise-automation-stack.ts index 6a146e5..9da6bbd 100644 --- a/lib/splitwise-automation-stack.ts +++ b/lib/splitwise-automation-stack.ts @@ -21,7 +21,7 @@ export class SplitWiseAutomationStack extends Stack { this, "splitwise_expense_automation", { - entry: "lambda/splitwise-automation/handler.ts", + entry: "lambda/spilitwise-automation/handler.ts", // secret managerは無料枠がなく、常にコストがかかるので使わない environment: { SPLITWISE_API_KEY_PARAMETER_NAME: "splitwise API key", diff --git a/package.json b/package.json index 794abc8..543fec8 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "pree2e": "printf '{\"Parameters\":{\"SPLITWISE_API_KEY_PARAMETER_NAME\":\"%s\",\"SLACK_WEBHOOK_URL\":\"%s\",\"SPLITWISE_GROUP_ID\":\"%s\",\"USER1_ID\":\"%s\",\"USER2_ID\":\"%s\",\"USER1_RATE\":\"%s\",\"USER2_RATE\":\"%s\"}}' $SPLITWISE_API_KEY_PARAMETER_NAME $SLACK_WEBHOOK_URL $SPLITWISE_GROUP_ID $USER1_ID $USER2_ID $USER1_RATE $USER2_RATE > .env.json ", "e2e": "cdk synth --no-staging && sam local invoke splitwise_expense_automation --no-event -t ./cdk.out/SplitWiseAutomationStack.template.json --env-vars .env.json", "cdk": "cdk", - "typegen": "openapi-typescript splitwise/swagger.json -o @types/splitwise.d.ts" + "typegen": "openapi-typescript splitwise/swagger.json -o @types/splitwise.d.ts", + "deploy": "cdk deploy --require-approval never" }, "devDependencies": { "@types/aws-lambda": "^8.10.133",