holepunch-hop 0.2.7 → 0.2.8
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/package.json +1 -1
- package/src/adapters/sqliteDatabase.js +41 -5
- package/src/bees.js +18 -2
- package/src/drive.js +33 -3
package/package.json
CHANGED
|
@@ -29,9 +29,23 @@ class SqliteAdapter extends EventEmitter {
|
|
|
29
29
|
this.createDbConnection(db)
|
|
30
30
|
// ask for tables
|
|
31
31
|
let tables = await this.discoverTables()
|
|
32
|
-
let header = await this.discoverColumns()
|
|
32
|
+
// let header = await this.discoverColumns()
|
|
33
33
|
newSqlite.tables = tables
|
|
34
|
-
newSqlite.headers = header
|
|
34
|
+
// newSqlite.headers = header
|
|
35
|
+
return newSqlite
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* discover colum names in a table
|
|
40
|
+
* @method tableQuery
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
tableQuery = async function (data) {
|
|
44
|
+
let newSqlite = {}
|
|
45
|
+
this.createDbConnection(data.file)
|
|
46
|
+
// ask for tables
|
|
47
|
+
let headers = await this.discoverColumns(data.table)
|
|
48
|
+
newSqlite.headers = headers
|
|
35
49
|
return newSqlite
|
|
36
50
|
}
|
|
37
51
|
|
|
@@ -83,14 +97,13 @@ class SqliteAdapter extends EventEmitter {
|
|
|
83
97
|
// columns in table
|
|
84
98
|
let header = []
|
|
85
99
|
const res = await new Promise((resolve, reject) => {
|
|
86
|
-
let sqlTableCols = `PRAGMA table_info('
|
|
87
|
-
|
|
100
|
+
let sqlTableCols = `PRAGMA table_info('` + table + `')`
|
|
88
101
|
this.dataBase.all(sqlTableCols, [], (err, rows) => {
|
|
89
102
|
if (err) {
|
|
90
103
|
reject(err)
|
|
91
104
|
}
|
|
92
105
|
rows.forEach((row) => {
|
|
93
|
-
|
|
106
|
+
header.push(row)
|
|
94
107
|
})
|
|
95
108
|
resolve(header)
|
|
96
109
|
})
|
|
@@ -122,6 +135,29 @@ class SqliteAdapter extends EventEmitter {
|
|
|
122
135
|
return res
|
|
123
136
|
}
|
|
124
137
|
|
|
138
|
+
/**
|
|
139
|
+
* query device table
|
|
140
|
+
* @method deviceQuery
|
|
141
|
+
*
|
|
142
|
+
*/
|
|
143
|
+
deviceQuery = async function (table) {
|
|
144
|
+
let data = []
|
|
145
|
+
const res = await new Promise((resolve, reject) => {
|
|
146
|
+
let sqlQuery = `SELECT * FROM ` + table
|
|
147
|
+
|
|
148
|
+
this.dataBase.all(sqlQuery, [], (err, rows) => {
|
|
149
|
+
if (err) {
|
|
150
|
+
reject(err)
|
|
151
|
+
}
|
|
152
|
+
rows.forEach((row) => {
|
|
153
|
+
data.push(row)
|
|
154
|
+
})
|
|
155
|
+
resolve(data)
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
return res
|
|
159
|
+
}
|
|
160
|
+
|
|
125
161
|
}
|
|
126
162
|
|
|
127
163
|
export default SqliteAdapter
|
package/src/bees.js
CHANGED
|
@@ -113,6 +113,7 @@ class HyperBee extends EventEmitter {
|
|
|
113
113
|
*
|
|
114
114
|
*/
|
|
115
115
|
savePubliclibrary = async function (refContract) {
|
|
116
|
+
console.log(refContract)
|
|
116
117
|
let beeSave = await this.dbPublicLibrary.put(refContract.data.hash, refContract.data.contract)
|
|
117
118
|
// go query the key are return the info. to ensure data save asplanned.
|
|
118
119
|
let saveCheck = await this.getPublicLibrary(refContract.data.hash)
|
|
@@ -131,8 +132,8 @@ class HyperBee extends EventEmitter {
|
|
|
131
132
|
*
|
|
132
133
|
*/
|
|
133
134
|
savePeerLibrary = async function (refContract) {
|
|
134
|
-
await this.dbPeerLibrary.put(refContract.hash, refContract.contract)
|
|
135
|
-
let saveCheck = await this.getPeerLibrary(refContract.hash)
|
|
135
|
+
await this.dbPeerLibrary.put(refContract.data.hash, refContract.data.contract)
|
|
136
|
+
let saveCheck = await this.getPeerLibrary(refContract.data.hash)
|
|
136
137
|
let returnMessage = {}
|
|
137
138
|
returnMessage.stored = true
|
|
138
139
|
returnMessage.type = refContract.reftype
|
|
@@ -398,6 +399,21 @@ class HyperBee extends EventEmitter {
|
|
|
398
399
|
|
|
399
400
|
}
|
|
400
401
|
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* delete nxp ref contract public
|
|
406
|
+
* @method deleteRefcontPubliclibrary
|
|
407
|
+
*
|
|
408
|
+
*/
|
|
409
|
+
deleteRefcontPubliclibrary = async function (nxpID) {
|
|
410
|
+
let deleteInfo = {}
|
|
411
|
+
let deleteStatus = await this.dbPublicLibrary.del(nxpID)
|
|
412
|
+
deleteInfo.success = deleteStatus
|
|
413
|
+
deleteInfo.nxp = nxpID
|
|
414
|
+
return deleteInfo
|
|
415
|
+
}
|
|
416
|
+
|
|
401
417
|
/**
|
|
402
418
|
* delete nxp ref contract from peer library
|
|
403
419
|
* @method deleteRefcontPeerlibrary
|
package/src/drive.js
CHANGED
|
@@ -88,7 +88,6 @@ class HypDrive extends EventEmitter {
|
|
|
88
88
|
*/
|
|
89
89
|
listFilesFolder = function (folder) {
|
|
90
90
|
const stream = this.drive.list('') // [options])
|
|
91
|
-
// console.log(stream)
|
|
92
91
|
// Handle stream events --> data, end, and error
|
|
93
92
|
let dataDrive = []
|
|
94
93
|
stream.on('data', function(chunk) {
|
|
@@ -170,7 +169,7 @@ class HypDrive extends EventEmitter {
|
|
|
170
169
|
const parseData = await this.SQLiteSetup(name)
|
|
171
170
|
fileResponse.filename = name
|
|
172
171
|
fileResponse.header = parseData.headers
|
|
173
|
-
fileResponse.
|
|
172
|
+
fileResponse.tables = parseData.tables
|
|
174
173
|
return fileResponse
|
|
175
174
|
}
|
|
176
175
|
|
|
@@ -264,7 +263,38 @@ class HypDrive extends EventEmitter {
|
|
|
264
263
|
return summarySQLinfo
|
|
265
264
|
}
|
|
266
265
|
|
|
267
|
-
|
|
266
|
+
/**
|
|
267
|
+
* set file path, read and make sqlite3 connect db
|
|
268
|
+
* @method SQLiteSourceSetup
|
|
269
|
+
*
|
|
270
|
+
*/
|
|
271
|
+
SQLiteSourceSetup = async function (data) {
|
|
272
|
+
// const stream = this.liveDataAPI.DriveFiles.listFilesFolder('sqlite/')
|
|
273
|
+
let dbFile = await this.hyperdriveLocalfile('sqlite/' + data.db)
|
|
274
|
+
data.file = dbFile
|
|
275
|
+
let summarySQLinfo = await this.AdapterSqlite.tableQuery(data)
|
|
276
|
+
return summarySQLinfo
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* ask for device tables and info.
|
|
282
|
+
* @method SQLiteDeviceSetup
|
|
283
|
+
*
|
|
284
|
+
*/
|
|
285
|
+
SQLiteDeviceSetup = async function (data) {
|
|
286
|
+
// const stream = this.liveDataAPI.DriveFiles.listFilesFolder('sqlite/')
|
|
287
|
+
let dbFile = await this.hyperdriveLocalfile('sqlite/' + data.db)
|
|
288
|
+
data.file = dbFile
|
|
289
|
+
let summaryTable = await this.AdapterSqlite.tableQuery(data)
|
|
290
|
+
let summaryDevice = await this.AdapterSqlite.deviceQuery(data.table)
|
|
291
|
+
let summarySQLinfo = {}
|
|
292
|
+
summarySQLinfo.tables = summaryTable
|
|
293
|
+
summarySQLinfo.devices = summaryDevice
|
|
294
|
+
return summarySQLinfo
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
268
298
|
* set file path, read and make sqlite3 connect db
|
|
269
299
|
* @method SQLiteQuery
|
|
270
300
|
*
|