18 lines
531 B
TypeScript
18 lines
531 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;
|
|
};
|