chore: add referral module
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { Column, Entity, ManyToOne, OneToMany } from "typeorm";
|
||||
|
||||
import { ReferralCode } from "./referral-code.entity";
|
||||
import { ReferralReward } from "./referral-reward.entity";
|
||||
import { BaseEntity } from "../../../common/entities/base.entity";
|
||||
import { User } from "../../users/entities/user.entity";
|
||||
import { ReferralStatus } from "../enums/referral-status.enum";
|
||||
|
||||
@Entity()
|
||||
export class Referral extends BaseEntity {
|
||||
@ManyToOne(() => User, (user) => user.referrals)
|
||||
referrer: User;
|
||||
|
||||
@ManyToOne(() => User, (user) => user.referredBy)
|
||||
referredUser: User;
|
||||
|
||||
@ManyToOne(() => ReferralCode, (code) => code.referrals)
|
||||
referralCode: ReferralCode;
|
||||
|
||||
@OneToMany(() => ReferralReward, (reward) => reward.referral)
|
||||
rewards: ReferralReward[];
|
||||
|
||||
@Column({ type: "enum", enum: ReferralStatus, default: ReferralStatus.PENDING })
|
||||
status: ReferralStatus;
|
||||
|
||||
@Column({ type: "timestamptz", nullable: true })
|
||||
completedAt?: Date;
|
||||
}
|
||||
Reference in New Issue
Block a user