import Auth from '../model/auth'; import { 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 record = isAuthenticated ? ((auth as AuthPrivate).record as string) : null; const token = sign(record || undefined); return { record, token, }; };