chore: create legal and real user data info

This commit is contained in:
Matin
2025-02-17 15:43:12 +03:30
parent 14373bb665
commit 8b8ddb693e
18 changed files with 390 additions and 20 deletions
@@ -2,22 +2,30 @@ import { Column, Entity, JoinColumn, OneToOne, Unique } from "typeorm";
import { User } from "./user.entity";
import { BaseEntity } from "../../../common/entities/base.entity";
import { Address } from "../../address/entities/address.entity";
@Unique(["user"])
@Entity()
export class LegalUser extends BaseEntity {
@Column({ nullable: true })
@Column({ type: "varchar", length: 50, nullable: true })
economicCode: string;
@Column({ nullable: true })
@Column({ type: "varchar", length: 50, nullable: true })
registrationId: string;
@Column({ nullable: true })
@Column({ type: "varchar", length: 100, nullable: true })
companyRegisteredName: string;
@Column({ type: "varchar", length: 20, nullable: true })
nationalId: string;
@Column({ nullable: true })
@Column({ type: "varchar", length: 20, nullable: true })
number: string;
@OneToOne(() => Address, { nullable: false, cascade: true })
@JoinColumn()
address: Address;
@OneToOne(() => User, (user) => user.legalUser, { onDelete: "CASCADE" })
@JoinColumn()
user: User;
@@ -2,6 +2,7 @@ import { Column, Entity, JoinColumn, OneToOne, Unique } from "typeorm";
import { User } from "./user.entity";
import { BaseEntity } from "../../../common/entities/base.entity";
import { Address } from "../../address/entities/address.entity";
import { GenderType } from "../enums/gender-type.enum";
@Unique(["user"])
@@ -20,6 +21,10 @@ export class RealUser extends BaseEntity {
@Column({ nullable: true })
nationality: string;
@OneToOne(() => Address, { nullable: false, cascade: true })
@JoinColumn()
address: Address;
@OneToOne(() => User, (user) => user.realUser, { onDelete: "CASCADE" })
@JoinColumn()
user: User;
+6 -1
View File
@@ -1,11 +1,12 @@
import { Exclude } from "class-transformer";
import { Column, Entity, JoinTable, ManyToMany, OneToMany, OneToOne } from "typeorm";
import { Column, Entity, JoinColumn, JoinTable, ManyToMany, OneToMany, OneToOne } from "typeorm";
import { LegalUser } from "./legal-user.entity";
import { RealUser } from "./real-user.entity";
import { Role } from "./role.entity";
import { UserGroup } from "./user-group.entity";
import { BaseEntity } from "../../../common/entities/base.entity";
import { Address } from "../../address/entities/address.entity";
import { UserAnnouncement } from "../../announcements/entities/user-announcement.entity";
import { Criticism } from "../../criticisms/entities/criticism.entity";
import { DanakServiceReview } from "../../danak-services/entities/danak-service-review.entity";
@@ -106,6 +107,10 @@ export class User extends BaseEntity {
@OneToOne(() => LegalUser, (legalUser) => legalUser.user, { cascade: true, nullable: true })
legalUser: LegalUser;
@OneToOne(() => Address, (address) => address.user, { cascade: true, nullable: true })
@JoinColumn()
address: Address;
}
// @ManyToMany(() => DanakService, (danakService) => danakService.users)