All files / database/dao product.js

100% Statements 9/9
100% Branches 7/7
100% Functions 8/8
100% Lines 9/9

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    113x     1x             1x             1x             1x             1x       1x       1x             1x                                
import db from './index';
 
const { Product } = db;
 
async function countProduct(query, opts = {}) {
  return Product.count({
    where: query,
    ...opts,
  });
}
 
async function findProduct(query, opts = {}) {
  return Product.findOne({
    where: query,
    ...opts,
  });
}
 
async function findProducts(query, opts = {}) {
  return Product.findAll({
    where: query,
    ...opts,
  });
}
 
async function findAndCountProducts(query, opts = {}) {
  return Product.findAndCountAll({
    where: query,
    ...opts,
  });
}
 
async function createProducts(products, opts = {}) {
  return Product.bulkCreate(products, opts);
}
 
async function createProduct(product) {
  return Product.create(product);
}
 
async function updateProduct(query, queryUpd, opts = {}) {
  return Product.update(queryUpd, {
    where: query,
    ...opts,
  });
}
 
async function deleteProduct(query, opts = {}) {
  return Product.destroy({
    where: query,
    ...opts,
  });
}
 
export default {
  countProduct,
  findProduct,
  findProducts,
  findAndCountProducts,
  createProduct,
  createProducts,
  updateProduct,
  deleteProduct,
}