pathchain 1.0.6 → 1.0.7

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.
Files changed (4) hide show
  1. package/getter.js +41 -1
  2. package/index.js +37 -0
  3. package/maker.js +48 -1
  4. package/package.json +1 -1
package/getter.js CHANGED
@@ -81,4 +81,44 @@ function getPioneerObj(xpioneer) {
81
81
  return pioneer_obj;
82
82
  }
83
83
 
84
- module.exports = { getCurrentDate, getMomentObj, getPioneerObj }
84
+
85
+ /** getSecretObj
86
+ * [Function that recieves a secret hash and returns the secret object]
87
+ *
88
+ * @param {string} xsecret (required)
89
+ *
90
+ * @return void
91
+ */
92
+ function getSecretObj(xsecret) {
93
+ // "secret/hash" FORMAT EXCEPTION
94
+ /*if(xsecret.split("/").length > 1){
95
+ xsecret = xsecret.split("/")[xsecret.length -1]
96
+ }*/
97
+
98
+ if(author_folder != ""){
99
+ author_folder = author_folder + '/';
100
+ }
101
+
102
+ // LOADING PB
103
+ var secret_pb = pb(fs.readFileSync('node_modules/pathos-proto-infra/proto/secret.proto'))
104
+
105
+ // NOT FOUND EXCEPTION
106
+ var fileContents;
107
+ try {
108
+ fileContents = fs.readFileSync("files/" + author_folder + "secrets/" + xsecret);
109
+ } catch (err) {
110
+ if (err.code === 'ENOENT') {
111
+ return "Secret not found";
112
+ } else {
113
+ throw err;
114
+ }
115
+ }
116
+
117
+ // DECODING SECRET
118
+ var secret_enc = fileContents
119
+ var secret_obj = secret_pb.secret.decode(secret_enc)
120
+
121
+ return secret_obj;
122
+ }
123
+
124
+ module.exports = { getCurrentDate, getMomentObj, getPioneerObj, getSecretObj }
package/index.js CHANGED
@@ -77,4 +77,41 @@ exports.makePioneer = (datetime = getter.getCurrentDate(), format = 'MM DD YYYY
77
77
  exports.getPioneerObj = (xpioneer = this.makePioneer()) => {
78
78
  const pioneer_object = getter.getPioneerObj(xpioneer);
79
79
  return pioneer_object;
80
+ }
81
+
82
+ ////////////////
83
+ /// SECRET ///
84
+ ////////////////
85
+
86
+ /** makeSecret
87
+ * [Secret maker]
88
+ *
89
+ * @return {string} secret_buffer
90
+ */
91
+ exports.makeSecret = (author = maker.pioneer(), format = 'MM DD YYYY HH:mm:SSS [GMT]Z') => {
92
+ const secret_buffer = maker.secret(author, format)
93
+ return secret_buffer
94
+ }
95
+
96
+ /** useSecret
97
+ * [Secret using]
98
+ *
99
+ * @return {string} secret_buffer
100
+ */
101
+ exports.useSecret = (xsecret) => {
102
+ const secret_buffer = updater.useSecret(xsecret)
103
+ return secret_buffer
104
+ }
105
+
106
+ /** getSecretObj
107
+ * [Function that recieves a moment hash and returns the moment object]
108
+ *
109
+ * @param {string} xsecret (required)
110
+ * @param {string} xauthor (optional)
111
+ *
112
+ * @return {obj} secret_object (entity object)
113
+ */
114
+ exports.getSecretObj = (xsecret, xauthor = "") => {
115
+ const secret_object = getter.getSecretObj(xsecret, xauthor);
116
+ return secret_object;
80
117
  }
package/maker.js CHANGED
@@ -55,6 +55,49 @@ function moment(datetime, lat, lon, x, y, z, format) {
55
55
  return moment_hash;
56
56
  }
57
57
 
58
+ /** secret
59
+ * [Pioneer Protocol Buffer Creation]
60
+ *
61
+ * @param {string} author (optional, default=pioneer_hash)
62
+ * @param {string} format (required)
63
+ *
64
+ * @return {string} secret_hash
65
+ */
66
+ function secret(author, format) {
67
+ checker.checkDir("files/entities/")
68
+
69
+ // There is no pioneer
70
+ if(checker.checkEmptyDir("files/entities/")){
71
+ var secret_pb = pb(fs.readFileSync('node_modules/pathos-proto-infra/proto/secret.proto'))
72
+
73
+ var register = new Date()
74
+ register = dt.format(register, dt.compile(format, true));
75
+
76
+ var register_moment_hash = moment(register, format, 0, 0, 0, 0, 0)
77
+
78
+ var secret_hash = sha256(register_moment_hash + "_" + author);
79
+
80
+ var buffer = secret_pb.secret.encode({
81
+ register: "moments/"+register_moment_hash,
82
+ author: author,
83
+ used: false,
84
+ tag: "secrets/"+secret_hash,
85
+ })
86
+
87
+ checker.checkDir("files/secrets/") // checking
88
+ checker.checkDir("files/"+ author +"/secrets/") // checking
89
+
90
+ fs.writeFileSync("files/secrets/" + secret_hash, buffer);
91
+ fs.writeFileSync("files/"+ author +"/secrets/" + secret_hash, buffer);
92
+
93
+ return "secrets/"+secret_hash;
94
+ }
95
+ // The pioneer already exists
96
+ else{
97
+ return "The pioneer has only one secret";
98
+ }
99
+ }
100
+
58
101
  /** pioneer
59
102
  * [Pioneer Protocol Buffer Creation]
60
103
  *
@@ -93,6 +136,9 @@ function pioneer(xbigbang, format) {
93
136
  tag: "entities/"+pioneer_hash,
94
137
  })
95
138
 
139
+ const the_secret = secret(pioneer_hash);
140
+ console.log("The pioneer secret buffer is: ", the_secret)
141
+
96
142
  // Save as active entity
97
143
  checker.checkDir("files/entities/")
98
144
  fs.writeFileSync("files/entities/" + pioneer_hash, buffer);
@@ -109,4 +155,5 @@ function pioneer(xbigbang, format) {
109
155
  }
110
156
  }
111
157
 
112
- module.exports = { moment, pioneer }
158
+
159
+ module.exports = { moment, pioneer, secret }
package/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "pathchain",
3
- "version": "1.0.6"
3
+ "version": "1.0.7"
4
4
  }