feat: added beforeLogin hook (#1289)

This commit is contained in:
Daniel Söderling
2022-10-24 18:05:12 +02:00
committed by GitHub
parent a9f2f0ec03
commit 09d793926d
7 changed files with 89 additions and 5 deletions

View File

@@ -133,6 +133,15 @@ async function login<T>(incomingArgs: Arguments): Promise<Result & { user: T}> {
collection: collectionConfig.slug,
});
await collectionConfig.hooks.beforeLogin.reduce(async (priorHook, hook) => {
await priorHook;
user = (await hook({
user,
req: args.req,
})) || user;
}, Promise.resolve());
const token = jwt.sign(
fieldsToSign,
secret,
@@ -166,7 +175,7 @@ async function login<T>(incomingArgs: Arguments): Promise<Result & { user: T}> {
await priorHook;
user = await hook({
doc: user,
user,
req: args.req,
token,
}) || user;

View File

@@ -112,13 +112,14 @@ export type AfterDeleteHook<T extends TypeWithID = any> = (args: {
export type AfterErrorHook = (err: Error, res: unknown) => { response: any, status: number } | void;
export type BeforeLoginHook = (args: {
export type BeforeLoginHook<T extends TypeWithID = any> = (args: {
req: PayloadRequest;
user: T
}) => any;
export type AfterLoginHook<T extends TypeWithID = any> = (args: {
req: PayloadRequest;
doc: T;
user: T;
token: string;
}) => any;