zurri / src /entities /Wallet.ts
nexusbert's picture
initial commit
b5e5eac
raw
history blame contribute delete
852 Bytes
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
OneToOne,
OneToMany,
Index,
} from 'typeorm';
import { User } from './User';
import { Transaction } from './Transaction';
@Entity('wallets')
@Index(['userId'])
export class Wallet {
@PrimaryGeneratedColumn('uuid')
id: string;
@OneToOne(() => User, (user) => user.wallet)
user: User;
@Column({ unique: true })
userId: string;
@Column('decimal', { precision: 15, scale: 2, default: 0 })
balance: number; // Points balance (1 point = $0.05)
@Column({ default: 0 })
freeTasksUsed: number; // Track free tasks used (first 2 are free per agent)
@OneToMany(() => Transaction, (transaction) => transaction.wallet)
transactions: Transaction[];
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}