afb72c76d5a63d70e8f4e88e7169732bfe351afc
[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 _0x87ae=['undefined','count','set','Content-Range','json','apply','reject','update','then','status','error','name','send','params','ChatApplication','keys','query','filters','intersection','model','attributes','fields','length','includeAll','include','find','catch','body','destroy','zip-dir','moment','bluebird','mustache','path','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','end','offset','limit'];(function(_0x63f02b,_0x1288d5){var _0x4eb570=function(_0x13ee75){while(--_0x13ee75){_0x63f02b['push'](_0x63f02b['shift']());}};_0x4eb570(++_0x1288d5);}(_0x87ae,0xf5));var _0xe87a=function(_0x3a7634,_0x2db384){_0x3a7634=_0x3a7634-0x0;var _0x23bbe9=_0x87ae[_0x3a7634];return _0x23bbe9;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xe87a('0x0'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xe87a('0x1'));var BPromise=require(_0xe87a('0x2'));var Mustache=require(_0xe87a('0x3'));var util=require('util');var path=require(_0xe87a('0x4'));var sox=require(_0xe87a('0x5'));var csv=require(_0xe87a('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe87a('0x7'));var squel=require(_0xe87a('0x8'));var crypto=require('crypto');var jsforce=require(_0xe87a('0x9'));var deskjs=require(_0xe87a('0xa'));var toCsv=require('to-csv');var querystring=require(_0xe87a('0xb'));var Papa=require(_0xe87a('0xc'));var Redis=require('ioredis');var authService=require(_0xe87a('0xd'));var qs=require(_0xe87a('0xe'));var as=require(_0xe87a('0xf'));var hardwareService=require(_0xe87a('0x10'));var logger=require(_0xe87a('0x11'))(_0xe87a('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xe87a('0x13'));var db=require(_0xe87a('0x14'))['db'];function respondWithStatusCode(_0x3e990c,_0x4db185){_0x4db185=_0x4db185||0xcc;return function(_0x1a725a){if(_0x1a725a){return _0x3e990c[_0xe87a('0x15')](_0x4db185);}return _0x3e990c['status'](_0x4db185)[_0xe87a('0x16')]();};}function respondWithResult(_0x353c52,_0x136340){_0x136340=_0x136340||0xc8;return function(_0x5032c5){if(_0x5032c5){return _0x353c52['status'](_0x136340)['json'](_0x5032c5);}};}function respondWithFilteredResult(_0x53a4f7,_0x44474f){return function(_0x1fa2cd){if(_0x1fa2cd){var _0xd2ca53=typeof _0x44474f[_0xe87a('0x17')]==='undefined'&&typeof _0x44474f[_0xe87a('0x18')]===_0xe87a('0x19');var _0x527c58=_0x1fa2cd['count'];var _0x4160e2=_0xd2ca53?0x0:_0x44474f['offset'];var _0x182e6f=_0xd2ca53?_0x1fa2cd[_0xe87a('0x1a')]:_0x44474f[_0xe87a('0x17')]+_0x44474f['limit'];var _0x444eeb;if(_0x182e6f>=_0x527c58){_0x182e6f=_0x527c58;_0x444eeb=0xc8;}else{_0x444eeb=0xce;}_0x53a4f7['status'](_0x444eeb);return _0x53a4f7[_0xe87a('0x1b')](_0xe87a('0x1c'),_0x4160e2+'-'+_0x182e6f+'/'+_0x527c58)[_0xe87a('0x1d')](_0x1fa2cd);}return null;};}function patchUpdates(_0x4059e1){return function(_0x104f67){try{jsonpatch[_0xe87a('0x1e')](_0x104f67,_0x4059e1,!![]);}catch(_0x1e37aa){return BPromise[_0xe87a('0x1f')](_0x1e37aa);}return _0x104f67['save']();};}function saveUpdates(_0x59c17c,_0x42ba03){return function(_0x363c6a){if(_0x363c6a){return _0x363c6a[_0xe87a('0x20')](_0x59c17c)[_0xe87a('0x21')](function(_0x15ced2){return _0x15ced2;});}return null;};}function removeEntity(_0x46731f,_0x56eba0){return function(_0x59d9f7){if(_0x59d9f7){return _0x59d9f7['destroy']()['then'](function(){_0x46731f[_0xe87a('0x22')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1108d0,_0x59dc1a){return function(_0x19f21e){if(!_0x19f21e){_0x1108d0[_0xe87a('0x15')](0x194);}return _0x19f21e;};}function handleError(_0x13e0a8,_0x16ee69){_0x16ee69=_0x16ee69||0x1f4;return function(_0x294d8b){logger[_0xe87a('0x23')](_0x294d8b['stack']);if(_0x294d8b[_0xe87a('0x24')]){delete _0x294d8b['name'];}_0x13e0a8['status'](_0x16ee69)[_0xe87a('0x25')](_0x294d8b);};}exports['show']=function(_0x537b52,_0x58a2b8){var _0x17c895={'raw':!![],'where':{'id':_0x537b52[_0xe87a('0x26')]['id']}},_0x6feaf6={};_0x6feaf6['model']=_['keys'](db[_0xe87a('0x27')]['rawAttributes']);_0x6feaf6['query']=_[_0xe87a('0x28')](_0x537b52[_0xe87a('0x29')]);_0x6feaf6[_0xe87a('0x2a')]=_[_0xe87a('0x2b')](_0x6feaf6[_0xe87a('0x2c')],_0x6feaf6['query']);_0x17c895[_0xe87a('0x2d')]=_['intersection'](_0x6feaf6[_0xe87a('0x2c')],qs['fields'](_0x537b52[_0xe87a('0x29')][_0xe87a('0x2e')]));_0x17c895[_0xe87a('0x2d')]=_0x17c895[_0xe87a('0x2d')][_0xe87a('0x2f')]?_0x17c895[_0xe87a('0x2d')]:_0x6feaf6[_0xe87a('0x2c')];if(_0x537b52[_0xe87a('0x29')][_0xe87a('0x30')]){_0x17c895[_0xe87a('0x31')]=[{'all':!![]}];}_0x17c895=_['merge']({},_0x17c895,_0x537b52['options']);return db['ChatApplication'][_0xe87a('0x32')](_0x17c895)['then'](handleEntityNotFound(_0x58a2b8,null))[_0xe87a('0x21')](respondWithResult(_0x58a2b8,null))[_0xe87a('0x33')](handleError(_0x58a2b8,null));};exports['update']=function(_0x15cb90,_0x5687bf){if(_0x15cb90['body']['id']){delete _0x15cb90[_0xe87a('0x34')]['id'];}return db[_0xe87a('0x27')][_0xe87a('0x32')]({'where':{'id':_0x15cb90[_0xe87a('0x26')]['id']}})['then'](handleEntityNotFound(_0x5687bf,null))[_0xe87a('0x21')](saveUpdates(_0x15cb90[_0xe87a('0x34')],null))['then'](respondWithResult(_0x5687bf,null))[_0xe87a('0x33')](handleError(_0x5687bf,null));};exports[_0xe87a('0x35')]=function(_0x596b28,_0x3a7575){return db[_0xe87a('0x27')][_0xe87a('0x32')]({'where':{'id':_0x596b28[_0xe87a('0x26')]['id']}})[_0xe87a('0x21')](handleEntityNotFound(_0x3a7575,null))['then'](removeEntity(_0x3a7575,null))[_0xe87a('0x33')](handleError(_0x3a7575,null));};