UNPKG

@wbg-mde/repository

Version:

Managing all common method for file system CRUD operations.

350 lines (349 loc) 11.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const _ = require("lodash"); const app_repo_constants_1 = require("../shared/app.repo.constants"); const mongodbClient_1 = require("./mongodbClient"); class MongoDBRepository { create(type, entity, data, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .insertOne(data, (err, newDoc) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: newDoc.ops[0] }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } find(type, entity, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .find({}) .toArray((err, items) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: items }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } export(type, entity, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .find({}) .toArray((err, items) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: items }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } findByFilter(type, entity, filter, callback) { try { let defaultFilter = {}; if (filter != undefined) { defaultFilter = _.merge(defaultFilter, filter); } mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .find(defaultFilter) .toArray((err, items) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: items }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } findById(type, entity, id, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .find({ _id: id }) .toArray((err, items) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: items[0] }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } findByName(type, entity, name, id, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .find({ name: name, _id: { $ne: id } }) .toArray((err, items) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: items }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } update(type, entity, query, data, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .update(query, data, (err, items) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } delete(type, entity, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .deleteMany({}, (err, result) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", messages: result.deletedCount }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } deleteById(type, entity, id, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .deleteOne({ _id: id }, (err, result) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: result.deletedCount }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } deleteByStatus(type, entity, stat, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(entity) .deleteOne({ status: stat }, (err, result) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: result.deletedCount }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } deleteByLanguage(dbfile, language, callback) { try { mongodbClient_1.MongoHelper.getInstance().then(client => { client .db(app_repo_constants_1.App_Repository_Constants.dbName) .collection(dbfile) .deleteOne({ language: language }, (err, result) => { if (err) { callback({ result: "error", messages: err }); } else { callback({ result: "ok", data: result.deletedCount }); } }); }); } catch (err) { callback({ result: "error", messages: err }); } } } exports.MongoDBRepository = MongoDBRepository;