cloudcc-cli 2.1.1 → 2.1.2
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 +7 -0
- package/bin/cc.js +1 -0
- package/package.json +1 -1
- package/src/classes/get.js +16 -0
- package/src/classes/index.js +3 -1
- package/src/classes/pullList.js +45 -0
package/README.md
CHANGED
package/bin/cc.js
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const { getPackageJson } = require("../../utils/config")
|
|
2
|
+
const { postClass } = require("../../utils/http")
|
|
3
|
+
|
|
4
|
+
async function get(arg, path) {
|
|
5
|
+
let body = JSON.parse(decodeURI(arg))
|
|
6
|
+
let config = await getPackageJson(path);
|
|
7
|
+
let res = await postClass(config.setupSvc + "/api/ccfag/list", body, config.accessToken)
|
|
8
|
+
if (res.result) {
|
|
9
|
+
console.log(JSON.stringify(res.data.list))
|
|
10
|
+
return res.data.list
|
|
11
|
+
} else {
|
|
12
|
+
console.error('error:', res.message);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = get;
|
package/src/classes/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 Classes(action, argvs) {
|
|
6
|
-
cc[action](argvs[2])
|
|
8
|
+
cc[action](argvs[2], argvs[3])
|
|
7
9
|
}
|
|
8
10
|
|
|
9
11
|
module.exports = Classes;
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
* Batch pull class details and generate local files
|
|
8
|
+
* @param class id
|
|
9
|
+
*/
|
|
10
|
+
async function pullList(id, url) {
|
|
11
|
+
let config = await getPackageJson(url);
|
|
12
|
+
const body = { id };
|
|
13
|
+
const res = await postClass(config.setupSvc + "/api/ccfag/detail", body, config.accessToken);
|
|
14
|
+
console.log("id", id)
|
|
15
|
+
try {
|
|
16
|
+
const data = res.data;
|
|
17
|
+
const trigger = data.trigger;
|
|
18
|
+
const className = trigger.apiname;
|
|
19
|
+
const folderPath = path.join(url, `classes/${className}`);
|
|
20
|
+
// 3. Check and create folder
|
|
21
|
+
if (!fs.existsSync(folderPath)) {
|
|
22
|
+
fs.mkdirSync(folderPath, { recursive: true });
|
|
23
|
+
}
|
|
24
|
+
// 4. Create class file
|
|
25
|
+
const javaFile = path.join(folderPath, `${className}.java`);
|
|
26
|
+
const javaContent = `package classes.${className};\n\nimport com.cloudcc.core.*;\n// @SOURCE_CONTENT_START\n${trigger.source}\n// @SOURCE_CONTENT_END\n`;
|
|
27
|
+
fs.writeFileSync(javaFile, javaContent, "utf8");
|
|
28
|
+
// 5. Create config.json
|
|
29
|
+
const configJson = {
|
|
30
|
+
name: className,
|
|
31
|
+
version: "2",
|
|
32
|
+
id: trigger.id || id
|
|
33
|
+
};
|
|
34
|
+
fs.writeFileSync(path.join(folderPath, "config.json"), JSON.stringify(configJson, null, 4), "utf8");
|
|
35
|
+
// 6. Create test class
|
|
36
|
+
const testClassName = `${className}Test`;
|
|
37
|
+
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
|
+
fs.writeFileSync(path.join(folderPath, `${testClassName}.java`), testContent, "utf8");
|
|
39
|
+
console.log("Pull and generate class " + className + " successfully!");
|
|
40
|
+
} catch (e) {
|
|
41
|
+
console.log(`Error occurred while processing class id: ${id}, message: ${e.message}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
module.exports = pullList;
|