Files
Goa-gel-fullstack/backend/src/database/models/wallet.model.ts

33 lines
1005 B
TypeScript
Raw Normal View History

import { Model, RelationMappings, RelationMappingsThunk } from 'objection';
import { BaseModel } from './base.model';
export class Wallet extends BaseModel {
static tableName = 'wallets';
id!: string;
address!: string;
encryptedPrivateKey!: string;
ownerType!: 'USER' | 'DEPARTMENT';
ownerId!: string;
isActive!: boolean;
createdAt!: Date;
updatedAt!: Date;
static get jsonSchema() {
return {
type: 'object',
required: ['address', 'encryptedPrivateKey', 'ownerType', 'ownerId'],
properties: {
id: { type: 'string', format: 'uuid' },
address: { type: 'string', maxLength: 42 },
encryptedPrivateKey: { type: 'string' },
ownerType: { type: 'string', enum: ['USER', 'DEPARTMENT'] },
ownerId: { type: 'string', format: 'uuid' },
isActive: { type: 'boolean', default: true },
createdAt: { type: 'string', format: 'date-time' },
updatedAt: { type: 'string', format: 'date-time' },
},
};
}
}