forked from Sunbird-Lern/cert-service
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaster.js
82 lines (75 loc) · 2.95 KB
/
master.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
const config = require("./config.js");
var fs = require('fs');
var badge = {
"id": config.domainUrl + "/" + config.slug + "/" + process.env.ROOT_ORG_ID + "/" + config.badge.batchId + "/Badge.json",
"type": "BadgeClass",
"@context": config.domainUrl + "/" + config.slug + "/v1/context.json",
"name": config.badge.name,
"description": config.badge.description,
"image": config.badge.image,
"criteria": {
"type": [
"Criteria"
],
"id": config.domainUrl + "/" + config.slug + "/" + process.env.ROOT_ORG_ID + "/" + config.badge.batchId,
"narrative": config.badge.narrative
},
"issuer": config.domainUrl + "/" + config.slug + "/" + process.env.ROOT_ORG_ID + "/Issuer.json"
}
var issuer = {
"@context": config.domainUrl + "/" + config.slug + "/v1/context.json",
"type": "Issuer",
"id": config.domainUrl + "/" + config.slug + "/" + process.env.ROOT_ORG_ID + "/Issuer.json",
"name": config.issuer.name,
"url": config.issuer.url,
"publicKey": config.domainUrl + "/" + config.slug + "/" + process.env.ROOT_ORG_ID + "/" + process.env.KEY_ID + "_publickey.json"
}
var publicKey = {
"@context": config.domainUrl + "/" + config.slug + "/v1/context.json",
"type": "CryptographicKey",
"id": config.domainUrl + "/" + config.slug + "/" + process.env.ROOT_ORG_ID + "/" + process.env.KEY_ID + "_publickey.json",
"owner": config.domainUrl + "/" + config.slug + "/" + process.env.ROOT_ORG_ID + "/Issuer.json",
"publicKeyPem": config.publicKeyPem
}
var outDirName = "./out";
var methods = {
createPublicKeyJson: function () {
let publicDir = outDirName + "/" + process.env.ROOT_ORG_ID
if (!fs.existsSync(publicDir)) {
fs.mkdirSync(publicDir);
}
if (writeToFile(outDirName + "/" + process.env.KEY_ID + "_publicKey.json", publicKey)) {
console.log("publicKey json is created")
}
},
createIssuerJson: function () {
let issuerDir = outDirName + "/" + process.env.ROOT_ORG_ID
if (!fs.existsSync(issuerDir)) {
fs.mkdirSync(issuerDir);
}
if (writeToFile(issuerDir + "/" + "Issuer.json", issuer)) {
console.log("issuer json is created")
}
},
createBadgeJson: function () {
let batchDir = outDirName + "/" + process.env.ROOT_ORG_ID + "/" + config.badge.batchId
if (!fs.existsSync(batchDir)) {
if (!fs.existsSync(outDirName + "/" + process.env.ROOT_ORG_ID)) {
fs.mkdirSync(outDirName + "/" + process.env.ROOT_ORG_ID);
}
fs.mkdirSync(batchDir);
}
if (writeToFile(batchDir + "/Badge.json", badge)) {
console.log("Badge json is created")
}
}
}
const writeToFile = (fileName, keys) => {
fs.writeFile(fileName, JSON.stringify(keys), function (err) {
if (err) {
return console.log(err);
}
});
return true;
}
module.exports = methods