Built motion from commit fe909640.|2.6.8
[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 _0x3fdd=['status','offset','limit','undefined','count','apply','reject','update','then','destroy','get','UserProfileResource','sendStatus','error','stack','name','index','CmCompany','describe','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','findAll','rows','catch','show','params','rawAttributes','include','merge','options','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Companies','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addContacts','CmContact','ids','omit','findOne','getContacts','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x8511f9,_0x3056f3){var _0x2ec32b=function(_0x2b2435){while(--_0x2b2435){_0x8511f9['push'](_0x8511f9['shift']());}};_0x2ec32b(++_0x3056f3);}(_0x3fdd,0x19d));var _0xd3fd=function(_0x28baec,_0x39c66f){_0x28baec=_0x28baec-0x0;var _0x591bf8=_0x3fdd[_0x28baec];return _0x591bf8;};'use strict';var emlformat=require(_0xd3fd('0x0'));var rimraf=require(_0xd3fd('0x1'));var zipdir=require(_0xd3fd('0x2'));var jsonpatch=require(_0xd3fd('0x3'));var rp=require(_0xd3fd('0x4'));var moment=require(_0xd3fd('0x5'));var BPromise=require(_0xd3fd('0x6'));var Mustache=require('mustache');var util=require(_0xd3fd('0x7'));var path=require(_0xd3fd('0x8'));var sox=require(_0xd3fd('0x9'));var csv=require(_0xd3fd('0xa'));var ejs=require(_0xd3fd('0xb'));var fs=require('fs');var fs_extra=require(_0xd3fd('0xc'));var _=require(_0xd3fd('0xd'));var squel=require(_0xd3fd('0xe'));var crypto=require(_0xd3fd('0xf'));var jsforce=require(_0xd3fd('0x10'));var deskjs=require(_0xd3fd('0x11'));var toCsv=require(_0xd3fd('0xa'));var querystring=require(_0xd3fd('0x12'));var Papa=require(_0xd3fd('0x13'));var Redis=require(_0xd3fd('0x14'));var authService=require(_0xd3fd('0x15'));var qs=require(_0xd3fd('0x16'));var as=require(_0xd3fd('0x17'));var hardwareService=require(_0xd3fd('0x18'));var logger=require(_0xd3fd('0x19'))(_0xd3fd('0x1a'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5abc4e,_0x2a7d5a){_0x2a7d5a=_0x2a7d5a||0xcc;return function(_0x45a22d){if(_0x45a22d){return _0x5abc4e['sendStatus'](_0x2a7d5a);}return _0x5abc4e[_0xd3fd('0x1b')](_0x2a7d5a)['end']();};}function respondWithResult(_0x539651,_0xd617ad){_0xd617ad=_0xd617ad||0xc8;return function(_0x3dcd68){if(_0x3dcd68){return _0x539651['status'](_0xd617ad)['json'](_0x3dcd68);}};}function respondWithFilteredResult(_0x44cdf4,_0x4cd96c){return function(_0x1417e0){if(_0x1417e0){var _0x4662e3=typeof _0x4cd96c[_0xd3fd('0x1c')]==='undefined'&&typeof _0x4cd96c[_0xd3fd('0x1d')]===_0xd3fd('0x1e');var _0x4c8418=_0x1417e0[_0xd3fd('0x1f')];var _0x5b3249=_0x4662e3?0x0:_0x4cd96c['offset'];var _0x19a39f=_0x4662e3?_0x1417e0[_0xd3fd('0x1f')]:_0x4cd96c[_0xd3fd('0x1c')]+_0x4cd96c[_0xd3fd('0x1d')];var _0x4fc08f;if(_0x19a39f>=_0x4c8418){_0x19a39f=_0x4c8418;_0x4fc08f=0xc8;}else{_0x4fc08f=0xce;}_0x44cdf4[_0xd3fd('0x1b')](_0x4fc08f);return _0x44cdf4['set']('Content-Range',_0x5b3249+'-'+_0x19a39f+'/'+_0x4c8418)['json'](_0x1417e0);}return null;};}function patchUpdates(_0x2c5a70){return function(_0x106a7f){try{jsonpatch[_0xd3fd('0x20')](_0x106a7f,_0x2c5a70,!![]);}catch(_0x3e7d5e){return BPromise[_0xd3fd('0x21')](_0x3e7d5e);}return _0x106a7f['save']();};}function saveUpdates(_0x4b9968,_0x38cd24){return function(_0x2b35c1){if(_0x2b35c1){return _0x2b35c1[_0xd3fd('0x22')](_0x4b9968)[_0xd3fd('0x23')](function(_0x42b9aa){return _0x42b9aa;});}return null;};}function removeEntity(_0x4d5856,_0x346d66){return function(_0x57fbaa){if(_0x57fbaa){return _0x57fbaa[_0xd3fd('0x24')]()[_0xd3fd('0x23')](function(){var _0x3ea169=_0x57fbaa[_0xd3fd('0x25')]({'plain':!![]});var _0x5afdd0='Companies';return db[_0xd3fd('0x26')][_0xd3fd('0x24')]({'where':{'type':_0x5afdd0,'resourceId':_0x3ea169['id']}})[_0xd3fd('0x23')](function(){return _0x57fbaa;});})[_0xd3fd('0x23')](function(){_0x4d5856[_0xd3fd('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x554f73,_0x2a6ebd){return function(_0x50b32b){if(!_0x50b32b){_0x554f73[_0xd3fd('0x27')](0x194);}return _0x50b32b;};}function handleError(_0x3371a7,_0x18aa92){_0x18aa92=_0x18aa92||0x1f4;return function(_0x59e0f7){logger[_0xd3fd('0x28')](_0x59e0f7[_0xd3fd('0x29')]);if(_0x59e0f7[_0xd3fd('0x2a')]){delete _0x59e0f7[_0xd3fd('0x2a')];}_0x3371a7[_0xd3fd('0x1b')](_0x18aa92)['send'](_0x59e0f7);};}exports[_0xd3fd('0x2b')]=function(_0x3302ab,_0xd73c50){var _0x12693a={},_0x59cddb={},_0x341b1a={'count':0x0,'rows':[]};return db[_0xd3fd('0x2c')][_0xd3fd('0x2d')]()[_0xd3fd('0x23')](function(_0x1d742e){_0x59cddb[_0xd3fd('0x2e')]=_[_0xd3fd('0x2f')](_0x1d742e);_0x59cddb[_0xd3fd('0x30')]=_[_0xd3fd('0x2f')](_0x3302ab['query']);_0x59cddb[_0xd3fd('0x31')]=_[_0xd3fd('0x32')](_0x59cddb[_0xd3fd('0x2e')],_0x59cddb['query']);_0x12693a[_0xd3fd('0x33')]=_[_0xd3fd('0x32')](_0x59cddb['model'],qs[_0xd3fd('0x34')](_0x3302ab[_0xd3fd('0x30')]['fields']));_0x12693a['attributes']=_0x12693a[_0xd3fd('0x33')][_0xd3fd('0x35')]?_0x12693a['attributes']:_0x59cddb[_0xd3fd('0x2e')];if(!_0x3302ab['query'][_0xd3fd('0x36')](_0xd3fd('0x37'))){_0x12693a['limit']=qs[_0xd3fd('0x1d')](_0x3302ab['query'][_0xd3fd('0x1d')]);_0x12693a[_0xd3fd('0x1c')]=qs[_0xd3fd('0x1c')](_0x3302ab[_0xd3fd('0x30')][_0xd3fd('0x1c')]);}_0x12693a[_0xd3fd('0x38')]=qs['sort'](_0x3302ab[_0xd3fd('0x30')][_0xd3fd('0x39')]);_0x12693a[_0xd3fd('0x3a')]=qs[_0xd3fd('0x31')](_[_0xd3fd('0x3b')](_0x3302ab[_0xd3fd('0x30')],_0x59cddb[_0xd3fd('0x31')]),_0x1d742e);if(_0x3302ab[_0xd3fd('0x30')][_0xd3fd('0x3c')]){_0x12693a[_0xd3fd('0x3a')]=_['merge'](_0x12693a[_0xd3fd('0x3a')],{'$or':_[_0xd3fd('0x3d')](_0x12693a['attributes'],function(_0x2d9629){var _0x5e9982={};_0x5e9982[_0x2d9629]={'$like':'%'+_0x3302ab[_0xd3fd('0x30')][_0xd3fd('0x3c')]+'%'};return _0x5e9982;})});}_0x12693a=_['merge']({},_0x12693a,_0x3302ab['options']);var _0x1e37a0={'where':_0x12693a['where']};return db['CmCompany']['count'](_0x1e37a0)[_0xd3fd('0x23')](function(_0x4172eb){_0x341b1a['count']=_0x4172eb;if(_0x3302ab[_0xd3fd('0x30')]['includeAll']){_0x12693a['include']=[{'all':!![]}];}return db[_0xd3fd('0x2c')][_0xd3fd('0x3e')](_0x12693a);})[_0xd3fd('0x23')](function(_0x5b057f){_0x341b1a[_0xd3fd('0x3f')]=_0x5b057f;return _0x341b1a;})[_0xd3fd('0x23')](respondWithFilteredResult(_0xd73c50,_0x12693a))[_0xd3fd('0x40')](handleError(_0xd73c50,null));})[_0xd3fd('0x40')](handleError(_0xd73c50,null));};exports[_0xd3fd('0x41')]=function(_0x3bd2e7,_0x299475){var _0x3f5fe1={'raw':![],'where':{'id':_0x3bd2e7[_0xd3fd('0x42')]['id']}},_0x5dfb90={};_0x5dfb90[_0xd3fd('0x2e')]=_[_0xd3fd('0x2f')](db[_0xd3fd('0x2c')][_0xd3fd('0x43')]);_0x5dfb90[_0xd3fd('0x30')]=_['keys'](_0x3bd2e7[_0xd3fd('0x30')]);_0x5dfb90[_0xd3fd('0x31')]=_[_0xd3fd('0x32')](_0x5dfb90['model'],_0x5dfb90['query']);_0x3f5fe1['attributes']=_[_0xd3fd('0x32')](_0x5dfb90[_0xd3fd('0x2e')],qs[_0xd3fd('0x34')](_0x3bd2e7[_0xd3fd('0x30')][_0xd3fd('0x34')]));_0x3f5fe1['attributes']=_0x3f5fe1[_0xd3fd('0x33')][_0xd3fd('0x35')]?_0x3f5fe1[_0xd3fd('0x33')]:_0x5dfb90[_0xd3fd('0x2e')];if(_0x3bd2e7[_0xd3fd('0x30')]['includeAll']){_0x3f5fe1[_0xd3fd('0x44')]=[{'all':!![]}];}_0x3f5fe1=_[_0xd3fd('0x45')]({},_0x3f5fe1,_0x3bd2e7[_0xd3fd('0x46')]);return db[_0xd3fd('0x2c')][_0xd3fd('0x47')](_0x3f5fe1)[_0xd3fd('0x23')](handleEntityNotFound(_0x299475,null))[_0xd3fd('0x23')](respondWithResult(_0x299475,null))[_0xd3fd('0x40')](handleError(_0x299475,null));};exports[_0xd3fd('0x48')]=function(_0x1257e7,_0x4e2120){return db[_0xd3fd('0x2c')][_0xd3fd('0x48')](_0x1257e7[_0xd3fd('0x49')],{})[_0xd3fd('0x23')](function(_0x1ab0a9){var _0x4651ee=_0x1257e7['user'][_0xd3fd('0x25')]({'plain':!![]});if(!_0x4651ee)throw new Error(_0xd3fd('0x4a'));if(_0x4651ee[_0xd3fd('0x4b')]===_0xd3fd('0x4c')){var _0x541c4a=_0x1ab0a9[_0xd3fd('0x25')]({'plain':!![]});var _0x4a8f1a=_0xd3fd('0x4d');return db[_0xd3fd('0x4e')][_0xd3fd('0x47')]({'where':{'name':_0x4a8f1a,'userProfileId':_0x4651ee[_0xd3fd('0x4f')]},'raw':!![]})[_0xd3fd('0x23')](function(_0x22c98a){if(_0x22c98a&&_0x22c98a[_0xd3fd('0x50')]===0x0){return db[_0xd3fd('0x26')]['create']({'name':_0x541c4a[_0xd3fd('0x2a')],'resourceId':_0x541c4a['id'],'type':_0x22c98a[_0xd3fd('0x2a')],'sectionId':_0x22c98a['id']},{})['then'](function(){return _0x1ab0a9;});}else{return _0x1ab0a9;}})['catch'](function(_0x56b0f8){logger[_0xd3fd('0x28')](_0xd3fd('0x51'),_0x56b0f8);throw _0x56b0f8;});}return _0x1ab0a9;})['then'](respondWithResult(_0x4e2120,0xc9))[_0xd3fd('0x40')](handleError(_0x4e2120,null));};exports['update']=function(_0xac8d74,_0x55b8f9){if(_0xac8d74[_0xd3fd('0x49')]['id']){delete _0xac8d74[_0xd3fd('0x49')]['id'];}return db[_0xd3fd('0x2c')][_0xd3fd('0x47')]({'where':{'id':_0xac8d74['params']['id']}})[_0xd3fd('0x23')](handleEntityNotFound(_0x55b8f9,null))[_0xd3fd('0x23')](saveUpdates(_0xac8d74['body'],null))[_0xd3fd('0x23')](respondWithResult(_0x55b8f9,null))[_0xd3fd('0x40')](handleError(_0x55b8f9,null));};exports[_0xd3fd('0x24')]=function(_0x4e714e,_0xa62ca7){return db[_0xd3fd('0x2c')][_0xd3fd('0x47')]({'where':{'id':_0x4e714e[_0xd3fd('0x42')]['id']}})['then'](handleEntityNotFound(_0xa62ca7,null))[_0xd3fd('0x23')](removeEntity(_0xa62ca7,null))['catch'](handleError(_0xa62ca7,null));};exports[_0xd3fd('0x2d')]=function(_0x49f97e,_0x3ef301){return db[_0xd3fd('0x2c')][_0xd3fd('0x2d')]()[_0xd3fd('0x23')](respondWithResult(_0x3ef301,null))[_0xd3fd('0x40')](handleError(_0x3ef301,null));};exports[_0xd3fd('0x52')]=function(_0x7010c3,_0x188ea5,_0x397377){return db[_0xd3fd('0x53')][_0xd3fd('0x47')]({'where':{'id':_0x7010c3['params']['id']}})[_0xd3fd('0x23')](handleEntityNotFound(_0x188ea5,null))['then'](function(_0x53bf60){if(_0x53bf60){return _0x53bf60[_0xd3fd('0x52')](_0x7010c3[_0xd3fd('0x49')][_0xd3fd('0x54')],_[_0xd3fd('0x55')](_0x7010c3[_0xd3fd('0x49')],[_0xd3fd('0x54'),'id'])||{});}})[_0xd3fd('0x23')](respondWithResult(_0x188ea5,null))[_0xd3fd('0x40')](handleError(_0x188ea5,null));};exports['getContacts']=function(_0x49f009,_0x56a002,_0x3249e8){var _0x41dc76={};var _0x4bcc01={};var _0x45c088;var _0xce21d6;return db['CmCompany'][_0xd3fd('0x56')]({'where':{'id':_0x49f009[_0xd3fd('0x42')]['id']}})[_0xd3fd('0x23')](handleEntityNotFound(_0x56a002,null))[_0xd3fd('0x23')](function(_0x34d550){if(_0x34d550){_0x45c088=_0x34d550;_0x4bcc01[_0xd3fd('0x2e')]=_[_0xd3fd('0x2f')](db[_0xd3fd('0x53')][_0xd3fd('0x43')]);_0x4bcc01['query']=_['keys'](_0x49f009['query']);_0x4bcc01['filters']=_[_0xd3fd('0x32')](_0x4bcc01[_0xd3fd('0x2e')],_0x4bcc01[_0xd3fd('0x30')]);_0x41dc76['attributes']=_['intersection'](_0x4bcc01[_0xd3fd('0x2e')],qs[_0xd3fd('0x34')](_0x49f009[_0xd3fd('0x30')]['fields']));_0x41dc76[_0xd3fd('0x33')]=_0x41dc76['attributes']['length']?_0x41dc76[_0xd3fd('0x33')]:_0x4bcc01[_0xd3fd('0x2e')];_0x41dc76[_0xd3fd('0x38')]=qs[_0xd3fd('0x39')](_0x49f009[_0xd3fd('0x30')][_0xd3fd('0x39')]);_0x41dc76[_0xd3fd('0x3a')]=qs[_0xd3fd('0x31')](_[_0xd3fd('0x3b')](_0x49f009[_0xd3fd('0x30')],_0x4bcc01[_0xd3fd('0x31')]));if(_0x49f009['query'][_0xd3fd('0x3c')]){_0x41dc76[_0xd3fd('0x3a')]=_[_0xd3fd('0x45')](_0x41dc76['where'],{'$or':_[_0xd3fd('0x3d')](_0x41dc76[_0xd3fd('0x33')],function(_0x4dab0a){var _0x2a6438={};_0x2a6438[_0x4dab0a]={'$like':'%'+_0x49f009[_0xd3fd('0x30')][_0xd3fd('0x3c')]+'%'};return _0x2a6438;})});}_0x41dc76=_['merge']({},_0x41dc76,_0x49f009[_0xd3fd('0x46')]);return _0x45c088[_0xd3fd('0x57')](_0x41dc76);}})['then'](function(_0x590de3){if(_0x590de3){_0xce21d6=_0x590de3[_0xd3fd('0x35')];if(!_0x49f009['query'][_0xd3fd('0x36')](_0xd3fd('0x37'))){_0x41dc76[_0xd3fd('0x1d')]=qs[_0xd3fd('0x1d')](_0x49f009['query'][_0xd3fd('0x1d')]);_0x41dc76['offset']=qs[_0xd3fd('0x1c')](_0x49f009[_0xd3fd('0x30')][_0xd3fd('0x1c')]);}return _0x45c088[_0xd3fd('0x57')](_0x41dc76);}})[_0xd3fd('0x23')](function(_0x976ef){if(_0x976ef){return _0x976ef?{'count':_0xce21d6,'rows':_0x976ef}:null;}})[_0xd3fd('0x23')](respondWithResult(_0x56a002,null))[_0xd3fd('0x40')](handleError(_0x56a002,null));};