Files
dkala-api/src/modules/users/entities/wallet-transaction.entity.ts
T
2026-02-08 10:49:16 +03:30

30 lines
921 B
TypeScript

import { Entity, Index, Property, ManyToOne, Enum } from '@mikro-orm/core';
import { BaseEntity } from '../../../../common/entities/base.entity';
import { User } from './user.entity';
import { WalletTransactionReason, WalletTransactionType } from '../interface/wallet';
import { Shop } from ../../../shops/entities/shop.entity';
@Entity({ tableName: 'wallet_transactions' })
@Index({ properties: ['user', 'shop'] })
@Index({ properties: ['user'] })
@Index({ properties: ['shop'] })
export class WalletTransaction extends BaseEntity {
@ManyToOne(() => User)
user!: User;
@ManyToOne(() => Shop)
shop!: Shop;
@Property({ type: 'decimal', precision: 10, scale: 0 })
amount!: number;
@Property({ type: 'decimal', precision: 10, scale: 0 })
balance!: number;
@Enum(() => WalletTransactionType)
type!: WalletTransactionType;
@Enum(() => WalletTransactionReason)
reason!: WalletTransactionReason;
}