module.exports = function(Self) { Self.observe('after save', async ctx => { const instance = ctx.data || ctx.instance; const models = Self.app.models; const options = ctx.options; const notification = 'backup-printer-selected'; const {userId} = ctx.options.accessToken; if (!instance?.sectorFk || !instance?.labelerFk) return; const sector = await models.Sector.findById(instance.sectorFk, { fields: ['backupPrinterFk'] }, options); if (sector.backupPrinterFk && sector.backupPrinterFk == instance.labelerFk) { await models.NotificationQueue.create({ notificationFk: notification, authorFk: userId, params: JSON.stringify( { 'labelerId': instance.labelerFk, 'sectorId': instance.sectorFk, 'workerId': userId } ) }, options); } }); };