5973e4ea676ebc99bbc63726a076590a36224c0b
[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 _0xb634=['sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','error','name','send','show','params','query','keys','filters','intersection','model','fields','attributes','length','include','merge','options','find','catch','body','ChatApplication','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x1c8e52,_0x256d24){var _0x1b2ede=function(_0x5b9603){while(--_0x5b9603){_0x1c8e52['push'](_0x1c8e52['shift']());}};_0x1b2ede(++_0x256d24);}(_0xb634,0x1c0));var _0x4b63=function(_0x312dbf,_0x441696){_0x312dbf=_0x312dbf-0x0;var _0x2224f8=_0xb634[_0x312dbf];return _0x2224f8;};'use strict';var emlformat=require(_0x4b63('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4b63('0x1'));var jsonpatch=require(_0x4b63('0x2'));var rp=require(_0x4b63('0x3'));var moment=require('moment');var BPromise=require(_0x4b63('0x4'));var Mustache=require(_0x4b63('0x5'));var util=require(_0x4b63('0x6'));var path=require(_0x4b63('0x7'));var sox=require(_0x4b63('0x8'));var csv=require(_0x4b63('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4b63('0xa'));var squel=require('squel');var crypto=require(_0x4b63('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x4b63('0xc'));var toCsv=require(_0x4b63('0x9'));var querystring=require('querystring');var Papa=require(_0x4b63('0xd'));var Redis=require(_0x4b63('0xe'));var authService=require(_0x4b63('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x4b63('0x10'));var hardwareService=require(_0x4b63('0x11'));var logger=require(_0x4b63('0x12'))(_0x4b63('0x13'));var utils=require(_0x4b63('0x14'));var config=require(_0x4b63('0x15'));var licenseUtil=require(_0x4b63('0x16'));var db=require(_0x4b63('0x17'))['db'];function respondWithStatusCode(_0x2cb7fe,_0x2d4985){_0x2d4985=_0x2d4985||0xcc;return function(_0x121bfd){if(_0x121bfd){return _0x2cb7fe[_0x4b63('0x18')](_0x2d4985);}return _0x2cb7fe['status'](_0x2d4985)[_0x4b63('0x19')]();};}function respondWithResult(_0x3e4574,_0x35a5fb){_0x35a5fb=_0x35a5fb||0xc8;return function(_0x1d0374){if(_0x1d0374){return _0x3e4574[_0x4b63('0x1a')](_0x35a5fb)[_0x4b63('0x1b')](_0x1d0374);}};}function respondWithFilteredResult(_0x3e7c87,_0x5c94c6){return function(_0x975c4b){if(_0x975c4b){var _0x49709e=typeof _0x5c94c6[_0x4b63('0x1c')]===_0x4b63('0x1d')&&typeof _0x5c94c6[_0x4b63('0x1e')]===_0x4b63('0x1d');var _0x197498=_0x975c4b[_0x4b63('0x1f')];var _0x1e488c=_0x49709e?0x0:_0x5c94c6['offset'];var _0x523863=_0x49709e?_0x975c4b[_0x4b63('0x1f')]:_0x5c94c6['offset']+_0x5c94c6[_0x4b63('0x1e')];var _0x4021cf;if(_0x523863>=_0x197498){_0x523863=_0x197498;_0x4021cf=0xc8;}else{_0x4021cf=0xce;}_0x3e7c87[_0x4b63('0x1a')](_0x4021cf);return _0x3e7c87['set'](_0x4b63('0x20'),_0x1e488c+'-'+_0x523863+'/'+_0x197498)[_0x4b63('0x1b')](_0x975c4b);}return null;};}function patchUpdates(_0x57c5f4){return function(_0x59a3d2){try{jsonpatch[_0x4b63('0x21')](_0x59a3d2,_0x57c5f4,!![]);}catch(_0x4282f6){return BPromise[_0x4b63('0x22')](_0x4282f6);}return _0x59a3d2[_0x4b63('0x23')]();};}function saveUpdates(_0xe1461e,_0x167337){return function(_0x2350dc){if(_0x2350dc){return _0x2350dc[_0x4b63('0x24')](_0xe1461e)[_0x4b63('0x25')](function(_0x10f8e7){return _0x10f8e7;});}return null;};}function removeEntity(_0xacb37a,_0x269faf){return function(_0x8940d6){if(_0x8940d6){return _0x8940d6[_0x4b63('0x26')]()['then'](function(){_0xacb37a[_0x4b63('0x1a')](0xcc)[_0x4b63('0x19')]();});}};}function handleEntityNotFound(_0x444860,_0x26b6f9){return function(_0x11326d){if(!_0x11326d){_0x444860['sendStatus'](0x194);}return _0x11326d;};}function handleError(_0xab6ac8,_0x495478){_0x495478=_0x495478||0x1f4;return function(_0x417d92){logger[_0x4b63('0x27')](_0x417d92['stack']);if(_0x417d92['name']){delete _0x417d92[_0x4b63('0x28')];}_0xab6ac8[_0x4b63('0x1a')](_0x495478)[_0x4b63('0x29')](_0x417d92);};}exports[_0x4b63('0x2a')]=function(_0x8852f1,_0x208af0){var _0x1e7ed0={'raw':!![],'where':{'id':_0x8852f1[_0x4b63('0x2b')]['id']}},_0x5a9648={};_0x5a9648['model']=_['keys'](db['ChatApplication']['rawAttributes']);_0x5a9648[_0x4b63('0x2c')]=_[_0x4b63('0x2d')](_0x8852f1[_0x4b63('0x2c')]);_0x5a9648[_0x4b63('0x2e')]=_[_0x4b63('0x2f')](_0x5a9648[_0x4b63('0x30')],_0x5a9648[_0x4b63('0x2c')]);_0x1e7ed0['attributes']=_[_0x4b63('0x2f')](_0x5a9648['model'],qs[_0x4b63('0x31')](_0x8852f1[_0x4b63('0x2c')][_0x4b63('0x31')]));_0x1e7ed0[_0x4b63('0x32')]=_0x1e7ed0[_0x4b63('0x32')][_0x4b63('0x33')]?_0x1e7ed0['attributes']:_0x5a9648[_0x4b63('0x30')];if(_0x8852f1['query']['includeAll']){_0x1e7ed0[_0x4b63('0x34')]=[{'all':!![]}];}_0x1e7ed0=_[_0x4b63('0x35')]({},_0x1e7ed0,_0x8852f1[_0x4b63('0x36')]);return db['ChatApplication'][_0x4b63('0x37')](_0x1e7ed0)['then'](handleEntityNotFound(_0x208af0,null))[_0x4b63('0x25')](respondWithResult(_0x208af0,null))[_0x4b63('0x38')](handleError(_0x208af0,null));};exports['update']=function(_0x1836fc,_0x49a951){if(_0x1836fc[_0x4b63('0x39')]['id']){delete _0x1836fc['body']['id'];}return db[_0x4b63('0x3a')][_0x4b63('0x37')]({'where':{'id':_0x1836fc[_0x4b63('0x2b')]['id']}})['then'](handleEntityNotFound(_0x49a951,null))['then'](saveUpdates(_0x1836fc[_0x4b63('0x39')],null))['then'](respondWithResult(_0x49a951,null))['catch'](handleError(_0x49a951,null));};exports[_0x4b63('0x26')]=function(_0x52ab28,_0x3f9e36){return db[_0x4b63('0x3a')][_0x4b63('0x37')]({'where':{'id':_0x52ab28[_0x4b63('0x2b')]['id']}})[_0x4b63('0x25')](handleEntityNotFound(_0x3f9e36,null))['then'](removeEntity(_0x3f9e36,null))[_0x4b63('0x38')](handleError(_0x3f9e36,null));};