import-dataset.ts 902 B

12345678910111213141516171819202122
  1. import 'dotenv/config';
  2. import { readFile } from 'node:fs/promises';
  3. import { resolve } from 'node:path';
  4. import { loadConfig } from '../src/config/env.js';
  5. import { createDatabasePool } from '../src/db/pool.js';
  6. import { DatasetImportService, type ImportDataset } from '../src/modules/domestic-voc/services/dataset-import.service.js';
  7. const inputPath = process.argv[2];
  8. if (!inputPath) throw new Error('Usage: npm run import:dataset -- <dataset.json> [workspaceId]');
  9. const workspaceId = process.argv[3] || 'demashi';
  10. const dataset = JSON.parse(await readFile(resolve(inputPath), 'utf8')) as ImportDataset;
  11. const config = loadConfig();
  12. const pool = createDatabasePool(config, { applicationName: 'saas-voc-dataset-import' });
  13. try {
  14. const result = await new DatasetImportService(pool).import(dataset, workspaceId);
  15. console.log(JSON.stringify(result, null, 2));
  16. } finally {
  17. await pool.end();
  18. }