All files / source/inboundOrderProductStorages create.js

100% Statements 12/12
100% Branches 2/2
100% Functions 3/3
100% Lines 12/12

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                  2x   2x                                                     1x     1x 1x               3x 3x   1x                                               1x       2x       2x   1x                
import moment from 'moment-timezone';
 
import APIError from '../../helpers/error';
import InboundOrderProductStorageDao from '../../database/dao/inboundOrderProductStorage';
 
async function createInboundOrderProductStorage(
  inboundOrderProductStorage,
  opts = {}
) {
  try {
    const newInboundOrderProductStorage =
      await InboundOrderProductStorageDao.createInboundOrderProductStorage(
        {
          branchCode: inboundOrderProductStorage.branchCode,
          depositCode: inboundOrderProductStorage.depositCode,
          inboundOrderProductId:
            inboundOrderProductStorage.inboundOrderProductId,
          stockBalanceId: inboundOrderProductStorage.stockBalanceId,
          sequence: inboundOrderProductStorage.sequence,
          lotNumber: inboundOrderProductStorage.lotNumber,
          baptismLabel: inboundOrderProductStorage.baptismLabel,
          quantityStorage: inboundOrderProductStorage.quantityStorage,
          quantityDivergence: inboundOrderProductStorage.quantityDivergence,
          quantityDamage: inboundOrderProductStorage.quantityDamage,
          suggestedAddress: inboundOrderProductStorage.suggestedAddress,
          storageAddress: inboundOrderProductStorage.storageAddress,
          storageProductUser: inboundOrderProductStorage.storageProductUser,
          storageProductAt: inboundOrderProductStorage.storageProductAt,
          integrated: false,
          integratedAt: null,
          note: inboundOrderProductStorage.note,
          createdUser: inboundOrderProductStorage.createdUser,
          createdAt: moment().format(),
          updatedUser: inboundOrderProductStorage.updatedUser,
          updatedAt: moment().format(),
        },
        opts
      );
    return newInboundOrderProductStorage;
  } catch (error) {
    // eslint-disable-next-line no-console
    console.log(error);
    throw new APIError('', error);
  }
}
 
async function createInboundOrderProductStorages(
  inboundOrderProductStorages,
  opts = {}
) {
  try {
    const newInboundOrderProductStorages = inboundOrderProductStorages.map(
      (inboundOrderProductStorage) => {
        const newPartial = {
          branchCode: inboundOrderProductStorage.branchCode,
          depositCode: inboundOrderProductStorage.depositCode,
          inboundOrderProductId:
            inboundOrderProductStorage.inboundOrderProductId,
          stockBalanceId: inboundOrderProductStorage.stockBalanceId,
          sequence: inboundOrderProductStorage.sequence,
          lotNumber: inboundOrderProductStorage.lotNumber,
          baptismLabel: inboundOrderProductStorage.baptismLabel,
          quantityStorage: inboundOrderProductStorage.quantityStorage,
          quantityDivergence: inboundOrderProductStorage.quantityDivergence,
          quantityDamage: inboundOrderProductStorage.quantityDamage,
          suggestedAddress: inboundOrderProductStorage.suggestedAddress,
          storageAddress: inboundOrderProductStorage.storageAddress,
          storageProductUser: inboundOrderProductStorage.storageProductUser,
          storageProductAt: inboundOrderProductStorage.storageProductAt,
          integrated: false,
          integratedAt: null,
          note: inboundOrderProductStorage.note,
          createdUser: inboundOrderProductStorage.createdUser,
          createdAt: moment().format(),
          updatedUser: inboundOrderProductStorage.updatedUser,
          updatedAt: moment().format(),
        };
        return newPartial;
      }
    );
    const result =
      await InboundOrderProductStorageDao.createInboundOrderProductStorages(
        newInboundOrderProductStorages,
        opts
      );
    return result;
  } catch (error) {
    throw new APIError('', error);
  }
}
 
export default {
  createInboundOrderProductStorage,
  createInboundOrderProductStorages,
};