Files
auth-db/lib/api/authenticate.ts

18 lines
534 B
TypeScript

import { Auth, Log } from '..';
import { Action } from '../../constants/action';
import { getLoginToken } from '../utils/getLoginToken';
export const authenticate = async (username: string, password: string) => {
const doc = await Auth.findByUsername(username).catch();
if (!!doc && (await doc.authenticate(password))) {
Log.add(doc.id, Action.AUTHENTICATE);
return { ...doc, token: getLoginToken(doc) };
}
if (doc) {
Log.add(doc.id, Action.AUTHENTICATE_FAILURE);
}
return false;
};