diff --git a/app.json b/app.json index 5a8fc5d..8c7d139 100644 --- a/app.json +++ b/app.json @@ -19,5 +19,5 @@ "IPostLivechatRoomClosed", "IUIKitLivechatInteractionHandler" ], - "commitHash": "69de13511e790a02257140867ae181511241c394" + "commitHash": "6ed0f38a72fe87e2a745b67aa4165fcf9c11d919" } \ No newline at end of file diff --git a/enum/ActionIds.ts b/enum/ActionIds.ts index d16c5fd..556373e 100644 --- a/enum/ActionIds.ts +++ b/enum/ActionIds.ts @@ -5,4 +5,5 @@ export enum ActionIds { SET_TIMEOUT = 'df_set_timeout', CHANGE_LANGUAGE_CODE = 'change_language_code', DROP_QUEUE = 'drop_queue', + DISPLAY_OKTA = 'display_okta', } diff --git a/lib/Room.ts b/lib/Room.ts index cba0a50..774c6b9 100644 --- a/lib/Room.ts +++ b/lib/Room.ts @@ -69,8 +69,8 @@ export const updateRoomCustomFields = async (rid: string, data: IRoomCustomField export const updateRoomSNSData = async (read: IRead, modify: IModify, rid: string, data: Record, isLog = false): Promise => { const customFields = await getRoomCustomFields(rid, read); if (customFields) { - const snsData = Object.assign({}, (customFields.sns || {}) as Record) ; - const logData = Object.assign({}, snsData.logData || {}) + const snsData = Object.assign({}, (customFields.sns || {}) as Record); + const logData = Object.assign({}, snsData.logData || {}); if (isLog) { snsData.logData = Object.assign(logData, data); } else { diff --git a/lib/payloadAction.ts b/lib/payloadAction.ts index d6ddb69..f04f41b 100644 --- a/lib/payloadAction.ts +++ b/lib/payloadAction.ts @@ -132,6 +132,16 @@ export const handlePayloadActions = async ( await setIsQueueWindowActive(read, persistence, rid, false); await setQueuedMessage(read, persistence, rid, ''); console.debug({ rid }, 'Queue Window dropped'); + } else if (actionName === ActionIds.DISPLAY_OKTA) { + /* add/update display_okta custom field */ + const livechatRoom = (await read.getRoomReader().getById(rid)) as ILivechatRoom; + if (!livechatRoom) { + throw new Error(Logs.INVALID_ROOM_ID); + } + const { creator } = livechatRoom; + const modifier = await modify.getUpdater().room(rid, creator); + const builder = await modifier.addCustomField('display_okta', { display_okta: true }); + await modify.getUpdater().finish(builder); } } } diff --git a/package-lock.json b/package-lock.json index 6701bdd..84dfe10 100644 --- a/package-lock.json +++ b/package-lock.json @@ -103,8 +103,8 @@ } }, "@rocket.chat/apps-engine": { - "version": "github:WideChat/Rocket.Chat.Apps-engine#ec330e8c6f76c75f1b3f17618123f1448ba658a4", - "from": "github:WideChat/Rocket.Chat.Apps-engine#v1.31.0.widechat-2", + "version": "git+ssh://git@github.com/WideChat/Rocket.Chat.Apps-engine.git#ec330e8c6f76c75f1b3f17618123f1448ba658a4", + "from": "@rocket.chat/apps-engine@WideChat/Rocket.Chat.Apps-engine.git#v1.31.0.widechat-2", "dev": true, "requires": { "adm-zip": "^0.4.9",