scope for contact

This commit is contained in:
2025-12-16 14:59:30 +03:30
parent 8417eef69c
commit 8b4f67a70b
4 changed files with 18 additions and 3 deletions
@@ -1,5 +1,6 @@
import { IsNotEmpty, IsString, IsOptional, IsMobilePhone } from 'class-validator';
import { IsNotEmpty, IsString, IsOptional, IsMobilePhone, IsEnum } from 'class-validator';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { ContactScope } from '../interface/interface';
export class CreateContactDto {
@IsOptional()
@@ -12,6 +13,11 @@ export class CreateContactDto {
@ApiProperty({ example: 'I have a question about your menu items', description: 'Contact content/message' })
content!: string;
@IsNotEmpty()
@IsEnum(['application', 'restaurant'])
@ApiProperty({ description: 'Contact Scope' })
scope!: ContactScope;
@IsOptional()
@IsString()
@IsMobilePhone('fa-IR')
@@ -38,4 +38,5 @@ export class FindContactsDto {
@IsEnum(ContactStatusEnum)
@ApiPropertyOptional({ enum: ContactStatusEnum, description: 'Filter by status' })
status?: ContactStatusEnum;
}
@@ -1,6 +1,6 @@
import { Entity, Property } from '@mikro-orm/core';
import { Entity, Enum, Property } from '@mikro-orm/core';
import { BaseEntity } from '../../../common/entities/base.entity';
import { ContactStatusEnum } from '../interface/interface';
import { ContactScope, ContactStatusEnum } from '../interface/interface';
@Entity({ tableName: 'contacts' })
export class Contact extends BaseEntity {
@@ -13,6 +13,9 @@ export class Contact extends BaseEntity {
@Property({ nullable: true })
phone?: string | null = null;
@Enum(() => ContactScope)
scope: ContactScope
@Property({ default: ContactStatusEnum.New })
status: ContactStatusEnum = ContactStatusEnum.New;
}
@@ -2,3 +2,8 @@ export enum ContactStatusEnum {
New = 'new',
Seen = 'seen',
}
export enum ContactScope {
New = 'application',
Seen = 'restaurant',
}