chore: add referral module
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import Decimal from "decimal.js";
|
||||
import { Column, Entity, ManyToOne } from "typeorm";
|
||||
|
||||
import { Referral } from "./referral.entity";
|
||||
import { BaseEntity } from "../../../common/entities/base.entity";
|
||||
import { DecimalTransformer } from "../../../common/transformers/decimal.transformer";
|
||||
import { User } from "../../users/entities/user.entity";
|
||||
import { ReferralRewardStatus } from "../enums/referral-reward-status.enum";
|
||||
|
||||
@Entity()
|
||||
export class ReferralReward extends BaseEntity {
|
||||
@ManyToOne(() => User, (user) => user.referralRewards)
|
||||
user: User;
|
||||
|
||||
@ManyToOne(() => Referral, (referral) => referral.rewards)
|
||||
referral: Referral;
|
||||
|
||||
@Column({ type: "decimal", precision: 10, scale: 2, nullable: false, transformer: new DecimalTransformer() })
|
||||
amount: Decimal;
|
||||
|
||||
@Column({ type: "enum", enum: ReferralRewardStatus, default: ReferralRewardStatus.PENDING })
|
||||
status: ReferralRewardStatus;
|
||||
|
||||
@Column({ type: "timestamp", nullable: true })
|
||||
paidAt: Date;
|
||||
|
||||
@Column({ type: "varchar", length: 255, nullable: true })
|
||||
transactionId: string;
|
||||
}
|
||||
Reference in New Issue
Block a user