More authentication

This commit is contained in:
2019-10-07 23:31:51 +02:00
parent 78c35b2ac3
commit 409b8af6a3
17 changed files with 214 additions and 34 deletions

View File

@@ -17,6 +17,7 @@ import { users as sql } from "@kredens/db/sql";
import argon2 from "argon2";
import { Maybe, None, Some } from "monet";
import { IDatabase, IMain } from "pg-promise";
import { User } from "@kredens/db/models";
export class UserRepository {
private db: IDatabase<any>;
@@ -47,4 +48,12 @@ export class UserRepository {
.one(sql.create, [email, encryptedPassword])
.then((user: { id: number }) => +user.id);
}
public async details(id: number): Promise<Maybe<User>> {
return this.db
.oneOrNone(sql.details, [id])
.then((user: { email: string }) =>
user !== null ? Some({ ...user, id }) : None()
);
}
}