All files / source/indirectTasks information.js

100% Statements 7/7
100% Branches 3/3
100% Functions 4/4
100% Lines 7/7

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        2x                                                           1x               1x       1x                 1x 1x           1x                
import IndirectTaskDao from '../../database/dao/indirectTask';
import { models } from '../../../config/database';
 
async function getIndirectTask(query, opts = {}) {
  return IndirectTaskDao.findIndirectTask(query, {
    attributes: ['id', 'code', 'name', 'note'],
    include: [
      {
        required: false,
        model: models.UserIndirectTask,
        as: 'userIndirectTasks',
        include: [
          {
            required: false,
            model: models.User,
            as: 'user',
            attributes: ['id', 'name', 'login', 'mainBranch'],
            include: [
              {
                required: false,
                model: models.Department,
                as: 'departmentUser',
                attributes: ['code', 'name'],
              },
            ],
          },
        ],
      },
    ],
    ...opts,
  });
}
 
async function getAllIndirectTasks(opts = {}) {
  const indirectTasks = await IndirectTaskDao.findIndirectTasks(
    {},
    {
      attributes: ['id', 'code', 'name', 'note'],
      ...opts,
    }
  );
 
  return indirectTasks;
}
 
async function getOptionsIndirectTasks(opts = {}) {
  const indirectTasks = await IndirectTaskDao.findIndirectTasks(
    {},
    {
      attributes: ['id', 'code', 'name'],
      raw: true,
      ...opts,
    }
  );
 
  const result = indirectTasks.map((indirectTask) => {
    return {
      value: indirectTask.code,
      label: indirectTask.name,
    };
  });
 
  return result;
}
 
export default {
  getIndirectTask,
  getAllIndirectTasks,
  getOptionsIndirectTasks,
};