All files / controllers averageCosts.js

100% Statements 19/19
47.05% Branches 8/17
100% Functions 3/3
100% Lines 19/19

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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108      2x   2x 2x             1x                                     1x       1x     1x 1x     1x         2x 2x   2x               1x 1x                                               1x               1x     1x 1x     1x                
import AverageCostInformation from '../source/averageCosts/information';
 
async function getAverageCost(req, res) {
  const { averageCostId } = req.query;
 
  try {
    const averageCost = await AverageCostInformation.getAverageCost(
      {
        id: averageCostId,
      },
      { userBranches: req.userBranches }
    );
 
    const data = {
      id: averageCost.id,
      branchCode: averageCost.branchCode,
      branchName: averageCost.branch
        ? `${averageCost.branch.code}-${averageCost.branch.name}`
        : '',
      warehouseCode: averageCost.warehouseCode,
      warehouseName: averageCost.warehouse
        ? `${averageCost.warehouse.code}-${averageCost.warehouse.name}`
        : '',
      productCode: averageCost.productCode,
      productName: averageCost.product
        ? `${averageCost.product.code}-${averageCost.product.name}`
        : '',
      averageCost: averageCost.averageCost,
      costDate: averageCost.costDate,
      note: averageCost.note,
    };
 
    const response = {
      success: true,
      data,
    };
    res.json(response);
  } catch (err) {
    // eslint-disable-next-line no-console
    console.log(err);
    const response = {
      success: false,
    };
    res.json(response);
  }
}
 
async function getAllAverageCosts(req, res) {
  try {
    const { page, pageSize = 10, filtered, sorted } = req.body;
 
    const allAverageCosts = await AverageCostInformation.getAllAverageCosts(
      page,
      pageSize,
      filtered,
      sorted,
      { userBranches: req.userBranches }
    );
 
    const data = allAverageCosts.rows.map((averageCost) => {
      return {
        id: averageCost.id,
        branchCode: averageCost.branchCode,
        branchName: averageCost.branch
          ? `${averageCost.branch.code}-${averageCost.branch.name}`
          : '',
        warehouseCode: averageCost.warehouseCode,
        warehouseName: averageCost.warehouse
          ? `${averageCost.warehouse.code}-${averageCost.warehouse.name}`
          : '',
        productCode: averageCost.productCode,
        productName: averageCost.product
          ? `${averageCost.productCode}-${averageCost.product.name}`
          : '',
        productDescription: averageCost.product ? averageCost.product.name : '',
        averageCost: parseFloat(averageCost.averageCost),
        costDate: averageCost.costDate ? averageCost.costDate : '',
        note: averageCost.note,
        createdAt: averageCost.createdAt,
        updatedAt: averageCost.updatedAt,
        userCreatedLogin: averageCost.userCreated.login,
        userUpdatedLogin: averageCost.userUpdated.login,
      };
    });
    const response = {
      success: true,
      data: {
        data,
        pages: Math.ceil(allAverageCosts.count / pageSize),
        totalDataLength: allAverageCosts.count,
      },
    };
    res.json(response);
  } catch (err) {
    // eslint-disable-next-line no-console
    console.log(err);
    const response = {
      success: false,
    };
    res.json(response);
  }
}
 
export default {
  getAllAverageCosts,
  getAverageCost,
};