All files / middlewares transportEquipmentValidations.js

100% Statements 19/19
100% Branches 20/20
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            3x 3x 1x         2x     2x 1x                 3x   3x 1x         2x     2x 1x                 5x   5x 1x       4x 1x       3x 1x                        
import APIError from '../helpers/error';
import { t } from '../helpers/i18n';
import TransportEquipmentInformation from '../source/transportEquipment/information';
 
async function validTransportEquipmentId(req) {
  const transportEquipmentId =
    req.body.transportEquipmentId || req.query.transportEquipmentId;
  if (!transportEquipmentId) {
    throw new APIError(
      'INVALID_TRANSPORT_EQUIPMENT_ID',
      t('BEE1728' /* Equipamento de transportes não encontrado */)
    );
  } else {
    const exist = await TransportEquipmentInformation.getTransportEquipment({
      id: transportEquipmentId,
    });
    if (!exist) {
      throw new APIError(
        'NOT_EXIST_TRANSPORT_EQUIPMENT_ID',
        t('BEE1728' /* Equipamento de transportes não encontrado */)
      );
    }
  }
}
 
async function validTransportEquipmentCode(req) {
  const code = req.body.code || req.query.code;
 
  if (!code) {
    throw new APIError(
      'INVALID_TRANSPORT_EQUIPMENT_CODE',
      t('BEE1746' /* Código não preenchido */)
    );
  } else {
    const exist = await TransportEquipmentInformation.getTransportEquipment({
      code,
    });
    if (exist) {
      throw new APIError(
        'EXIST_TRANSPORT_EQUIPMENT_CODE',
        t('BEE262' /* O código informado já existe! */)
      );
    }
  }
}
 
function validTransportEquipment(req) {
  const { note, brand, model } = req.body || req.query;
 
  if (!note) {
    throw new APIError(
      'INVALID_TRANSPORT_EQUIPMENT',
      t('BEE1739' /* Descrição não preenchido */)
    );
  } else if (!brand) {
    throw new APIError(
      'INVALID_TRANSPORT_EQUIPMENT',
      t('BEE1740' /* Marca não preenchido */)
    );
  } else if (!model) {
    throw new APIError(
      'INVALID_TRANSPORT_EQUIPMENT',
      t('BEE1741' /* Modelo não preenchido */)
    );
  }
}
 
export default {
  validTransportEquipmentId,
  validTransportEquipmentCode,
  validTransportEquipment,
};