Add new afterLogin cloud code hook (#6387)

* add new afterLogin cloud code hook

* include user on req.user for afterLogin hook
This commit is contained in:
David Corona
2020-02-11 17:38:14 -06:00
committed by GitHub
parent 8e195ef5ae
commit 09a1dca5e3
4 changed files with 145 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ import { logger } from './logger';
export const Types = {
beforeLogin: 'beforeLogin',
afterLogin: 'afterLogin',
afterLogout: 'afterLogout',
beforeSave: 'beforeSave',
afterSave: 'afterSave',
@@ -39,10 +40,13 @@ function validateClassNameForTriggers(className, type) {
// TODO: Allow proper documented way of using nested increment ops
throw 'Only afterSave is allowed on _PushStatus';
}
if (type === Types.beforeLogin && className !== '_User') {
if (
(type === Types.beforeLogin || type === Types.afterLogin) &&
className !== '_User'
) {
// TODO: check if upstream code will handle `Error` instance rather
// than this anti-pattern of throwing strings
throw 'Only the _User class is allowed for the beforeLogin trigger';
throw 'Only the _User class is allowed for the beforeLogin and afterLogin triggers';
}
if (type === Types.afterLogout && className !== '_Session') {
// TODO: check if upstream code will handle `Error` instance rather
@@ -615,7 +619,8 @@ export function maybeRunTrigger(
const promise = trigger(request);
if (
triggerType === Types.afterSave ||
triggerType === Types.afterDelete
triggerType === Types.afterDelete ||
triggerType === Types.afterLogin
) {
logTriggerAfterHook(
triggerType,