29148ee694b36010ea5645db5f11ead44802c4e7
[motion2.git] / server / api / crmActionsList / crmActionsList.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 _0x3e74=['map','type','key','VIRTUAL','field','options','includeAll','include','findAll','rows','catch','show','params','create','body','update','find','describe','html-pdf','rimraf','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','count','offset','set','Content-Range','json','apply','reject','save','then','destroy','end','error','name','send','index','CrmActionsList','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','merge'];(function(_0x67bb6e,_0x1fb55f){var _0x21bed7=function(_0x19197d){while(--_0x19197d){_0x67bb6e['push'](_0x67bb6e['shift']());}};_0x21bed7(++_0x1fb55f);}(_0x3e74,0x175));var _0x43e7=function(_0x2d4497,_0x295c10){_0x2d4497=_0x2d4497-0x0;var _0x380b2e=_0x3e74[_0x2d4497];return _0x380b2e;};'use strict';var pdf=require(_0x43e7('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x43e7('0x1'));var zipdir=require(_0x43e7('0x2'));var jsonpatch=require(_0x43e7('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x43e7('0x4'));var Mustache=require('mustache');var util=require(_0x43e7('0x5'));var path=require(_0x43e7('0x6'));var sox=require(_0x43e7('0x7'));var csv=require(_0x43e7('0x8'));var ejs=require(_0x43e7('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x43e7('0xa'));var crypto=require(_0x43e7('0xb'));var jsforce=require(_0x43e7('0xc'));var deskjs=require(_0x43e7('0xd'));var toCsv=require(_0x43e7('0x8'));var querystring=require('querystring');var Papa=require(_0x43e7('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x43e7('0xf'));var hardwareService=require(_0x43e7('0x10'));var logger=require('../../config/logger')(_0x43e7('0x11'));var utils=require('../../config/utils');var config=require(_0x43e7('0x12'));var db=require(_0x43e7('0x13'))['db'];function respondWithStatusCode(_0x4ebc8e,_0x3eb206){_0x3eb206=_0x3eb206||0xcc;return function(_0xc960ea){if(_0xc960ea){return _0x4ebc8e[_0x43e7('0x14')](_0x3eb206);}return _0x4ebc8e[_0x43e7('0x15')](_0x3eb206)['end']();};}function respondWithResult(_0x583d85,_0x2fcb36){_0x2fcb36=_0x2fcb36||0xc8;return function(_0x21fdd3){if(_0x21fdd3){return _0x583d85[_0x43e7('0x15')](_0x2fcb36)['json'](_0x21fdd3);}};}function respondWithFilteredResult(_0x5e641c,_0x16849c){return function(_0x14c146){if(_0x14c146){var _0x203378=_0x14c146[_0x43e7('0x16')],_0x328445=_0x16849c[_0x43e7('0x17')],_0x4de324=_0x16849c[_0x43e7('0x17')]+_0x16849c['limit'],_0x5c4eaa;if(_0x4de324>=_0x203378){_0x4de324=_0x203378;_0x5c4eaa=0xc8;}else{_0x5c4eaa=0xce;}_0x5e641c['status'](_0x5c4eaa);return _0x5e641c[_0x43e7('0x18')](_0x43e7('0x19'),_0x328445+'-'+_0x4de324+'/'+_0x203378)[_0x43e7('0x1a')](_0x14c146);}return null;};}function patchUpdates(_0x140657){return function(_0x3776f5){try{jsonpatch[_0x43e7('0x1b')](_0x3776f5,_0x140657,!![]);}catch(_0x619236){return BPromise[_0x43e7('0x1c')](_0x619236);}return _0x3776f5[_0x43e7('0x1d')]();};}function saveUpdates(_0xab63cf,_0x191dd5){return function(_0x177ee1){if(_0x177ee1){return _0x177ee1['update'](_0xab63cf)[_0x43e7('0x1e')](function(_0x3c6625){return _0x3c6625;});}return null;};}function removeEntity(_0x4b386b,_0x2898b5){return function(_0x3e281e){if(_0x3e281e){return _0x3e281e[_0x43e7('0x1f')]()[_0x43e7('0x1e')](function(){_0x4b386b[_0x43e7('0x15')](0xcc)[_0x43e7('0x20')]();});}};}function handleEntityNotFound(_0x54a9e7,_0x454359){return function(_0x4eea52){if(!_0x4eea52){_0x54a9e7['sendStatus'](0x194);}return _0x4eea52;};}function handleError(_0x47204e,_0x43f4ff){_0x43f4ff=_0x43f4ff||0x1f4;return function(_0x4b2b9f){logger[_0x43e7('0x21')](_0x4b2b9f['stack']);if(_0x4b2b9f[_0x43e7('0x22')]){delete _0x4b2b9f['name'];}_0x47204e[_0x43e7('0x15')](_0x43f4ff)[_0x43e7('0x23')](_0x4b2b9f);};}exports[_0x43e7('0x24')]=function(_0x405f85,_0x51f4d7){var _0x52b7b3={},_0x805b54={},_0x501551={'count':0x0,'rows':[]};var _0x2dd5f=db[_0x43e7('0x25')][_0x43e7('0x26')];_0x805b54[_0x43e7('0x27')]=_['keys'](_0x2dd5f);_0x805b54[_0x43e7('0x28')]=_[_0x43e7('0x29')](_0x405f85[_0x43e7('0x28')]);_0x805b54[_0x43e7('0x2a')]=_[_0x43e7('0x2b')](_0x805b54[_0x43e7('0x27')],_0x805b54[_0x43e7('0x28')]);_0x52b7b3[_0x43e7('0x2c')]=_[_0x43e7('0x2b')](_0x805b54[_0x43e7('0x27')],qs[_0x43e7('0x2d')](_0x405f85[_0x43e7('0x28')][_0x43e7('0x2d')]));_0x52b7b3[_0x43e7('0x2c')]=_0x52b7b3['attributes'][_0x43e7('0x2e')]?_0x52b7b3[_0x43e7('0x2c')]:_0x805b54[_0x43e7('0x27')];if(!_0x405f85[_0x43e7('0x28')][_0x43e7('0x2f')]('nolimit')){_0x52b7b3[_0x43e7('0x30')]=qs[_0x43e7('0x30')](_0x405f85[_0x43e7('0x28')][_0x43e7('0x30')]);_0x52b7b3['offset']=qs['offset'](_0x405f85['query'][_0x43e7('0x17')]);}_0x52b7b3[_0x43e7('0x31')]=qs[_0x43e7('0x32')](_0x405f85[_0x43e7('0x28')][_0x43e7('0x32')]);_0x52b7b3[_0x43e7('0x33')]=qs['filters'](_['pick'](_0x405f85['query'],_0x805b54['filters']));if(_0x405f85['query']['filter']){_0x52b7b3['where']=_[_0x43e7('0x34')](_0x52b7b3['where'],{'$or':_[_0x43e7('0x35')](_0x2dd5f,function(_0x8e9f40){if(_0x8e9f40[_0x43e7('0x36')][_0x43e7('0x37')]!==_0x43e7('0x38')){var _0x449803={};_0x449803[_0x8e9f40[_0x43e7('0x39')]]={'$like':'%'+_0x405f85['query']['filter']+'%'};return _0x449803;}})});}_0x52b7b3=_['merge']({},_0x52b7b3,_0x405f85[_0x43e7('0x3a')]);var _0xfe70e9={'where':_0x52b7b3[_0x43e7('0x33')]};return db[_0x43e7('0x25')][_0x43e7('0x16')](_0xfe70e9)[_0x43e7('0x1e')](function(_0x1d4589){_0x501551[_0x43e7('0x16')]=_0x1d4589;if(_0x405f85['query'][_0x43e7('0x3b')]){_0x52b7b3[_0x43e7('0x3c')]=[{'all':!![]}];}return db['CrmActionsList'][_0x43e7('0x3d')](_0x52b7b3);})['then'](function(_0x44d8e4){_0x501551[_0x43e7('0x3e')]=_0x44d8e4;return _0x501551;})[_0x43e7('0x1e')](respondWithFilteredResult(_0x51f4d7,_0x52b7b3))[_0x43e7('0x3f')](handleError(_0x51f4d7,null));};exports[_0x43e7('0x40')]=function(_0x234d8f,_0x5e731b){var _0x574a93={'raw':![],'where':{'id':_0x234d8f[_0x43e7('0x41')]['id']}},_0x30dfa9={};_0x30dfa9[_0x43e7('0x27')]=_[_0x43e7('0x29')](db[_0x43e7('0x25')]['rawAttributes']);_0x30dfa9[_0x43e7('0x28')]=_[_0x43e7('0x29')](_0x234d8f['query']);_0x30dfa9[_0x43e7('0x2a')]=_['intersection'](_0x30dfa9[_0x43e7('0x27')],_0x30dfa9['query']);_0x574a93[_0x43e7('0x2c')]=_[_0x43e7('0x2b')](_0x30dfa9[_0x43e7('0x27')],qs[_0x43e7('0x2d')](_0x234d8f['query']['fields']));_0x574a93[_0x43e7('0x2c')]=_0x574a93[_0x43e7('0x2c')][_0x43e7('0x2e')]?_0x574a93[_0x43e7('0x2c')]:_0x30dfa9['model'];if(_0x234d8f['query']['includeAll']){_0x574a93[_0x43e7('0x3c')]=[{'all':!![]}];}_0x574a93=_['merge']({},_0x574a93,_0x234d8f[_0x43e7('0x3a')]);return db['CrmActionsList']['find'](_0x574a93)[_0x43e7('0x1e')](handleEntityNotFound(_0x5e731b,null))['then'](respondWithResult(_0x5e731b,null))[_0x43e7('0x3f')](handleError(_0x5e731b,null));};exports[_0x43e7('0x42')]=function(_0x257bd8,_0x99b9e1){return db['CrmActionsList'][_0x43e7('0x42')](_0x257bd8[_0x43e7('0x43')],{})[_0x43e7('0x1e')](respondWithResult(_0x99b9e1,0xc9))[_0x43e7('0x3f')](handleError(_0x99b9e1,null));};exports[_0x43e7('0x44')]=function(_0x1efe59,_0x51eef4){if(_0x1efe59['body']['id']){delete _0x1efe59[_0x43e7('0x43')]['id'];}return db[_0x43e7('0x25')][_0x43e7('0x45')]({'where':{'id':_0x1efe59['params']['id']}})['then'](handleEntityNotFound(_0x51eef4,null))['then'](saveUpdates(_0x1efe59[_0x43e7('0x43')],null))[_0x43e7('0x1e')](respondWithResult(_0x51eef4,null))['catch'](handleError(_0x51eef4,null));};exports[_0x43e7('0x1f')]=function(_0x47686e,_0x3c96fe){return db['CrmActionsList']['find']({'where':{'id':_0x47686e['params']['id']}})['then'](handleEntityNotFound(_0x3c96fe,null))[_0x43e7('0x1e')](removeEntity(_0x3c96fe,null))[_0x43e7('0x3f')](handleError(_0x3c96fe,null));};exports['describe']=function(_0x23e7cb,_0x82d32f){return db[_0x43e7('0x25')][_0x43e7('0x46')]()['then'](respondWithResult(_0x82d32f,null))[_0x43e7('0x3f')](handleError(_0x82d32f,null));};