@newpeak/barista-cli 0.1.28 → 0.1.30
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.
- package/dist/commands/liberica/bom/copy.d.ts +3 -0
- package/dist/commands/liberica/bom/copy.d.ts.map +1 -0
- package/dist/commands/liberica/bom/copy.js +121 -0
- package/dist/commands/liberica/bom/copy.js.map +1 -0
- package/dist/commands/liberica/bom/create.d.ts +3 -0
- package/dist/commands/liberica/bom/create.d.ts.map +1 -0
- package/dist/commands/liberica/bom/create.js +242 -0
- package/dist/commands/liberica/bom/create.js.map +1 -0
- package/dist/commands/liberica/bom/delete.d.ts +3 -0
- package/dist/commands/liberica/bom/delete.d.ts.map +1 -0
- package/dist/commands/liberica/bom/delete.js +114 -0
- package/dist/commands/liberica/bom/delete.js.map +1 -0
- package/dist/commands/liberica/bom/disable.d.ts +3 -0
- package/dist/commands/liberica/bom/disable.d.ts.map +1 -0
- package/dist/commands/liberica/bom/disable.js +141 -0
- package/dist/commands/liberica/bom/disable.js.map +1 -0
- package/dist/commands/liberica/bom/enable.d.ts +3 -0
- package/dist/commands/liberica/bom/enable.d.ts.map +1 -0
- package/dist/commands/liberica/bom/enable.js +141 -0
- package/dist/commands/liberica/bom/enable.js.map +1 -0
- package/dist/commands/liberica/bom/get.d.ts +3 -0
- package/dist/commands/liberica/bom/get.d.ts.map +1 -0
- package/dist/commands/liberica/bom/get.js +79 -0
- package/dist/commands/liberica/bom/get.js.map +1 -0
- package/dist/commands/liberica/bom/history.d.ts +3 -0
- package/dist/commands/liberica/bom/history.d.ts.map +1 -0
- package/dist/commands/liberica/bom/history.js +101 -0
- package/dist/commands/liberica/bom/history.js.map +1 -0
- package/dist/commands/liberica/bom/index.d.ts +3 -0
- package/dist/commands/liberica/bom/index.d.ts.map +1 -0
- package/dist/commands/liberica/bom/index.js +29 -0
- package/dist/commands/liberica/bom/index.js.map +1 -0
- package/dist/commands/liberica/bom/list.d.ts +3 -0
- package/dist/commands/liberica/bom/list.d.ts.map +1 -0
- package/dist/commands/liberica/bom/list.js +104 -0
- package/dist/commands/liberica/bom/list.js.map +1 -0
- package/dist/commands/liberica/bom/review.d.ts +3 -0
- package/dist/commands/liberica/bom/review.d.ts.map +1 -0
- package/dist/commands/liberica/bom/review.js +141 -0
- package/dist/commands/liberica/bom/review.js.map +1 -0
- package/dist/commands/liberica/bom/unReview.d.ts +3 -0
- package/dist/commands/liberica/bom/unReview.d.ts.map +1 -0
- package/dist/commands/liberica/bom/unReview.js +141 -0
- package/dist/commands/liberica/bom/unReview.js.map +1 -0
- package/dist/commands/liberica/bom/update.d.ts +3 -0
- package/dist/commands/liberica/bom/update.d.ts.map +1 -0
- package/dist/commands/liberica/bom/update.js +171 -0
- package/dist/commands/liberica/bom/update.js.map +1 -0
- package/dist/commands/liberica/index.d.ts.map +1 -1
- package/dist/commands/liberica/index.js +6 -0
- package/dist/commands/liberica/index.js.map +1 -1
- package/dist/commands/liberica/materials/create.d.ts.map +1 -1
- package/dist/commands/liberica/materials/create.js +53 -0
- package/dist/commands/liberica/materials/create.js.map +1 -1
- package/dist/commands/liberica/materials/update.d.ts.map +1 -1
- package/dist/commands/liberica/materials/update.js +34 -0
- package/dist/commands/liberica/materials/update.js.map +1 -1
- package/dist/commands/liberica/routing/compute.d.ts +3 -0
- package/dist/commands/liberica/routing/compute.d.ts.map +1 -0
- package/dist/commands/liberica/routing/compute.js +117 -0
- package/dist/commands/liberica/routing/compute.js.map +1 -0
- package/dist/commands/liberica/routing/copy.d.ts +3 -0
- package/dist/commands/liberica/routing/copy.d.ts.map +1 -0
- package/dist/commands/liberica/routing/copy.js +130 -0
- package/dist/commands/liberica/routing/copy.js.map +1 -0
- package/dist/commands/liberica/routing/create.d.ts +3 -0
- package/dist/commands/liberica/routing/create.d.ts.map +1 -0
- package/dist/commands/liberica/routing/create.js +116 -0
- package/dist/commands/liberica/routing/create.js.map +1 -0
- package/dist/commands/liberica/routing/delete.d.ts +3 -0
- package/dist/commands/liberica/routing/delete.d.ts.map +1 -0
- package/dist/commands/liberica/routing/delete.js +129 -0
- package/dist/commands/liberica/routing/delete.js.map +1 -0
- package/dist/commands/liberica/routing/disable.d.ts +3 -0
- package/dist/commands/liberica/routing/disable.d.ts.map +1 -0
- package/dist/commands/liberica/routing/disable.js +101 -0
- package/dist/commands/liberica/routing/disable.js.map +1 -0
- package/dist/commands/liberica/routing/enable.d.ts +3 -0
- package/dist/commands/liberica/routing/enable.d.ts.map +1 -0
- package/dist/commands/liberica/routing/enable.js +93 -0
- package/dist/commands/liberica/routing/enable.js.map +1 -0
- package/dist/commands/liberica/routing/get.d.ts +3 -0
- package/dist/commands/liberica/routing/get.d.ts.map +1 -0
- package/dist/commands/liberica/routing/get.js +119 -0
- package/dist/commands/liberica/routing/get.js.map +1 -0
- package/dist/commands/liberica/routing/history.d.ts +3 -0
- package/dist/commands/liberica/routing/history.d.ts.map +1 -0
- package/dist/commands/liberica/routing/history.js +90 -0
- package/dist/commands/liberica/routing/history.js.map +1 -0
- package/dist/commands/liberica/routing/index.d.ts +3 -0
- package/dist/commands/liberica/routing/index.d.ts.map +1 -0
- package/dist/commands/liberica/routing/index.js +31 -0
- package/dist/commands/liberica/routing/index.js.map +1 -0
- package/dist/commands/liberica/routing/list.d.ts +3 -0
- package/dist/commands/liberica/routing/list.d.ts.map +1 -0
- package/dist/commands/liberica/routing/list.js +119 -0
- package/dist/commands/liberica/routing/list.js.map +1 -0
- package/dist/commands/liberica/routing/review.d.ts +3 -0
- package/dist/commands/liberica/routing/review.d.ts.map +1 -0
- package/dist/commands/liberica/routing/review.js +101 -0
- package/dist/commands/liberica/routing/review.js.map +1 -0
- package/dist/commands/liberica/routing/unReview.d.ts +3 -0
- package/dist/commands/liberica/routing/unReview.d.ts.map +1 -0
- package/dist/commands/liberica/routing/unReview.js +101 -0
- package/dist/commands/liberica/routing/unReview.js.map +1 -0
- package/dist/commands/liberica/routing/update.d.ts +3 -0
- package/dist/commands/liberica/routing/update.d.ts.map +1 -0
- package/dist/commands/liberica/routing/update.js +137 -0
- package/dist/commands/liberica/routing/update.js.map +1 -0
- package/dist/core/api/client.d.ts +27 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +485 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/types/bom.d.ts +91 -0
- package/dist/types/bom.d.ts.map +1 -0
- package/dist/types/bom.js +2 -0
- package/dist/types/bom.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/routing.d.ts +69 -0
- package/dist/types/routing.d.ts.map +1 -0
- package/dist/types/routing.js +2 -0
- package/dist/types/routing.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
4
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
5
|
+
export function createRoutingCreateCommand() {
|
|
6
|
+
const cmd = new Command('create');
|
|
7
|
+
cmd.description('Create a new routing');
|
|
8
|
+
cmd
|
|
9
|
+
.option('--name <name>', 'Routing name (required)')
|
|
10
|
+
.option('--routing-code <code>', 'Routing code')
|
|
11
|
+
.option('--routing-version <version>', 'Routing version')
|
|
12
|
+
.option('--material-code <code>', 'Material code')
|
|
13
|
+
.option('--time-unit <unit>', 'Time unit')
|
|
14
|
+
.option('--drawing-file-id <id>', 'Drawing file ID')
|
|
15
|
+
.option('--remark <text>', 'Remarks')
|
|
16
|
+
.option('--dry-run', 'Preview without making API call')
|
|
17
|
+
.option('--json', 'Output as JSON');
|
|
18
|
+
cmd.action(async (options) => {
|
|
19
|
+
const context = configManager.getCurrentContext();
|
|
20
|
+
const name = options.name;
|
|
21
|
+
const routingCode = options.routingCode;
|
|
22
|
+
const routingVersion = options.routingVersion;
|
|
23
|
+
const materialCode = options.materialCode;
|
|
24
|
+
const timeUnit = options.timeUnit;
|
|
25
|
+
const drawingFileId = options.drawingFileId ? parseInt(options.drawingFileId, 10) : undefined;
|
|
26
|
+
const remark = options.remark;
|
|
27
|
+
const dryRun = options.dryRun === true;
|
|
28
|
+
const outputJson = options.json === true;
|
|
29
|
+
if (!name) {
|
|
30
|
+
if (dryRun || outputJson) {
|
|
31
|
+
console.log(JSON.stringify({
|
|
32
|
+
success: false,
|
|
33
|
+
error: { code: 'MISSING_ARGS', message: '--name is required' },
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.error(chalk.red('\n✗ --name is required\n'));
|
|
38
|
+
}
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
const data = { routingName: name };
|
|
42
|
+
if (routingCode)
|
|
43
|
+
data.routingCode = routingCode;
|
|
44
|
+
if (routingVersion)
|
|
45
|
+
data.routingVersion = routingVersion;
|
|
46
|
+
if (materialCode)
|
|
47
|
+
data.materialCode = materialCode;
|
|
48
|
+
if (timeUnit)
|
|
49
|
+
data.timeUnit = timeUnit;
|
|
50
|
+
if (drawingFileId !== undefined && !isNaN(drawingFileId))
|
|
51
|
+
data.drawingFileId = drawingFileId;
|
|
52
|
+
if (remark)
|
|
53
|
+
data.remark = remark;
|
|
54
|
+
if (dryRun) {
|
|
55
|
+
if (outputJson) {
|
|
56
|
+
console.log(JSON.stringify({ success: true, dryRun: true, data }));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.log(chalk.bold('\n🔍 Dry-Run Mode: No changes will be made\n'));
|
|
60
|
+
console.log(chalk.gray(' Routing to be created:'));
|
|
61
|
+
console.log(` ${chalk.gray('Name:')} ${data.routingName}`);
|
|
62
|
+
if (data.routingCode)
|
|
63
|
+
console.log(` ${chalk.gray('Code:')} ${data.routingCode}`);
|
|
64
|
+
if (data.routingVersion)
|
|
65
|
+
console.log(` ${chalk.gray('Version:')} ${data.routingVersion}`);
|
|
66
|
+
if (data.materialCode)
|
|
67
|
+
console.log(` ${chalk.gray('Material Code:')} ${data.materialCode}`);
|
|
68
|
+
if (data.timeUnit)
|
|
69
|
+
console.log(` ${chalk.gray('Time Unit:')} ${data.timeUnit}`);
|
|
70
|
+
if (data.drawingFileId)
|
|
71
|
+
console.log(` ${chalk.gray('Drawing File ID:')} ${data.drawingFileId}`);
|
|
72
|
+
if (data.remark)
|
|
73
|
+
console.log(` ${chalk.gray('Remark:')} ${data.remark}`);
|
|
74
|
+
console.log();
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (!outputJson) {
|
|
79
|
+
console.log(chalk.bold('\n📝 Creating Routing\n'));
|
|
80
|
+
}
|
|
81
|
+
const response = await apiClient.createRouting(context.environment, context.tenant, data);
|
|
82
|
+
if (!response.success) {
|
|
83
|
+
const errorMsg = response.error?.message || 'Failed to create routing';
|
|
84
|
+
const errorCode = response.error?.code || 'CREATE_ERROR';
|
|
85
|
+
if (outputJson) {
|
|
86
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.error(chalk.red(`\n✗ Failed to create routing: ${errorMsg}`));
|
|
90
|
+
if (response.error?.code) {
|
|
91
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
92
|
+
}
|
|
93
|
+
console.error();
|
|
94
|
+
}
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
const routing = response.data;
|
|
98
|
+
if (outputJson) {
|
|
99
|
+
console.log(JSON.stringify({ success: true, data: routing }));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
console.log(chalk.green('✓ Routing created successfully\n'));
|
|
103
|
+
if (routing?.routingId)
|
|
104
|
+
console.log(` ${chalk.gray('Routing ID:')} ${chalk.green(String(routing.routingId))}`);
|
|
105
|
+
if (routing?.routingName)
|
|
106
|
+
console.log(` ${chalk.gray('Name:')} ${routing.routingName}`);
|
|
107
|
+
if (routing?.routingCode)
|
|
108
|
+
console.log(` ${chalk.gray('Code:')} ${routing.routingCode}`);
|
|
109
|
+
if (routing?.routingVersion)
|
|
110
|
+
console.log(` ${chalk.gray('Version:')} ${routing.routingVersion}`);
|
|
111
|
+
console.log();
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return cmd;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,0BAA0B,IAAI,OAAO,CAyIpD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
4
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
5
|
+
export function createRoutingDeleteCommand() {
|
|
6
|
+
const cmd = new Command('delete');
|
|
7
|
+
cmd.description('Delete a routing');
|
|
8
|
+
cmd
|
|
9
|
+
.option('-i, --routing-id <id>', 'Routing ID (required)')
|
|
10
|
+
.option('--force', 'Skip confirmation and delete directly')
|
|
11
|
+
.option('--dry-run', 'Preview without making API call')
|
|
12
|
+
.option('--json', 'Output as JSON')
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
const context = configManager.getCurrentContext();
|
|
15
|
+
const environment = context.environment;
|
|
16
|
+
const tenant = context.tenant;
|
|
17
|
+
const routingId = options.routingId;
|
|
18
|
+
if (!routingId || routingId.trim() === '') {
|
|
19
|
+
console.error(chalk.red('\n✗ Routing ID is required (use -i/--routing-id)\n'));
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
const jsonOutput = options.json === true || process.argv.includes('--json');
|
|
23
|
+
if (!jsonOutput) {
|
|
24
|
+
console.log(chalk.bold(`\n🗑️ Delete Routing (${environment})\n`));
|
|
25
|
+
console.log(chalk.gray(` Routing ID: ${routingId}`));
|
|
26
|
+
}
|
|
27
|
+
let routing;
|
|
28
|
+
try {
|
|
29
|
+
const routingResponse = await apiClient.getRouting(environment, tenant, routingId);
|
|
30
|
+
if (!routingResponse.success || !routingResponse.data) {
|
|
31
|
+
const errMsg = `Routing not found: ${routingId}`;
|
|
32
|
+
if (jsonOutput) {
|
|
33
|
+
console.log(JSON.stringify({ success: false, error: { code: 'NOT_FOUND', message: errMsg } }));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
37
|
+
}
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
routing = routingResponse.data;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
44
|
+
if (jsonOutput) {
|
|
45
|
+
console.log(JSON.stringify({
|
|
46
|
+
success: false,
|
|
47
|
+
error: { code: 'FETCH_ERROR', message: `Failed to fetch routing: ${errMsg}` },
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.error(chalk.red(`\n✗ Failed to fetch routing: ${errMsg}\n`));
|
|
52
|
+
}
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
if (!jsonOutput) {
|
|
56
|
+
console.log(chalk.gray(` Name: ${routing.routingName}`));
|
|
57
|
+
if (routing.routingCode) {
|
|
58
|
+
console.log(chalk.gray(` Code: ${routing.routingCode}`));
|
|
59
|
+
}
|
|
60
|
+
if (routing.routingVersion) {
|
|
61
|
+
console.log(chalk.gray(` Version: ${routing.routingVersion}`));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (options.dryRun) {
|
|
65
|
+
if (jsonOutput) {
|
|
66
|
+
console.log(JSON.stringify({ success: true, dryRun: true, routing }));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.log(chalk.cyan('\n🔍 Dry-Run Mode: No actual deletion will be made\n'));
|
|
70
|
+
}
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (!options.force) {
|
|
74
|
+
if (jsonOutput) {
|
|
75
|
+
console.log(JSON.stringify({ success: true, dryRun: true, routing }));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.log(chalk.yellow('\n To delete, add: --force\n'));
|
|
79
|
+
}
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const deleteData = {
|
|
84
|
+
routingName: routing.routingName,
|
|
85
|
+
routingId: parseInt(routingId, 10),
|
|
86
|
+
};
|
|
87
|
+
const response = await apiClient.deleteRouting(environment, tenant, deleteData);
|
|
88
|
+
if (response.success) {
|
|
89
|
+
if (jsonOutput) {
|
|
90
|
+
console.log(JSON.stringify({
|
|
91
|
+
success: true,
|
|
92
|
+
routingId,
|
|
93
|
+
name: routing.routingName,
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
console.log(chalk.green(`\n✓ Routing "${routing.routingName}" (ID: ${routingId}) deleted\n`));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const errorMsg = response.error?.message || 'Unknown error';
|
|
102
|
+
const errorCode = response.error?.code || 'DELETE_ERROR';
|
|
103
|
+
if (jsonOutput) {
|
|
104
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
console.error(chalk.red(`\n✗ Failed to delete routing: ${errorMsg}`));
|
|
108
|
+
if (response.error?.code) {
|
|
109
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
110
|
+
}
|
|
111
|
+
console.error();
|
|
112
|
+
}
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
118
|
+
if (jsonOutput) {
|
|
119
|
+
console.log(JSON.stringify({ success: false, error: { code: 'ERROR', message: errMsg } }));
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
console.error(chalk.red(`\n✗ Error: ${errMsg}\n`));
|
|
123
|
+
}
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return cmd;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/disable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,2BAA2B,IAAI,OAAO,CAwGrD"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
4
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
5
|
+
export function createRoutingDisableCommand() {
|
|
6
|
+
const cmd = new Command('disable');
|
|
7
|
+
cmd.description('Batch disable routings');
|
|
8
|
+
cmd
|
|
9
|
+
.option('--ids <ids>', 'Comma-separated routing IDs (required)')
|
|
10
|
+
.option('--dry-run', 'Preview without executing')
|
|
11
|
+
.option('--force', 'Skip confirmation')
|
|
12
|
+
.option('--json', 'Output as JSON')
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
const context = configManager.getCurrentContext();
|
|
15
|
+
const environment = context.environment;
|
|
16
|
+
const tenant = context.tenant;
|
|
17
|
+
const jsonOutput = options.json === true || process.argv.includes('--json');
|
|
18
|
+
const dryRun = options.dryRun === true;
|
|
19
|
+
const idsRaw = options.ids;
|
|
20
|
+
if (!idsRaw || idsRaw.trim() === '') {
|
|
21
|
+
const errMsg = 'Routing IDs are required (use --ids)';
|
|
22
|
+
if (jsonOutput) {
|
|
23
|
+
console.log(JSON.stringify({ success: false, error: { code: 'MISSING_IDS', message: errMsg } }));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
27
|
+
}
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const ids = idsRaw
|
|
31
|
+
.split(',')
|
|
32
|
+
.map((id) => parseInt(id.trim(), 10))
|
|
33
|
+
.filter((id) => !isNaN(id));
|
|
34
|
+
if (ids.length === 0) {
|
|
35
|
+
const errMsg = 'No valid routing IDs provided';
|
|
36
|
+
if (jsonOutput) {
|
|
37
|
+
console.log(JSON.stringify({ success: false, error: { code: 'INVALID_IDS', message: errMsg } }));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
41
|
+
}
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
if (dryRun) {
|
|
45
|
+
if (jsonOutput) {
|
|
46
|
+
console.log(JSON.stringify({ success: true, dryRun: true, routingIds: ids }));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.log(chalk.yellow('\n🔍 Dry-Run Mode: The following routings will be disabled\n'));
|
|
50
|
+
for (const id of ids) {
|
|
51
|
+
console.log(chalk.gray(` - Routing ${id}`));
|
|
52
|
+
}
|
|
53
|
+
console.log(chalk.yellow('\n⚠️ Add --force to execute\n'));
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (!jsonOutput) {
|
|
58
|
+
console.log(chalk.bold(`\n↓ Disable Routings (${environment})\n`));
|
|
59
|
+
console.log(chalk.gray(` Routing IDs: ${ids.join(', ')}\n`));
|
|
60
|
+
}
|
|
61
|
+
const req = { routingIdList: ids };
|
|
62
|
+
try {
|
|
63
|
+
const response = await apiClient.batchDeActiveRouting(environment, tenant, req);
|
|
64
|
+
if (response.success) {
|
|
65
|
+
if (jsonOutput) {
|
|
66
|
+
console.log(JSON.stringify({ success: true, routingIds: ids }));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.log(chalk.green(`\n✓ ${ids.length} routing(s) disabled\n`));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const errorMsg = response.error?.message || 'Unknown error';
|
|
74
|
+
const errorCode = response.error?.code || 'DISABLE_ERROR';
|
|
75
|
+
if (jsonOutput) {
|
|
76
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.error(chalk.red(`\n✗ Failed to disable routings: ${errorMsg}`));
|
|
80
|
+
if (response.error?.code) {
|
|
81
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
82
|
+
}
|
|
83
|
+
console.error();
|
|
84
|
+
}
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
90
|
+
if (jsonOutput) {
|
|
91
|
+
console.log(JSON.stringify({ success: false, error: { code: 'ERROR', message: errMsg } }));
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.error(chalk.red(`\n✗ Error: ${errMsg}\n`));
|
|
95
|
+
}
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return cmd;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=disable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/disable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/enable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,0BAA0B,IAAI,OAAO,CAqFpD"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
4
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
5
|
+
export function createRoutingEnableCommand() {
|
|
6
|
+
const cmd = new Command('enable');
|
|
7
|
+
cmd.description('Batch enable routings');
|
|
8
|
+
cmd
|
|
9
|
+
.option('--ids <ids>', 'Comma-separated routing IDs (required)')
|
|
10
|
+
.option('--dry-run', 'Preview without executing')
|
|
11
|
+
.option('--force', 'Skip confirmation')
|
|
12
|
+
.option('--json', 'Output as JSON')
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
const context = configManager.getCurrentContext();
|
|
15
|
+
const environment = context.environment;
|
|
16
|
+
const tenant = context.tenant;
|
|
17
|
+
const jsonOutput = options.json === true || process.argv.includes('--json');
|
|
18
|
+
const dryRun = options.dryRun === true;
|
|
19
|
+
const idsRaw = options.ids;
|
|
20
|
+
if (!idsRaw || idsRaw.trim() === '') {
|
|
21
|
+
const errMsg = 'Routing IDs are required (use --ids)';
|
|
22
|
+
if (jsonOutput) {
|
|
23
|
+
console.log(JSON.stringify({ success: false, error: { code: 'MISSING_IDS', message: errMsg } }));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
27
|
+
}
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const ids = idsRaw.split(',').map((id) => parseInt(id.trim(), 10)).filter((id) => !isNaN(id));
|
|
31
|
+
if (ids.length === 0) {
|
|
32
|
+
const errMsg = 'No valid routing IDs provided';
|
|
33
|
+
if (jsonOutput) {
|
|
34
|
+
console.log(JSON.stringify({ success: false, error: { code: 'INVALID_IDS', message: errMsg } }));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
38
|
+
}
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
if (dryRun) {
|
|
42
|
+
if (jsonOutput) {
|
|
43
|
+
console.log(JSON.stringify({ success: true, dryRun: true, routingIds: ids }));
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log(chalk.yellow('\n🔍 Dry-Run Mode: The following routings will be enabled\n'));
|
|
47
|
+
for (const id of ids) {
|
|
48
|
+
console.log(chalk.gray(` - Routing ${id}`));
|
|
49
|
+
}
|
|
50
|
+
console.log(chalk.yellow('\n⚠️ Add --force to execute\n'));
|
|
51
|
+
}
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const req = { routingIdList: ids };
|
|
55
|
+
try {
|
|
56
|
+
const response = await apiClient.batchActiveRouting(environment, tenant, req);
|
|
57
|
+
if (response.success) {
|
|
58
|
+
if (jsonOutput) {
|
|
59
|
+
console.log(JSON.stringify({ success: true, routingIds: ids }));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
console.log(chalk.green(`\n✓ ${ids.length} routing(s) enabled\n`));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const errorMsg = response.error?.message || 'Unknown error';
|
|
67
|
+
if (jsonOutput) {
|
|
68
|
+
console.log(JSON.stringify({ success: false, error: { code: response.error?.code || 'ENABLE_ERROR', message: errorMsg } }));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.error(chalk.red(`\n✗ Failed to enable routings: ${errorMsg}`));
|
|
72
|
+
if (response.error?.code) {
|
|
73
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
74
|
+
}
|
|
75
|
+
console.error();
|
|
76
|
+
}
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
82
|
+
if (jsonOutput) {
|
|
83
|
+
console.log(JSON.stringify({ success: false, error: { code: 'ERROR', message: errMsg } }));
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
console.error(chalk.red(`\n✗ Error: ${errMsg}\n`));
|
|
87
|
+
}
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return cmd;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=enable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/enable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/routing/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,IAAI,OAAO,CAsIjD"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
4
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
5
|
+
export function createRoutingGetCommand() {
|
|
6
|
+
const cmd = new Command('get');
|
|
7
|
+
cmd.description('Get routing details by ID');
|
|
8
|
+
cmd
|
|
9
|
+
.arguments('<routingId>')
|
|
10
|
+
.option('--json', 'Output as JSON')
|
|
11
|
+
.action(async (routingId, options) => {
|
|
12
|
+
const context = configManager.getCurrentContext();
|
|
13
|
+
const environment = options.env || context.environment;
|
|
14
|
+
const tenant = options.tenant || context.tenant;
|
|
15
|
+
if (!routingId || routingId.trim() === '') {
|
|
16
|
+
console.error(chalk.red('\n✗ Routing ID is required (usage: routing get <routingId>)\n'));
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
const response = await apiClient.getRouting(environment, tenant, routingId);
|
|
21
|
+
if (!response.success) {
|
|
22
|
+
const errorCode = response.error?.code || 'UNKNOWN_ERROR';
|
|
23
|
+
const errorMessage = response.error?.message || 'Unknown error';
|
|
24
|
+
if (errorMessage.includes('不存在') || errorMessage.includes('not found')) {
|
|
25
|
+
console.error(chalk.red(`\n✗ Routing not found: ${routingId}\n`));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.error(chalk.red(`\n✗ Error: ${errorMessage} (${errorCode})\n`));
|
|
29
|
+
}
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const routing = response.data;
|
|
33
|
+
const outputJson = options.json === true || process.argv.includes('--json');
|
|
34
|
+
if (!routing) {
|
|
35
|
+
if (outputJson) {
|
|
36
|
+
console.log(JSON.stringify({ success: false, error: { code: 'NOT_FOUND', message: `Routing not found: ${routingId}` } }));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.error(chalk.red('\n✗ Routing not found\n'));
|
|
40
|
+
}
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
if (outputJson) {
|
|
44
|
+
console.log(JSON.stringify({ success: true, data: routing }, null, 2));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Table output
|
|
48
|
+
console.log(chalk.bold('\n🛣️ Routing Details\n'));
|
|
49
|
+
console.log(` ${chalk.gray('ID:')} ${routing.routingId || '-'}`);
|
|
50
|
+
console.log(` ${chalk.gray('Code:')} ${routing.routingCode || '-'}`);
|
|
51
|
+
console.log(` ${chalk.gray('Name:')} ${routing.routingName || '-'}`);
|
|
52
|
+
if (routing.routingVersion) {
|
|
53
|
+
console.log(` ${chalk.gray('Version:')} ${routing.routingVersion}`);
|
|
54
|
+
}
|
|
55
|
+
if (routing.materialCode) {
|
|
56
|
+
console.log(` ${chalk.gray('Material Code:')} ${routing.materialCode}`);
|
|
57
|
+
}
|
|
58
|
+
if (routing.timeUnit) {
|
|
59
|
+
console.log(` ${chalk.gray('Time Unit:')} ${routing.timeUnit}`);
|
|
60
|
+
}
|
|
61
|
+
if (routing.statusFlag !== undefined) {
|
|
62
|
+
const statusText = routing.statusFlag === 1 ? chalk.green('Enable') : chalk.red('Disable');
|
|
63
|
+
console.log(` ${chalk.gray('Status:')} ${statusText}`);
|
|
64
|
+
}
|
|
65
|
+
if (routing.reviewFlag) {
|
|
66
|
+
console.log(` ${chalk.gray('Review Flag:')} ${routing.reviewFlag}`);
|
|
67
|
+
}
|
|
68
|
+
if (routing.reviewerName) {
|
|
69
|
+
console.log(` ${chalk.gray('Reviewer:')} ${routing.reviewerName}`);
|
|
70
|
+
}
|
|
71
|
+
if (routing.reviewTime) {
|
|
72
|
+
console.log(` ${chalk.gray('Review Time:')} ${routing.reviewTime}`);
|
|
73
|
+
}
|
|
74
|
+
if (routing.remark) {
|
|
75
|
+
console.log(` ${chalk.gray('Remark:')} ${routing.remark}`);
|
|
76
|
+
}
|
|
77
|
+
if (routing.creator) {
|
|
78
|
+
console.log(` ${chalk.gray('Creator:')} ${routing.creator}`);
|
|
79
|
+
}
|
|
80
|
+
// Routing sequences if present
|
|
81
|
+
const sequences = routing.routingSequences || routing.items;
|
|
82
|
+
if (sequences && sequences.length > 0) {
|
|
83
|
+
console.log(chalk.bold(`\n ${chalk.gray('Sequences:')} (${sequences.length})\n`));
|
|
84
|
+
const Table = (await import('cli-table3')).default;
|
|
85
|
+
const seqTable = new Table({
|
|
86
|
+
head: [
|
|
87
|
+
chalk.bold('#'),
|
|
88
|
+
chalk.bold('Op Code'),
|
|
89
|
+
chalk.bold('Op Name'),
|
|
90
|
+
chalk.bold('Equipment'),
|
|
91
|
+
chalk.bold('Capacity'),
|
|
92
|
+
chalk.bold('Sort'),
|
|
93
|
+
],
|
|
94
|
+
colWidths: [6, 14, 24, 14, 12, 8],
|
|
95
|
+
style: { head: [], border: [] },
|
|
96
|
+
});
|
|
97
|
+
const sorted = [...sequences].sort((a, b) => (a.sequenceSort ?? 0) - (b.sequenceSort ?? 0));
|
|
98
|
+
for (const seq of sorted) {
|
|
99
|
+
seqTable.push([
|
|
100
|
+
seq.routingSequenceId || '-',
|
|
101
|
+
seq.operationCode || '-',
|
|
102
|
+
seq.workContent || '-',
|
|
103
|
+
seq.equipmentType || '-',
|
|
104
|
+
seq.productionCapacity ?? '-',
|
|
105
|
+
seq.sequenceSort ?? '-',
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
console.log(' ' + seqTable.toString().replace(/\n/g, '\n '));
|
|
109
|
+
}
|
|
110
|
+
console.log();
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
console.error(chalk.red(`\n✗ Unexpected error: ${error instanceof Error ? error.message : 'Unknown error'}\n`));
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
return cmd;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=get.js.map
|