Built motion from commit a679711e.|2.6.15
[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 _0x3477=['destroy','addContacts','CmContact','omit','ids','getContacts','findOne','filter','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','count','offset','limit','Content-Range','apply','reject','get','Companies','UserProfileResource','then','error','stack','name','send','index','CmCompany','describe','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','options','includeAll','include','rows','catch','show','params','rawAttributes','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update'];(function(_0x3b7af4,_0x5d9914){var _0x44a410=function(_0x32ac47){while(--_0x32ac47){_0x3b7af4['push'](_0x3b7af4['shift']());}};_0x44a410(++_0x5d9914);}(_0x3477,0x119));var _0x7347=function(_0x53da20,_0x11aa12){_0x53da20=_0x53da20-0x0;var _0x2622e8=_0x3477[_0x53da20];return _0x2622e8;};'use strict';var emlformat=require(_0x7347('0x0'));var rimraf=require(_0x7347('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7347('0x2'));var rp=require(_0x7347('0x3'));var moment=require(_0x7347('0x4'));var BPromise=require(_0x7347('0x5'));var Mustache=require(_0x7347('0x6'));var util=require(_0x7347('0x7'));var path=require(_0x7347('0x8'));var sox=require(_0x7347('0x9'));var csv=require(_0x7347('0xa'));var ejs=require(_0x7347('0xb'));var fs=require('fs');var fs_extra=require(_0x7347('0xc'));var _=require(_0x7347('0xd'));var squel=require(_0x7347('0xe'));var crypto=require('crypto');var jsforce=require(_0x7347('0xf'));var deskjs=require(_0x7347('0x10'));var toCsv=require(_0x7347('0xa'));var querystring=require(_0x7347('0x11'));var Papa=require(_0x7347('0x12'));var Redis=require(_0x7347('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x7347('0x14'));var as=require(_0x7347('0x15'));var hardwareService=require(_0x7347('0x16'));var logger=require('../../config/logger')(_0x7347('0x17'));var utils=require(_0x7347('0x18'));var config=require(_0x7347('0x19'));var licenseUtil=require(_0x7347('0x1a'));var db=require(_0x7347('0x1b'))['db'];function respondWithStatusCode(_0xfeda14,_0x123857){_0x123857=_0x123857||0xcc;return function(_0x1a2723){if(_0x1a2723){return _0xfeda14[_0x7347('0x1c')](_0x123857);}return _0xfeda14['status'](_0x123857)[_0x7347('0x1d')]();};}function respondWithResult(_0x2f65f7,_0x23df9c){_0x23df9c=_0x23df9c||0xc8;return function(_0x48589c){if(_0x48589c){return _0x2f65f7[_0x7347('0x1e')](_0x23df9c)[_0x7347('0x1f')](_0x48589c);}};}function respondWithFilteredResult(_0x30518c,_0x3e84ea){return function(_0x1e42f5){if(_0x1e42f5){var _0x1ccb91=typeof _0x3e84ea['offset']===_0x7347('0x20')&&typeof _0x3e84ea['limit']==='undefined';var _0xcb8e2=_0x1e42f5[_0x7347('0x21')];var _0x372448=_0x1ccb91?0x0:_0x3e84ea[_0x7347('0x22')];var _0x18a7b0=_0x1ccb91?_0x1e42f5['count']:_0x3e84ea[_0x7347('0x22')]+_0x3e84ea[_0x7347('0x23')];var _0xa4f52e;if(_0x18a7b0>=_0xcb8e2){_0x18a7b0=_0xcb8e2;_0xa4f52e=0xc8;}else{_0xa4f52e=0xce;}_0x30518c[_0x7347('0x1e')](_0xa4f52e);return _0x30518c['set'](_0x7347('0x24'),_0x372448+'-'+_0x18a7b0+'/'+_0xcb8e2)[_0x7347('0x1f')](_0x1e42f5);}return null;};}function patchUpdates(_0x469b49){return function(_0xf3355c){try{jsonpatch[_0x7347('0x25')](_0xf3355c,_0x469b49,!![]);}catch(_0x451d5f){return BPromise[_0x7347('0x26')](_0x451d5f);}return _0xf3355c['save']();};}function saveUpdates(_0x250ac3,_0x141568){return function(_0x395105){if(_0x395105){return _0x395105['update'](_0x250ac3)['then'](function(_0x40977c){return _0x40977c;});}return null;};}function removeEntity(_0x324c5d,_0x5befb1){return function(_0x31454d){if(_0x31454d){return _0x31454d['destroy']()['then'](function(){var _0x5d7383=_0x31454d[_0x7347('0x27')]({'plain':!![]});var _0x357b7a=_0x7347('0x28');return db[_0x7347('0x29')]['destroy']({'where':{'type':_0x357b7a,'resourceId':_0x5d7383['id']}})[_0x7347('0x2a')](function(){return _0x31454d;});})[_0x7347('0x2a')](function(){_0x324c5d[_0x7347('0x1e')](0xcc)[_0x7347('0x1d')]();});}};}function handleEntityNotFound(_0x5704ec,_0x18d5b4){return function(_0xf4a772){if(!_0xf4a772){_0x5704ec[_0x7347('0x1c')](0x194);}return _0xf4a772;};}function handleError(_0x5c87fa,_0x5e66da){_0x5e66da=_0x5e66da||0x1f4;return function(_0x2c70b7){logger[_0x7347('0x2b')](_0x2c70b7[_0x7347('0x2c')]);if(_0x2c70b7[_0x7347('0x2d')]){delete _0x2c70b7[_0x7347('0x2d')];}_0x5c87fa[_0x7347('0x1e')](_0x5e66da)[_0x7347('0x2e')](_0x2c70b7);};}exports[_0x7347('0x2f')]=function(_0x2694b6,_0x3b2d58){var _0x4ace98={},_0x4fdc50={},_0x252844={'count':0x0,'rows':[]};return db[_0x7347('0x30')][_0x7347('0x31')]()[_0x7347('0x2a')](function(_0x494c71){_0x4fdc50[_0x7347('0x32')]=_[_0x7347('0x33')](_0x494c71);_0x4fdc50[_0x7347('0x34')]=_[_0x7347('0x33')](_0x2694b6[_0x7347('0x34')]);_0x4fdc50[_0x7347('0x35')]=_['intersection'](_0x4fdc50['model'],_0x4fdc50[_0x7347('0x34')]);_0x4ace98[_0x7347('0x36')]=_[_0x7347('0x37')](_0x4fdc50[_0x7347('0x32')],qs[_0x7347('0x38')](_0x2694b6['query'][_0x7347('0x38')]));_0x4ace98[_0x7347('0x36')]=_0x4ace98[_0x7347('0x36')][_0x7347('0x39')]?_0x4ace98[_0x7347('0x36')]:_0x4fdc50[_0x7347('0x32')];if(!_0x2694b6[_0x7347('0x34')][_0x7347('0x3a')](_0x7347('0x3b'))){_0x4ace98[_0x7347('0x23')]=qs[_0x7347('0x23')](_0x2694b6['query'][_0x7347('0x23')]);_0x4ace98[_0x7347('0x22')]=qs[_0x7347('0x22')](_0x2694b6[_0x7347('0x34')][_0x7347('0x22')]);}_0x4ace98[_0x7347('0x3c')]=qs[_0x7347('0x3d')](_0x2694b6['query'][_0x7347('0x3d')]);_0x4ace98['where']=qs[_0x7347('0x35')](_[_0x7347('0x3e')](_0x2694b6['query'],_0x4fdc50[_0x7347('0x35')]),_0x494c71);if(_0x2694b6['query']['filter']){_0x4ace98['where']=_['merge'](_0x4ace98[_0x7347('0x3f')],{'$or':_['map'](_0x4ace98[_0x7347('0x36')],function(_0x42859f){var _0x56053c={};_0x56053c[_0x42859f]={'$like':'%'+_0x2694b6['query']['filter']+'%'};return _0x56053c;})});}_0x4ace98=_[_0x7347('0x40')]({},_0x4ace98,_0x2694b6[_0x7347('0x41')]);var _0xcb7481={'where':_0x4ace98['where']};return db[_0x7347('0x30')][_0x7347('0x21')](_0xcb7481)['then'](function(_0x2e903b){_0x252844[_0x7347('0x21')]=_0x2e903b;if(_0x2694b6[_0x7347('0x34')][_0x7347('0x42')]){_0x4ace98[_0x7347('0x43')]=[{'all':!![]}];}return db[_0x7347('0x30')]['findAll'](_0x4ace98);})[_0x7347('0x2a')](function(_0x377177){_0x252844[_0x7347('0x44')]=_0x377177;return _0x252844;})[_0x7347('0x2a')](respondWithFilteredResult(_0x3b2d58,_0x4ace98))[_0x7347('0x45')](handleError(_0x3b2d58,null));})[_0x7347('0x45')](handleError(_0x3b2d58,null));};exports[_0x7347('0x46')]=function(_0x49f175,_0x9ee224){var _0x4d47af={'raw':![],'where':{'id':_0x49f175[_0x7347('0x47')]['id']}},_0x22eb56={};_0x22eb56[_0x7347('0x32')]=_[_0x7347('0x33')](db[_0x7347('0x30')][_0x7347('0x48')]);_0x22eb56['query']=_[_0x7347('0x33')](_0x49f175[_0x7347('0x34')]);_0x22eb56['filters']=_['intersection'](_0x22eb56[_0x7347('0x32')],_0x22eb56[_0x7347('0x34')]);_0x4d47af['attributes']=_['intersection'](_0x22eb56[_0x7347('0x32')],qs['fields'](_0x49f175[_0x7347('0x34')]['fields']));_0x4d47af[_0x7347('0x36')]=_0x4d47af[_0x7347('0x36')]['length']?_0x4d47af[_0x7347('0x36')]:_0x22eb56[_0x7347('0x32')];if(_0x49f175['query'][_0x7347('0x42')]){_0x4d47af['include']=[{'all':!![]}];}_0x4d47af=_[_0x7347('0x40')]({},_0x4d47af,_0x49f175[_0x7347('0x41')]);return db['CmCompany'][_0x7347('0x49')](_0x4d47af)[_0x7347('0x2a')](handleEntityNotFound(_0x9ee224,null))[_0x7347('0x2a')](respondWithResult(_0x9ee224,null))['catch'](handleError(_0x9ee224,null));};exports[_0x7347('0x4a')]=function(_0x12cdb4,_0x2ac148){return db[_0x7347('0x30')]['create'](_0x12cdb4[_0x7347('0x4b')],{})[_0x7347('0x2a')](function(_0x451ac4){var _0x614e0=_0x12cdb4['user'][_0x7347('0x27')]({'plain':!![]});if(!_0x614e0)throw new Error(_0x7347('0x4c'));if(_0x614e0[_0x7347('0x4d')]==='user'){var _0x5956e3=_0x451ac4[_0x7347('0x27')]({'plain':!![]});var _0x4fcc99=_0x7347('0x28');return db[_0x7347('0x4e')][_0x7347('0x49')]({'where':{'name':_0x4fcc99,'userProfileId':_0x614e0[_0x7347('0x4f')]},'raw':!![]})[_0x7347('0x2a')](function(_0x457993){if(_0x457993&&_0x457993[_0x7347('0x50')]===0x0){return db[_0x7347('0x29')][_0x7347('0x4a')]({'name':_0x5956e3[_0x7347('0x2d')],'resourceId':_0x5956e3['id'],'type':_0x457993['name'],'sectionId':_0x457993['id']},{})[_0x7347('0x2a')](function(){return _0x451ac4;});}else{return _0x451ac4;}})['catch'](function(_0x59ce88){logger['error'](_0x7347('0x51'),_0x59ce88);throw _0x59ce88;});}return _0x451ac4;})[_0x7347('0x2a')](respondWithResult(_0x2ac148,0xc9))[_0x7347('0x45')](handleError(_0x2ac148,null));};exports[_0x7347('0x52')]=function(_0x207357,_0x5db0fc){if(_0x207357['body']['id']){delete _0x207357[_0x7347('0x4b')]['id'];}return db[_0x7347('0x30')][_0x7347('0x49')]({'where':{'id':_0x207357['params']['id']}})[_0x7347('0x2a')](handleEntityNotFound(_0x5db0fc,null))[_0x7347('0x2a')](saveUpdates(_0x207357[_0x7347('0x4b')],null))[_0x7347('0x2a')](respondWithResult(_0x5db0fc,null))[_0x7347('0x45')](handleError(_0x5db0fc,null));};exports[_0x7347('0x53')]=function(_0x4af720,_0x1fb629){return db[_0x7347('0x30')][_0x7347('0x49')]({'where':{'id':_0x4af720['params']['id']}})[_0x7347('0x2a')](handleEntityNotFound(_0x1fb629,null))[_0x7347('0x2a')](removeEntity(_0x1fb629,null))[_0x7347('0x45')](handleError(_0x1fb629,null));};exports[_0x7347('0x31')]=function(_0x58b757,_0x4084eb){return db[_0x7347('0x30')][_0x7347('0x31')]()[_0x7347('0x2a')](respondWithResult(_0x4084eb,null))['catch'](handleError(_0x4084eb,null));};exports[_0x7347('0x54')]=function(_0x2a5bae,_0x500862,_0x30cf19){return db[_0x7347('0x55')]['find']({'where':{'id':_0x2a5bae[_0x7347('0x47')]['id']}})['then'](handleEntityNotFound(_0x500862,null))[_0x7347('0x2a')](function(_0x3dd941){if(_0x3dd941){return _0x3dd941[_0x7347('0x54')](_0x2a5bae['body']['ids'],_[_0x7347('0x56')](_0x2a5bae['body'],[_0x7347('0x57'),'id'])||{});}})[_0x7347('0x2a')](respondWithResult(_0x500862,null))['catch'](handleError(_0x500862,null));};exports[_0x7347('0x58')]=function(_0x5fd422,_0x2cb95f,_0x1e0000){var _0x1b1698={};var _0x4eeee8={};var _0x58294e;var _0x3c078e;return db['CmCompany'][_0x7347('0x59')]({'where':{'id':_0x5fd422[_0x7347('0x47')]['id']}})['then'](handleEntityNotFound(_0x2cb95f,null))['then'](function(_0x35c0e3){if(_0x35c0e3){_0x58294e=_0x35c0e3;_0x4eeee8['model']=_[_0x7347('0x33')](db[_0x7347('0x55')][_0x7347('0x48')]);_0x4eeee8[_0x7347('0x34')]=_[_0x7347('0x33')](_0x5fd422[_0x7347('0x34')]);_0x4eeee8[_0x7347('0x35')]=_[_0x7347('0x37')](_0x4eeee8[_0x7347('0x32')],_0x4eeee8[_0x7347('0x34')]);_0x1b1698[_0x7347('0x36')]=_[_0x7347('0x37')](_0x4eeee8['model'],qs[_0x7347('0x38')](_0x5fd422[_0x7347('0x34')][_0x7347('0x38')]));_0x1b1698['attributes']=_0x1b1698[_0x7347('0x36')][_0x7347('0x39')]?_0x1b1698[_0x7347('0x36')]:_0x4eeee8[_0x7347('0x32')];_0x1b1698['order']=qs['sort'](_0x5fd422[_0x7347('0x34')][_0x7347('0x3d')]);_0x1b1698[_0x7347('0x3f')]=qs['filters'](_[_0x7347('0x3e')](_0x5fd422[_0x7347('0x34')],_0x4eeee8[_0x7347('0x35')]));if(_0x5fd422[_0x7347('0x34')][_0x7347('0x5a')]){_0x1b1698['where']=_['merge'](_0x1b1698[_0x7347('0x3f')],{'$or':_['map'](_0x1b1698[_0x7347('0x36')],function(_0x3927e3){var _0x1d4a04={};_0x1d4a04[_0x3927e3]={'$like':'%'+_0x5fd422[_0x7347('0x34')][_0x7347('0x5a')]+'%'};return _0x1d4a04;})});}_0x1b1698=_[_0x7347('0x40')]({},_0x1b1698,_0x5fd422[_0x7347('0x41')]);return _0x58294e[_0x7347('0x58')](_0x1b1698);}})[_0x7347('0x2a')](function(_0x1ac89b){if(_0x1ac89b){_0x3c078e=_0x1ac89b[_0x7347('0x39')];if(!_0x5fd422['query'][_0x7347('0x3a')](_0x7347('0x3b'))){_0x1b1698[_0x7347('0x23')]=qs[_0x7347('0x23')](_0x5fd422['query']['limit']);_0x1b1698['offset']=qs['offset'](_0x5fd422['query'][_0x7347('0x22')]);}return _0x58294e['getContacts'](_0x1b1698);}})[_0x7347('0x2a')](function(_0x3b0a5a){if(_0x3b0a5a){return _0x3b0a5a?{'count':_0x3c078e,'rows':_0x3b0a5a}:null;}})[_0x7347('0x2a')](respondWithResult(_0x2cb95f,null))[_0x7347('0x45')](handleError(_0x2cb95f,null));};