Built motion from commit (unavailable).|2.4.20
[motion2.git] / server / api / chatInteraction / chatInteraction.events.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xcf58=['../../mysqldb','ChatMessage','save','update','remove','getUsers','setDataValue','map','then','length','emit','catch','hasOwnProperty','hook','events'];(function(_0x25ef99,_0x240bfd){var _0x3aba91=function(_0xaf8e9d){while(--_0xaf8e9d){_0x25ef99['push'](_0x25ef99['shift']());}};_0x3aba91(++_0x240bfd);}(_0xcf58,0x86));var _0x8cf5=function(_0x4cc16a,_0x81bee6){_0x4cc16a=_0x4cc16a-0x0;var _0x247a90=_0xcf58[_0x4cc16a];return _0x247a90;};'use strict';var EventEmitter=require(_0x8cf5('0x0'));var ChatInteraction=require(_0x8cf5('0x1'))['db']['ChatInteraction'];var ChatMessage=require(_0x8cf5('0x1'))['db'][_0x8cf5('0x2')];var ChatInteractionEvents=new EventEmitter();ChatInteractionEvents['setMaxListeners'](0x0);var events={'afterCreate':_0x8cf5('0x3'),'afterUpdate':_0x8cf5('0x4'),'afterDestroy':_0x8cf5('0x5')};function emitEvent(_0x15a06f){return function(_0x595846,_0x1f8248,_0x1631ff){_0x595846[_0x8cf5('0x6')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5d4b64){_0x595846[_0x8cf5('0x7')]('Users',_0x5d4b64[_0x8cf5('0x8')](function(_0x58f030){return{'id':_0x58f030['id']};}));return ChatMessage['findAll']({'where':{'ChatInteractionId':_0x595846['id'],'direction':'in','read':![]},'raw':!![]});})[_0x8cf5('0x9')](function(_0x242fe2){_0x595846['setDataValue']('unreadMessages',_0x242fe2[_0x8cf5('0xa')]);ChatInteractionEvents['emit'](_0x15a06f+':'+_0x595846['id'],_0x595846);ChatInteractionEvents[_0x8cf5('0xb')](_0x15a06f,_0x595846);_0x1631ff(null);})[_0x8cf5('0xc')](_0x1631ff(null));};}for(var e in events){if(events[_0x8cf5('0xd')](e)){var event=events[e];ChatInteraction[_0x8cf5('0xe')](e,emitEvent(event));}}module['exports']=ChatInteractionEvents;