pathchain 1.0.18 → 1.0.20
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 +37 -5
- package/index.js +27 -0
- package/maker.js +1 -1
- package/package.json +1 -1
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
|
@@ -90,10 +90,6 @@ function getPioneerObj(xpioneer) {
|
|
|
90
90
|
* @return void
|
|
91
91
|
*/
|
|
92
92
|
function getSecretObj(xsecret, xauthor) {
|
|
93
|
-
// "secret/hash" FORMAT EXCEPTION
|
|
94
|
-
/*if(xsecret.split("/").length > 1){
|
|
95
|
-
xsecret = xsecret.split("/")[xsecret.length -1]
|
|
96
|
-
}*/
|
|
97
93
|
|
|
98
94
|
if(xauthor != ""){
|
|
99
95
|
xauthor = xauthor + '/';
|
|
@@ -121,4 +117,40 @@ function getSecretObj(xsecret, xauthor) {
|
|
|
121
117
|
return secret_obj;
|
|
122
118
|
}
|
|
123
119
|
|
|
124
|
-
|
|
120
|
+
|
|
121
|
+
/** getEntityObj
|
|
122
|
+
* [Function that recieves a entity hash and returns the entity object]
|
|
123
|
+
*
|
|
124
|
+
* @param {string} xentity (required)
|
|
125
|
+
*
|
|
126
|
+
* @return void
|
|
127
|
+
*/
|
|
128
|
+
function getEntityObj(xentity, xauthor) {
|
|
129
|
+
|
|
130
|
+
if(xauthor != ""){
|
|
131
|
+
xauthor = xauthor + '/';
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// LOADING PB
|
|
135
|
+
var entity_pb = pb(fs.readFileSync('node_modules/pathchain/proto/entity.proto'))
|
|
136
|
+
|
|
137
|
+
// NOT FOUND EXCEPTION
|
|
138
|
+
var fileContents;
|
|
139
|
+
try {
|
|
140
|
+
fileContents = fs.readFileSync("files/" + xauthor + "entities/" + xentity);
|
|
141
|
+
} catch (err) {
|
|
142
|
+
if (err.code === 'ENOENT') {
|
|
143
|
+
return "Entity not found";
|
|
144
|
+
} else {
|
|
145
|
+
throw err;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// DECODING SECRET
|
|
150
|
+
var entity_enc = fileContents
|
|
151
|
+
var entity_obj = entity_pb.entity.decode(entity_enc)
|
|
152
|
+
|
|
153
|
+
return entity_obj;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
module.exports = { getCurrentDate, getMomentObj, getPioneerObj, getSecretObj, getEntityObj }
|
package/index.js
CHANGED
|
@@ -80,6 +80,33 @@ exports.getPioneerObj = (xpioneer = this.makePioneer()) => {
|
|
|
80
80
|
return pioneer_object;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
+
|
|
84
|
+
//////////////////
|
|
85
|
+
/// ENTITY ///
|
|
86
|
+
//////////////////
|
|
87
|
+
|
|
88
|
+
/** makeEntity
|
|
89
|
+
* [Entity maker]
|
|
90
|
+
*
|
|
91
|
+
* @return {string} entity_buffer
|
|
92
|
+
*/
|
|
93
|
+
exports.makeEntity = (xsecret, format = 'MM DD YYYY HH:mm:SSS [GMT]Z') => {
|
|
94
|
+
const entity_buffer = maker.entity(xsecret, format);
|
|
95
|
+
return entity_buffer;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** getEntityObj
|
|
99
|
+
* [Function that recieves a entity hash and returns the entity object]
|
|
100
|
+
*
|
|
101
|
+
* @param {string} xentity (required)
|
|
102
|
+
*
|
|
103
|
+
* @return {obj} entity_object (entity object)
|
|
104
|
+
*/
|
|
105
|
+
exports.getEntityObj = (xentity) => {
|
|
106
|
+
const entity_object = getter.getEntityObj(xentity);
|
|
107
|
+
return entity_object;
|
|
108
|
+
}
|
|
109
|
+
|
|
83
110
|
////////////////
|
|
84
111
|
/// SECRET ///
|
|
85
112
|
////////////////
|
package/maker.js
CHANGED
|
@@ -174,7 +174,7 @@ function entity(xsecret, format) {
|
|
|
174
174
|
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
175
|
}
|
|
176
176
|
else{
|
|
177
|
-
if(
|
|
177
|
+
if(checker.isSecretUsed(xsecret) == false){
|
|
178
178
|
// CREATING entity
|
|
179
179
|
var entity = pb(fs.readFileSync('node_modules/pathchain/proto/entity.proto'))
|
|
180
180
|
|