Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/responders/activity-responders.js
Show All 23 Lines | |||||
const activityUpdatesInputValidator: TList<Array<ActivityUpdate>> = t.list( | const activityUpdatesInputValidator: TList<Array<ActivityUpdate>> = t.list( | ||||
tShape({ | tShape({ | ||||
focus: t.Bool, | focus: t.Bool, | ||||
threadID: tID, | threadID: tID, | ||||
latestMessage: t.maybe(tID), | latestMessage: t.maybe(tID), | ||||
}), | }), | ||||
); | ); | ||||
const inputValidator = tShape({ | const inputValidator = tShape<UpdateActivityRequest>({ | ||||
updates: activityUpdatesInputValidator, | updates: activityUpdatesInputValidator, | ||||
}); | }); | ||||
async function updateActivityResponder( | async function updateActivityResponder( | ||||
viewer: Viewer, | viewer: Viewer, | ||||
input: any, | input: mixed, | ||||
): Promise<UpdateActivityResult> { | ): Promise<UpdateActivityResult> { | ||||
const request: UpdateActivityRequest = input; | const request = await validateInput(viewer, inputValidator, input); | ||||
await validateInput(viewer, inputValidator, request); | |||||
const result = await activityUpdater(viewer, request); | const result = await activityUpdater(viewer, request); | ||||
return validateOutput(viewer, updateActivityResultValidator, result); | return validateOutput(viewer, updateActivityResultValidator, result); | ||||
} | } | ||||
const setThreadUnreadStatusValidator = tShape<SetThreadUnreadStatusRequest>({ | const setThreadUnreadStatusValidator = tShape<SetThreadUnreadStatusRequest>({ | ||||
threadID: tID, | threadID: tID, | ||||
unread: t.Bool, | unread: t.Bool, | ||||
latestMessage: t.maybe(tID), | latestMessage: t.maybe(tID), | ||||
}); | }); | ||||
async function threadSetUnreadStatusResponder( | async function threadSetUnreadStatusResponder( | ||||
viewer: Viewer, | viewer: Viewer, | ||||
input: any, | input: mixed, | ||||
): Promise<SetThreadUnreadStatusResult> { | ): Promise<SetThreadUnreadStatusResult> { | ||||
const request: SetThreadUnreadStatusRequest = input; | const request = await validateInput( | ||||
await validateInput(viewer, setThreadUnreadStatusValidator, request); | viewer, | ||||
setThreadUnreadStatusValidator, | |||||
input, | |||||
); | |||||
const result = await setThreadUnreadStatus(viewer, request); | const result = await setThreadUnreadStatus(viewer, request); | ||||
return validateOutput(viewer, setThreadUnreadStatusResult, result); | return validateOutput(viewer, setThreadUnreadStatusResult, result); | ||||
} | } | ||||
export { | export { | ||||
activityUpdatesInputValidator, | activityUpdatesInputValidator, | ||||
updateActivityResponder, | updateActivityResponder, | ||||
threadSetUnreadStatusResponder, | threadSetUnreadStatusResponder, | ||||
}; | }; |