Initial auth library commmit

This commit is contained in:
2023-05-02 01:14:23 -04:00
parent a1d60a5042
commit 3411ae1234
17 changed files with 585 additions and 0 deletions

14
lib/utils/auth.ts Normal file
View File

@@ -0,0 +1,14 @@
import Auth from '../model/auth';
import { AuthDocument, AuthModel, AuthPrivate } from '../schema/auth';
import { sign } from './jwt';
export const getAuthenticationBundle = async (username: string, password: string) => {
const auth = await Auth.findByUsername(username).catch();
const isAuthenticated = !!auth && (auth as AuthModel).authenticate(password);
const token = isAuthenticated ? (auth as AuthModel).getToken() : sign();
const record = isAuthenticated ? (auth as AuthPrivate).record : null;
return {
record,
token,
};
};