7585b5e7205356eff5fa193479a870fcd6e38ed2
[motion2.git] / server / api / chatApplication / chatApplication.controller.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 _0x7ea4=['catch','update','body','eml-format','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','limit','set','Content-Range','json','reject','save','then','destroy','end','error','stack','name','send','show','params','keys','ChatApplication','rawAttributes','query','filters','attributes','intersection','model','fields','length','merge','options','find'];(function(_0x1c6483,_0x1685b4){var _0x5c7bd1=function(_0x3e2a75){while(--_0x3e2a75){_0x1c6483['push'](_0x1c6483['shift']());}};_0x5c7bd1(++_0x1685b4);}(_0x7ea4,0x1a7));var _0x47ea=function(_0x2064e5,_0x4f6fa2){_0x2064e5=_0x2064e5-0x0;var _0x21a233=_0x7ea4[_0x2064e5];return _0x21a233;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x47ea('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x47ea('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x47ea('0x2'));var BPromise=require(_0x47ea('0x3'));var Mustache=require(_0x47ea('0x4'));var util=require(_0x47ea('0x5'));var path=require(_0x47ea('0x6'));var sox=require(_0x47ea('0x7'));var csv=require(_0x47ea('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x47ea('0x9'));var crypto=require(_0x47ea('0xa'));var jsforce=require(_0x47ea('0xb'));var deskjs=require(_0x47ea('0xc'));var toCsv=require('to-csv');var querystring=require(_0x47ea('0xd'));var Papa=require(_0x47ea('0xe'));var Redis=require(_0x47ea('0xf'));var authService=require(_0x47ea('0x10'));var qs=require(_0x47ea('0x11'));var as=require(_0x47ea('0x12'));var hardwareService=require(_0x47ea('0x13'));var logger=require(_0x47ea('0x14'))(_0x47ea('0x15'));var utils=require(_0x47ea('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x47ea('0x17'));var db=require(_0x47ea('0x18'))['db'];function respondWithStatusCode(_0x17e23c,_0x240e18){_0x240e18=_0x240e18||0xcc;return function(_0x1d1a95){if(_0x1d1a95){return _0x17e23c[_0x47ea('0x19')](_0x240e18);}return _0x17e23c[_0x47ea('0x1a')](_0x240e18)['end']();};}function respondWithResult(_0x5c19c2,_0x4ff096){_0x4ff096=_0x4ff096||0xc8;return function(_0xc2d7dd){if(_0xc2d7dd){return _0x5c19c2[_0x47ea('0x1a')](_0x4ff096)['json'](_0xc2d7dd);}};}function respondWithFilteredResult(_0x588d30,_0x26ab7b){return function(_0x5bf21c){if(_0x5bf21c){var _0x135b63=_0x5bf21c[_0x47ea('0x1b')],_0x2751af=_0x26ab7b['offset'],_0x44c054=_0x26ab7b[_0x47ea('0x1c')]+_0x26ab7b[_0x47ea('0x1d')],_0x4e67fd;if(_0x44c054>=_0x135b63){_0x44c054=_0x135b63;_0x4e67fd=0xc8;}else{_0x4e67fd=0xce;}_0x588d30[_0x47ea('0x1a')](_0x4e67fd);return _0x588d30[_0x47ea('0x1e')](_0x47ea('0x1f'),_0x2751af+'-'+_0x44c054+'/'+_0x135b63)[_0x47ea('0x20')](_0x5bf21c);}return null;};}function patchUpdates(_0x2e0afa){return function(_0x3a89fd){try{jsonpatch['apply'](_0x3a89fd,_0x2e0afa,!![]);}catch(_0x398945){return BPromise[_0x47ea('0x21')](_0x398945);}return _0x3a89fd[_0x47ea('0x22')]();};}function saveUpdates(_0x1e24f6,_0x1bbfc0){return function(_0x8019fd){if(_0x8019fd){return _0x8019fd['update'](_0x1e24f6)[_0x47ea('0x23')](function(_0x43ec50){return _0x43ec50;});}return null;};}function removeEntity(_0x45ba7b,_0x299272){return function(_0x1844bb){if(_0x1844bb){return _0x1844bb[_0x47ea('0x24')]()[_0x47ea('0x23')](function(){_0x45ba7b['status'](0xcc)[_0x47ea('0x25')]();});}};}function handleEntityNotFound(_0x453384,_0xb19072){return function(_0x17411c){if(!_0x17411c){_0x453384[_0x47ea('0x19')](0x194);}return _0x17411c;};}function handleError(_0x5a4d1d,_0x3ead60){_0x3ead60=_0x3ead60||0x1f4;return function(_0x2fb02d){logger[_0x47ea('0x26')](_0x2fb02d[_0x47ea('0x27')]);if(_0x2fb02d['name']){delete _0x2fb02d[_0x47ea('0x28')];}_0x5a4d1d['status'](_0x3ead60)[_0x47ea('0x29')](_0x2fb02d);};}exports[_0x47ea('0x2a')]=function(_0x1a833c,_0x140bce){var _0xdea0b4={'raw':!![],'where':{'id':_0x1a833c[_0x47ea('0x2b')]['id']}},_0x5012c9={};_0x5012c9['model']=_[_0x47ea('0x2c')](db[_0x47ea('0x2d')][_0x47ea('0x2e')]);_0x5012c9['query']=_[_0x47ea('0x2c')](_0x1a833c[_0x47ea('0x2f')]);_0x5012c9[_0x47ea('0x30')]=_['intersection'](_0x5012c9['model'],_0x5012c9[_0x47ea('0x2f')]);_0xdea0b4[_0x47ea('0x31')]=_[_0x47ea('0x32')](_0x5012c9[_0x47ea('0x33')],qs[_0x47ea('0x34')](_0x1a833c['query'][_0x47ea('0x34')]));_0xdea0b4[_0x47ea('0x31')]=_0xdea0b4[_0x47ea('0x31')][_0x47ea('0x35')]?_0xdea0b4[_0x47ea('0x31')]:_0x5012c9['model'];if(_0x1a833c[_0x47ea('0x2f')]['includeAll']){_0xdea0b4['include']=[{'all':!![]}];}_0xdea0b4=_[_0x47ea('0x36')]({},_0xdea0b4,_0x1a833c[_0x47ea('0x37')]);return db[_0x47ea('0x2d')][_0x47ea('0x38')](_0xdea0b4)[_0x47ea('0x23')](handleEntityNotFound(_0x140bce,null))['then'](respondWithResult(_0x140bce,null))[_0x47ea('0x39')](handleError(_0x140bce,null));};exports[_0x47ea('0x3a')]=function(_0x4d042b,_0x5d562e){if(_0x4d042b[_0x47ea('0x3b')]['id']){delete _0x4d042b[_0x47ea('0x3b')]['id'];}return db['ChatApplication'][_0x47ea('0x38')]({'where':{'id':_0x4d042b[_0x47ea('0x2b')]['id']}})[_0x47ea('0x23')](handleEntityNotFound(_0x5d562e,null))[_0x47ea('0x23')](saveUpdates(_0x4d042b['body'],null))[_0x47ea('0x23')](respondWithResult(_0x5d562e,null))[_0x47ea('0x39')](handleError(_0x5d562e,null));};exports[_0x47ea('0x24')]=function(_0x4d7eb4,_0x1f94ca){return db['ChatApplication'][_0x47ea('0x38')]({'where':{'id':_0x4d7eb4[_0x47ea('0x2b')]['id']}})[_0x47ea('0x23')](handleEntityNotFound(_0x1f94ca,null))[_0x47ea('0x23')](removeEntity(_0x1f94ca,null))[_0x47ea('0x39')](handleError(_0x1f94ca,null));};