Built motion from commit 3e059bc2.|2.5.32
[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 _0xbf4f=['UserProfileSection','userProfileId','autoAssociation','params','addContacts','CmContact','omit','ids','getContacts','findOne','rawAttributes','pick','filter','nolimit','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','reject','update','then','destroy','get','UserProfileResource','sendStatus','error','stack','name','send','index','CmCompany','describe','model','keys','query','filters','attributes','fields','length','hasOwnProperty','order','sort','where','merge','map','includeAll','include','findAll','rows','catch','intersection','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Companies'];(function(_0x1fb9a1,_0x415010){var _0x1a4944=function(_0x2997b7){while(--_0x2997b7){_0x1fb9a1['push'](_0x1fb9a1['shift']());}};_0x1a4944(++_0x415010);}(_0xbf4f,0xc2));var _0xfbf4=function(_0x2385fc,_0x4c17b4){_0x2385fc=_0x2385fc-0x0;var _0x5e7e2e=_0xbf4f[_0x2385fc];return _0x5e7e2e;};'use strict';var emlformat=require(_0xfbf4('0x0'));var rimraf=require(_0xfbf4('0x1'));var zipdir=require(_0xfbf4('0x2'));var jsonpatch=require(_0xfbf4('0x3'));var rp=require(_0xfbf4('0x4'));var moment=require(_0xfbf4('0x5'));var BPromise=require(_0xfbf4('0x6'));var Mustache=require(_0xfbf4('0x7'));var util=require('util');var path=require(_0xfbf4('0x8'));var sox=require(_0xfbf4('0x9'));var csv=require(_0xfbf4('0xa'));var ejs=require(_0xfbf4('0xb'));var fs=require('fs');var fs_extra=require(_0xfbf4('0xc'));var _=require(_0xfbf4('0xd'));var squel=require(_0xfbf4('0xe'));var crypto=require('crypto');var jsforce=require(_0xfbf4('0xf'));var deskjs=require(_0xfbf4('0x10'));var toCsv=require(_0xfbf4('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xfbf4('0x11'));var authService=require(_0xfbf4('0x12'));var qs=require(_0xfbf4('0x13'));var as=require(_0xfbf4('0x14'));var hardwareService=require(_0xfbf4('0x15'));var logger=require(_0xfbf4('0x16'))(_0xfbf4('0x17'));var utils=require(_0xfbf4('0x18'));var config=require(_0xfbf4('0x19'));var licenseUtil=require(_0xfbf4('0x1a'));var db=require(_0xfbf4('0x1b'))['db'];function respondWithStatusCode(_0x491fda,_0xbfcda7){_0xbfcda7=_0xbfcda7||0xcc;return function(_0xcc3595){if(_0xcc3595){return _0x491fda['sendStatus'](_0xbfcda7);}return _0x491fda[_0xfbf4('0x1c')](_0xbfcda7)[_0xfbf4('0x1d')]();};}function respondWithResult(_0x2f8fa5,_0x106d71){_0x106d71=_0x106d71||0xc8;return function(_0x35c2c1){if(_0x35c2c1){return _0x2f8fa5['status'](_0x106d71)[_0xfbf4('0x1e')](_0x35c2c1);}};}function respondWithFilteredResult(_0x27f00b,_0x355b97){return function(_0x56d01d){if(_0x56d01d){var _0x23ee77=typeof _0x355b97[_0xfbf4('0x1f')]==='undefined'&&typeof _0x355b97[_0xfbf4('0x20')]===_0xfbf4('0x21');var _0x3da660=_0x56d01d[_0xfbf4('0x22')];var _0x1e4f6c=_0x23ee77?0x0:_0x355b97[_0xfbf4('0x1f')];var _0xfef01c=_0x23ee77?_0x56d01d[_0xfbf4('0x22')]:_0x355b97[_0xfbf4('0x1f')]+_0x355b97[_0xfbf4('0x20')];var _0x22d844;if(_0xfef01c>=_0x3da660){_0xfef01c=_0x3da660;_0x22d844=0xc8;}else{_0x22d844=0xce;}_0x27f00b[_0xfbf4('0x1c')](_0x22d844);return _0x27f00b['set']('Content-Range',_0x1e4f6c+'-'+_0xfef01c+'/'+_0x3da660)[_0xfbf4('0x1e')](_0x56d01d);}return null;};}function patchUpdates(_0x5950e0){return function(_0x1aa758){try{jsonpatch['apply'](_0x1aa758,_0x5950e0,!![]);}catch(_0x3fd26e){return BPromise[_0xfbf4('0x23')](_0x3fd26e);}return _0x1aa758['save']();};}function saveUpdates(_0x368206,_0x567137){return function(_0x4dfa48){if(_0x4dfa48){return _0x4dfa48[_0xfbf4('0x24')](_0x368206)[_0xfbf4('0x25')](function(_0x575fa1){return _0x575fa1;});}return null;};}function removeEntity(_0x32667d,_0x1c3405){return function(_0x19c8b4){if(_0x19c8b4){return _0x19c8b4[_0xfbf4('0x26')]()[_0xfbf4('0x25')](function(){var _0x1a32de=_0x19c8b4[_0xfbf4('0x27')]({'plain':!![]});var _0xc2d662='Companies';return db[_0xfbf4('0x28')][_0xfbf4('0x26')]({'where':{'type':_0xc2d662,'resourceId':_0x1a32de['id']}})[_0xfbf4('0x25')](function(){return _0x19c8b4;});})[_0xfbf4('0x25')](function(){_0x32667d[_0xfbf4('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x47a31c,_0x12f073){return function(_0xc3090f){if(!_0xc3090f){_0x47a31c[_0xfbf4('0x29')](0x194);}return _0xc3090f;};}function handleError(_0x4977a5,_0x2cd6e0){_0x2cd6e0=_0x2cd6e0||0x1f4;return function(_0x24503d){logger[_0xfbf4('0x2a')](_0x24503d[_0xfbf4('0x2b')]);if(_0x24503d[_0xfbf4('0x2c')]){delete _0x24503d[_0xfbf4('0x2c')];}_0x4977a5[_0xfbf4('0x1c')](_0x2cd6e0)[_0xfbf4('0x2d')](_0x24503d);};}exports[_0xfbf4('0x2e')]=function(_0x56942e,_0x4cb81f){var _0x4ec29c={},_0x2bf2ef={},_0x49f8b9={'count':0x0,'rows':[]};return db[_0xfbf4('0x2f')][_0xfbf4('0x30')]()[_0xfbf4('0x25')](function(_0x9b5020){_0x2bf2ef[_0xfbf4('0x31')]=_[_0xfbf4('0x32')](_0x9b5020);_0x2bf2ef[_0xfbf4('0x33')]=_['keys'](_0x56942e[_0xfbf4('0x33')]);_0x2bf2ef[_0xfbf4('0x34')]=_['intersection'](_0x2bf2ef[_0xfbf4('0x31')],_0x2bf2ef['query']);_0x4ec29c[_0xfbf4('0x35')]=_['intersection'](_0x2bf2ef[_0xfbf4('0x31')],qs[_0xfbf4('0x36')](_0x56942e[_0xfbf4('0x33')][_0xfbf4('0x36')]));_0x4ec29c[_0xfbf4('0x35')]=_0x4ec29c[_0xfbf4('0x35')][_0xfbf4('0x37')]?_0x4ec29c[_0xfbf4('0x35')]:_0x2bf2ef[_0xfbf4('0x31')];if(!_0x56942e[_0xfbf4('0x33')][_0xfbf4('0x38')]('nolimit')){_0x4ec29c[_0xfbf4('0x20')]=qs['limit'](_0x56942e[_0xfbf4('0x33')][_0xfbf4('0x20')]);_0x4ec29c[_0xfbf4('0x1f')]=qs[_0xfbf4('0x1f')](_0x56942e[_0xfbf4('0x33')]['offset']);}_0x4ec29c[_0xfbf4('0x39')]=qs[_0xfbf4('0x3a')](_0x56942e['query'][_0xfbf4('0x3a')]);_0x4ec29c[_0xfbf4('0x3b')]=qs[_0xfbf4('0x34')](_['pick'](_0x56942e[_0xfbf4('0x33')],_0x2bf2ef[_0xfbf4('0x34')]),_0x9b5020);if(_0x56942e[_0xfbf4('0x33')]['filter']){_0x4ec29c[_0xfbf4('0x3b')]=_[_0xfbf4('0x3c')](_0x4ec29c[_0xfbf4('0x3b')],{'$or':_[_0xfbf4('0x3d')](_0x4ec29c[_0xfbf4('0x35')],function(_0x583eea){var _0x3195fb={};_0x3195fb[_0x583eea]={'$like':'%'+_0x56942e[_0xfbf4('0x33')]['filter']+'%'};return _0x3195fb;})});}_0x4ec29c=_[_0xfbf4('0x3c')]({},_0x4ec29c,_0x56942e['options']);var _0x1f5f6f={'where':_0x4ec29c['where']};return db['CmCompany']['count'](_0x1f5f6f)[_0xfbf4('0x25')](function(_0xdcda08){_0x49f8b9[_0xfbf4('0x22')]=_0xdcda08;if(_0x56942e[_0xfbf4('0x33')][_0xfbf4('0x3e')]){_0x4ec29c[_0xfbf4('0x3f')]=[{'all':!![]}];}return db[_0xfbf4('0x2f')][_0xfbf4('0x40')](_0x4ec29c);})['then'](function(_0x15191a){_0x49f8b9[_0xfbf4('0x41')]=_0x15191a;return _0x49f8b9;})[_0xfbf4('0x25')](respondWithFilteredResult(_0x4cb81f,_0x4ec29c))[_0xfbf4('0x42')](handleError(_0x4cb81f,null));})[_0xfbf4('0x42')](handleError(_0x4cb81f,null));};exports['show']=function(_0x1c923a,_0x488433){var _0xe9e634={'raw':![],'where':{'id':_0x1c923a['params']['id']}},_0x1dc3ae={};_0x1dc3ae[_0xfbf4('0x31')]=_['keys'](db[_0xfbf4('0x2f')]['rawAttributes']);_0x1dc3ae[_0xfbf4('0x33')]=_[_0xfbf4('0x32')](_0x1c923a[_0xfbf4('0x33')]);_0x1dc3ae[_0xfbf4('0x34')]=_[_0xfbf4('0x43')](_0x1dc3ae[_0xfbf4('0x31')],_0x1dc3ae['query']);_0xe9e634[_0xfbf4('0x35')]=_['intersection'](_0x1dc3ae[_0xfbf4('0x31')],qs[_0xfbf4('0x36')](_0x1c923a[_0xfbf4('0x33')][_0xfbf4('0x36')]));_0xe9e634['attributes']=_0xe9e634[_0xfbf4('0x35')][_0xfbf4('0x37')]?_0xe9e634['attributes']:_0x1dc3ae['model'];if(_0x1c923a[_0xfbf4('0x33')][_0xfbf4('0x3e')]){_0xe9e634['include']=[{'all':!![]}];}_0xe9e634=_[_0xfbf4('0x3c')]({},_0xe9e634,_0x1c923a[_0xfbf4('0x44')]);return db[_0xfbf4('0x2f')][_0xfbf4('0x45')](_0xe9e634)[_0xfbf4('0x25')](handleEntityNotFound(_0x488433,null))[_0xfbf4('0x25')](respondWithResult(_0x488433,null))[_0xfbf4('0x42')](handleError(_0x488433,null));};exports['create']=function(_0x514497,_0x117385){return db[_0xfbf4('0x2f')][_0xfbf4('0x46')](_0x514497[_0xfbf4('0x47')],{})[_0xfbf4('0x25')](function(_0x27bb89){var _0xf0e6ff=_0x514497[_0xfbf4('0x48')]['get']({'plain':!![]});if(!_0xf0e6ff)throw new Error(_0xfbf4('0x49'));if(_0xf0e6ff[_0xfbf4('0x4a')]===_0xfbf4('0x48')){var _0x419f9f=_0x27bb89['get']({'plain':!![]});var _0x46a1a7=_0xfbf4('0x4b');return db[_0xfbf4('0x4c')]['find']({'where':{'name':_0x46a1a7,'userProfileId':_0xf0e6ff[_0xfbf4('0x4d')]},'raw':!![]})[_0xfbf4('0x25')](function(_0x2091c8){if(_0x2091c8&&_0x2091c8[_0xfbf4('0x4e')]===0x0){return db[_0xfbf4('0x28')][_0xfbf4('0x46')]({'name':_0x419f9f[_0xfbf4('0x2c')],'resourceId':_0x419f9f['id'],'type':_0x2091c8[_0xfbf4('0x2c')],'sectionId':_0x2091c8['id']},{})[_0xfbf4('0x25')](function(){return _0x27bb89;});}else{return _0x27bb89;}})[_0xfbf4('0x42')](function(_0x24d324){logger[_0xfbf4('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x24d324);throw _0x24d324;});}return _0x27bb89;})[_0xfbf4('0x25')](respondWithResult(_0x117385,0xc9))[_0xfbf4('0x42')](handleError(_0x117385,null));};exports['update']=function(_0x48a88d,_0x2cc392){if(_0x48a88d[_0xfbf4('0x47')]['id']){delete _0x48a88d[_0xfbf4('0x47')]['id'];}return db[_0xfbf4('0x2f')][_0xfbf4('0x45')]({'where':{'id':_0x48a88d['params']['id']}})[_0xfbf4('0x25')](handleEntityNotFound(_0x2cc392,null))['then'](saveUpdates(_0x48a88d[_0xfbf4('0x47')],null))[_0xfbf4('0x25')](respondWithResult(_0x2cc392,null))[_0xfbf4('0x42')](handleError(_0x2cc392,null));};exports[_0xfbf4('0x26')]=function(_0x16a971,_0x281ed3){return db[_0xfbf4('0x2f')][_0xfbf4('0x45')]({'where':{'id':_0x16a971[_0xfbf4('0x4f')]['id']}})[_0xfbf4('0x25')](handleEntityNotFound(_0x281ed3,null))[_0xfbf4('0x25')](removeEntity(_0x281ed3,null))[_0xfbf4('0x42')](handleError(_0x281ed3,null));};exports[_0xfbf4('0x30')]=function(_0x3e699f,_0x1e69e8){return db[_0xfbf4('0x2f')][_0xfbf4('0x30')]()[_0xfbf4('0x25')](respondWithResult(_0x1e69e8,null))['catch'](handleError(_0x1e69e8,null));};exports[_0xfbf4('0x50')]=function(_0x10d859,_0x173d04,_0x302498){return db[_0xfbf4('0x51')]['find']({'where':{'id':_0x10d859['params']['id']}})[_0xfbf4('0x25')](handleEntityNotFound(_0x173d04,null))[_0xfbf4('0x25')](function(_0x11fd73){if(_0x11fd73){return _0x11fd73[_0xfbf4('0x50')](_0x10d859[_0xfbf4('0x47')]['ids'],_[_0xfbf4('0x52')](_0x10d859[_0xfbf4('0x47')],[_0xfbf4('0x53'),'id'])||{});}})[_0xfbf4('0x25')](respondWithResult(_0x173d04,null))[_0xfbf4('0x42')](handleError(_0x173d04,null));};exports[_0xfbf4('0x54')]=function(_0x833558,_0x450a4d,_0xb40942){var _0x51fb34={};var _0xe08516={};var _0x292df5;var _0x1d8001;return db['CmCompany'][_0xfbf4('0x55')]({'where':{'id':_0x833558[_0xfbf4('0x4f')]['id']}})['then'](handleEntityNotFound(_0x450a4d,null))[_0xfbf4('0x25')](function(_0x5f0a3){if(_0x5f0a3){_0x292df5=_0x5f0a3;_0xe08516[_0xfbf4('0x31')]=_[_0xfbf4('0x32')](db[_0xfbf4('0x51')][_0xfbf4('0x56')]);_0xe08516[_0xfbf4('0x33')]=_[_0xfbf4('0x32')](_0x833558['query']);_0xe08516[_0xfbf4('0x34')]=_['intersection'](_0xe08516[_0xfbf4('0x31')],_0xe08516[_0xfbf4('0x33')]);_0x51fb34[_0xfbf4('0x35')]=_[_0xfbf4('0x43')](_0xe08516[_0xfbf4('0x31')],qs[_0xfbf4('0x36')](_0x833558[_0xfbf4('0x33')][_0xfbf4('0x36')]));_0x51fb34[_0xfbf4('0x35')]=_0x51fb34[_0xfbf4('0x35')][_0xfbf4('0x37')]?_0x51fb34[_0xfbf4('0x35')]:_0xe08516[_0xfbf4('0x31')];_0x51fb34[_0xfbf4('0x39')]=qs[_0xfbf4('0x3a')](_0x833558[_0xfbf4('0x33')][_0xfbf4('0x3a')]);_0x51fb34['where']=qs[_0xfbf4('0x34')](_[_0xfbf4('0x57')](_0x833558[_0xfbf4('0x33')],_0xe08516[_0xfbf4('0x34')]));if(_0x833558[_0xfbf4('0x33')]['filter']){_0x51fb34[_0xfbf4('0x3b')]=_[_0xfbf4('0x3c')](_0x51fb34[_0xfbf4('0x3b')],{'$or':_['map'](_0x51fb34[_0xfbf4('0x35')],function(_0x376ced){var _0x4252b5={};_0x4252b5[_0x376ced]={'$like':'%'+_0x833558[_0xfbf4('0x33')][_0xfbf4('0x58')]+'%'};return _0x4252b5;})});}_0x51fb34=_[_0xfbf4('0x3c')]({},_0x51fb34,_0x833558['options']);return _0x292df5[_0xfbf4('0x54')](_0x51fb34);}})[_0xfbf4('0x25')](function(_0x1c6c6a){if(_0x1c6c6a){_0x1d8001=_0x1c6c6a[_0xfbf4('0x37')];if(!_0x833558[_0xfbf4('0x33')][_0xfbf4('0x38')](_0xfbf4('0x59'))){_0x51fb34[_0xfbf4('0x20')]=qs[_0xfbf4('0x20')](_0x833558[_0xfbf4('0x33')][_0xfbf4('0x20')]);_0x51fb34[_0xfbf4('0x1f')]=qs[_0xfbf4('0x1f')](_0x833558[_0xfbf4('0x33')]['offset']);}return _0x292df5[_0xfbf4('0x54')](_0x51fb34);}})[_0xfbf4('0x25')](function(_0x27576b){if(_0x27576b){return _0x27576b?{'count':_0x1d8001,'rows':_0x27576b}:null;}})[_0xfbf4('0x25')](respondWithResult(_0x450a4d,null))[_0xfbf4('0x42')](handleError(_0x450a4d,null));};