cloudcc-cli 2.1.2 → 2.1.4
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/README.md +16 -0
- package/package.json +1 -1
- package/src/classes/get.js +6 -1
- package/src/classes/pullList.js +1 -2
- package/src/script/create.js +1 -1
- package/src/script/get.js +24 -0
- package/src/script/index.js +2 -0
- package/src/script/pull.js +1 -1
- package/src/script/pullList.js +65 -0
- package/src/timer/get.js +21 -0
- package/src/timer/index.js +3 -1
- package/src/timer/pullList.js +41 -0
- package/src/triggers/get.js +21 -0
- package/src/triggers/index.js +2 -0
- package/src/triggers/pullList.js +43 -0
package/README.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
# ReleaseV2.1.4
|
|
2
|
+
#### Release Date: 2025-7-2
|
|
3
|
+
#### Release Scope: Full
|
|
4
|
+
#### Release Content
|
|
5
|
+
* Optimization
|
|
6
|
+
* delete dead code
|
|
7
|
+
|
|
8
|
+
# ReleaseV2.1.3
|
|
9
|
+
#### Release Date: 2025-7-2
|
|
10
|
+
#### Release Scope: Full
|
|
11
|
+
#### Release Content
|
|
12
|
+
* Optimization
|
|
13
|
+
* add pull all trggers
|
|
14
|
+
* add pull all timer
|
|
15
|
+
* add pull all script
|
|
16
|
+
|
|
1
17
|
# ReleaseV2.1.2
|
|
2
18
|
#### Release Date: 2025-7-1
|
|
3
19
|
#### Release Scope: Full
|
package/package.json
CHANGED
package/src/classes/get.js
CHANGED
|
@@ -6,7 +6,12 @@ async function get(arg, path) {
|
|
|
6
6
|
let config = await getPackageJson(path);
|
|
7
7
|
let res = await postClass(config.setupSvc + "/api/ccfag/list", body, config.accessToken)
|
|
8
8
|
if (res.result) {
|
|
9
|
-
|
|
9
|
+
const simpleList = (res.data.list || []).map(item => ({
|
|
10
|
+
apiname: item.apiname,
|
|
11
|
+
id: item.id,
|
|
12
|
+
name: item.name
|
|
13
|
+
}))
|
|
14
|
+
console.log(JSON.stringify(simpleList))
|
|
10
15
|
return res.data.list
|
|
11
16
|
} else {
|
|
12
17
|
console.error('error:', res.message);
|
package/src/classes/pullList.js
CHANGED
|
@@ -11,7 +11,6 @@ async function pullList(id, url) {
|
|
|
11
11
|
let config = await getPackageJson(url);
|
|
12
12
|
const body = { id };
|
|
13
13
|
const res = await postClass(config.setupSvc + "/api/ccfag/detail", body, config.accessToken);
|
|
14
|
-
console.log("id", id)
|
|
15
14
|
try {
|
|
16
15
|
const data = res.data;
|
|
17
16
|
const trigger = data.trigger;
|
|
@@ -36,7 +35,7 @@ async function pullList(id, url) {
|
|
|
36
35
|
const testClassName = `${className}Test`;
|
|
37
36
|
const testContent = `package classes.${className};\n\nimport com.cloudcc.core.*;\n\npublic class ${testClassName} {\n public static void main(String[] args) {\n System.out.println(\"name:\");\n }\n}\n`;
|
|
38
37
|
fs.writeFileSync(path.join(folderPath, `${testClassName}.java`), testContent, "utf8");
|
|
39
|
-
console.log("
|
|
38
|
+
console.log("true");
|
|
40
39
|
} catch (e) {
|
|
41
40
|
console.log(`Error occurred while processing class id: ${id}, message: ${e.message}`);
|
|
42
41
|
}
|
package/src/script/create.js
CHANGED
|
@@ -8,7 +8,7 @@ async function create(argvs) {
|
|
|
8
8
|
if (!res) {
|
|
9
9
|
let body = JSON.parse(decodeURI(argvs[2]))
|
|
10
10
|
const baseScriptPath = path.join(process.cwd(), "script");
|
|
11
|
-
const objectFolderPath = path.join(baseScriptPath, body.
|
|
11
|
+
const objectFolderPath = path.join(baseScriptPath, body.objName);
|
|
12
12
|
const filePath = path.join(objectFolderPath, body.scriptName);
|
|
13
13
|
|
|
14
14
|
try {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
const { post } = require("../../utils/http.js")
|
|
3
|
+
const { getPackageJson } = require("../../utils/config.js")
|
|
4
|
+
const BaseUrl = "https://developer.apis.cloudcc.cn"
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
async function get(argvs) {
|
|
8
|
+
let configContent = JSON.parse(decodeURI(argvs[2]))
|
|
9
|
+
let devConsoleConfig = await getPackageJson(argvs[3]);
|
|
10
|
+
let res = await post((devConsoleConfig.baseUrl || BaseUrl) + "/devconsole/script/pageClientScript", configContent, devConsoleConfig)
|
|
11
|
+
if (res.result) {
|
|
12
|
+
const simpleList = (res.data.list || []).map(item => ({
|
|
13
|
+
apiname: item.pageLabel,
|
|
14
|
+
id: item.id,
|
|
15
|
+
name: item.scriptName
|
|
16
|
+
}))
|
|
17
|
+
console.log(JSON.stringify(simpleList))
|
|
18
|
+
return simpleList
|
|
19
|
+
} else {
|
|
20
|
+
console.error('error:', res.message);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = get;
|
package/src/script/index.js
CHANGED
package/src/script/pull.js
CHANGED
|
@@ -31,7 +31,7 @@ async function pull(argvs) {
|
|
|
31
31
|
"objName": ""
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
let res = await post((devConsoleConfig.baseUrl || BaseUrl) + "/
|
|
34
|
+
let res = await post((devConsoleConfig.baseUrl || BaseUrl) + "/devconsole/script/pageClientScript", configContent, devConsoleConfig)
|
|
35
35
|
if (res.result) {
|
|
36
36
|
console.log();
|
|
37
37
|
console.log(chalk.green('Success!'));
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const { post } = require("../../utils/http.js")
|
|
2
|
+
const { getPackageJson } = require("../../utils/config.js")
|
|
3
|
+
const BaseUrl = "https://developer.apis.cloudcc.cn"
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
async function pullList(argvs) {
|
|
9
|
+
let devConsoleConfig = await getPackageJson(argvs[3]);
|
|
10
|
+
let body = {
|
|
11
|
+
"pageSize": 20,
|
|
12
|
+
"pageNo": 1,
|
|
13
|
+
"condition": {
|
|
14
|
+
"id": argvs[2],
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
let res = await post((devConsoleConfig.baseUrl || BaseUrl) + "/devconsole/script/pageClientScript", body, devConsoleConfig)
|
|
19
|
+
if (res.result) {
|
|
20
|
+
try {
|
|
21
|
+
|
|
22
|
+
const data = res.data.list[0]
|
|
23
|
+
// 自动生成目录和文件
|
|
24
|
+
if (data) {
|
|
25
|
+
const dirPath = path.join(argvs[3], "script", data.objName, data.scriptName);
|
|
26
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
27
|
+
// 去除不需要的字段,仅保留指定字段
|
|
28
|
+
const configFields = [
|
|
29
|
+
"scriptName",
|
|
30
|
+
"scriptDesc",
|
|
31
|
+
"objId",
|
|
32
|
+
"objName",
|
|
33
|
+
"recordTypeId",
|
|
34
|
+
"recordTypeName",
|
|
35
|
+
"pageId",
|
|
36
|
+
"eventType",
|
|
37
|
+
"event",
|
|
38
|
+
"fieldId",
|
|
39
|
+
"schemetableName",
|
|
40
|
+
"usageScenario",
|
|
41
|
+
"id"
|
|
42
|
+
];
|
|
43
|
+
const configData = {};
|
|
44
|
+
configFields.forEach(key => {
|
|
45
|
+
if (data.hasOwnProperty(key)) {
|
|
46
|
+
configData[key] = data[key];
|
|
47
|
+
} else {
|
|
48
|
+
configData[key] = "";
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const configPath = path.join(dirPath, 'config.json');
|
|
52
|
+
fs.writeFileSync(configPath, JSON.stringify(configData, null, 2), 'utf-8');
|
|
53
|
+
// 写入脚本内容,使用模板包裹
|
|
54
|
+
const scriptPath = path.join(dirPath, `${data.scriptName}.js`);
|
|
55
|
+
const scriptTemplate = `function main($CCDK, obj) {\n${data.scriptContent || ''}\n}`;
|
|
56
|
+
fs.writeFileSync(scriptPath, scriptTemplate, 'utf-8');
|
|
57
|
+
console.log("true");
|
|
58
|
+
}
|
|
59
|
+
} catch (e) {
|
|
60
|
+
console.log(`Error occurred while processing timer id: ${argvs[2]}, message: ${e.message}${JSON.stringify(res)}}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
module.exports = pullList;
|
package/src/timer/get.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const { getPackageJson } = require("../../utils/config")
|
|
2
|
+
const { postClass } = require("../../utils/http")
|
|
3
|
+
|
|
4
|
+
async function get(arg1, arg2) {
|
|
5
|
+
let body = JSON.parse(decodeURI(arg1))
|
|
6
|
+
let config = await getPackageJson(arg2);
|
|
7
|
+
let res = await postClass(config.setupSvc + "/api/ccPeak/list", body, config.accessToken)
|
|
8
|
+
if (res.result) {
|
|
9
|
+
const simpleList = (res.data.list || []).map(item => ({
|
|
10
|
+
apiname: item.apiname,
|
|
11
|
+
id: item.id,
|
|
12
|
+
name: item.name
|
|
13
|
+
}))
|
|
14
|
+
console.log(JSON.stringify(simpleList))
|
|
15
|
+
return simpleList
|
|
16
|
+
} else {
|
|
17
|
+
console.error('error:', res.message);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = get;
|
package/src/timer/index.js
CHANGED
|
@@ -2,8 +2,10 @@ const cc = {}
|
|
|
2
2
|
cc.create = require("./create")
|
|
3
3
|
cc.publish = require("./publish")
|
|
4
4
|
cc.pull = require("./pull")
|
|
5
|
+
cc.get = require("./get")
|
|
6
|
+
cc.pullList = require("./pullList")
|
|
5
7
|
function Timer(action, argvs) {
|
|
6
|
-
cc[action](argvs[2])
|
|
8
|
+
cc[action](argvs[2], argvs[3])
|
|
7
9
|
}
|
|
8
10
|
|
|
9
11
|
module.exports = Timer;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
const path = require("path")
|
|
3
|
+
const { getPackageJson } = require("../../utils/config");
|
|
4
|
+
const { postClass } = require("../../utils/http");
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 批量拉取定时器详情并生成本地文件
|
|
8
|
+
* @param timer id
|
|
9
|
+
*/
|
|
10
|
+
async function pullList(arg1, arg2) {
|
|
11
|
+
const body = { id: arg1 };
|
|
12
|
+
let config = await getPackageJson(arg2);
|
|
13
|
+
const res = await postClass(config.setupSvc + "/api/ccPeak/detail", body, config.accessToken);
|
|
14
|
+
try {
|
|
15
|
+
const trigger = res.data.trigger;
|
|
16
|
+
if (!trigger) throw new Error('No trigger detail found');
|
|
17
|
+
// 判断trigger.name是否全为英文
|
|
18
|
+
let timerName = trigger.apiname;
|
|
19
|
+
if (/^[A-Za-z0-9_]+$/.test(trigger.name)) {
|
|
20
|
+
timerName = trigger.name;
|
|
21
|
+
}
|
|
22
|
+
const folderPath = path.join(arg2, `schedule/${timerName}`);
|
|
23
|
+
if (!fs.existsSync(folderPath)) {
|
|
24
|
+
fs.mkdirSync(folderPath, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
const javaFile = path.join(folderPath, `${timerName}.java`);
|
|
27
|
+
const javaContent = `package schedule.${timerName};\n\nimport com.cloudcc.core.*;\n\npublic class ${timerName} extends CCSchedule {\n public ${timerName}() {\n // @SOURCE_CONTENT_START\n${trigger.source}\n // @SOURCE_CONTENT_END\n }\n}\n`;
|
|
28
|
+
fs.writeFileSync(javaFile, javaContent, "utf8");
|
|
29
|
+
const configJson = {
|
|
30
|
+
id: trigger.id,
|
|
31
|
+
name: trigger.name,
|
|
32
|
+
version: "2"
|
|
33
|
+
};
|
|
34
|
+
fs.writeFileSync(path.join(folderPath, "config.json"), JSON.stringify(configJson, null, 4), "utf8");
|
|
35
|
+
console.log("true");
|
|
36
|
+
} catch (e) {
|
|
37
|
+
console.log(`Error occurred while processing timer id: ${args[2]}, message: ${e.message}${JSON.stringify(res)}}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
module.exports = pullList;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const { getPackageJson } = require("../../utils/config")
|
|
2
|
+
const { postClass } = require("../../utils/http")
|
|
3
|
+
|
|
4
|
+
async function get(args) {
|
|
5
|
+
let body = JSON.parse(decodeURI(args[2]))
|
|
6
|
+
let config = await getPackageJson(args[3]);
|
|
7
|
+
let res = await postClass(config.setupSvc + "/api/triggerSetup/getTriggerByCondition", body, config.accessToken)
|
|
8
|
+
if (res.result) {
|
|
9
|
+
const simpleList = (res.data.list || []).map(item => ({
|
|
10
|
+
apiname: item.apiname,
|
|
11
|
+
id: item.id,
|
|
12
|
+
name: item.name
|
|
13
|
+
}))
|
|
14
|
+
console.log(JSON.stringify(simpleList))
|
|
15
|
+
return simpleList
|
|
16
|
+
} else {
|
|
17
|
+
console.error('error:', res.message);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = get;
|
package/src/triggers/index.js
CHANGED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
const path = require("path")
|
|
3
|
+
const { getPackageJson } = require("../../utils/config");
|
|
4
|
+
const { postClass } = require("../../utils/http");
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 批量拉取触发器详情并生成本地文件
|
|
8
|
+
* @param trigger id
|
|
9
|
+
*/
|
|
10
|
+
async function pullList(args) {
|
|
11
|
+
const body = { id: args[2] };
|
|
12
|
+
let config = await getPackageJson(args[3]);
|
|
13
|
+
const res = await postClass(config.setupSvc + "/api/trigger/newobjtrigger", body, config.accessToken);
|
|
14
|
+
try {
|
|
15
|
+
const data = res.data;
|
|
16
|
+
const targetObj = data.targetObj;
|
|
17
|
+
const trigger = data.trigger;
|
|
18
|
+
const triggerName = trigger.apiname;
|
|
19
|
+
const folderPath = path.join(args[3], `triggers/${targetObj.schemetableName.toLowerCase()}/${triggerName}`);
|
|
20
|
+
if (!fs.existsSync(folderPath)) {
|
|
21
|
+
fs.mkdirSync(folderPath, { recursive: true });
|
|
22
|
+
}
|
|
23
|
+
const javaFile = path.join(folderPath, `${triggerName}.java`);
|
|
24
|
+
const javaContent = `package triggers.${targetObj.schemetableName.toLowerCase()}.${triggerName};\n\nimport com.cloudcc.core.*;\n\npublic class ${triggerName} extends CCTrigger {\n public ${triggerName}() {\n super(userInfo);\n // @SOURCE_CONTENT_START\n${trigger.triggerSource}\n // @SOURCE_CONTENT_END\n }\n}\n`;
|
|
25
|
+
fs.writeFileSync(javaFile, javaContent, "utf8");
|
|
26
|
+
const configJson = {
|
|
27
|
+
id: trigger.id,
|
|
28
|
+
name: trigger.name,
|
|
29
|
+
apiname: trigger.apiname,
|
|
30
|
+
targetObjectId: trigger.targetObjectId || '',
|
|
31
|
+
schemetableName: targetObj.schemetableName || '',
|
|
32
|
+
triggerTime: trigger.triggerTime || '',
|
|
33
|
+
version: "2",
|
|
34
|
+
isactive: typeof trigger.isactive === 'boolean' ? trigger.isactive : true
|
|
35
|
+
};
|
|
36
|
+
fs.writeFileSync(path.join(folderPath, "config.json"), JSON.stringify(configJson, null, 4), "utf8");
|
|
37
|
+
console.log("true");
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.log(`Error occurred while processing trigger id: ${args[2]}, message: ${e.message}${JSON.stringify(res)}}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
module.exports = pullList;
|