update: the cascade option for user raltaions to other entities

This commit is contained in:
mahyargdz
2025-04-29 22:43:45 +03:30
parent d3b6cdfbf7
commit c46cad7ecc
7 changed files with 12 additions and 12 deletions
@@ -14,7 +14,7 @@ export class Invoice extends BaseEntity {
@Column({ type: "int", generated: "identity", insert: false })
numericId: number;
@ManyToOne(() => User, (user) => user.invoices, { nullable: true, onDelete: "RESTRICT" })
@ManyToOne(() => User, (user) => user.invoices, { nullable: true, onDelete: "SET NULL" })
user: User;
@Column({ type: "decimal", precision: 16, scale: 2, nullable: false, transformer: new DecimalTransformer() })
@@ -14,7 +14,7 @@ export class DepositRequest extends BaseEntity {
@ManyToOne(() => BankAccount, (bankAccount) => bankAccount.depositRequests, { nullable: false, onDelete: "RESTRICT" })
bankAccount: BankAccount;
@ManyToOne(() => User, { nullable: false, onDelete: "RESTRICT" })
@ManyToOne(() => User, { nullable: false, onDelete: "SET NULL" })
user: User;
@Column({ type: "varchar", length: 250, nullable: false })
@@ -22,7 +22,7 @@ export class Payment extends BaseEntity {
@Column({ type: "enum", enum: PaymentStatus, default: PaymentStatus.PENDING })
status: PaymentStatus;
@ManyToOne(() => User, (user) => user.payments, { nullable: false, onDelete: "RESTRICT" })
@ManyToOne(() => User, (user) => user.payments, { nullable: false, onDelete: "SET NULL" })
user: User;
@ManyToOne(() => PaymentGateway, { nullable: false, onDelete: "RESTRICT" })
@@ -19,7 +19,7 @@ export class ReferralCode extends BaseEntity {
expiresAt: Date;
//*********************************** */
@OneToOne(() => User, (user) => user.referralCode)
@OneToOne(() => User, (user) => user.referralCode, { onDelete: "CASCADE" })
@JoinColumn()
user: User;
@@ -8,13 +8,13 @@ import { ReferralStatus } from "../enums/referral-status.enum";
@Entity()
export class Referral extends BaseEntity {
@ManyToOne(() => User, (user) => user.referrals)
@ManyToOne(() => User, (user) => user.referrals, { onDelete: "CASCADE" })
referrer: User;
@ManyToOne(() => User, (user) => user.referredBy)
@ManyToOne(() => User, (user) => user.referredBy, { onDelete: "CASCADE" })
referredUser: User;
@ManyToOne(() => ReferralCode, (code) => code.referrals)
@ManyToOne(() => ReferralCode, (code) => code.referrals, { onDelete: "CASCADE" })
referralCode: ReferralCode;
@OneToMany(() => ReferralReward, (reward) => reward.referral)
@@ -18,6 +18,6 @@ export class UserSetting extends BaseEntity {
@ManyToOne(() => NotificationSetting, (notifSetting) => notifSetting.userSettings, { nullable: false })
notificationSetting: NotificationSetting;
@ManyToOne(() => User, (user) => user.settings, { nullable: false })
@ManyToOne(() => User, (user) => user.settings, { nullable: false, onDelete: "CASCADE" })
user: User;
}
@@ -25,17 +25,17 @@ export class Ticket extends BaseEntity {
@Column({ type: "enum", enum: TicketPriority, nullable: false })
priority: TicketPriority;
@ManyToOne(() => DanakService, (danakService) => danakService.tickets, { onDelete: "RESTRICT", nullable: true })
@ManyToOne(() => DanakService, (danakService) => danakService.tickets, { onDelete: "SET NULL", nullable: true })
danakService: DanakService | null;
@ManyToOne(() => User, (user) => user.tickets, { nullable: true })
@ManyToOne(() => User, (user) => user.tickets, { nullable: true, onDelete: "SET NULL" })
assignedTo: User | null;
@ManyToOne(() => User, (user) => user.tickets, { onDelete: "CASCADE", nullable: false })
user: User;
@ManyToOne(() => TicketCategory, (category) => category.tickets, { onDelete: "RESTRICT", nullable: false })
category: TicketCategory;
@ManyToOne(() => TicketCategory, (category) => category.tickets, { onDelete: "SET NULL", nullable: true })
category: TicketCategory | null;
@OneToMany(() => TicketMessage, (message) => message.ticket, { cascade: true })
messages: TicketMessage[];