src/module/settings/model/MailingConfiguration.ts
Properties |
Readonly pass |
Type : string
|
Decorators :
@IsString()
|
Readonly user |
Type : string
|
Decorators :
@IsString()
|
import { Type } from 'class-transformer';
import { IsNotEmpty, IsNumber, IsObject, IsString, ValidateNested } from 'class-validator';
import { IMailingAuthConfiguration, IMailingSettings } from 'shared/model/Settings';
import { IsValidMailSender } from '../../../helpers/validators/nodemailer.validator';
export class MailingAuthConfiguration implements IMailingAuthConfiguration {
@IsString()
@IsNotEmpty()
readonly user!: string;
@IsString()
readonly pass!: string;
}
export class MailingConfiguration implements IMailingSettings {
@IsString()
@IsNotEmpty()
readonly host!: string;
@IsNumber()
readonly port!: number;
@IsString()
@IsValidMailSender()
readonly from!: string;
@IsString()
@IsNotEmpty()
readonly subject!: string;
@IsObject()
@ValidateNested()
@Type(() => MailingAuthConfiguration)
readonly auth!: MailingAuthConfiguration;
}