UNPKG

@tomei/live-price

Version:

Tomei live-price Package

103 lines (88 loc) 2.05 kB
import { BelongsTo, Column, DataType, ForeignKey, HasMany, Model, Table, } from 'sequelize-typescript'; import { IFeedHistoryAttr } from '../interfaces/price-feed-history-attr.interface'; import TomeiPriceHistoryModel from './price-tomei-price-history.entity'; import SourceFeedModel from './price-source-feed.entity'; import { SourceFeedName } from '../enum/feed.enum'; @Table({ tableName: 'price_FeedHistory', timestamps: false, }) export default class FeedHistoryModel extends Model implements IFeedHistoryAttr { @Column({ primaryKey: true, allowNull: false, type: DataType.STRING(30), }) FeedHistoryId: string; @ForeignKey(() => SourceFeedModel) @Column({ allowNull: false, type: DataType.STRING(50), }) FeedName: SourceFeedName; @Column({ allowNull: false, type: DataType.DATE, }) DateTime: Date; @Column({ allowNull: false, type: DataType.STRING(3), }) Currency: string; @Column({ allowNull: false, type: DataType.DECIMAL(10, 2), }) SourceFeedBuyPrice: number; @Column({ allowNull: false, type: DataType.DECIMAL(10, 2), }) SourceFeedSellPrice: number; @Column({ allowNull: false, type: DataType.DECIMAL(10, 2), }) FeedBuyPrice: number; @Column({ allowNull: false, type: DataType.DECIMAL(10, 2), }) FeedSellPrice: number; @Column({ allowNull: false, type: DataType.CHAR(1), }) IsSourceFeedAvailableYN: string; @Column({ allowNull: false, type: DataType.CHAR(1), }) IsManualPriceActivatedYN: string; @Column({ allowNull: false, type: DataType.CHAR(1), }) IsManualCutOffYN: string; @Column({ allowNull: false, type: DataType.CHAR(1), }) IsCircuitBreakerActivatedYN: string; @BelongsTo(() => SourceFeedModel) SourceFeed: SourceFeedModel; @HasMany(() => TomeiPriceHistoryModel) TomeiPriceHistories: TomeiPriceHistoryModel[]; }