All files / middlewares volumePlateValidations.js

100% Statements 9/9
100% Branches 8/8
100% Functions 1/1
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              4x   4x 1x         3x               3x             3x 1x                 2x 1x                          
import APIError from '../helpers/error';
import { t } from '../helpers/i18n';
 
import InboundDocumentInformation from '../source/inboundDocuments/information';
import inboundOrdersInformation from '../source/inboundOrders/information';
 
async function validAccessKey(req) {
  const accessKey = req.body.accessKey || req.query.accessKey;
 
  if (!accessKey) {
    throw new APIError(
      '',
      t('BEE3168' /* Chave de Acesso deve ser informada! */)
    );
  } else {
    const inboundDocument = await InboundDocumentInformation.getInboundDocument(
      {
        accessKey,
      },
      { userBranches: req.userBranches }
    );
 
    const inboundOrders =
      await inboundOrdersInformation.getInboundOrderValidation(
        {
          accessKey,
        },
        { userBranches: req.userBranches }
      );
 
    if (!inboundDocument) {
      throw new APIError(
        '',
        t(
          'BEE3169',
          {
            0: accessKey,
          } /* Nenhum documento foi localizado para a Chave de Acesso %{0}. */
        )
      );
    } else if (inboundOrders.status !== 1) {
      throw new APIError(
        '',
        t(
          'BEE2537' /* Status do Documento não permite a Conferência de Placa */
        )
      );
    }
  }
}
 
export default {
  validAccessKey,
};