mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 00:52:50 +00:00
61 lines
1.4 KiB
TypeScript
61 lines
1.4 KiB
TypeScript
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
|
import { Type } from "class-transformer";
|
|
import {
|
|
IsEnum,
|
|
IsNotEmpty,
|
|
IsObject,
|
|
IsOptional,
|
|
IsString,
|
|
ValidateNested,
|
|
} from "class-validator";
|
|
|
|
/** The contact channel being changed on the caller's own account. */
|
|
export enum ContactChannel {
|
|
Email = "email",
|
|
Phone = "phone",
|
|
}
|
|
|
|
export class SendContactOtpDto {
|
|
@ApiProperty({ enum: ContactChannel })
|
|
@IsEnum(ContactChannel)
|
|
channel!: ContactChannel;
|
|
|
|
@ApiProperty({
|
|
description:
|
|
"The NEW email or phone to verify. The code is sent here, not to the " +
|
|
"address currently on the account — that is what proves the caller " +
|
|
"controls the number/inbox they are moving to.",
|
|
example: "+251911223344",
|
|
})
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
value!: string;
|
|
}
|
|
|
|
export class UpdateContactDto extends SendContactOtpDto {
|
|
@ApiProperty({ description: "The 6-digit code sent to the new value" })
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
otp!: string;
|
|
}
|
|
|
|
export class AccountNameDto {
|
|
@ApiProperty({ description: "Amharic name", example: "አበበ በቀለ" })
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
am!: string;
|
|
|
|
@ApiPropertyOptional({ description: "English name", example: "Abebe Bekele" })
|
|
@IsOptional()
|
|
@IsString()
|
|
en?: string;
|
|
}
|
|
|
|
export class UpdateAccountNameDto {
|
|
@ApiProperty({ type: AccountNameDto })
|
|
@IsObject()
|
|
@ValidateNested()
|
|
@Type(() => AccountNameDto)
|
|
name!: AccountNameDto;
|
|
}
|