fix: bug in thre login process

This commit is contained in:
mahyargdz
2025-03-02 16:28:07 +03:30
parent 4d0344c376
commit 28486d64ee
21 changed files with 606 additions and 588 deletions
+23 -11
View File
@@ -3,29 +3,41 @@ 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";
import { GenderEnum } from "../enums/gender-type.enum";
import { NationalityEnum } from "../enums/nationality.enum";
@Unique(["user"])
@Entity()
export class RealUser extends BaseEntity {
@Column({
type: "enum",
enum: GenderType,
nullable: true,
})
gender: GenderType;
@Column({ type: "varchar", length: 150 })
firstName: string;
@Column({ nullable: true })
@Column({ type: "varchar", length: 200 })
lastName: string;
@Column({ type: "varchar", length: 100 })
fatherName: string;
@Column({ nullable: true })
nationality: 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" })
@OneToOne(() => User, (user) => user.realUser, { onDelete: "CASCADE", nullable: false })
@JoinColumn()
user: User;
}
+1 -16
View File
@@ -1,13 +1,11 @@
import { Exclude } from "class-transformer";
import { Column, Entity, JoinColumn, JoinTable, ManyToMany, ManyToOne, OneToMany, OneToOne } from "typeorm";
import { Column, Entity, 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 { City } from "../../address/entities/city.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";
@@ -57,17 +55,8 @@ export class User extends BaseEntity {
@Column({ type: "boolean", default: false })
emailVerified: boolean;
@Column({ type: "varchar", length: 255, nullable: true })
userAddress: string;
@Column({ type: "varchar", length: 10, nullable: true })
postalCode: string;
//-----------------------------------------
@ManyToOne(() => City, { eager: true, nullable: true })
city: City;
// @ManyToOne(() => Role, { eager: true, onDelete: "RESTRICT", nullable: false })
// role: Role;
@ManyToMany(() => Role, (role) => role.users)
@JoinTable({ name: "user_role_relation" })
roles: Role[];
@@ -119,10 +108,6 @@ 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(() => UsageDiscount, (usageDiscount) => usageDiscount.users)
usageDiscounts: UsageDiscount[];