All files / mylog-api/models airline.model.js

63.63% Statements 14/22
100% Branches 0/0
100% Functions 2/2
63.63% Lines 14/22

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 742x 2x         1x 1x 1x             1x 1x                             1x 1x 1x                               1x             1x 1x                               2x
const models = require("../database/models");
const { Op } = require("sequelize");
// constructor
class Airline {
 
  static async getAll(result) {
    try {
      let airlines = await models.Airlines.findAll({ raw: true });
      const apiResponse = {
        ops: "getAllAirlines",
        status: "success",
        message: `${airlines.length} airlines found.`,
        payload: airlines,
        affectedRows: airlines.length
      };
      result(null, apiResponse);
      return;
    } catch (err) {
      console.log("error: ", err);
      const apiResponse = {
        ops: "getAllAirlines",
        status: "failure",
        message: `error:  ${err.message}`,
        payload: err,
        affectedRows: 0
      };
      result(apiResponse, null);
      return;
    }
  }
  static async searchByTerm(term, result) {
    console.log(term);
    try {
      let airlines = await models.Airlines.findAll({
        raw: true,
        where: {
          [Op.or]: [{
            Name: {
              [Op.like]: `%${term}%`
            }
          },
          {
            ICAO_Designator: {
              [Op.like]: `%${term}%`
            }
          }
          ]
        }
      });
      const apiResponse = {
        ops: "searchByTerm",
        status: "success",
        message: `${airlines.length} airlines found with term ${term}`,
        payload: airlines,
        affectedRows: airlines.length
      };
      result(null, apiResponse);
      return;
    } catch (err) {
      console.log("error: ", err);
      const apiResponse = {
        ops: "searchByTerm",
        status: "failure",
        message: `error:  ${err.message}`,
        payload: err,
        affectedRows: 0
      };
      result(apiResponse, null);
      return;
    }
  }
}
 
module.exports = Airline;