// eslint-disable-next-line import/no-named-as-default 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: true, 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; }