Built motion from commit 9d7072cc.|2.5.39
[motion2.git] / server / api / cmCompany / cmCompany.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 _0xf3f0=['findAll','rows','catch','params','rawAttributes','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addContacts','CmContact','ids','getContacts','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','Companies','UserProfileResource','error','stack','name','send','index','describe','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','merge','map','filter','options','includeAll','include','CmCompany'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0xf3f0,0x1cb));var _0x0f3f=function(_0x2c4f96,_0x2baa00){_0x2c4f96=_0x2c4f96-0x0;var _0x1f6d1f=_0xf3f0[_0x2c4f96];return _0x1f6d1f;};'use strict';var emlformat=require(_0x0f3f('0x0'));var rimraf=require(_0x0f3f('0x1'));var zipdir=require(_0x0f3f('0x2'));var jsonpatch=require(_0x0f3f('0x3'));var rp=require(_0x0f3f('0x4'));var moment=require('moment');var BPromise=require(_0x0f3f('0x5'));var Mustache=require(_0x0f3f('0x6'));var util=require(_0x0f3f('0x7'));var path=require(_0x0f3f('0x8'));var sox=require(_0x0f3f('0x9'));var csv=require(_0x0f3f('0xa'));var ejs=require(_0x0f3f('0xb'));var fs=require('fs');var fs_extra=require(_0x0f3f('0xc'));var _=require(_0x0f3f('0xd'));var squel=require('squel');var crypto=require(_0x0f3f('0xe'));var jsforce=require(_0x0f3f('0xf'));var deskjs=require(_0x0f3f('0x10'));var toCsv=require('to-csv');var querystring=require(_0x0f3f('0x11'));var Papa=require('papaparse');var Redis=require(_0x0f3f('0x12'));var authService=require(_0x0f3f('0x13'));var qs=require(_0x0f3f('0x14'));var as=require(_0x0f3f('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x0f3f('0x16'));var utils=require('../../config/utils');var config=require(_0x0f3f('0x17'));var licenseUtil=require(_0x0f3f('0x18'));var db=require(_0x0f3f('0x19'))['db'];function respondWithStatusCode(_0x25752c,_0x3c5183){_0x3c5183=_0x3c5183||0xcc;return function(_0x1977cf){if(_0x1977cf){return _0x25752c[_0x0f3f('0x1a')](_0x3c5183);}return _0x25752c[_0x0f3f('0x1b')](_0x3c5183)[_0x0f3f('0x1c')]();};}function respondWithResult(_0x2ccf68,_0x101f22){_0x101f22=_0x101f22||0xc8;return function(_0x5d33c2){if(_0x5d33c2){return _0x2ccf68[_0x0f3f('0x1b')](_0x101f22)[_0x0f3f('0x1d')](_0x5d33c2);}};}function respondWithFilteredResult(_0x2bd0bc,_0x450487){return function(_0x2839dd){if(_0x2839dd){var _0x1a7262=typeof _0x450487[_0x0f3f('0x1e')]==='undefined'&&typeof _0x450487[_0x0f3f('0x1f')]===_0x0f3f('0x20');var _0x400aec=_0x2839dd[_0x0f3f('0x21')];var _0x205883=_0x1a7262?0x0:_0x450487[_0x0f3f('0x1e')];var _0x476c7c=_0x1a7262?_0x2839dd[_0x0f3f('0x21')]:_0x450487['offset']+_0x450487[_0x0f3f('0x1f')];var _0x4f0abd;if(_0x476c7c>=_0x400aec){_0x476c7c=_0x400aec;_0x4f0abd=0xc8;}else{_0x4f0abd=0xce;}_0x2bd0bc['status'](_0x4f0abd);return _0x2bd0bc['set'](_0x0f3f('0x22'),_0x205883+'-'+_0x476c7c+'/'+_0x400aec)[_0x0f3f('0x1d')](_0x2839dd);}return null;};}function patchUpdates(_0x48dedb){return function(_0xc6db8a){try{jsonpatch[_0x0f3f('0x23')](_0xc6db8a,_0x48dedb,!![]);}catch(_0x430614){return BPromise[_0x0f3f('0x24')](_0x430614);}return _0xc6db8a[_0x0f3f('0x25')]();};}function saveUpdates(_0x12b2a1,_0x1e7f40){return function(_0x1e1410){if(_0x1e1410){return _0x1e1410[_0x0f3f('0x26')](_0x12b2a1)[_0x0f3f('0x27')](function(_0x495cfd){return _0x495cfd;});}return null;};}function removeEntity(_0x55bbc9,_0x520b77){return function(_0x112bf8){if(_0x112bf8){return _0x112bf8[_0x0f3f('0x28')]()[_0x0f3f('0x27')](function(){var _0x2463fb=_0x112bf8['get']({'plain':!![]});var _0x1dc786=_0x0f3f('0x29');return db[_0x0f3f('0x2a')][_0x0f3f('0x28')]({'where':{'type':_0x1dc786,'resourceId':_0x2463fb['id']}})[_0x0f3f('0x27')](function(){return _0x112bf8;});})[_0x0f3f('0x27')](function(){_0x55bbc9[_0x0f3f('0x1b')](0xcc)[_0x0f3f('0x1c')]();});}};}function handleEntityNotFound(_0x403530,_0x42be27){return function(_0x3df574){if(!_0x3df574){_0x403530[_0x0f3f('0x1a')](0x194);}return _0x3df574;};}function handleError(_0x337d29,_0x2ae594){_0x2ae594=_0x2ae594||0x1f4;return function(_0x5a1755){logger[_0x0f3f('0x2b')](_0x5a1755[_0x0f3f('0x2c')]);if(_0x5a1755[_0x0f3f('0x2d')]){delete _0x5a1755[_0x0f3f('0x2d')];}_0x337d29[_0x0f3f('0x1b')](_0x2ae594)[_0x0f3f('0x2e')](_0x5a1755);};}exports[_0x0f3f('0x2f')]=function(_0x307cda,_0x51072f){var _0x3c3b2a={},_0x23431b={},_0x2eaeaa={'count':0x0,'rows':[]};return db['CmCompany'][_0x0f3f('0x30')]()['then'](function(_0x48e0b2){_0x23431b[_0x0f3f('0x31')]=_[_0x0f3f('0x32')](_0x48e0b2);_0x23431b[_0x0f3f('0x33')]=_['keys'](_0x307cda['query']);_0x23431b[_0x0f3f('0x34')]=_[_0x0f3f('0x35')](_0x23431b[_0x0f3f('0x31')],_0x23431b[_0x0f3f('0x33')]);_0x3c3b2a['attributes']=_[_0x0f3f('0x35')](_0x23431b[_0x0f3f('0x31')],qs['fields'](_0x307cda[_0x0f3f('0x33')][_0x0f3f('0x36')]));_0x3c3b2a[_0x0f3f('0x37')]=_0x3c3b2a[_0x0f3f('0x37')][_0x0f3f('0x38')]?_0x3c3b2a[_0x0f3f('0x37')]:_0x23431b[_0x0f3f('0x31')];if(!_0x307cda['query'][_0x0f3f('0x39')](_0x0f3f('0x3a'))){_0x3c3b2a[_0x0f3f('0x1f')]=qs[_0x0f3f('0x1f')](_0x307cda['query'][_0x0f3f('0x1f')]);_0x3c3b2a[_0x0f3f('0x1e')]=qs['offset'](_0x307cda[_0x0f3f('0x33')][_0x0f3f('0x1e')]);}_0x3c3b2a[_0x0f3f('0x3b')]=qs[_0x0f3f('0x3c')](_0x307cda['query'][_0x0f3f('0x3c')]);_0x3c3b2a[_0x0f3f('0x3d')]=qs[_0x0f3f('0x34')](_['pick'](_0x307cda['query'],_0x23431b[_0x0f3f('0x34')]),_0x48e0b2);if(_0x307cda['query']['filter']){_0x3c3b2a[_0x0f3f('0x3d')]=_[_0x0f3f('0x3e')](_0x3c3b2a[_0x0f3f('0x3d')],{'$or':_[_0x0f3f('0x3f')](_0x3c3b2a[_0x0f3f('0x37')],function(_0x370798){var _0x27dcf9={};_0x27dcf9[_0x370798]={'$like':'%'+_0x307cda[_0x0f3f('0x33')][_0x0f3f('0x40')]+'%'};return _0x27dcf9;})});}_0x3c3b2a=_['merge']({},_0x3c3b2a,_0x307cda[_0x0f3f('0x41')]);var _0x4505b4={'where':_0x3c3b2a[_0x0f3f('0x3d')]};return db['CmCompany'][_0x0f3f('0x21')](_0x4505b4)['then'](function(_0x4ed0af){_0x2eaeaa['count']=_0x4ed0af;if(_0x307cda[_0x0f3f('0x33')][_0x0f3f('0x42')]){_0x3c3b2a[_0x0f3f('0x43')]=[{'all':!![]}];}return db[_0x0f3f('0x44')][_0x0f3f('0x45')](_0x3c3b2a);})[_0x0f3f('0x27')](function(_0xf54272){_0x2eaeaa[_0x0f3f('0x46')]=_0xf54272;return _0x2eaeaa;})[_0x0f3f('0x27')](respondWithFilteredResult(_0x51072f,_0x3c3b2a))['catch'](handleError(_0x51072f,null));})[_0x0f3f('0x47')](handleError(_0x51072f,null));};exports['show']=function(_0x189394,_0x8ec8e6){var _0x442648={'raw':![],'where':{'id':_0x189394[_0x0f3f('0x48')]['id']}},_0x3bcdd0={};_0x3bcdd0[_0x0f3f('0x31')]=_[_0x0f3f('0x32')](db[_0x0f3f('0x44')][_0x0f3f('0x49')]);_0x3bcdd0[_0x0f3f('0x33')]=_['keys'](_0x189394[_0x0f3f('0x33')]);_0x3bcdd0[_0x0f3f('0x34')]=_[_0x0f3f('0x35')](_0x3bcdd0['model'],_0x3bcdd0[_0x0f3f('0x33')]);_0x442648[_0x0f3f('0x37')]=_[_0x0f3f('0x35')](_0x3bcdd0[_0x0f3f('0x31')],qs[_0x0f3f('0x36')](_0x189394[_0x0f3f('0x33')][_0x0f3f('0x36')]));_0x442648['attributes']=_0x442648[_0x0f3f('0x37')][_0x0f3f('0x38')]?_0x442648[_0x0f3f('0x37')]:_0x3bcdd0[_0x0f3f('0x31')];if(_0x189394[_0x0f3f('0x33')][_0x0f3f('0x42')]){_0x442648[_0x0f3f('0x43')]=[{'all':!![]}];}_0x442648=_['merge']({},_0x442648,_0x189394[_0x0f3f('0x41')]);return db[_0x0f3f('0x44')][_0x0f3f('0x4a')](_0x442648)['then'](handleEntityNotFound(_0x8ec8e6,null))[_0x0f3f('0x27')](respondWithResult(_0x8ec8e6,null))[_0x0f3f('0x47')](handleError(_0x8ec8e6,null));};exports[_0x0f3f('0x4b')]=function(_0x4a43c2,_0xe6d190){return db['CmCompany'][_0x0f3f('0x4b')](_0x4a43c2[_0x0f3f('0x4c')],{})[_0x0f3f('0x27')](function(_0x4e1cce){var _0x11251b=_0x4a43c2[_0x0f3f('0x4d')][_0x0f3f('0x4e')]({'plain':!![]});if(!_0x11251b)throw new Error(_0x0f3f('0x4f'));if(_0x11251b[_0x0f3f('0x50')]==='user'){var _0x14344c=_0x4e1cce[_0x0f3f('0x4e')]({'plain':!![]});var _0x533cec='Companies';return db[_0x0f3f('0x51')][_0x0f3f('0x4a')]({'where':{'name':_0x533cec,'userProfileId':_0x11251b['userProfileId']},'raw':!![]})[_0x0f3f('0x27')](function(_0x30fb0b){if(_0x30fb0b&&_0x30fb0b[_0x0f3f('0x52')]===0x0){return db[_0x0f3f('0x2a')][_0x0f3f('0x4b')]({'name':_0x14344c[_0x0f3f('0x2d')],'resourceId':_0x14344c['id'],'type':_0x30fb0b['name'],'sectionId':_0x30fb0b['id']},{})[_0x0f3f('0x27')](function(){return _0x4e1cce;});}else{return _0x4e1cce;}})[_0x0f3f('0x47')](function(_0x4c5dfa){logger['error'](_0x0f3f('0x53'),_0x4c5dfa);throw _0x4c5dfa;});}return _0x4e1cce;})['then'](respondWithResult(_0xe6d190,0xc9))['catch'](handleError(_0xe6d190,null));};exports['update']=function(_0x12d1fe,_0x1f5859){if(_0x12d1fe[_0x0f3f('0x4c')]['id']){delete _0x12d1fe[_0x0f3f('0x4c')]['id'];}return db['CmCompany']['find']({'where':{'id':_0x12d1fe[_0x0f3f('0x48')]['id']}})[_0x0f3f('0x27')](handleEntityNotFound(_0x1f5859,null))[_0x0f3f('0x27')](saveUpdates(_0x12d1fe[_0x0f3f('0x4c')],null))[_0x0f3f('0x27')](respondWithResult(_0x1f5859,null))['catch'](handleError(_0x1f5859,null));};exports['destroy']=function(_0x1ef9c0,_0x17cf90){return db[_0x0f3f('0x44')]['find']({'where':{'id':_0x1ef9c0[_0x0f3f('0x48')]['id']}})['then'](handleEntityNotFound(_0x17cf90,null))[_0x0f3f('0x27')](removeEntity(_0x17cf90,null))[_0x0f3f('0x47')](handleError(_0x17cf90,null));};exports[_0x0f3f('0x30')]=function(_0x555ddf,_0xc7c259){return db[_0x0f3f('0x44')][_0x0f3f('0x30')]()[_0x0f3f('0x27')](respondWithResult(_0xc7c259,null))[_0x0f3f('0x47')](handleError(_0xc7c259,null));};exports[_0x0f3f('0x54')]=function(_0x2dd461,_0x28cede,_0x450c72){return db[_0x0f3f('0x55')][_0x0f3f('0x4a')]({'where':{'id':_0x2dd461[_0x0f3f('0x48')]['id']}})[_0x0f3f('0x27')](handleEntityNotFound(_0x28cede,null))[_0x0f3f('0x27')](function(_0x2ea190){if(_0x2ea190){return _0x2ea190[_0x0f3f('0x54')](_0x2dd461[_0x0f3f('0x4c')][_0x0f3f('0x56')],_['omit'](_0x2dd461[_0x0f3f('0x4c')],['ids','id'])||{});}})[_0x0f3f('0x27')](respondWithResult(_0x28cede,null))[_0x0f3f('0x47')](handleError(_0x28cede,null));};exports['getContacts']=function(_0x5dcce3,_0xe7e835,_0x529801){var _0x40e193={};var _0x1c3279={};var _0x422043;var _0x31caeb;return db[_0x0f3f('0x44')]['findOne']({'where':{'id':_0x5dcce3[_0x0f3f('0x48')]['id']}})[_0x0f3f('0x27')](handleEntityNotFound(_0xe7e835,null))['then'](function(_0x31d210){if(_0x31d210){_0x422043=_0x31d210;_0x1c3279[_0x0f3f('0x31')]=_[_0x0f3f('0x32')](db[_0x0f3f('0x55')][_0x0f3f('0x49')]);_0x1c3279['query']=_['keys'](_0x5dcce3[_0x0f3f('0x33')]);_0x1c3279[_0x0f3f('0x34')]=_[_0x0f3f('0x35')](_0x1c3279[_0x0f3f('0x31')],_0x1c3279['query']);_0x40e193[_0x0f3f('0x37')]=_[_0x0f3f('0x35')](_0x1c3279[_0x0f3f('0x31')],qs[_0x0f3f('0x36')](_0x5dcce3[_0x0f3f('0x33')]['fields']));_0x40e193[_0x0f3f('0x37')]=_0x40e193['attributes'][_0x0f3f('0x38')]?_0x40e193[_0x0f3f('0x37')]:_0x1c3279[_0x0f3f('0x31')];_0x40e193['order']=qs['sort'](_0x5dcce3[_0x0f3f('0x33')][_0x0f3f('0x3c')]);_0x40e193[_0x0f3f('0x3d')]=qs[_0x0f3f('0x34')](_['pick'](_0x5dcce3['query'],_0x1c3279[_0x0f3f('0x34')]));if(_0x5dcce3[_0x0f3f('0x33')]['filter']){_0x40e193[_0x0f3f('0x3d')]=_['merge'](_0x40e193[_0x0f3f('0x3d')],{'$or':_['map'](_0x40e193[_0x0f3f('0x37')],function(_0x5b387c){var _0xa5f77b={};_0xa5f77b[_0x5b387c]={'$like':'%'+_0x5dcce3[_0x0f3f('0x33')][_0x0f3f('0x40')]+'%'};return _0xa5f77b;})});}_0x40e193=_[_0x0f3f('0x3e')]({},_0x40e193,_0x5dcce3[_0x0f3f('0x41')]);return _0x422043[_0x0f3f('0x57')](_0x40e193);}})[_0x0f3f('0x27')](function(_0x491d2d){if(_0x491d2d){_0x31caeb=_0x491d2d[_0x0f3f('0x38')];if(!_0x5dcce3[_0x0f3f('0x33')]['hasOwnProperty'](_0x0f3f('0x3a'))){_0x40e193[_0x0f3f('0x1f')]=qs[_0x0f3f('0x1f')](_0x5dcce3[_0x0f3f('0x33')][_0x0f3f('0x1f')]);_0x40e193[_0x0f3f('0x1e')]=qs[_0x0f3f('0x1e')](_0x5dcce3[_0x0f3f('0x33')][_0x0f3f('0x1e')]);}return _0x422043[_0x0f3f('0x57')](_0x40e193);}})[_0x0f3f('0x27')](function(_0x5d2625){if(_0x5d2625){return _0x5d2625?{'count':_0x31caeb,'rows':_0x5d2625}:null;}})[_0x0f3f('0x27')](respondWithResult(_0xe7e835,null))[_0x0f3f('0x47')](handleError(_0xe7e835,null));};