@salilvnair/jsxpa
Version:
React Persistant API
61 lines (60 loc) • 2.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var JsxpaConstant = require("../../../constant/jsxpa.constant");
var NeDBConstant = require("../constant/nedb.constant");
var jsx_electron_1 = require("@salilvnair/jsx-electron");
var NeDBService = /** @class */ (function () {
function NeDBService() {
this.jsxElectronUtil = new jsx_electron_1.JsxElectronUtil();
this.path = this.jsxElectronUtil.remote.require("path");
this.fs = this.jsxElectronUtil.remote.require("fs");
}
NeDBService.prototype.selectAllSync = function (databaseName) {
var rows = [];
var configPathDetail;
var neDBConfig = this.config;
var app = this.jsxElectronUtil.remote.require("electron").app;
if (neDBConfig) {
if (neDBConfig.storeInUserHome) {
var userHome = this.jsxElectronUtil.env().HOME || this.jsxElectronUtil.env().USERPROFILE;
configPathDetail = this.path.join(userHome, '.ngpa', neDBConfig.applicationName.toLowerCase(), JsxpaConstant.JSXPA_FOLDER_NAME, NeDBConstant.NEDB_HOME_FOLDER_NAME, NeDBConstant.NEDB_CONFIG_DATABASE_FOLDER_NAME, databaseName + NeDBConstant.NEDB_DATABASE_FILENAME_EXTENSTION);
}
}
else {
configPathDetail = this.path.join(app.getAppPath(), JsxpaConstant.JSXPA_FOLDER_NAME, NeDBConstant.NEDB_HOME_FOLDER_NAME, NeDBConstant.NEDB_CONFIG_DATABASE_FOLDER_NAME, databaseName + NeDBConstant.NEDB_DATABASE_FILENAME_EXTENSTION);
}
var data = this.fs.readFileSync(configPathDetail, "utf8");
if (data == "" || data == null) {
return rows;
}
var arr = data.trim().split(/\r|\n/);
arr.forEach(function (el) {
var eld = JSON.parse(el);
rows.push(eld);
});
return rows;
};
NeDBService.prototype.selectOneSync = function (id, databaseName) {
var row = Object.assign(null);
var rows = this.selectAllSync(databaseName);
if (rows.length > 0) {
rows.find(function (rowItr, index) {
return rowItr["_id"] === id;
});
}
return row;
};
NeDBService.prototype.selectOneByColumnSync = function (columnName, columnValue, databaseName) {
var row = {};
var rows = this.selectAllSync(databaseName);
if (rows.length > 0) {
var index = rows.findIndex(function (rowItr) { return rowItr[columnName] === columnValue; });
if (index > -1) {
row = rows[index];
}
}
return row;
};
return NeDBService;
}());
exports.NeDBService = NeDBService;