diff --git a/src/card/entities/account.entity.ts b/src/card/entities/account.entity.ts index d57bec8..9973d50 100644 --- a/src/card/entities/account.entity.ts +++ b/src/card/entities/account.entity.ts @@ -22,10 +22,28 @@ export class Account { @Column('varchar', { length: 255, nullable: false, name: 'currency' }) currency!: string; - @Column('decimal', { precision: 10, scale: 2, default: 0.0, name: 'balance' }) + @Column('decimal', { + precision: 10, + scale: 2, + default: 0.0, + name: 'balance', + transformer: { + to: (value: number) => value, + from: (value: string) => parseFloat(value), + }, + }) balance!: number; - @Column('decimal', { precision: 10, scale: 2, default: 0.0, name: 'reserved_balance' }) + @Column('decimal', { + precision: 10, + scale: 2, + default: 0.0, + name: 'reserved_balance', + transformer: { + to: (value: number) => value, + from: (value: string) => parseFloat(value), + }, + }) reservedBalance!: number; @OneToMany(() => Card, (card) => card.account, { cascade: true }) diff --git a/src/card/services/account.service.ts b/src/card/services/account.service.ts index 2ab2d6a..e6ac155 100644 --- a/src/card/services/account.service.ts +++ b/src/card/services/account.service.ts @@ -65,7 +65,7 @@ export class AccountService { increaseReservedBalance(account: Account, amount: number) { if (account.balance < account.reservedBalance + amount) { - throw new UnprocessableEntityException('ACCOUNT.INSUFFICIENT_BALANCE'); + throw new UnprocessableEntityException('CARD.INSUFFICIENT_BALANCE'); } return this.accountRepository.increaseReservedBalance(account.id, amount); }