All files / middlewares warehouseValidations.js

100% Statements 20/20
100% Branches 22/22
100% Functions 4/4
100% Lines 20/20

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            3x   3x 1x   2x             2x 1x               3x   3x 1x   2x       2x 1x                 2x   2x 1x         3x   3x 2x             2x 1x                          
import APIError from '../helpers/error';
import { t } from '../helpers/i18n';
import WarehouseInformation from '../source/warehouses/information';
import BranchInformation from '../source/branches/information';
 
async function validWarehouseId(req) {
  const warehouseId = req.body.warehouseId || req.query.warehouseId;
 
  if (!warehouseId) {
    throw new APIError('INVALID_WAREHOUSE_ID');
  } else {
    const existWarehouse = await WarehouseInformation.getWarehouse(
      {
        id: warehouseId,
      },
      { userBranches: req.userBranches }
    );
 
    if (!existWarehouse) {
      throw new APIError(
        'NOT_EXIST_WAREHOUSE_ID',
        t('BEE1236', { 0: warehouseId } /* Armazém %{0} não localizada */)
      );
    }
  }
}
async function validCode(req) {
  const code = req.body.code || req.query.code;
 
  if (!code) {
    throw new APIError('INVALID_WAREHOUSE_CODE');
  } else {
    const existWarehouse = await WarehouseInformation.getWarehouse({
      code,
    });
 
    if (existWarehouse) {
      throw new APIError(
        'EXIST_WAREHOUSE_CODE',
        t('BEE1173', { 0: code } /* Codigo %{0} já cadastrado  */)
      );
    }
  }
}
 
function validWarehouseName(req) {
  const name = req.body.name || req.query.name;
 
  if (!name) {
    throw new APIError('INVALID_NAME', t('BEE3562' /* Nome inválido */));
  }
}
 
async function validBranch(req) {
  const branch = req.body.branchCode || req.query.branchCode;
 
  if (branch) {
    const existBranch = await BranchInformation.getBranch(
      {
        code: branch,
      },
      { userBranches: req.userBranches }
    );
 
    if (!existBranch)
      throw new APIError(
        '',
        t('BEE1160', { 0: branch } /* Filial %{0} inválida ! */)
      );
  }
}
 
export default {
  validWarehouseId,
  validCode,
  validWarehouseName,
  validBranch,
};