All files / source/userNotification information.js

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

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          2x                                                                 2x                                                         1x              
/* eslint-disable no-empty */
import { models } from '../../../config/database';
import UserNotificationDao from '../../database/dao/userNotification';
 
async function getUserNotification(query, opts = {}) {
  return UserNotificationDao.findUserNotification(query, {
    // raw: true,
    attributes: [
      'id',
      'userId',
      'type',
      'readed',
      'firstTitle',
      'secondTitle',
      'description',
      'contentTitle',
      'contentMessage',
      'createdAt',
      'updatedAt',
    ],
    include: [
      {
        required: true,
        model: models.User,
        as: 'user',
        attributes: ['id', 'name'],
      },
      {
        required: false,
        model: models.UserNotificationAttachment,
        as: 'attachments',
      },
    ],
    ...opts,
  });
}
 
async function getAllUserNotifications(query = {}, opts = {}) {
  const users = await UserNotificationDao.findUserNotifications(query, {
    attributes: [
      'id',
      'userId',
      'type',
      'readed',
      'firstTitle',
      'secondTitle',
      'description',
      'contentTitle',
      'contentMessage',
      'createdAt',
      'updatedAt',
    ],
    include: [
      {
        required: true,
        model: models.User,
        as: 'user',
        attributes: ['id', 'name'],
      },
      {
        required: false,
        model: models.UserNotificationAttachment,
        as: 'attachments',
      },
    ],
    ...opts,
  });
  return users;
}
 
export default {
  getUserNotification,
  getAllUserNotifications,
};