update promises

This commit is contained in:
boneyard93501 2021-10-23 13:46:55 -05:00
parent afc70bff1c
commit b56b811553

View File

@ -1,6 +1,8 @@
// import { sqlite3, open } from 'sqlite3'; // import { sqlite3, open } from 'sqlite3';
// var sqlite3 = require("sqlite3").verbose(); // var sqlite3 = require("sqlite3").verbose();
// import "sqlite3"; // import "sqlite3";
import { resolveProperties } from '@ethersproject/properties';
import { ResultCodes } from '@fluencelabs/fluence/dist/internal/commonTypes';
import * as sqlite from 'sqlite3'; import * as sqlite from 'sqlite3';
const sqlite3 = sqlite.verbose(); const sqlite3 = sqlite.verbose();
import { Response } from './eip_processor'; import { Response } from './eip_processor';
@ -19,6 +21,11 @@ export interface DBRecord {
signed_response: string; signed_response: string;
} }
export interface DBResult {
stderr: string;
stdout: Array<DBRecord>
}
// db handler // db handler
export function get_db(db_path: string): sqlite.Database { export function get_db(db_path: string): sqlite.Database {
var db_path = db_path; var db_path = db_path;
@ -78,72 +85,50 @@ export async function insert_event(db: sqlite.Database, eip_obj: any, response_o
return promise; return promise;
} }
export async function select_event(snapshot_id: number): Promise<DBResult> {
// export function select_event(snapshot_id: number): DBRecord {
export function select_event(snapshot_id: number): any {
// todo: adding request log
var db = get_db(DB_PATH); var db = get_db(DB_PATH);
let result: DBResult = {} as DBResult;
const stmt = 'select * from snapshot where snapshot_id=?' const stmt = 'select * from snapshot where snapshot_id=?'
db.get(stmt, [snapshot_id], (err, row) => { return new Promise((resolve) => {
db.close(); db.get(stmt, [snapshot_id], (err, row) => {
if (err) { db.close();
return console.error(err.message); if (err) {
} result.stderr = err.message;
return row result.stdout = [];
? console.log(row) resolve(result)
: console.log(`No record found for snapshot id: ${snapshot_id}`); }
else {
result.stderr = "";
const response_arr = new Array<DBRecord>();
response_arr.push(row);
result.stdout = response_arr;
resolve(result);
}
});
}); });
db.close();
}; };
// export function select_events(): Array<DBRecord> { // todo: add pagination
export async function select_events(): Promise<any> { export function select_events(): Promise<DBResult> {
var db = get_db(DB_PATH); var db = get_db(DB_PATH);
// todo: add pagination const stmt = "select * from snapshot limit ?";
const stmt = 'select * from snapshot limit ?'; let result: DBResult = {} as DBResult;
console.log("select events stmt: ", stmt); return new Promise((resolve) => {
var response_arr = new Array<DBRecord>(); db.all(stmt, [100], (err, rows) => {
const select = db.all(stmt, [100], (err, rows) => { console.log("number of rows: ", rows.length);
console.log("number of rows: ", rows.length); if (err) {
if (err) { result.stderr = err.message;
// todo: no good, change that. result.stdout = [];
console.error(err.message); } else {
return []; const response_arr = new Array<DBRecord>();
} for (var row of rows) {
else { const _row: DBRecord = row;
for (var row of rows) { response_arr.push(_row);
const _row: DBRecord = row; }
response_arr.push(_row); result.stderr = "";
result.stdout = response_arr;
}; }
console.log("len resp array in db all: ", response_arr.length); resolve(result);
return response_arr; });
}
}); });
// console.log("select: ", select); }
// db.close();
// console.log("len resp array out of db all: ", response_arr);
// return response_arr;
}
/*
var db = new sqlite3.Database(DB_PATH);
db.serialize(function () {
const create_stmt = "CREATE TABLE lorem (info TEXT)";
db.run(create_stmt);
const ins_stmt = "INSERT INTO lorem VALUES (?)";
var stmt = db.prepare("INSERT INTO lorem VALUES (?)");
for (var i = 0; i < 10; i++) {
stmt.run("Ipsum " + i);
}
stmt.finalize();
db.each("SELECT rowid AS id, info FROM lorem", function (err: any, row: any) {
console.log(row.id + ": " + row.info);
});
});
*/