@dssp/dkpi 1.0.0-alpha.63 → 1.0.0-alpha.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env ts-node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const typeorm_1 = require("typeorm");
5
+ const child_process_1 = require("child_process");
6
+ const util_1 = require("util");
7
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
8
+ /**
9
+ * Find project by name and run recalculation script
10
+ */
11
+ async function main() {
12
+ const projectName = process.argv[2];
13
+ if (!projectName) {
14
+ console.error('Usage: ts-node recalculate-by-project-name.ts <project-name>');
15
+ console.error('Example: ts-node recalculate-by-project-name.ts "건산연테스트II"');
16
+ process.exit(1);
17
+ }
18
+ // Set NODE_ENV if not set
19
+ if (!process.env.NODE_ENV) {
20
+ process.env.NODE_ENV = 'development';
21
+ }
22
+ // Initialize Things-Factory environment
23
+ const { config } = require('@things-factory/env');
24
+ const ormconfig = require('@things-factory/shell/dist-server/initializers/ormconfig.js');
25
+ const connectionConfig = config.get('ormconfig');
26
+ let connection;
27
+ try {
28
+ console.log(`🔍 Searching for project: "${projectName}"`);
29
+ console.log('🔌 Connecting to database...');
30
+ connection = await (0, typeorm_1.createConnection)(Object.assign(Object.assign(Object.assign({}, ormconfig), connectionConfig), { logging: false }));
31
+ const { addDataSource } = require('@things-factory/shell');
32
+ addDataSource('default', connection);
33
+ const { getRepository } = require('@things-factory/shell');
34
+ const { Project } = require('@dssp/project');
35
+ const projectRepo = getRepository(Project);
36
+ const project = await projectRepo.findOne({
37
+ where: { name: projectName }
38
+ });
39
+ if (!project) {
40
+ console.error(`❌ Project not found: "${projectName}"`);
41
+ process.exit(1);
42
+ }
43
+ console.log(`✅ Found project: ${project.name}`);
44
+ console.log(` ID: ${project.id}`);
45
+ console.log(` Start Date: ${project.startDate}`);
46
+ console.log(` End Date: ${project.endDate || 'N/A'}`);
47
+ await connection.close();
48
+ console.log('🔌 Database connection closed');
49
+ console.log('\n🚀 Starting KPI recalculation...');
50
+ console.log(` Running: npm run propagate-parent-kpi-values -- --orgs "${project.id}"\n`);
51
+ // Execute recalculation script
52
+ const scriptDir = '/Users/super/Documents/GitHub/dssp/packages/dkpi';
53
+ const { stdout, stderr } = await execAsync(`cd ${scriptDir} && npm run propagate-parent-kpi-values -- --orgs "${project.id}"`);
54
+ if (stdout)
55
+ console.log(stdout);
56
+ if (stderr)
57
+ console.error(stderr);
58
+ console.log('\n✅ Recalculation completed!');
59
+ }
60
+ catch (error) {
61
+ console.error('❌ Error:', error.message);
62
+ process.exit(1);
63
+ }
64
+ finally {
65
+ if (connection && connection.isConnected) {
66
+ await connection.close();
67
+ }
68
+ }
69
+ }
70
+ // Run
71
+ main();
72
+ //# sourceMappingURL=recalculate-by-project-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recalculate-by-project-name.js","sourceRoot":"","sources":["../../server/scripts/recalculate-by-project-name.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env ts-node\n\nimport { createConnection } from 'typeorm'\nimport { exec } from 'child_process'\nimport { promisify } from 'util'\n\nconst execAsync = promisify(exec)\n\n/**\n * Find project by name and run recalculation script\n */\nasync function main() {\n const projectName = process.argv[2]\n\n if (!projectName) {\n console.error('Usage: ts-node recalculate-by-project-name.ts <project-name>')\n console.error('Example: ts-node recalculate-by-project-name.ts \"건산연테스트II\"')\n process.exit(1)\n }\n\n // Set NODE_ENV if not set\n if (!process.env.NODE_ENV) {\n process.env.NODE_ENV = 'development'\n }\n\n // Initialize Things-Factory environment\n const { config } = require('@things-factory/env')\n const ormconfig = require('@things-factory/shell/dist-server/initializers/ormconfig.js')\n const connectionConfig = config.get('ormconfig')\n\n let connection\n\n try {\n console.log(`🔍 Searching for project: \"${projectName}\"`)\n console.log('🔌 Connecting to database...')\n\n connection = await createConnection({\n ...ormconfig,\n ...connectionConfig,\n logging: false\n })\n\n const { addDataSource } = require('@things-factory/shell')\n addDataSource('default', connection)\n\n const { getRepository } = require('@things-factory/shell')\n const { Project } = require('@dssp/project')\n\n const projectRepo = getRepository(Project)\n const project = await projectRepo.findOne({\n where: { name: projectName }\n })\n\n if (!project) {\n console.error(`❌ Project not found: \"${projectName}\"`)\n process.exit(1)\n }\n\n console.log(`✅ Found project: ${project.name}`)\n console.log(` ID: ${project.id}`)\n console.log(` Start Date: ${project.startDate}`)\n console.log(` End Date: ${project.endDate || 'N/A'}`)\n\n await connection.close()\n console.log('🔌 Database connection closed')\n\n console.log('\\n🚀 Starting KPI recalculation...')\n console.log(` Running: npm run propagate-parent-kpi-values -- --orgs \"${project.id}\"\\n`)\n\n // Execute recalculation script\n const scriptDir = '/Users/super/Documents/GitHub/dssp/packages/dkpi'\n const { stdout, stderr } = await execAsync(\n `cd ${scriptDir} && npm run propagate-parent-kpi-values -- --orgs \"${project.id}\"`\n )\n\n if (stdout) console.log(stdout)\n if (stderr) console.error(stderr)\n\n console.log('\\n✅ Recalculation completed!')\n\n } catch (error) {\n console.error('❌ Error:', error.message)\n process.exit(1)\n } finally {\n if (connection && connection.isConnected) {\n await connection.close()\n }\n }\n}\n\n// Run\nmain()\n"]}