@procamp/cli 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
package/dist/command/publish.js
CHANGED
@@ -49,14 +49,20 @@ function publishCourse(access) {
|
|
49
49
|
return __awaiter(this, void 0, void 0, function* () {
|
50
50
|
const directory = process.cwd();
|
51
51
|
const filenameConf = path.join(directory, 'meta.json');
|
52
|
-
let isPrivate = true;
|
53
|
-
if (access && access.toLowerCase() === 'public') {
|
54
|
-
isPrivate = false;
|
55
|
-
}
|
56
52
|
if (yield fs.exists(filenameConf)) {
|
57
53
|
const data = yield fs.readFile(filenameConf, { encoding: 'utf-8' });
|
58
54
|
let meta = JSON.parse(data);
|
59
|
-
meta.public =
|
55
|
+
meta.public = !!meta.public;
|
56
|
+
if (access) {
|
57
|
+
switch (access.toLowerCase()) {
|
58
|
+
case 'public':
|
59
|
+
meta.public = true;
|
60
|
+
break;
|
61
|
+
case 'private':
|
62
|
+
meta.public = false;
|
63
|
+
break;
|
64
|
+
}
|
65
|
+
}
|
60
66
|
yield (0, writeJson_1.writeJson)({
|
61
67
|
directory,
|
62
68
|
data: meta
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/command/publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA2D;AAC3D,kDAA0B;AAC1B,0DAAiC;AACjC,6CAA+B;AAC/B,uCAAyB;AACzB,2CAA6B;AAG7B,4CAAwC;AACxC,kDAA+C;AAC/C,iCAAmC;AAEnC,SAAsB,aAAa,CAAC,MAAc;;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/command/publish.ts"],"names":[],"mappings":"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","sourcesContent":["import { validateCourse } from '@procamp/course-validator';\nimport axios from 'axios';\nimport FormData from 'form-data';\nimport * as fs from 'fs-extra';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { courseInfo } from '../interfaces/course';\nimport { procampConfig } from '../interfaces/procamp_config';\nimport { error } from '../utils/output';\nimport { writeJson } from '../utils/writeJson';\nimport { zipCourse } from './pack';\n\nexport async function publishCourse(access: string) {\n const directory = process.cwd();\n const filenameConf = path.join(directory, 'meta.json');\n\n if (await fs.exists(filenameConf)) {\n const data = await fs.readFile(filenameConf, { encoding: 'utf-8' });\n let meta: courseInfo = JSON.parse(data);\n meta.public = !!meta.public;\n\n if (access) {\n switch (access.toLowerCase()) {\n case 'public':\n meta.public = true;\n break;\n case 'private':\n meta.public = false;\n break;\n }\n }\n\n await writeJson({\n directory,\n data: meta\n });\n\n if (meta.courseId && meta.courseId.length !== 0) {\n const courseId: string = meta.courseId;\n const filePathZip = path.join(directory, '.output.zip');\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n let configContent: procampConfig;\n if (await fs.exists(configPath)) {\n try {\n configContent = await fs.readJSON(configPath);\n } catch (e) {\n throw e;\n }\n if (!('userId' in meta) || meta.userId.length !== 0) {\n if (configContent.userId)\n await fs.writeJson(\n filenameConf,\n { ...meta, userId: configContent['userId'] },\n { spaces: 2 }\n );\n }\n } else return error(\"I don't find config file.Please log in \");\n\n await validateCourse(directory);\n const postZipfile = async () => {\n if (await fs.exists(filePathZip)) {\n const fileStream = fs.createReadStream(filePathZip);\n const form = new FormData();\n form.append('file', fileStream);\n axios\n .post(\n `https://course-manager.procamp.dev/api/courses/${courseId}`,\n form,\n {\n headers: {\n 'x-api-key': configContent['api_key']\n }\n }\n )\n .then((response) => {\n console.log(response.data);\n })\n .catch((err) => {\n if ('response' in err)\n if ('data' in err.response) {\n const data = err.response.data;\n if ('statusCode' in data && 'message' in data)\n error(\n 'Error publishing folder: ' +\n data.message +\n '. Error ' +\n data.statusCode\n );\n }\n });\n }\n };\n\n await zipCourse({ directory: directory });\n\n return await postZipfile();\n } else {\n return error(\n \"Course Id key don't exist or null in meta.json.\\n\" +\n 'Please complete course id'\n );\n }\n } else {\n return error('meta.json file does not exist');\n }\n}\n"]}
|