Files
dsc-api/src/modules/referrals/entities/referral-reward.entity.ts
T
2025-04-19 09:46:10 +03:30

31 lines
1.1 KiB
TypeScript
Executable File

// 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;
}