import { BelongsTo, Column, DataType, ForeignKey, HasMany, Index, Model, Table, } from 'sequelize-typescript'; import { Address } from './address'; import { MultisigOwner } from './multisigOwner'; import { MultisigTx } from './multisigTx'; @Table({ timestamps: true }) export class Multisig extends Model { @Index({ name: 'multisig-address-index', using: 'HASH', }) @ForeignKey(() => Address) @Column({ type: DataType.INTEGER }) addressId: number; @BelongsTo(() => Address, 'addressId') address: Address | null; @Column(DataType.INTEGER) threshold: number; @Index({ name: 'multisig-creator-index', using: 'HASH', }) @ForeignKey(() => Address) @Column(DataType.INTEGER) creatorId: number; @BelongsTo(() => Address, 'creatorId') creator: Address | null; @HasMany(() => MultisigOwner) owners: MultisigOwner[]; @HasMany(() => MultisigTx) txs: MultisigTx[]; }