Files
dsc-api/src/modules/users/entities/real-user.entity.ts
T
2025-03-02 18:02:18 +03:30

43 lines
1.2 KiB
TypeScript
Executable File

import { Column, Entity, JoinColumn, OneToOne } from "typeorm";
import { User } from "./user.entity";
import { BaseEntity } from "../../../common/entities/base.entity";
import { Address } from "../../address/entities/address.entity";
import { GenderEnum } from "../enums/gender-type.enum";
import { NationalityEnum } from "../enums/nationality.enum";
@Entity()
export class RealUser extends BaseEntity {
@Column({ type: "varchar", length: 150 })
firstName: string;
@Column({ type: "varchar", length: 200 })
lastName: string;
@Column({ type: "varchar", length: 100 })
fatherName: string;
@Column({ type: "varchar", length: 12, nullable: true })
birthDate: string;
@Column({ type: "varchar", length: 100, unique: true })
nationalCode: string;
@Column({ type: "varchar", length: 11, unique: true, nullable: false })
phone: string;
@Column({ type: "enum", enum: GenderEnum })
gender: GenderEnum;
@Column({ type: "enum", enum: NationalityEnum })
nationality: NationalityEnum;
@OneToOne(() => Address, { nullable: false, cascade: true })
@JoinColumn()
address: Address;
@OneToOne(() => User, (user) => user.realUser, { onDelete: "CASCADE", nullable: false })
@JoinColumn()
user: User;
}