diff --git a/packages/doorman-api/src/functions/api/door/info.ts b/packages/doorman-api/src/functions/api/door/info.ts index 4922ccc..d2b844c 100644 --- a/packages/doorman-api/src/functions/api/door/info.ts +++ b/packages/doorman-api/src/functions/api/door/info.ts @@ -79,9 +79,7 @@ export const handler: ServerlessFunctionSignature = } else { await client.send(getLockStatusCommand(door)) .then(async (lock) => { - const config = await client.send(getDoorConfigCommand(door)); const status = isLockOpen(lock) ? DoorStatus.OPEN: DoorStatus.CLOSED; - const doorConfig: DoorConfig = ddbItemToJSON(config); // respond to UI response @@ -89,14 +87,14 @@ export const handler: ServerlessFunctionSignature = .appendHeader('Content-Type', 'application/json') .setBody({ id: door, - timeout: doorConfig.timeout, - buzzer: doorConfig.buzzer, + timeout: config.timeout, + buzzer: config.buzzer, status, - buzzerCode: doorConfig.buzzerCode, - fallbackNumbers: doorConfig.fallbackNumbers, - pressKey: doorConfig.pressKey, - discordUsers: doorConfig.discordUsers || [], - greeting: doorConfig.greeting || "", + buzzerCode: config.buzzerCode, + fallbackNumbers: config.fallbackNumbers, + pressKey: config.pressKey, + discordUsers: config.discordUsers || [], + greeting: config.greeting || "", }); }).catch((e) => { diff --git a/packages/doorman-api/src/utils/ddb.ts b/packages/doorman-api/src/utils/ddb.ts index 6d92d14..cd6b1d6 100644 --- a/packages/doorman-api/src/utils/ddb.ts +++ b/packages/doorman-api/src/utils/ddb.ts @@ -20,7 +20,21 @@ export const createDynaBridgeClient = (context: TwilioContext) => { return new DynaBridge({ doorConfig: DoorConfigEntity, editDoorConfig: EditDoorConfigEntity, - }, undefined, { + }, { + serialize: (entity) => entity, + deserialize: (entity) => { + // convert all set to array + const convertedObj = Object.fromEntries( + Object.entries(entity).map(([key, value]) => { + if (value instanceof Set) { + return [key, Array.from(value)]; + } + return [key, value]; + }) + ); + return convertedObj; + } + }, { region: "us-east-1" , credentials: { accessKeyId: context.AWS_ACCESS_KEY,