All files / database/dao agent.js

100% Statements 11/11
100% Branches 6/6
100% Functions 8/8
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66    11x     2x             2x             2x             2x       1x       1x   1x             1x   1x             1x                          
import db from './index';
 
const { Agent } = db;
 
async function findAgent(query, opts = {}) {
  return Agent.findOne({
    where: query,
    ...opts,
  });
}
 
async function findAgents(query, opts = {}) {
  return Agent.findAll({
    where: query,
    ...opts,
  });
}
 
async function findAndCountAgents(query, opts = {}) {
  return Agent.findAndCountAll({
    where: query,
    ...opts,
  });
}
 
async function createAgents(agents, opts = {}) {
  return Agent.bulkCreate(agents, opts);
}
 
async function createAgent(agent) {
  return Agent.create(agent);
}
 
async function updateAgent(query, queryUpd, opts = {}) {
  const customOpts = { ...opts, individualHooks: true };
 
  return Agent.update(queryUpd, {
    where: query,
    ...customOpts,
  });
}
 
async function deleteAgent(query, opts = {}) {
  const customOpts = { ...opts, individualHooks: true };
 
  return Agent.destroy({
    where: query,
    ...customOpts,
  });
}
 
async function getLastDateUpdatedAgent() {
  return Agent.max('updatedAt');
}
 
export default {
  findAgent,
  findAgents,
  findAndCountAgents,
  createAgent,
  createAgents,
  updateAgent,
  deleteAgent,
  getLastDateUpdatedAgent,
};