64 lines
1.5 KiB
TypeScript
64 lines
1.5 KiB
TypeScript
import { ApiProperty, IntersectionType } from '@nestjs/swagger';
|
|
import { Transform, Type } from 'class-transformer';
|
|
import { IsEmail, IsEnum, IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';
|
|
import { APPLICATIONNAME_DTO } from 'src/dto/property.dto';
|
|
|
|
export class AuthLoginDTO {
|
|
@ApiProperty({ required: true })
|
|
@IsString()
|
|
P_EMAILADDR: string;
|
|
|
|
@ApiProperty({ required: true })
|
|
@IsString()
|
|
P_PASSWORD: string;
|
|
}
|
|
|
|
export class AuthLoginOnlyDTO extends IntersectionType(AuthLoginDTO, APPLICATIONNAME_DTO) { }
|
|
|
|
export enum MailTypeDTO {
|
|
REGISTER_CLIENT = "REGISTER_CLIENT",
|
|
REGISTER_SP = "REGISTER_SP",
|
|
REGISTER_USCIB = "REGISTER_USCIB",
|
|
FORGOT_PASSWORD = "FORGOT_PASSWORD"
|
|
// DEMO_MAIL = "DEMO_MAIL"
|
|
}
|
|
|
|
export class SendMailDTO {
|
|
@ApiProperty({ required: true, example: 'user@example.com' })
|
|
@IsEmail({}, { message: 'P_TO must be a valid email address' })
|
|
P_TO: string;
|
|
|
|
@ApiProperty({ enum: MailTypeDTO, required: true })
|
|
@Transform(({ value }) => value?.toUpperCase())
|
|
@IsEnum(MailTypeDTO, { message: "Invalid P_MAIL_TYPE" })
|
|
P_MAIL_TYPE: MailTypeDTO;
|
|
}
|
|
|
|
export class MailContextDTO {
|
|
@ApiProperty({ required: true })
|
|
@IsString()
|
|
to: string;
|
|
|
|
@ApiProperty({ required: true })
|
|
@IsString()
|
|
url: string;
|
|
|
|
}
|
|
|
|
export class MailTemplateDTO {
|
|
@ApiProperty({ required: true })
|
|
@IsString()
|
|
to: string;
|
|
|
|
@ApiProperty({ required: true })
|
|
@IsString()
|
|
subject: string;
|
|
|
|
@ApiProperty({ required: true })
|
|
@IsString()
|
|
templateName: string;
|
|
|
|
@IsOptional()
|
|
@IsObject()
|
|
variables?: Record<string, any>;
|
|
} |