From a7afcf4cd1ab60f856c299eaeace7fe5f3ec3b14 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Fri, 4 Dec 2020 22:19:55 +0100 Subject: [PATCH] CreateAuth model ref #12 --- src/models/creation/CreateAuth.ts | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/models/creation/CreateAuth.ts diff --git a/src/models/creation/CreateAuth.ts b/src/models/creation/CreateAuth.ts new file mode 100644 index 0000000..7f20dbe --- /dev/null +++ b/src/models/creation/CreateAuth.ts @@ -0,0 +1,36 @@ +import { IsEmail, IsOptional, IsString } from 'class-validator'; +import { PasswordNeededError } from '../../errors/AuthError'; +import { UsernameOrEmailNeededError } from '../../errors/UserErrors'; +import { Auth } from '../entities/Auth'; + +export class CreateAuth { + @IsOptional() + @IsString() + username?: string; + @IsString() + password: string; + @IsEmail() + @IsString() + email?: string; + + public async toAuth(): Promise { + let newAuth: Auth = new Auth(); + + if (this.email === undefined && this.username === undefined) { + throw new UsernameOrEmailNeededError(); + } + if (!this.password) { + throw new PasswordNeededError() + } + // const found = await getConnectionManager().get().getRepository(UserGroup).find({ id: g }); + + // TODO: jwt creation + return + newAuth.access_token = "" + newAuth.refresh_token = "" + newAuth.access_token_expires_at = 1587349200 + newAuth.refresh_token_expires_at = 1587349200 + + console.log(newAuth) + return newAuth; + } +} \ No newline at end of file