2022-08-15 19:11:08 -05:00
|
|
|
import { Transform } from 'class-transformer';
|
2023-05-21 23:18:10 -04:00
|
|
|
import { IsEmail, IsNotEmpty, IsOptional, IsString } from 'class-validator';
|
2023-06-08 11:01:07 -04:00
|
|
|
import { toEmail, toSanitized } from '@app/immich/utils/transform.util';
|
2022-05-21 02:23:55 -05:00
|
|
|
|
|
|
|
|
export class CreateUserDto {
|
2022-07-15 21:30:56 +02:00
|
|
|
@IsEmail()
|
2023-05-21 23:18:10 -04:00
|
|
|
@Transform(toEmail)
|
2022-06-25 19:53:06 +02:00
|
|
|
email!: string;
|
2022-05-21 02:23:55 -05:00
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
2023-05-21 23:18:10 -04:00
|
|
|
@IsString()
|
2022-06-25 19:53:06 +02:00
|
|
|
password!: string;
|
2022-05-21 02:23:55 -05:00
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
2023-05-21 23:18:10 -04:00
|
|
|
@IsString()
|
2022-06-25 19:53:06 +02:00
|
|
|
firstName!: string;
|
2022-05-21 02:23:55 -05:00
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
2023-05-21 23:18:10 -04:00
|
|
|
@IsString()
|
2022-06-25 19:53:06 +02:00
|
|
|
lastName!: string;
|
2023-05-21 23:18:10 -04:00
|
|
|
|
|
|
|
|
@IsOptional()
|
|
|
|
|
@IsString()
|
|
|
|
|
@Transform(toSanitized)
|
|
|
|
|
storageLabel?: string | null;
|
2022-05-21 02:23:55 -05:00
|
|
|
}
|
2022-12-23 21:08:50 +01:00
|
|
|
|
|
|
|
|
export class CreateAdminDto {
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
isAdmin!: true;
|
|
|
|
|
|
|
|
|
|
@IsEmail()
|
|
|
|
|
@Transform(({ value }) => value?.toLowerCase())
|
|
|
|
|
email!: string;
|
|
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
password!: string;
|
|
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
firstName!: string;
|
|
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
lastName!: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export class CreateUserOAuthDto {
|
|
|
|
|
@IsEmail()
|
|
|
|
|
@Transform(({ value }) => value?.toLowerCase())
|
|
|
|
|
email!: string;
|
|
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
oauthId!: string;
|
|
|
|
|
|
|
|
|
|
firstName?: string;
|
|
|
|
|
|
|
|
|
|
lastName?: string;
|
|
|
|
|
}
|