diff --git a/database/entity/0001-init_db/Balance.ts b/database/entity/0001-init_db/Balance.ts index c1ca359f1..e0c1b7bd0 100644 --- a/database/entity/0001-init_db/Balance.ts +++ b/database/entity/0001-init_db/Balance.ts @@ -1,4 +1,5 @@ -import { BaseEntity, Entity, PrimaryGeneratedColumn, Column } from 'typeorm' +import { BaseEntity, Entity, PrimaryGeneratedColumn, Column, JoinColumn, OneToOne } from 'typeorm' +import { User } from '../User' @Entity('state_balances') export class Balance extends BaseEntity { @@ -16,4 +17,8 @@ export class Balance extends BaseEntity { @Column({ type: 'bigint' }) amount: number + + @OneToOne(() => User, { nullable: false }) + @JoinColumn({ name: 'user_id' }) + user: User } diff --git a/database/entity/0001-init_db/User.ts b/database/entity/0001-init_db/User.ts index 7280dca40..545d4f5c5 100644 --- a/database/entity/0001-init_db/User.ts +++ b/database/entity/0001-init_db/User.ts @@ -1,4 +1,5 @@ -import { BaseEntity, Entity, PrimaryGeneratedColumn, Column } from 'typeorm' +import { BaseEntity, Entity, PrimaryGeneratedColumn, Column, OneToOne } from 'typeorm' +import { Balance } from '../Balance' // Moriz: I do not like the idea of having two user tables @Entity('state_users') @@ -29,4 +30,7 @@ export class User extends BaseEntity { @Column() disabled: boolean + + @OneToOne(() => Balance, (balance) => balance.user) + balance: Balance } diff --git a/database/src/interface/TransactionContext.ts b/database/src/interface/TransactionContext.ts index f43b57046..4cda149af 100644 --- a/database/src/interface/TransactionContext.ts +++ b/database/src/interface/TransactionContext.ts @@ -1,5 +1,6 @@ import { TransactionSendCoin } from '../../entity/TransactionSendCoin' import { TransactionCreation } from '../../entity/TransactionCreation' +import { User } from '../../entity/User' export interface TransactionContext { transactionTypeId?: number @@ -10,3 +11,10 @@ export interface TransactionContext { transactionSendCoin?: TransactionSendCoin transactionCreation?: TransactionCreation } + +export interface BalanceContext { + modified?: Date + recordDate?: Date + amount?: number + user?: User +}