Built motion from commit (unavailable).|2.4.18
[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 _0x68ea=['model','keys','query','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','filter','merge','map','options','includeAll','include','CmCompany','findAll','catch','rawAttributes','intersection','find','create','user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','addContacts','ids','omit','getContacts','CmContact','order','pick','html-pdf','rimraf','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','get','Companies','UserProfileResource','error','stack','name','send','index','describe'];(function(_0x51b1d7,_0x2bb562){var _0x32269e=function(_0x1328f3){while(--_0x1328f3){_0x51b1d7['push'](_0x51b1d7['shift']());}};_0x32269e(++_0x2bb562);}(_0x68ea,0x173));var _0xa68e=function(_0x5d1185,_0x124b58){_0x5d1185=_0x5d1185-0x0;var _0x27212b=_0x68ea[_0x5d1185];return _0x27212b;};'use strict';var pdf=require(_0xa68e('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa68e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xa68e('0x2'));var BPromise=require(_0xa68e('0x3'));var Mustache=require(_0xa68e('0x4'));var util=require(_0xa68e('0x5'));var path=require(_0xa68e('0x6'));var sox=require(_0xa68e('0x7'));var csv=require(_0xa68e('0x8'));var ejs=require(_0xa68e('0x9'));var fs=require('fs');var _=require(_0xa68e('0xa'));var squel=require(_0xa68e('0xb'));var crypto=require(_0xa68e('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xa68e('0x8'));var querystring=require(_0xa68e('0xd'));var Papa=require(_0xa68e('0xe'));var Redis=require(_0xa68e('0xf'));var authService=require(_0xa68e('0x10'));var qs=require(_0xa68e('0x11'));var as=require(_0xa68e('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa68e('0x13'))('api');var utils=require('../../config/utils');var config=require(_0xa68e('0x14'));var db=require(_0xa68e('0x15'))['db'];function respondWithStatusCode(_0x2bfcaf,_0x345b0e){_0x345b0e=_0x345b0e||0xcc;return function(_0x2b0687){if(_0x2b0687){return _0x2bfcaf[_0xa68e('0x16')](_0x345b0e);}return _0x2bfcaf[_0xa68e('0x17')](_0x345b0e)[_0xa68e('0x18')]();};}function respondWithResult(_0x2038e1,_0x4ecf56){_0x4ecf56=_0x4ecf56||0xc8;return function(_0x5b1291){if(_0x5b1291){return _0x2038e1[_0xa68e('0x17')](_0x4ecf56)['json'](_0x5b1291);}};}function respondWithFilteredResult(_0x7211e9,_0x4b0ebd){return function(_0x4a4f09){if(_0x4a4f09){var _0x2fe7a3=_0x4a4f09[_0xa68e('0x19')],_0x9dad62=_0x4b0ebd[_0xa68e('0x1a')],_0x4bf055=_0x4b0ebd[_0xa68e('0x1a')]+_0x4b0ebd[_0xa68e('0x1b')],_0x420c3d;if(_0x4bf055>=_0x2fe7a3){_0x4bf055=_0x2fe7a3;_0x420c3d=0xc8;}else{_0x420c3d=0xce;}_0x7211e9[_0xa68e('0x17')](_0x420c3d);return _0x7211e9['set'](_0xa68e('0x1c'),_0x9dad62+'-'+_0x4bf055+'/'+_0x2fe7a3)['json'](_0x4a4f09);}return null;};}function patchUpdates(_0x213184){return function(_0x571045){try{jsonpatch[_0xa68e('0x1d')](_0x571045,_0x213184,!![]);}catch(_0x2673fb){return BPromise[_0xa68e('0x1e')](_0x2673fb);}return _0x571045[_0xa68e('0x1f')]();};}function saveUpdates(_0x3b605f,_0x36efbc){return function(_0x3a74e7){if(_0x3a74e7){return _0x3a74e7[_0xa68e('0x20')](_0x3b605f)[_0xa68e('0x21')](function(_0x8afd70){return _0x8afd70;});}return null;};}function removeEntity(_0x4aaca5,_0x18ff36){return function(_0x4c1c8c){if(_0x4c1c8c){return _0x4c1c8c[_0xa68e('0x22')]()['then'](function(){var _0x301646=_0x4c1c8c[_0xa68e('0x23')]({'plain':!![]});var _0x14941e=_0xa68e('0x24');return db[_0xa68e('0x25')]['destroy']({'where':{'type':_0x14941e,'resourceId':_0x301646['id']}})[_0xa68e('0x21')](function(){return _0x4c1c8c;});})['then'](function(){_0x4aaca5['status'](0xcc)[_0xa68e('0x18')]();});}};}function handleEntityNotFound(_0x2d2b2a,_0x46ddd6){return function(_0x3a03fd){if(!_0x3a03fd){_0x2d2b2a['sendStatus'](0x194);}return _0x3a03fd;};}function handleError(_0x198d9d,_0x26ad45){_0x26ad45=_0x26ad45||0x1f4;return function(_0x33b828){logger[_0xa68e('0x26')](_0x33b828[_0xa68e('0x27')]);if(_0x33b828[_0xa68e('0x28')]){delete _0x33b828[_0xa68e('0x28')];}_0x198d9d[_0xa68e('0x17')](_0x26ad45)[_0xa68e('0x29')](_0x33b828);};}exports[_0xa68e('0x2a')]=function(_0x1121bd,_0x19dc3d){var _0x9a5822={},_0x392f68={},_0xc5119={'count':0x0,'rows':[]};return db['CmCompany'][_0xa68e('0x2b')]()['then'](function(_0x15d670){_0x392f68[_0xa68e('0x2c')]=_[_0xa68e('0x2d')](_0x15d670);_0x392f68[_0xa68e('0x2e')]=_[_0xa68e('0x2d')](_0x1121bd[_0xa68e('0x2e')]);_0x392f68['filters']=_['intersection'](_0x392f68[_0xa68e('0x2c')],_0x392f68[_0xa68e('0x2e')]);_0x9a5822[_0xa68e('0x2f')]=_['intersection'](_0x392f68['model'],qs[_0xa68e('0x30')](_0x1121bd[_0xa68e('0x2e')][_0xa68e('0x30')]));_0x9a5822[_0xa68e('0x2f')]=_0x9a5822[_0xa68e('0x2f')][_0xa68e('0x31')]?_0x9a5822['attributes']:_0x392f68[_0xa68e('0x2c')];if(!_0x1121bd['query'][_0xa68e('0x32')](_0xa68e('0x33'))){_0x9a5822['limit']=qs[_0xa68e('0x1b')](_0x1121bd[_0xa68e('0x2e')]['limit']);_0x9a5822[_0xa68e('0x1a')]=qs['offset'](_0x1121bd[_0xa68e('0x2e')]['offset']);}_0x9a5822['order']=qs[_0xa68e('0x34')](_0x1121bd[_0xa68e('0x2e')][_0xa68e('0x34')]);_0x9a5822[_0xa68e('0x35')]=qs[_0xa68e('0x36')](_['pick'](_0x1121bd[_0xa68e('0x2e')],_0x392f68[_0xa68e('0x36')]));if(_0x1121bd['query'][_0xa68e('0x37')]){_0x9a5822[_0xa68e('0x35')]=_[_0xa68e('0x38')](_0x9a5822[_0xa68e('0x35')],{'$or':_[_0xa68e('0x39')](_0x9a5822['attributes'],function(_0x39be60){var _0x9790f3={};_0x9790f3[_0x39be60]={'$like':'%'+_0x1121bd[_0xa68e('0x2e')][_0xa68e('0x37')]+'%'};return _0x9790f3;})});}_0x9a5822=_[_0xa68e('0x38')]({},_0x9a5822,_0x1121bd[_0xa68e('0x3a')]);var _0x46b2d7={'where':_0x9a5822[_0xa68e('0x35')]};return db['CmCompany'][_0xa68e('0x19')](_0x46b2d7)[_0xa68e('0x21')](function(_0x29e285){_0xc5119['count']=_0x29e285;if(_0x1121bd['query'][_0xa68e('0x3b')]){_0x9a5822[_0xa68e('0x3c')]=[{'all':!![]}];}return db[_0xa68e('0x3d')][_0xa68e('0x3e')](_0x9a5822);})[_0xa68e('0x21')](function(_0x47f0aa){_0xc5119['rows']=_0x47f0aa;return _0xc5119;})[_0xa68e('0x21')](respondWithFilteredResult(_0x19dc3d,_0x9a5822))[_0xa68e('0x3f')](handleError(_0x19dc3d,null));})[_0xa68e('0x3f')](handleError(_0x19dc3d,null));};exports['show']=function(_0xb9d6e0,_0x568ffc){var _0x3b32a7={'raw':![],'where':{'id':_0xb9d6e0['params']['id']}},_0xf989f8={};_0xf989f8[_0xa68e('0x2c')]=_[_0xa68e('0x2d')](db[_0xa68e('0x3d')][_0xa68e('0x40')]);_0xf989f8[_0xa68e('0x2e')]=_[_0xa68e('0x2d')](_0xb9d6e0['query']);_0xf989f8[_0xa68e('0x36')]=_[_0xa68e('0x41')](_0xf989f8[_0xa68e('0x2c')],_0xf989f8['query']);_0x3b32a7[_0xa68e('0x2f')]=_[_0xa68e('0x41')](_0xf989f8[_0xa68e('0x2c')],qs['fields'](_0xb9d6e0[_0xa68e('0x2e')]['fields']));_0x3b32a7[_0xa68e('0x2f')]=_0x3b32a7[_0xa68e('0x2f')]['length']?_0x3b32a7[_0xa68e('0x2f')]:_0xf989f8[_0xa68e('0x2c')];if(_0xb9d6e0['query'][_0xa68e('0x3b')]){_0x3b32a7[_0xa68e('0x3c')]=[{'all':!![]}];}_0x3b32a7=_['merge']({},_0x3b32a7,_0xb9d6e0[_0xa68e('0x3a')]);return db[_0xa68e('0x3d')][_0xa68e('0x42')](_0x3b32a7)[_0xa68e('0x21')](handleEntityNotFound(_0x568ffc,null))[_0xa68e('0x21')](respondWithResult(_0x568ffc,null))['catch'](handleError(_0x568ffc,null));};exports['create']=function(_0x378429,_0x4d23fe){return db['CmCompany'][_0xa68e('0x43')](_0x378429['body'],{})[_0xa68e('0x21')](function(_0x562cff){var _0x47a617=_0x378429[_0xa68e('0x44')][_0xa68e('0x23')]({'plain':!![]});if(!_0x47a617)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x47a617[_0xa68e('0x45')]===_0xa68e('0x44')){var _0x391b11=_0x562cff['get']({'plain':!![]});var _0x940fe7=_0xa68e('0x24');return db[_0xa68e('0x46')][_0xa68e('0x42')]({'where':{'name':_0x940fe7,'userProfileId':_0x47a617[_0xa68e('0x47')]},'raw':!![]})[_0xa68e('0x21')](function(_0x41cce1){if(_0x41cce1&&_0x41cce1[_0xa68e('0x48')]===0x0){return db[_0xa68e('0x25')][_0xa68e('0x43')]({'name':_0x391b11[_0xa68e('0x28')],'resourceId':_0x391b11['id'],'type':_0x41cce1[_0xa68e('0x28')],'sectionId':_0x41cce1['id']},{})[_0xa68e('0x21')](function(){return _0x562cff;});}else{return _0x562cff;}})['catch'](function(_0x500bab){logger['error'](_0xa68e('0x49'),_0x500bab);throw _0x500bab;});}return _0x562cff;})[_0xa68e('0x21')](respondWithResult(_0x4d23fe,0xc9))[_0xa68e('0x3f')](handleError(_0x4d23fe,null));};exports[_0xa68e('0x20')]=function(_0x166ce0,_0x4355eb){if(_0x166ce0[_0xa68e('0x4a')]['id']){delete _0x166ce0['body']['id'];}return db[_0xa68e('0x3d')][_0xa68e('0x42')]({'where':{'id':_0x166ce0[_0xa68e('0x4b')]['id']}})[_0xa68e('0x21')](handleEntityNotFound(_0x4355eb,null))[_0xa68e('0x21')](saveUpdates(_0x166ce0[_0xa68e('0x4a')],null))[_0xa68e('0x21')](respondWithResult(_0x4355eb,null))['catch'](handleError(_0x4355eb,null));};exports[_0xa68e('0x22')]=function(_0x40fc42,_0x37319a){return db[_0xa68e('0x3d')][_0xa68e('0x42')]({'where':{'id':_0x40fc42[_0xa68e('0x4b')]['id']}})[_0xa68e('0x21')](handleEntityNotFound(_0x37319a,null))[_0xa68e('0x21')](removeEntity(_0x37319a,null))[_0xa68e('0x3f')](handleError(_0x37319a,null));};exports['describe']=function(_0x2b91ef,_0x47c946){return db[_0xa68e('0x3d')]['describe']()[_0xa68e('0x21')](respondWithResult(_0x47c946,null))[_0xa68e('0x3f')](handleError(_0x47c946,null));};exports['addContacts']=function(_0x5f0e7d,_0x340c35,_0x49e39d){return db['CmContact'][_0xa68e('0x42')]({'where':{'id':_0x5f0e7d[_0xa68e('0x4b')]['id']}})['then'](handleEntityNotFound(_0x340c35,null))[_0xa68e('0x21')](function(_0x3f1779){if(_0x3f1779){return _0x3f1779[_0xa68e('0x4c')](_0x5f0e7d[_0xa68e('0x4a')][_0xa68e('0x4d')],_[_0xa68e('0x4e')](_0x5f0e7d[_0xa68e('0x4a')],[_0xa68e('0x4d'),'id'])||{});}})['then'](respondWithResult(_0x340c35,null))['catch'](handleError(_0x340c35,null));};exports[_0xa68e('0x4f')]=function(_0x3f3100,_0x4100d6,_0x4559d7){var _0x4646ae={};var _0x1834ab={};var _0x446989;var _0xf736c0;return db[_0xa68e('0x3d')]['findOne']({'where':{'id':_0x3f3100[_0xa68e('0x4b')]['id']}})[_0xa68e('0x21')](handleEntityNotFound(_0x4100d6,null))['then'](function(_0xc4dc8a){if(_0xc4dc8a){_0x446989=_0xc4dc8a;_0x1834ab[_0xa68e('0x2c')]=_['keys'](db[_0xa68e('0x50')][_0xa68e('0x40')]);_0x1834ab[_0xa68e('0x2e')]=_[_0xa68e('0x2d')](_0x3f3100[_0xa68e('0x2e')]);_0x1834ab['filters']=_[_0xa68e('0x41')](_0x1834ab[_0xa68e('0x2c')],_0x1834ab[_0xa68e('0x2e')]);_0x4646ae[_0xa68e('0x2f')]=_[_0xa68e('0x41')](_0x1834ab[_0xa68e('0x2c')],qs[_0xa68e('0x30')](_0x3f3100[_0xa68e('0x2e')][_0xa68e('0x30')]));_0x4646ae['attributes']=_0x4646ae[_0xa68e('0x2f')][_0xa68e('0x31')]?_0x4646ae[_0xa68e('0x2f')]:_0x1834ab[_0xa68e('0x2c')];_0x4646ae[_0xa68e('0x51')]=qs['sort'](_0x3f3100['query'][_0xa68e('0x34')]);_0x4646ae[_0xa68e('0x35')]=qs[_0xa68e('0x36')](_[_0xa68e('0x52')](_0x3f3100[_0xa68e('0x2e')],_0x1834ab[_0xa68e('0x36')]));if(_0x3f3100[_0xa68e('0x2e')]['filter']){_0x4646ae[_0xa68e('0x35')]=_['merge'](_0x4646ae[_0xa68e('0x35')],{'$or':_[_0xa68e('0x39')](_0x4646ae[_0xa68e('0x2f')],function(_0x57e5ed){var _0x22eeec={};_0x22eeec[_0x57e5ed]={'$like':'%'+_0x3f3100[_0xa68e('0x2e')][_0xa68e('0x37')]+'%'};return _0x22eeec;})});}_0x4646ae=_[_0xa68e('0x38')]({},_0x4646ae,_0x3f3100['options']);return _0x446989[_0xa68e('0x4f')](_0x4646ae);}})[_0xa68e('0x21')](function(_0x12e720){if(_0x12e720){_0xf736c0=_0x12e720[_0xa68e('0x31')];if(!_0x3f3100['query'][_0xa68e('0x32')](_0xa68e('0x33'))){_0x4646ae[_0xa68e('0x1b')]=qs[_0xa68e('0x1b')](_0x3f3100[_0xa68e('0x2e')][_0xa68e('0x1b')]);_0x4646ae['offset']=qs['offset'](_0x3f3100[_0xa68e('0x2e')]['offset']);}return _0x446989[_0xa68e('0x4f')](_0x4646ae);}})[_0xa68e('0x21')](function(_0x3f6bc8){if(_0x3f6bc8){return _0x3f6bc8?{'count':_0xf736c0,'rows':_0x3f6bc8}:null;}})[_0xa68e('0x21')](respondWithResult(_0x4100d6,null))['catch'](handleError(_0x4100d6,null));};