From 1cf46b01a7a36699b9954ccf7f7d3f01ae0d3ece Mon Sep 17 00:00:00 2001 From: JB Date: Wed, 5 Feb 2025 22:41:13 -0800 Subject: [PATCH] bump(extensions-core): bump to 1.0.20 --- .pnp.cjs | 16 ++++++------ ...core-npm-1.0.20-9f25e5c3ea-fd829c1ced.zip} | Bin 173967 -> 174196 bytes extensions/elation/settings.ts | 24 ++++++++++-------- .../webhooks/appointmentCreatedOrUpdated.ts | 9 +++++-- .../webhooks/patientCreatedOrUpdated.ts | 6 ++++- package.json | 2 +- yarn.lock | 10 ++++---- 7 files changed, 39 insertions(+), 28 deletions(-) rename .yarn/cache/{@awell-health-extensions-core-npm-1.0.19-8daf047da8-25e8eb6a9a.zip => @awell-health-extensions-core-npm-1.0.20-9f25e5c3ea-fd829c1ced.zip} (85%) diff --git a/.pnp.cjs b/.pnp.cjs index 86486ff1..8673e9c6 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -28,7 +28,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./",\ "packageDependencies": [\ ["@awell-health/awell-sdk", "npm:0.1.20"],\ - ["@awell-health/extensions-core", "virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.19"],\ + ["@awell-health/extensions-core", "virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.20"],\ ["@awell-health/healthie-sdk", "npm:0.1.1"],\ ["@dropbox/sign", "npm:1.8.0"],\ ["@faker-js/faker", "npm:8.4.1"],\ @@ -222,7 +222,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["@awell-health/awell-extensions", "workspace:."],\ ["@awell-health/awell-sdk", "npm:0.1.20"],\ - ["@awell-health/extensions-core", "virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.19"],\ + ["@awell-health/extensions-core", "virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.20"],\ ["@awell-health/healthie-sdk", "npm:0.1.1"],\ ["@dropbox/sign", "npm:1.8.0"],\ ["@faker-js/faker", "npm:8.4.1"],\ @@ -332,17 +332,17 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@awell-health/extensions-core", [\ - ["npm:1.0.19", {\ - "packageLocation": "./.yarn/cache/@awell-health-extensions-core-npm-1.0.19-8daf047da8-25e8eb6a9a.zip/node_modules/@awell-health/extensions-core/",\ + ["npm:1.0.20", {\ + "packageLocation": "./.yarn/cache/@awell-health-extensions-core-npm-1.0.20-9f25e5c3ea-fd829c1ced.zip/node_modules/@awell-health/extensions-core/",\ "packageDependencies": [\ - ["@awell-health/extensions-core", "npm:1.0.19"]\ + ["@awell-health/extensions-core", "npm:1.0.20"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.19", {\ - "packageLocation": "./.yarn/__virtual__/@awell-health-extensions-core-virtual-fd73770327/0/cache/@awell-health-extensions-core-npm-1.0.19-8daf047da8-25e8eb6a9a.zip/node_modules/@awell-health/extensions-core/",\ + ["virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.20", {\ + "packageLocation": "./.yarn/__virtual__/@awell-health-extensions-core-virtual-03d9179995/0/cache/@awell-health-extensions-core-npm-1.0.20-9f25e5c3ea-fd829c1ced.zip/node_modules/@awell-health/extensions-core/",\ "packageDependencies": [\ - ["@awell-health/extensions-core", "virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.19"],\ + ["@awell-health/extensions-core", "virtual:6d1931a4340173b37cf492f77cb803dda2f92958adb6847175388be3c73eb24be6f6bfd25e0fc0b7ad8dba815a972ad5e9d1f18e67fb58466bb7c99205a9d42e#npm:1.0.20"],\ ["@awell-health/awell-sdk", "npm:0.1.20"],\ ["@types/awell-health__awell-sdk", null],\ ["@types/json-schema", "npm:7.0.15"],\ diff --git a/.yarn/cache/@awell-health-extensions-core-npm-1.0.19-8daf047da8-25e8eb6a9a.zip b/.yarn/cache/@awell-health-extensions-core-npm-1.0.20-9f25e5c3ea-fd829c1ced.zip similarity index 85% rename from .yarn/cache/@awell-health-extensions-core-npm-1.0.19-8daf047da8-25e8eb6a9a.zip rename to .yarn/cache/@awell-health-extensions-core-npm-1.0.20-9f25e5c3ea-fd829c1ced.zip index c4297347d49a15ac388d8cc085c1f5d0a0e28da1..e73fc981b55f3578194b07d528ec3c2fded0d72a 100644 GIT binary patch delta 9625 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 delta 9555 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 +export const rateLimitDurationSchema = z + .string() + .regex( + /^\d+[ ]+[smhd]$/, + 'Duration must be in format {number} {unit} where unit is s,m,h,d', + ) + .transform((val): Duration => { + const [number, unit] = val.split(' ') + return `${number}${unit}` as Duration + }) + .optional() + export const SettingsValidationSchema = z.object({ base_url: z.string().min(1), auth_url: z.string().min(1), @@ -68,17 +80,7 @@ export const SettingsValidationSchema = z.object({ */ username: z.string().optional(), password: z.string().optional(), - rateLimitDuration: z - .string() - .regex( - /^\d+[ ]+[smhd]$/, - 'Duration must be in format {number} {unit} where unit is s,m,h,d', - ) - .transform((val): Duration => { - const [number, unit] = val.split(' ') - return `${number}${unit}` as Duration - }) - .optional(), + rateLimitDuration: rateLimitDurationSchema, } satisfies Record) export type SettingsType = z.infer diff --git a/extensions/elation/webhooks/appointmentCreatedOrUpdated.ts b/extensions/elation/webhooks/appointmentCreatedOrUpdated.ts index a6648ab2..5fc84195 100644 --- a/extensions/elation/webhooks/appointmentCreatedOrUpdated.ts +++ b/extensions/elation/webhooks/appointmentCreatedOrUpdated.ts @@ -6,6 +6,8 @@ import { ELATION_SYSTEM } from '../constants' import { type SubscriptionEvent } from '../types/subscription' import { createHash } from 'node:crypto' import { Duration } from '@upstash/ratelimit' +import { rateLimitDurationSchema, SettingsValidationSchema } from '../settings' +import { isNil } from 'lodash' const dataPoints = { appointmentId: { @@ -31,7 +33,6 @@ export const appointmentCreatedOrUpdated: Webhook< helpers, }) => { const { action, resource, data } = payload - const { rateLimitDuration } = settings const { id: appointmentId, patient: patientId } = data // skip non 'saved' actions for that webhook @@ -39,7 +40,11 @@ export const appointmentCreatedOrUpdated: Webhook< return } - if (rateLimitDuration) { + const rateLimitDuration = rateLimitDurationSchema.parse( + settings.rateLimitDuration, + ) + + if (!isNil(rateLimitDuration)) { const rateLimiter = helpers.rateLimit(1, rateLimitDuration as Duration) const strAppt = JSON.stringify(data) const uniqueHash = createHash('sha256').update(strAppt).digest('hex') diff --git a/extensions/elation/webhooks/patientCreatedOrUpdated.ts b/extensions/elation/webhooks/patientCreatedOrUpdated.ts index 80dcb9f4..d3d0c392 100644 --- a/extensions/elation/webhooks/patientCreatedOrUpdated.ts +++ b/extensions/elation/webhooks/patientCreatedOrUpdated.ts @@ -4,6 +4,7 @@ import { } from '@awell-health/extensions-core' import { type SubscriptionEvent } from '../types/subscription' import { Duration } from '@upstash/ratelimit' +import { rateLimitDurationSchema } from '../settings' import { createHash } from 'node:crypto' const dataPoints = { @@ -30,7 +31,6 @@ export const patientCreatedOrUpdated: Webhook< helpers, }) => { const { data, resource, action } = payload - const { rateLimitDuration } = settings const { id: patientId } = data // skip non 'saved' actions for that webhook @@ -38,6 +38,10 @@ export const patientCreatedOrUpdated: Webhook< return } + const rateLimitDuration = rateLimitDurationSchema.parse( + settings.rateLimitDuration, + ) + if (rateLimitDuration) { const rateLimiter = helpers.rateLimit(1, rateLimitDuration as Duration) const strPatient = JSON.stringify(data) diff --git a/package.json b/package.json index 36534e07..48c77014 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ }, "dependencies": { "@awell-health/awell-sdk": "^0.1.20", - "@awell-health/extensions-core": "1.0.19", + "@awell-health/extensions-core": "1.0.20", "@awell-health/healthie-sdk": "^0.1.1", "@dropbox/sign": "^1.8.0", "@hubspot/api-client": "^11.2.0", diff --git a/yarn.lock b/yarn.lock index 31e723a1..e009b43f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -87,7 +87,7 @@ __metadata: resolution: "@awell-health/awell-extensions@workspace:." dependencies: "@awell-health/awell-sdk": "npm:^0.1.20" - "@awell-health/extensions-core": "npm:1.0.19" + "@awell-health/extensions-core": "npm:1.0.20" "@awell-health/healthie-sdk": "npm:^0.1.1" "@dropbox/sign": "npm:^1.8.0" "@faker-js/faker": "npm:^8.0.2" @@ -194,9 +194,9 @@ __metadata: languageName: node linkType: hard -"@awell-health/extensions-core@npm:1.0.19": - version: 1.0.19 - resolution: "@awell-health/extensions-core@npm:1.0.19" +"@awell-health/extensions-core@npm:1.0.20": + version: 1.0.20 + resolution: "@awell-health/extensions-core@npm:1.0.20" dependencies: "@types/json-schema": "npm:^7.0.15" "@upstash/ratelimit": "npm:^2.0.5" @@ -208,7 +208,7 @@ __metadata: zod-validation-error: "npm:^3.2.0" peerDependencies: "@awell-health/awell-sdk": "*" - checksum: 10/25e8eb6a9a3fb0a83de715a67e74cf143434e3e964003393a1a5f3a34e44f5af5f642408ebdf72d42c09cdf8a17697830fd5c0160c17c687bec87fdf04fba788 + checksum: 10/fd829c1ced8c44dfbc9775b31ad3d96bf1afc5082b835ea06948514d66e6665efea2b5578f150efadcd80c347f240f6d3f850c8db7d484c0b264dff97f42112e languageName: node linkType: hard