import "reflect-metadata"; import * as dotenv from "dotenv"; dotenv.config(); import ItemRepository from "../domain/repositories/item.repository"; import StockRepository from "../domain/repositories/stock.repository"; import itemFixture from "./seed/items.seed"; import stockFixture from "./seed/stock.seed"; import marketplaceContainer from "../marketplace.injection"; import { container } from "tsyringe"; import { DataSource } from "typeorm"; const createItems = async() => { itemFixture.forEach( async(fixture) => { const repository = marketplaceContainer.resolve("Items:ItemRepository"); await repository.find({ id: fixture.id }) || await repository.create(fixture); }); }; const createStock = async() => { for( const fixture in stockFixture){ const repository = marketplaceContainer.resolve("Stock:StockRepository"); for( const s of stockFixture[fixture]){ await repository.find({ itemId: s.item.id, code: s.code }) || repository.create({ itemId: s.item.id, stock: [{ code: s.code }] }); } } }; export const populateDB = async() => { console.log("Initializing data source..."); //const dataSource = container.resolve("Marketplace:DataSource"); //await dataSource.initialize(); console.log("Generating items..."); await createItems(); console.log("Generating stock..."); await createStock(); console.log("Done!"); }; //populateDB();