UNPKG

genesis-cli

Version:

It´s a CLI app to Create NodeJS projects like a boss

72 lines (68 loc) 1.74 kB
'use strict'; const Sequelize = require('sequelize'); const dbModel = require('../app/models/index'); const DB = {}; DB.findOne = async (model, id) => { const where = {id, enable: 1}; return await dbModel[model].findOne({where}).then(data => { return data; }); }; DB.findOneCustom = async (model, where, attributes) => { return await dbModel[model].findOne({where, attributes}).then(data => { return data; }); }; DB.findAll = async model => { return dbModel[model] .findAll({ where: {enable: 1}, attributes: {exclude: ['createdAt', 'updatedAt']} }) .then(data => { return data; }); }; DB.findOneCustomQuery = async (model, query) => { return await dbModel[model].sequelize .query(query, {type: Sequelize.QueryTypes.SELECT}) .then(data => { return data[0]; }); }; DB.findAllCustomQuery = async (model, query) => { return await dbModel[model].sequelize .query(query, { type: Sequelize.QueryTypes.SELECT, attributes: {exclude: ['createdAt', 'updatedAt']} }) .then(data => { return data; }); }; DB.update = async (model, paylod, id) => { const where = {id}; return await dbModel[model].update(paylod, {where}).then(([rowAffected, rowsUpdate, data]) => { return rowAffected; }); }; DB.create = async (model, paylod) => { return await dbModel[model].create(paylod).then(data => { return data; }); }; DB.bulkCreate = async (model, paylod) => { return await dbModel[model].bulkCreate(paylod).then(data => { return data; }); }; //Change the status, (logic deleted) DB.delete = async (model, id) => { const where = {id}; return await dbModel[model] .update({enable: 0}, {where}) .then(([rowAffected, rowsUpdate, data]) => { return rowAffected; }); }; module.exports = DB;