pathchain 1.0.19 → 1.0.22
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/checker.js +13 -7
- package/getter.js +0 -1
- package/index.js +2 -2
- package/maker.js +6 -7
- package/package.json +1 -1
- package/updater.js +16 -16
package/checker.js
CHANGED
|
@@ -48,22 +48,28 @@ function checkEmptyDir(dir) {
|
|
|
48
48
|
*
|
|
49
49
|
* @return {bool} used_secret
|
|
50
50
|
*/
|
|
51
|
-
function isSecretUsed(xsecret) {
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
function isSecretUsed(xsecret, xauthor = "") {
|
|
52
|
+
if(xauthor != ""){
|
|
53
|
+
xauthor = xauthor + '/';
|
|
54
|
+
}
|
|
54
55
|
|
|
56
|
+
// LOADING PB
|
|
57
|
+
var secret_pb = pb(fs.readFileSync('node_modules/pathchain/proto/secret.proto'))
|
|
58
|
+
|
|
55
59
|
// NOT FOUND EXCEPTION
|
|
56
|
-
var
|
|
60
|
+
var fileContents;
|
|
57
61
|
try {
|
|
58
|
-
|
|
62
|
+
fileContents = fs.readFileSync("files/" + xauthor + "secrets/" + xsecret);
|
|
59
63
|
} catch (err) {
|
|
60
64
|
if (err.code === 'ENOENT') {
|
|
61
|
-
return "Secret not found
|
|
65
|
+
return "Secret not found";
|
|
62
66
|
} else {
|
|
63
67
|
throw err;
|
|
64
68
|
}
|
|
65
69
|
}
|
|
66
|
-
|
|
70
|
+
|
|
71
|
+
// DECODING SECRET
|
|
72
|
+
var secret_enc = fileContents
|
|
67
73
|
var secret_obj = secret_pb.secret.decode(secret_enc)
|
|
68
74
|
|
|
69
75
|
if(secret_obj.used == false){
|
package/getter.js
CHANGED
package/index.js
CHANGED
|
@@ -102,8 +102,8 @@ exports.makeEntity = (xsecret, format = 'MM DD YYYY HH:mm:SSS [GMT]Z') => {
|
|
|
102
102
|
*
|
|
103
103
|
* @return {obj} entity_object (entity object)
|
|
104
104
|
*/
|
|
105
|
-
exports.getEntityObj = (xentity) => {
|
|
106
|
-
const entity_object = getter.getEntityObj(xentity);
|
|
105
|
+
exports.getEntityObj = (xentity, xauthor="") => {
|
|
106
|
+
const entity_object = getter.getEntityObj(xentity, xauthor);
|
|
107
107
|
return entity_object;
|
|
108
108
|
}
|
|
109
109
|
|
package/maker.js
CHANGED
|
@@ -4,6 +4,7 @@ var dt = require('date-and-time');
|
|
|
4
4
|
var sha256 = require("js-sha256");
|
|
5
5
|
const getter = require("./getter");
|
|
6
6
|
const checker = require("./checker");
|
|
7
|
+
const updater = require("./updater");
|
|
7
8
|
|
|
8
9
|
/** moment
|
|
9
10
|
* [Moment Protocol Buffer Creation]
|
|
@@ -164,17 +165,13 @@ function pioneer(xbigbang, format) {
|
|
|
164
165
|
* @return {string} secret_hash
|
|
165
166
|
*/
|
|
166
167
|
function entity(xsecret, format) {
|
|
167
|
-
// "secret/hash" FORMAT EXCEPTION
|
|
168
|
-
/*if(xsecret.split("/").length > 1){
|
|
169
|
-
xsecret = xsecret.split("/")[1]
|
|
170
|
-
}*/
|
|
171
168
|
|
|
172
169
|
checker.checkDir("files/entities/");
|
|
173
170
|
if(checker.checkEmptyDir("files/entities/")){
|
|
174
171
|
return "A pioneer's secret is needed to create the first entity. There was no pioneer, but here is the one at 'files/pioneer/'" + pioneer();
|
|
175
172
|
}
|
|
176
173
|
else{
|
|
177
|
-
if(
|
|
174
|
+
if(checker.isSecretUsed(xsecret) == false){
|
|
178
175
|
// CREATING entity
|
|
179
176
|
var entity = pb(fs.readFileSync('node_modules/pathchain/proto/entity.proto'))
|
|
180
177
|
|
|
@@ -194,13 +191,15 @@ function entity(xsecret, format) {
|
|
|
194
191
|
tag: "entities/"+entity_hash,
|
|
195
192
|
})
|
|
196
193
|
|
|
194
|
+
updater.useSecret(xsecret, entity_hash);
|
|
195
|
+
|
|
197
196
|
checker.checkDir("files/entities/") // checking
|
|
198
197
|
fs.writeFileSync("files/entities/" + entity_hash, buffer);
|
|
199
198
|
|
|
200
|
-
return
|
|
199
|
+
return entity_hash
|
|
201
200
|
}
|
|
202
201
|
else{
|
|
203
|
-
return "Secret has been already used
|
|
202
|
+
return "Secret has been already used or it was not found"
|
|
204
203
|
}
|
|
205
204
|
}
|
|
206
205
|
}
|
package/package.json
CHANGED
package/updater.js
CHANGED
|
@@ -9,36 +9,36 @@ var pb = require('protocol-buffers');
|
|
|
9
9
|
*
|
|
10
10
|
* @return {string} xsecret
|
|
11
11
|
*/
|
|
12
|
-
function useSecret(xsecret,
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
function useSecret(xsecret, xauthor = "") {
|
|
13
|
+
if(xauthor != ""){
|
|
14
|
+
xauthor = xauthor + '/';
|
|
15
|
+
}
|
|
15
16
|
|
|
17
|
+
// LOADING PB
|
|
18
|
+
var secret_pb = pb(fs.readFileSync('node_modules/pathchain/proto/secret.proto'))
|
|
19
|
+
|
|
16
20
|
// NOT FOUND EXCEPTION
|
|
17
|
-
var
|
|
21
|
+
var fileContents;
|
|
18
22
|
try {
|
|
19
|
-
|
|
23
|
+
fileContents = fs.readFileSync("files/" + xauthor + "secrets/" + xsecret);
|
|
20
24
|
} catch (err) {
|
|
21
25
|
if (err.code === 'ENOENT') {
|
|
22
|
-
return "Secret not found
|
|
26
|
+
return "Secret not found";
|
|
23
27
|
} else {
|
|
24
28
|
throw err;
|
|
25
29
|
}
|
|
26
30
|
}
|
|
27
|
-
|
|
31
|
+
|
|
32
|
+
// DECODING SECRET
|
|
33
|
+
var secret_enc = fileContents
|
|
28
34
|
var secret_obj = secret_pb.secret.decode(secret_enc)
|
|
29
35
|
|
|
30
36
|
if(secret_obj.used == false){
|
|
31
37
|
// USING INVITE SECRET
|
|
32
|
-
secret_obj.used = true
|
|
33
|
-
|
|
34
|
-
var register = new Date()
|
|
35
|
-
register = dt.format(register, dt.compile(format, true));
|
|
36
|
-
|
|
37
|
-
var register_moment_hash = moment(register, format, 0, 0, 0, 0, 0)
|
|
38
|
-
|
|
38
|
+
secret_obj.used = true;
|
|
39
|
+
secret_obj.user = "entities/"+xauthor;
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
fs.writeFileSync("files/secrets/" + xsecret, secret_pb.secret.encode(secret_obj));
|
|
41
|
+
fs.writeFileSync("files/" + xauthor + "secrets/" + xsecret, secret_pb.secret.encode(secret_obj));
|
|
42
42
|
|
|
43
43
|
return xsecret;
|
|
44
44
|
}
|