All files / platform/modules/staff/src/UseCases CreateStaff.js

100% Statements 14/14
100% Branches 0/0
100% Functions 3/3
100% Lines 14/14

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    1x 1x 1x 1x 1x       229x       229x 229x       5x 5x   5x 5x   5x       1x  
'use strict';
 
const ExecuteAbstract = use('C2C/Abstracts/ExecuteAbstract');
const Event = use('Event');
const Config = use('Config');
const Logger = use('Logger');
const { STAFF_CREATED } = Config.get('modules.staff.constants');
 
class CreateStaff extends ExecuteAbstract {
  static get inject() {
    return ['C2C/Repositories/StaffRepo'];
  }
 
  constructor(staffRepo) {
    super();
    this._staffRepo = staffRepo;
  }
 
  async execute(payload) {
    const staff = await this._staffRepo.create(payload);
    await staff.reload();
 
    Event.fire(STAFF_CREATED, staff.toJSON());
    Logger.info(`Event emmited: ${STAFF_CREATED}, payload: ${JSON.stringify(staff.toJSON())}`);
 
    return staff;
  }
}
 
module.exports = CreateStaff;