import { BelongsTo, Column, DataType, ForeignKey, HasMany, Index, Model, Table, } from 'sequelize-typescript'; import { NftReserve } from './nftReserve'; import { RedelegationPartNft } from './redelegationPartNft'; import { StakeNft } from './stakeNft'; import { Validator } from './validator'; @Table export class NftRedelegation extends Model { @Column(DataType.DECIMAL) redelegatedAmount: string; @Index({ name: 'nftRedelegation-stake-index', using: 'HASH', }) @ForeignKey(() => StakeNft) @Column(DataType.INTEGER) nftStakeId: number; @HasMany(() => NftReserve) nftReserves: NftReserve[]; @ForeignKey(() => Validator) @Column(DataType.INTEGER) toValidatorId: number; @BelongsTo(() => StakeNft) stakeNft: StakeNft; @BelongsTo(() => Validator) toValidator: Validator; @HasMany(() => RedelegationPartNft) redelegationParts: RedelegationPartNft[]; }