ec497d1e2acd241f582071ea8fc83d2207e2edd5
[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 _0x9ffd=['fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','count','offset','limit','set','Content-Range','apply','update','then','error','name','send','params','model','keys','ChatApplication','rawAttributes','filters','intersection','attributes','fields','length','query','includeAll','include','merge','options','find','catch','body','destroy','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','ejs'];(function(_0x3d38ae,_0x51102b){var _0x3757ee=function(_0x22bac8){while(--_0x22bac8){_0x3d38ae['push'](_0x3d38ae['shift']());}};_0x3757ee(++_0x51102b);}(_0x9ffd,0xaa));var _0xd9ff=function(_0x3f78b9,_0xf6f234){_0x3f78b9=_0x3f78b9-0x0;var _0x768e6c=_0x9ffd[_0x3f78b9];return _0x768e6c;};'use strict';var emlformat=require(_0xd9ff('0x0'));var rimraf=require(_0xd9ff('0x1'));var zipdir=require(_0xd9ff('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd9ff('0x3'));var moment=require(_0xd9ff('0x4'));var BPromise=require(_0xd9ff('0x5'));var Mustache=require(_0xd9ff('0x6'));var util=require('util');var path=require(_0xd9ff('0x7'));var sox=require(_0xd9ff('0x8'));var csv=require('to-csv');var ejs=require(_0xd9ff('0x9'));var fs=require('fs');var fs_extra=require(_0xd9ff('0xa'));var _=require(_0xd9ff('0xb'));var squel=require(_0xd9ff('0xc'));var crypto=require(_0xd9ff('0xd'));var jsforce=require(_0xd9ff('0xe'));var deskjs=require(_0xd9ff('0xf'));var toCsv=require(_0xd9ff('0x10'));var querystring=require(_0xd9ff('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd9ff('0x12'));var hardwareService=require(_0xd9ff('0x13'));var logger=require(_0xd9ff('0x14'))(_0xd9ff('0x15'));var utils=require(_0xd9ff('0x16'));var config=require(_0xd9ff('0x17'));var licenseUtil=require(_0xd9ff('0x18'));var db=require(_0xd9ff('0x19'))['db'];function respondWithStatusCode(_0x47d842,_0x47b0d7){_0x47b0d7=_0x47b0d7||0xcc;return function(_0xaaf7af){if(_0xaaf7af){return _0x47d842[_0xd9ff('0x1a')](_0x47b0d7);}return _0x47d842[_0xd9ff('0x1b')](_0x47b0d7)[_0xd9ff('0x1c')]();};}function respondWithResult(_0x12c39a,_0x556aa4){_0x556aa4=_0x556aa4||0xc8;return function(_0x2f78c1){if(_0x2f78c1){return _0x12c39a[_0xd9ff('0x1b')](_0x556aa4)['json'](_0x2f78c1);}};}function respondWithFilteredResult(_0xf14c9f,_0x5db010){return function(_0x4ffe54){if(_0x4ffe54){var _0x547e28=typeof _0x5db010['offset']===_0xd9ff('0x1d')&&typeof _0x5db010['limit']===_0xd9ff('0x1d');var _0xa30fd2=_0x4ffe54[_0xd9ff('0x1e')];var _0x3afd19=_0x547e28?0x0:_0x5db010[_0xd9ff('0x1f')];var _0x2d4df1=_0x547e28?_0x4ffe54[_0xd9ff('0x1e')]:_0x5db010[_0xd9ff('0x1f')]+_0x5db010[_0xd9ff('0x20')];var _0x1f028f;if(_0x2d4df1>=_0xa30fd2){_0x2d4df1=_0xa30fd2;_0x1f028f=0xc8;}else{_0x1f028f=0xce;}_0xf14c9f[_0xd9ff('0x1b')](_0x1f028f);return _0xf14c9f[_0xd9ff('0x21')](_0xd9ff('0x22'),_0x3afd19+'-'+_0x2d4df1+'/'+_0xa30fd2)['json'](_0x4ffe54);}return null;};}function patchUpdates(_0x4cf8ec){return function(_0x264a3d){try{jsonpatch[_0xd9ff('0x23')](_0x264a3d,_0x4cf8ec,!![]);}catch(_0x4eea4d){return BPromise['reject'](_0x4eea4d);}return _0x264a3d['save']();};}function saveUpdates(_0x4b1477,_0x1f4d9e){return function(_0x58eb5f){if(_0x58eb5f){return _0x58eb5f[_0xd9ff('0x24')](_0x4b1477)[_0xd9ff('0x25')](function(_0x291f52){return _0x291f52;});}return null;};}function removeEntity(_0x9f074e,_0x278b66){return function(_0x42a828){if(_0x42a828){return _0x42a828['destroy']()['then'](function(){_0x9f074e[_0xd9ff('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3ca906,_0x4d86fe){return function(_0x285002){if(!_0x285002){_0x3ca906['sendStatus'](0x194);}return _0x285002;};}function handleError(_0x10cbdd,_0x159e56){_0x159e56=_0x159e56||0x1f4;return function(_0x2138b4){logger[_0xd9ff('0x26')](_0x2138b4['stack']);if(_0x2138b4[_0xd9ff('0x27')]){delete _0x2138b4[_0xd9ff('0x27')];}_0x10cbdd[_0xd9ff('0x1b')](_0x159e56)[_0xd9ff('0x28')](_0x2138b4);};}exports['show']=function(_0x1d3684,_0x3792d9){var _0x44b5a7={'raw':!![],'where':{'id':_0x1d3684[_0xd9ff('0x29')]['id']}},_0x45fb63={};_0x45fb63[_0xd9ff('0x2a')]=_[_0xd9ff('0x2b')](db[_0xd9ff('0x2c')][_0xd9ff('0x2d')]);_0x45fb63['query']=_[_0xd9ff('0x2b')](_0x1d3684['query']);_0x45fb63[_0xd9ff('0x2e')]=_[_0xd9ff('0x2f')](_0x45fb63[_0xd9ff('0x2a')],_0x45fb63['query']);_0x44b5a7[_0xd9ff('0x30')]=_[_0xd9ff('0x2f')](_0x45fb63[_0xd9ff('0x2a')],qs[_0xd9ff('0x31')](_0x1d3684['query'][_0xd9ff('0x31')]));_0x44b5a7['attributes']=_0x44b5a7[_0xd9ff('0x30')][_0xd9ff('0x32')]?_0x44b5a7[_0xd9ff('0x30')]:_0x45fb63[_0xd9ff('0x2a')];if(_0x1d3684[_0xd9ff('0x33')][_0xd9ff('0x34')]){_0x44b5a7[_0xd9ff('0x35')]=[{'all':!![]}];}_0x44b5a7=_[_0xd9ff('0x36')]({},_0x44b5a7,_0x1d3684[_0xd9ff('0x37')]);return db[_0xd9ff('0x2c')][_0xd9ff('0x38')](_0x44b5a7)[_0xd9ff('0x25')](handleEntityNotFound(_0x3792d9,null))[_0xd9ff('0x25')](respondWithResult(_0x3792d9,null))[_0xd9ff('0x39')](handleError(_0x3792d9,null));};exports['update']=function(_0x13322f,_0x1ef7c3){if(_0x13322f[_0xd9ff('0x3a')]['id']){delete _0x13322f['body']['id'];}return db[_0xd9ff('0x2c')]['find']({'where':{'id':_0x13322f[_0xd9ff('0x29')]['id']}})['then'](handleEntityNotFound(_0x1ef7c3,null))[_0xd9ff('0x25')](saveUpdates(_0x13322f['body'],null))[_0xd9ff('0x25')](respondWithResult(_0x1ef7c3,null))[_0xd9ff('0x39')](handleError(_0x1ef7c3,null));};exports[_0xd9ff('0x3b')]=function(_0x5e2391,_0x4db3f6){return db['ChatApplication'][_0xd9ff('0x38')]({'where':{'id':_0x5e2391[_0xd9ff('0x29')]['id']}})[_0xd9ff('0x25')](handleEntityNotFound(_0x4db3f6,null))[_0xd9ff('0x25')](removeEntity(_0x4db3f6,null))[_0xd9ff('0x39')](handleError(_0x4db3f6,null));};