@newpeak/barista-cli 0.1.28 → 0.1.29
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,104 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import Table from 'cli-table3';
|
|
4
|
+
import { configManager } from '../../../core/config/manager.js';
|
|
5
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
6
|
+
export function createBomListCommand() {
|
|
7
|
+
const cmd = new Command('list');
|
|
8
|
+
cmd.description('List BOMs with pagination');
|
|
9
|
+
cmd
|
|
10
|
+
.option('-p, --page <number>', 'Page number', '1')
|
|
11
|
+
.option('-s, --size <number>', 'Page size', '20')
|
|
12
|
+
.option('--bom-code <string>', 'Filter by BOM code')
|
|
13
|
+
.option('--material-code <string>', 'Filter by material code')
|
|
14
|
+
.option('--material-name <string>', 'Filter by material name')
|
|
15
|
+
.option('--status <number>', 'Filter by status (1=Enabled, 2=Disabled)')
|
|
16
|
+
.option('--keyword <string>', 'Keyword search')
|
|
17
|
+
.option('--json', 'Output as JSON')
|
|
18
|
+
.action(async (options) => {
|
|
19
|
+
const outputJson = options.json === true || process.argv.includes('--json');
|
|
20
|
+
const context = configManager.getCurrentContext();
|
|
21
|
+
const environment = options.env || context.environment;
|
|
22
|
+
const tenant = options.tenant || context.tenant;
|
|
23
|
+
const page = parseInt(options.page, 10) - 1;
|
|
24
|
+
const size = parseInt(options.size, 10);
|
|
25
|
+
const params = { pageNo: page, pageSize: size };
|
|
26
|
+
if (options.bomCode)
|
|
27
|
+
params.bomCode = options.bomCode;
|
|
28
|
+
if (options.materialCode)
|
|
29
|
+
params.materialCode = options.materialCode;
|
|
30
|
+
if (options.materialName)
|
|
31
|
+
params.materialName = options.materialName;
|
|
32
|
+
if (options.status !== undefined)
|
|
33
|
+
params.statusFlag = parseInt(options.status, 10);
|
|
34
|
+
if (options.keyword)
|
|
35
|
+
params.keyword = options.keyword;
|
|
36
|
+
const response = await apiClient.listBoms(environment, tenant, params);
|
|
37
|
+
if (!response.success) {
|
|
38
|
+
console.error(chalk.red(`\n✗ Failed to list BOMs: ${response.error?.message || 'Unknown error'}`));
|
|
39
|
+
if (response.error?.code) {
|
|
40
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
41
|
+
}
|
|
42
|
+
console.error();
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
const data = response.data;
|
|
46
|
+
if (!data || !data.rows || data.rows.length === 0) {
|
|
47
|
+
if (outputJson) {
|
|
48
|
+
console.log(JSON.stringify({
|
|
49
|
+
success: true,
|
|
50
|
+
data: {
|
|
51
|
+
items: [],
|
|
52
|
+
pagination: { pageNo: 0, pageSize: size, totalRows: 0 },
|
|
53
|
+
},
|
|
54
|
+
}, null, 2));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
console.log(chalk.yellow('\nNo BOMs found\n'));
|
|
58
|
+
}
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (outputJson) {
|
|
62
|
+
console.log(JSON.stringify({
|
|
63
|
+
success: true,
|
|
64
|
+
data: {
|
|
65
|
+
items: data.rows,
|
|
66
|
+
pagination: {
|
|
67
|
+
pageNo: data.pageNo,
|
|
68
|
+
pageSize: data.pageSize,
|
|
69
|
+
totalRows: data.totalRows,
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
}, null, 2));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
console.log(chalk.bold('\n📋 BOM List\n'));
|
|
76
|
+
const table = new Table({
|
|
77
|
+
head: [
|
|
78
|
+
chalk.bold('BOM Code'),
|
|
79
|
+
chalk.bold('Version'),
|
|
80
|
+
chalk.bold('Material Code'),
|
|
81
|
+
chalk.bold('Material Name'),
|
|
82
|
+
chalk.bold('UOM'),
|
|
83
|
+
chalk.bold('Status'),
|
|
84
|
+
],
|
|
85
|
+
colWidths: [20, 12, 18, 25, 10, 12],
|
|
86
|
+
});
|
|
87
|
+
for (const bom of data.rows) {
|
|
88
|
+
const statusText = bom.statusFlag === 1 ? chalk.green('ENABLED') : chalk.gray('DISABLED');
|
|
89
|
+
table.push([
|
|
90
|
+
bom.bomCode || '-',
|
|
91
|
+
bom.bomVersion || '-',
|
|
92
|
+
bom.materialCode || '-',
|
|
93
|
+
bom.materialName || '-',
|
|
94
|
+
bom.materialUomCode || '-',
|
|
95
|
+
statusText,
|
|
96
|
+
]);
|
|
97
|
+
}
|
|
98
|
+
console.log(table.toString());
|
|
99
|
+
console.log(chalk.gray(` Total: ${data.totalRows} | Page: ${data.pageNo + 1} / ${Math.ceil(data.totalRows / data.pageSize) || 1}`));
|
|
100
|
+
console.log();
|
|
101
|
+
});
|
|
102
|
+
return cmd;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,sBAAsB,IAAI,OAAO,CA2IhD"}
|
|
@@ -0,0 +1,141 @@
|
|
|
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 createBomReviewCommand() {
|
|
6
|
+
const cmd = new Command('review');
|
|
7
|
+
cmd
|
|
8
|
+
.description('Review (approve) BOM(s)')
|
|
9
|
+
.option('--ids <ids>', 'Comma-separated BOM IDs for batch operation')
|
|
10
|
+
.option('--force', 'Execute the operation (skip dry-run preview)')
|
|
11
|
+
.option('--dry-run', 'Preview without executing')
|
|
12
|
+
.option('--json', 'Output as JSON')
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
const context = configManager.getCurrentContext();
|
|
15
|
+
const environment = options.env || context.environment;
|
|
16
|
+
const tenant = options.tenant || context.tenant;
|
|
17
|
+
const force = options.force === true;
|
|
18
|
+
const dryRun = options.dryRun === true;
|
|
19
|
+
const outputJson = options.json === true || process.argv.includes('--json');
|
|
20
|
+
const ids = options.ids
|
|
21
|
+
? options.ids.split(',').map((id) => id.trim()).filter((id) => id !== '')
|
|
22
|
+
: [];
|
|
23
|
+
if (ids.length === 0) {
|
|
24
|
+
const errMsg = 'No BOM IDs provided. Use --ids with comma-separated IDs.';
|
|
25
|
+
if (outputJson) {
|
|
26
|
+
console.log(JSON.stringify({ success: false, error: { code: 'MISSING_IDS', message: errMsg } }));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
30
|
+
}
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
if (!outputJson) {
|
|
34
|
+
console.log(chalk.bold(`\n📝 Review BOM(s) (${environment})\n`));
|
|
35
|
+
console.log(chalk.gray(` BOM IDs: ${ids.join(', ')}`));
|
|
36
|
+
}
|
|
37
|
+
if (dryRun || !force) {
|
|
38
|
+
if (outputJson) {
|
|
39
|
+
console.log(JSON.stringify({
|
|
40
|
+
success: true,
|
|
41
|
+
dryRun: true,
|
|
42
|
+
bomIds: ids.map((id) => parseInt(id, 10)),
|
|
43
|
+
message: 'No actual API call will be made',
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
console.log(chalk.cyan('\n🔍 Dry-Run Mode: No actual API call will be made\n'));
|
|
48
|
+
console.log(chalk.gray(` This will review ${ids.length} BOM(s).`));
|
|
49
|
+
console.log(chalk.gray(' To execute, add --force flag.\n'));
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
// Fetch BOMs for confirmation display
|
|
54
|
+
const boms = [];
|
|
55
|
+
for (const id of ids) {
|
|
56
|
+
try {
|
|
57
|
+
const response = await apiClient.getBom(environment, tenant, id);
|
|
58
|
+
if (!response.success || !response.data) {
|
|
59
|
+
const errMsg = `BOM not found: ${id}`;
|
|
60
|
+
if (outputJson) {
|
|
61
|
+
console.log(JSON.stringify({ success: false, error: { code: 'NOT_FOUND', message: errMsg } }));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
65
|
+
}
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
boms.push(response.data);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
72
|
+
if (outputJson) {
|
|
73
|
+
console.log(JSON.stringify({ success: false, error: { code: 'FETCH_ERROR', message: `Failed to fetch BOM ${id}: ${errMsg}` } }));
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
console.error(chalk.red(`\n✗ Failed to fetch BOM ${id}: ${errMsg}\n`));
|
|
77
|
+
}
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const allAlreadyReviewed = boms.every((b) => b.reviewFlag === 'Y');
|
|
82
|
+
if (allAlreadyReviewed) {
|
|
83
|
+
const names = boms.map((b) => `"${b.bomCode || b.bomVersion}"`).join(', ');
|
|
84
|
+
const errMsg = `BOM(s) ${names} ${boms.length === 1 ? 'is' : 'are'} already reviewed`;
|
|
85
|
+
if (outputJson) {
|
|
86
|
+
console.log(JSON.stringify({ success: false, error: { code: 'ALREADY_REVIEWED', message: errMsg } }));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.error(chalk.yellow(`\n⚠ ${errMsg}\n`));
|
|
90
|
+
}
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
if (!outputJson) {
|
|
94
|
+
for (const [i, b] of boms.entries()) {
|
|
95
|
+
console.log(chalk.gray(` [${i + 1}] ${b.bomCode || b.bomVersion} — ${b.materialCode} ${b.materialName} (${b.reviewFlag === 'Y' ? 'Reviewed' : 'Unreviewed'})`));
|
|
96
|
+
}
|
|
97
|
+
console.log();
|
|
98
|
+
}
|
|
99
|
+
const idList = ids.map((id) => parseInt(id, 10));
|
|
100
|
+
const data = { bomIdList: idList };
|
|
101
|
+
try {
|
|
102
|
+
const response = await apiClient.batchReviewBom(environment, tenant, data);
|
|
103
|
+
if (response.success) {
|
|
104
|
+
if (outputJson) {
|
|
105
|
+
console.log(JSON.stringify({ success: true, bomIds: idList }));
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
const names = boms.map((b) => b.bomCode || b.bomVersion).join(', ');
|
|
109
|
+
console.log(chalk.green(`\n✓ BOM(s) ${names} reviewed\n`));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
const errorMsg = response.error?.message || 'Unknown error';
|
|
114
|
+
const errorCode = response.error?.code || 'REVIEW_ERROR';
|
|
115
|
+
if (outputJson) {
|
|
116
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
console.error(chalk.red(`\n✗ Failed to review BOM(s): ${errorMsg}`));
|
|
120
|
+
if (response.error?.code) {
|
|
121
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
122
|
+
}
|
|
123
|
+
console.error();
|
|
124
|
+
}
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
130
|
+
if (outputJson) {
|
|
131
|
+
console.log(JSON.stringify({ success: false, error: { code: 'ERROR', message: errMsg } }));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
console.error(chalk.red(`\n✗ Error: ${errMsg}\n`));
|
|
135
|
+
}
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
return cmd;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unReview.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/unReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,wBAAwB,IAAI,OAAO,CA6IlD"}
|
|
@@ -0,0 +1,141 @@
|
|
|
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 createBomUnReviewCommand() {
|
|
6
|
+
const cmd = new Command('unReview');
|
|
7
|
+
cmd
|
|
8
|
+
.description('Un-review (cancel review) BOM(s)')
|
|
9
|
+
.option('--ids <ids>', 'Comma-separated BOM IDs for batch operation')
|
|
10
|
+
.option('--force', 'Execute the operation (skip dry-run preview)')
|
|
11
|
+
.option('--dry-run', 'Preview without executing')
|
|
12
|
+
.option('--json', 'Output as JSON')
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
const context = configManager.getCurrentContext();
|
|
15
|
+
const environment = options.env || context.environment;
|
|
16
|
+
const tenant = options.tenant || context.tenant;
|
|
17
|
+
const force = options.force === true;
|
|
18
|
+
const dryRun = options.dryRun === true;
|
|
19
|
+
const outputJson = options.json === true || process.argv.includes('--json');
|
|
20
|
+
const ids = options.ids
|
|
21
|
+
? options.ids.split(',').map((id) => id.trim()).filter((id) => id !== '')
|
|
22
|
+
: [];
|
|
23
|
+
if (ids.length === 0) {
|
|
24
|
+
const errMsg = 'No BOM IDs provided. Use --ids with comma-separated IDs.';
|
|
25
|
+
if (outputJson) {
|
|
26
|
+
console.log(JSON.stringify({ success: false, error: { code: 'MISSING_IDS', message: errMsg } }));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
30
|
+
}
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
if (!outputJson) {
|
|
34
|
+
console.log(chalk.bold(`\n📝 Un-review BOM(s) (${environment})\n`));
|
|
35
|
+
console.log(chalk.gray(` BOM IDs: ${ids.join(', ')}`));
|
|
36
|
+
}
|
|
37
|
+
if (dryRun || !force) {
|
|
38
|
+
if (outputJson) {
|
|
39
|
+
console.log(JSON.stringify({
|
|
40
|
+
success: true,
|
|
41
|
+
dryRun: true,
|
|
42
|
+
bomIds: ids.map((id) => parseInt(id, 10)),
|
|
43
|
+
message: 'No actual API call will be made',
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
console.log(chalk.cyan('\n🔍 Dry-Run Mode: No actual API call will be made\n'));
|
|
48
|
+
console.log(chalk.gray(` This will un-review ${ids.length} BOM(s).`));
|
|
49
|
+
console.log(chalk.gray(' To execute, add --force flag.\n'));
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
// Fetch BOMs for confirmation display
|
|
54
|
+
const boms = [];
|
|
55
|
+
for (const id of ids) {
|
|
56
|
+
try {
|
|
57
|
+
const response = await apiClient.getBom(environment, tenant, id);
|
|
58
|
+
if (!response.success || !response.data) {
|
|
59
|
+
const errMsg = `BOM not found: ${id}`;
|
|
60
|
+
if (outputJson) {
|
|
61
|
+
console.log(JSON.stringify({ success: false, error: { code: 'NOT_FOUND', message: errMsg } }));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
65
|
+
}
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
boms.push(response.data);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
72
|
+
if (outputJson) {
|
|
73
|
+
console.log(JSON.stringify({ success: false, error: { code: 'FETCH_ERROR', message: `Failed to fetch BOM ${id}: ${errMsg}` } }));
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
console.error(chalk.red(`\n✗ Failed to fetch BOM ${id}: ${errMsg}\n`));
|
|
77
|
+
}
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const allAlreadyUnreviewed = boms.every((b) => b.reviewFlag !== 'Y');
|
|
82
|
+
if (allAlreadyUnreviewed) {
|
|
83
|
+
const names = boms.map((b) => `"${b.bomCode || b.bomVersion}"`).join(', ');
|
|
84
|
+
const errMsg = `BOM(s) ${names} ${boms.length === 1 ? 'is' : 'are'} already unreviewed`;
|
|
85
|
+
if (outputJson) {
|
|
86
|
+
console.log(JSON.stringify({ success: false, error: { code: 'ALREADY_UNREVIEWED', message: errMsg } }));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.error(chalk.yellow(`\n⚠ ${errMsg}\n`));
|
|
90
|
+
}
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
if (!outputJson) {
|
|
94
|
+
for (const [i, b] of boms.entries()) {
|
|
95
|
+
console.log(chalk.gray(` [${i + 1}] ${b.bomCode || b.bomVersion} — ${b.materialCode} ${b.materialName} (${b.reviewFlag === 'Y' ? 'Reviewed' : 'Unreviewed'})`));
|
|
96
|
+
}
|
|
97
|
+
console.log();
|
|
98
|
+
}
|
|
99
|
+
const idList = ids.map((id) => parseInt(id, 10));
|
|
100
|
+
const data = { bomIdList: idList };
|
|
101
|
+
try {
|
|
102
|
+
const response = await apiClient.batchUnReviewBom(environment, tenant, data);
|
|
103
|
+
if (response.success) {
|
|
104
|
+
if (outputJson) {
|
|
105
|
+
console.log(JSON.stringify({ success: true, bomIds: idList }));
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
const names = boms.map((b) => b.bomCode || b.bomVersion).join(', ');
|
|
109
|
+
console.log(chalk.green(`\n✓ BOM(s) ${names} un-reviewed\n`));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
const errorMsg = response.error?.message || 'Unknown error';
|
|
114
|
+
const errorCode = response.error?.code || 'UNREVIEW_ERROR';
|
|
115
|
+
if (outputJson) {
|
|
116
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
console.error(chalk.red(`\n✗ Failed to un-review BOM(s): ${errorMsg}`));
|
|
120
|
+
if (response.error?.code) {
|
|
121
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
122
|
+
}
|
|
123
|
+
console.error();
|
|
124
|
+
}
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
130
|
+
if (outputJson) {
|
|
131
|
+
console.log(JSON.stringify({ success: false, error: { code: 'ERROR', message: errMsg } }));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
console.error(chalk.red(`\n✗ Error: ${errMsg}\n`));
|
|
135
|
+
}
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
return cmd;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=unReview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unReview.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/unReview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,sBAAsB,IAAI,OAAO,CAyJhD"}
|
|
@@ -0,0 +1,171 @@
|
|
|
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 createBomUpdateCommand() {
|
|
6
|
+
const cmd = new Command('update');
|
|
7
|
+
cmd
|
|
8
|
+
.description('Update BOM information')
|
|
9
|
+
.argument('<bomId>', 'BOM ID')
|
|
10
|
+
.option('--bom-code <code>', 'BOM code')
|
|
11
|
+
.option('--bom-version <version>', 'BOM version')
|
|
12
|
+
.option('--material-code <code>', 'Material code')
|
|
13
|
+
.option('--material-name <name>', 'Material name')
|
|
14
|
+
.option('--material-uom-code <code>', 'Material UOM code')
|
|
15
|
+
.option('--material-no <no>', 'Material number')
|
|
16
|
+
.option('--material-type <type>', 'Material type')
|
|
17
|
+
.option('--material-yield-rate <rate>', 'Material yield rate')
|
|
18
|
+
.option('--color <color>', 'Color')
|
|
19
|
+
.option('--long-x <length>', 'Length (X dimension)')
|
|
20
|
+
.option('--wide-y <width>', 'Width (Y dimension)')
|
|
21
|
+
.option('--high-z <height>', 'Height (Z dimension)')
|
|
22
|
+
.option('--volume <volume>', 'Volume')
|
|
23
|
+
.option('--remark <text>', 'Remarks')
|
|
24
|
+
.option('--dry-run', 'Preview changes without making API call')
|
|
25
|
+
.option('--json', 'Output as JSON')
|
|
26
|
+
.action(async (bomId, options) => {
|
|
27
|
+
const context = configManager.getCurrentContext();
|
|
28
|
+
const environment = options.env || context.environment;
|
|
29
|
+
const tenant = options.tenant || context.tenant;
|
|
30
|
+
const dryRun = options.dryRun === true;
|
|
31
|
+
const outputJson = options.json === true || process.argv.includes('--json');
|
|
32
|
+
const fields = {};
|
|
33
|
+
if (options.bomCode)
|
|
34
|
+
fields.bomCode = options.bomCode;
|
|
35
|
+
if (options.bomVersion)
|
|
36
|
+
fields.bomVersion = options.bomVersion;
|
|
37
|
+
if (options.materialCode)
|
|
38
|
+
fields.materialCode = options.materialCode;
|
|
39
|
+
if (options.materialName)
|
|
40
|
+
fields.materialName = options.materialName;
|
|
41
|
+
if (options.materialUomCode)
|
|
42
|
+
fields.materialUomCode = options.materialUomCode;
|
|
43
|
+
if (options.materialNo)
|
|
44
|
+
fields.materialNo = options.materialNo;
|
|
45
|
+
if (options.materialType)
|
|
46
|
+
fields.materialType = options.materialType;
|
|
47
|
+
if (options.materialYieldRate)
|
|
48
|
+
fields.materialYieldRate = options.materialYieldRate;
|
|
49
|
+
if (options.color)
|
|
50
|
+
fields.color = options.color;
|
|
51
|
+
if (options.longX)
|
|
52
|
+
fields.longX = parseFloat(options.longX);
|
|
53
|
+
if (options.wideY)
|
|
54
|
+
fields.wideY = parseFloat(options.wideY);
|
|
55
|
+
if (options.highZ)
|
|
56
|
+
fields.highZ = parseFloat(options.highZ);
|
|
57
|
+
if (options.volume)
|
|
58
|
+
fields.volume = options.volume;
|
|
59
|
+
if (options.remark)
|
|
60
|
+
fields.remark = options.remark;
|
|
61
|
+
const providedFields = Object.keys(fields).filter((k) => fields[k] !== undefined);
|
|
62
|
+
if (providedFields.length === 0) {
|
|
63
|
+
const errMsg = 'No fields to update. Provide at least one update option.';
|
|
64
|
+
if (outputJson) {
|
|
65
|
+
console.log(JSON.stringify({ success: false, error: { code: 'NO_FIELDS', message: errMsg } }));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
69
|
+
}
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
// Fetch current BOM for dry-run display
|
|
73
|
+
let currentBom;
|
|
74
|
+
try {
|
|
75
|
+
const bomResponse = await apiClient.getBom(environment, tenant, bomId);
|
|
76
|
+
if (!bomResponse.success || !bomResponse.data) {
|
|
77
|
+
const errMsg = `BOM not found: ${bomId}`;
|
|
78
|
+
if (outputJson) {
|
|
79
|
+
console.log(JSON.stringify({ success: false, error: { code: 'NOT_FOUND', message: errMsg } }));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.error(chalk.red(`\n✗ ${errMsg}\n`));
|
|
83
|
+
}
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
currentBom = bomResponse.data;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
90
|
+
if (outputJson) {
|
|
91
|
+
console.log(JSON.stringify({ success: false, error: { code: 'FETCH_ERROR', message: `Failed to fetch BOM: ${errMsg}` } }));
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.error(chalk.red(`\n✗ Failed to fetch BOM: ${errMsg}\n`));
|
|
95
|
+
}
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
if (dryRun) {
|
|
99
|
+
if (outputJson) {
|
|
100
|
+
console.log(JSON.stringify({ success: true, dryRun: true, bomId, changes: fields }));
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
console.log(chalk.bold(`\n📋 Update BOM — Dry Run (${environment})\n`));
|
|
104
|
+
console.log(chalk.gray(` BOM ID: ${bomId}`));
|
|
105
|
+
console.log(chalk.gray(` Current: ${currentBom.bomCode || '-'} v${currentBom.bomVersion}`));
|
|
106
|
+
console.log(chalk.gray('\n Changes to be applied:'));
|
|
107
|
+
for (const field of providedFields) {
|
|
108
|
+
const currentVal = currentBom[field] ?? '(not set)';
|
|
109
|
+
const newVal = fields[field];
|
|
110
|
+
const label = field.replace(/([A-Z])/g, (m) => ` ${m.toLowerCase()}`).trim();
|
|
111
|
+
console.log(chalk.cyan(` ${label}: "${currentVal}" → "${newVal}"`));
|
|
112
|
+
}
|
|
113
|
+
console.log();
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
console.log(chalk.bold(`\n📋 Update BOM (${environment})\n`));
|
|
118
|
+
console.log(chalk.gray(` BOM ID: ${bomId}`));
|
|
119
|
+
console.log(chalk.gray(` Current: ${currentBom.bomCode || '-'} v${currentBom.bomVersion}`));
|
|
120
|
+
console.log(chalk.gray('\n Changes:'));
|
|
121
|
+
for (const field of providedFields) {
|
|
122
|
+
const currentVal = currentBom[field] ?? '(not set)';
|
|
123
|
+
const newVal = fields[field];
|
|
124
|
+
const label = field.replace(/([A-Z])/g, (m) => ` ${m.toLowerCase()}`).trim();
|
|
125
|
+
console.log(chalk.cyan(` ${label}: "${currentVal}" → "${newVal}"`));
|
|
126
|
+
}
|
|
127
|
+
const updateData = {
|
|
128
|
+
bomId: parseInt(bomId, 10),
|
|
129
|
+
...currentBom,
|
|
130
|
+
...fields,
|
|
131
|
+
};
|
|
132
|
+
try {
|
|
133
|
+
const response = await apiClient.updateBom(environment, tenant, updateData);
|
|
134
|
+
if (response.success) {
|
|
135
|
+
if (outputJson) {
|
|
136
|
+
console.log(JSON.stringify({ success: true, data: response.data }, null, 2));
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
console.log(chalk.green(`\n✓ BOM updated successfully\n`));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const errorMsg = response.error?.message || 'Unknown error';
|
|
144
|
+
const errorCode = response.error?.code || 'UPDATE_ERROR';
|
|
145
|
+
if (outputJson) {
|
|
146
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
console.error(chalk.red(`\n✗ Update failed: ${errorMsg}`));
|
|
150
|
+
if (response.error?.code) {
|
|
151
|
+
console.error(chalk.gray(` Error code: ${response.error.code}`));
|
|
152
|
+
}
|
|
153
|
+
console.error();
|
|
154
|
+
}
|
|
155
|
+
process.exit(1);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
const errMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
160
|
+
if (outputJson) {
|
|
161
|
+
console.log(JSON.stringify({ success: false, error: { message: errMsg } }));
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
console.error(chalk.red(`\n✗ Error: ${errMsg}\n`));
|
|
165
|
+
}
|
|
166
|
+
process.exit(1);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
return cmd;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/liberica/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/liberica/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,wBAAgB,qBAAqB,IAAI,OAAO,CA8D/C"}
|