import { Repository } from 'typeorm'; import { AssetsAggregation } from '@/assets-aggregation/entity/AssetsAggregation'; import { AssetsHistory } from '@/assets-aggregation/entity/AssetsHistory'; import { AssetsProcessor } from '@/assets-aggregation/entity/AssetsProcessor'; import { BaseModel } from '@/common/BaseModel'; import { ModelConfig, ModelConfigProvider } from '@/common/config'; export class AssetsAggregationModel extends BaseModel { assetsHistory: Repository; assetsAggregation: Repository; assetsProcessor: Repository; protected constructor(configProvider: ModelConfigProvider) { super(configProvider, [AssetsHistory, AssetsAggregation, AssetsProcessor]); } protected async init() { await super.init(); this.assetsHistory = this.dataSource.getRepository(AssetsHistory); this.assetsAggregation = this.dataSource.getRepository(AssetsAggregation); this.assetsProcessor = this.dataSource.getRepository(AssetsProcessor); } static async New(config: ModelConfig) { const assetsAggregation = new AssetsAggregationModel(config); await assetsAggregation.init(); return assetsAggregation; } }