Built motion from commit 5b761a7b.|2.5.36
[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 _0x1706=['getContacts','findOne','rawAttributes','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','UserProfileResource','error','stack','name','send','index','CmCompany','model','keys','query','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','options','includeAll','include','rows','catch','show','params','fields','length','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','Companies','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','describe','addContacts','CmContact','ids'];(function(_0x36c5b0,_0x5001da){var _0xf19333=function(_0x1e880a){while(--_0x1e880a){_0x36c5b0['push'](_0x36c5b0['shift']());}};_0xf19333(++_0x5001da);}(_0x1706,0x1c0));var _0x6170=function(_0x4c4456,_0x159eb5){_0x4c4456=_0x4c4456-0x0;var _0x387c60=_0x1706[_0x4c4456];return _0x387c60;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6170('0x0'));var zipdir=require(_0x6170('0x1'));var jsonpatch=require(_0x6170('0x2'));var rp=require('request-promise');var moment=require(_0x6170('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x6170('0x4'));var util=require(_0x6170('0x5'));var path=require(_0x6170('0x6'));var sox=require(_0x6170('0x7'));var csv=require(_0x6170('0x8'));var ejs=require(_0x6170('0x9'));var fs=require('fs');var fs_extra=require(_0x6170('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x6170('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6170('0xc'));var toCsv=require(_0x6170('0x8'));var querystring=require(_0x6170('0xd'));var Papa=require(_0x6170('0xe'));var Redis=require(_0x6170('0xf'));var authService=require(_0x6170('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x6170('0x11'));var hardwareService=require(_0x6170('0x12'));var logger=require(_0x6170('0x13'))(_0x6170('0x14'));var utils=require('../../config/utils');var config=require(_0x6170('0x15'));var licenseUtil=require(_0x6170('0x16'));var db=require(_0x6170('0x17'))['db'];function respondWithStatusCode(_0x51e156,_0x1f9291){_0x1f9291=_0x1f9291||0xcc;return function(_0x38b71c){if(_0x38b71c){return _0x51e156[_0x6170('0x18')](_0x1f9291);}return _0x51e156['status'](_0x1f9291)[_0x6170('0x19')]();};}function respondWithResult(_0x35a8bc,_0x1d14db){_0x1d14db=_0x1d14db||0xc8;return function(_0x5e1296){if(_0x5e1296){return _0x35a8bc[_0x6170('0x1a')](_0x1d14db)[_0x6170('0x1b')](_0x5e1296);}};}function respondWithFilteredResult(_0x43b283,_0x12bbe0){return function(_0x3ae3ea){if(_0x3ae3ea){var _0x453170=typeof _0x12bbe0[_0x6170('0x1c')]===_0x6170('0x1d')&&typeof _0x12bbe0[_0x6170('0x1e')]===_0x6170('0x1d');var _0x2acb18=_0x3ae3ea['count'];var _0x390bd4=_0x453170?0x0:_0x12bbe0[_0x6170('0x1c')];var _0x4c8fd4=_0x453170?_0x3ae3ea[_0x6170('0x1f')]:_0x12bbe0[_0x6170('0x1c')]+_0x12bbe0[_0x6170('0x1e')];var _0x3939c0;if(_0x4c8fd4>=_0x2acb18){_0x4c8fd4=_0x2acb18;_0x3939c0=0xc8;}else{_0x3939c0=0xce;}_0x43b283['status'](_0x3939c0);return _0x43b283[_0x6170('0x20')](_0x6170('0x21'),_0x390bd4+'-'+_0x4c8fd4+'/'+_0x2acb18)[_0x6170('0x1b')](_0x3ae3ea);}return null;};}function patchUpdates(_0x1b7c3e){return function(_0x57c9a9){try{jsonpatch[_0x6170('0x22')](_0x57c9a9,_0x1b7c3e,!![]);}catch(_0x2c7c3c){return BPromise[_0x6170('0x23')](_0x2c7c3c);}return _0x57c9a9[_0x6170('0x24')]();};}function saveUpdates(_0x444e61,_0x9e9b63){return function(_0x17eee6){if(_0x17eee6){return _0x17eee6[_0x6170('0x25')](_0x444e61)[_0x6170('0x26')](function(_0x1acc79){return _0x1acc79;});}return null;};}function removeEntity(_0x26cdc9,_0x25a8da){return function(_0x25a3a8){if(_0x25a3a8){return _0x25a3a8[_0x6170('0x27')]()[_0x6170('0x26')](function(){var _0x1c3118=_0x25a3a8['get']({'plain':!![]});var _0xeaa566='Companies';return db[_0x6170('0x28')]['destroy']({'where':{'type':_0xeaa566,'resourceId':_0x1c3118['id']}})[_0x6170('0x26')](function(){return _0x25a3a8;});})[_0x6170('0x26')](function(){_0x26cdc9[_0x6170('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3a3233,_0xcd6e17){return function(_0x3334db){if(!_0x3334db){_0x3a3233[_0x6170('0x18')](0x194);}return _0x3334db;};}function handleError(_0x33c4a1,_0x4972b3){_0x4972b3=_0x4972b3||0x1f4;return function(_0x1c7f74){logger[_0x6170('0x29')](_0x1c7f74[_0x6170('0x2a')]);if(_0x1c7f74[_0x6170('0x2b')]){delete _0x1c7f74['name'];}_0x33c4a1[_0x6170('0x1a')](_0x4972b3)[_0x6170('0x2c')](_0x1c7f74);};}exports[_0x6170('0x2d')]=function(_0x34031b,_0x7209d8){var _0xa4947d={},_0x3368e2={},_0x4126f9={'count':0x0,'rows':[]};return db[_0x6170('0x2e')]['describe']()[_0x6170('0x26')](function(_0x2d97ad){_0x3368e2[_0x6170('0x2f')]=_[_0x6170('0x30')](_0x2d97ad);_0x3368e2['query']=_[_0x6170('0x30')](_0x34031b[_0x6170('0x31')]);_0x3368e2[_0x6170('0x32')]=_[_0x6170('0x33')](_0x3368e2[_0x6170('0x2f')],_0x3368e2[_0x6170('0x31')]);_0xa4947d['attributes']=_['intersection'](_0x3368e2[_0x6170('0x2f')],qs['fields'](_0x34031b[_0x6170('0x31')]['fields']));_0xa4947d[_0x6170('0x34')]=_0xa4947d[_0x6170('0x34')]['length']?_0xa4947d[_0x6170('0x34')]:_0x3368e2[_0x6170('0x2f')];if(!_0x34031b[_0x6170('0x31')][_0x6170('0x35')](_0x6170('0x36'))){_0xa4947d[_0x6170('0x1e')]=qs[_0x6170('0x1e')](_0x34031b[_0x6170('0x31')]['limit']);_0xa4947d['offset']=qs[_0x6170('0x1c')](_0x34031b[_0x6170('0x31')][_0x6170('0x1c')]);}_0xa4947d[_0x6170('0x37')]=qs[_0x6170('0x38')](_0x34031b[_0x6170('0x31')][_0x6170('0x38')]);_0xa4947d[_0x6170('0x39')]=qs[_0x6170('0x32')](_[_0x6170('0x3a')](_0x34031b[_0x6170('0x31')],_0x3368e2[_0x6170('0x32')]),_0x2d97ad);if(_0x34031b[_0x6170('0x31')][_0x6170('0x3b')]){_0xa4947d[_0x6170('0x39')]=_[_0x6170('0x3c')](_0xa4947d[_0x6170('0x39')],{'$or':_[_0x6170('0x3d')](_0xa4947d[_0x6170('0x34')],function(_0x58bba0){var _0x156f27={};_0x156f27[_0x58bba0]={'$like':'%'+_0x34031b[_0x6170('0x31')][_0x6170('0x3b')]+'%'};return _0x156f27;})});}_0xa4947d=_[_0x6170('0x3c')]({},_0xa4947d,_0x34031b[_0x6170('0x3e')]);var _0x25bd9f={'where':_0xa4947d['where']};return db[_0x6170('0x2e')][_0x6170('0x1f')](_0x25bd9f)['then'](function(_0x55f444){_0x4126f9[_0x6170('0x1f')]=_0x55f444;if(_0x34031b[_0x6170('0x31')][_0x6170('0x3f')]){_0xa4947d[_0x6170('0x40')]=[{'all':!![]}];}return db['CmCompany']['findAll'](_0xa4947d);})['then'](function(_0xd555a0){_0x4126f9[_0x6170('0x41')]=_0xd555a0;return _0x4126f9;})[_0x6170('0x26')](respondWithFilteredResult(_0x7209d8,_0xa4947d))[_0x6170('0x42')](handleError(_0x7209d8,null));})[_0x6170('0x42')](handleError(_0x7209d8,null));};exports[_0x6170('0x43')]=function(_0x57de66,_0x9fa594){var _0x95a748={'raw':![],'where':{'id':_0x57de66[_0x6170('0x44')]['id']}},_0x367b89={};_0x367b89[_0x6170('0x2f')]=_[_0x6170('0x30')](db[_0x6170('0x2e')]['rawAttributes']);_0x367b89[_0x6170('0x31')]=_['keys'](_0x57de66[_0x6170('0x31')]);_0x367b89[_0x6170('0x32')]=_[_0x6170('0x33')](_0x367b89[_0x6170('0x2f')],_0x367b89[_0x6170('0x31')]);_0x95a748[_0x6170('0x34')]=_[_0x6170('0x33')](_0x367b89['model'],qs['fields'](_0x57de66[_0x6170('0x31')][_0x6170('0x45')]));_0x95a748[_0x6170('0x34')]=_0x95a748[_0x6170('0x34')][_0x6170('0x46')]?_0x95a748[_0x6170('0x34')]:_0x367b89['model'];if(_0x57de66[_0x6170('0x31')][_0x6170('0x3f')]){_0x95a748[_0x6170('0x40')]=[{'all':!![]}];}_0x95a748=_[_0x6170('0x3c')]({},_0x95a748,_0x57de66[_0x6170('0x3e')]);return db[_0x6170('0x2e')]['find'](_0x95a748)['then'](handleEntityNotFound(_0x9fa594,null))[_0x6170('0x26')](respondWithResult(_0x9fa594,null))[_0x6170('0x42')](handleError(_0x9fa594,null));};exports[_0x6170('0x47')]=function(_0x3ab885,_0x1f1642){return db[_0x6170('0x2e')][_0x6170('0x47')](_0x3ab885[_0x6170('0x48')],{})[_0x6170('0x26')](function(_0x30fe93){var _0x2580e7=_0x3ab885[_0x6170('0x49')]['get']({'plain':!![]});if(!_0x2580e7)throw new Error(_0x6170('0x4a'));if(_0x2580e7[_0x6170('0x4b')]===_0x6170('0x49')){var _0x43afd3=_0x30fe93[_0x6170('0x4c')]({'plain':!![]});var _0x306ae7=_0x6170('0x4d');return db[_0x6170('0x4e')]['find']({'where':{'name':_0x306ae7,'userProfileId':_0x2580e7[_0x6170('0x4f')]},'raw':!![]})[_0x6170('0x26')](function(_0x7a2003){if(_0x7a2003&&_0x7a2003['autoAssociation']===0x0){return db[_0x6170('0x28')][_0x6170('0x47')]({'name':_0x43afd3[_0x6170('0x2b')],'resourceId':_0x43afd3['id'],'type':_0x7a2003[_0x6170('0x2b')],'sectionId':_0x7a2003['id']},{})[_0x6170('0x26')](function(){return _0x30fe93;});}else{return _0x30fe93;}})[_0x6170('0x42')](function(_0x51ecba){logger[_0x6170('0x29')](_0x6170('0x50'),_0x51ecba);throw _0x51ecba;});}return _0x30fe93;})[_0x6170('0x26')](respondWithResult(_0x1f1642,0xc9))[_0x6170('0x42')](handleError(_0x1f1642,null));};exports[_0x6170('0x25')]=function(_0x33d35d,_0x5e74f4){if(_0x33d35d[_0x6170('0x48')]['id']){delete _0x33d35d['body']['id'];}return db[_0x6170('0x2e')]['find']({'where':{'id':_0x33d35d[_0x6170('0x44')]['id']}})[_0x6170('0x26')](handleEntityNotFound(_0x5e74f4,null))['then'](saveUpdates(_0x33d35d[_0x6170('0x48')],null))[_0x6170('0x26')](respondWithResult(_0x5e74f4,null))[_0x6170('0x42')](handleError(_0x5e74f4,null));};exports[_0x6170('0x27')]=function(_0x2e1001,_0x517cd2){return db[_0x6170('0x2e')][_0x6170('0x51')]({'where':{'id':_0x2e1001[_0x6170('0x44')]['id']}})[_0x6170('0x26')](handleEntityNotFound(_0x517cd2,null))[_0x6170('0x26')](removeEntity(_0x517cd2,null))[_0x6170('0x42')](handleError(_0x517cd2,null));};exports[_0x6170('0x52')]=function(_0x5cfe97,_0x318da1){return db[_0x6170('0x2e')][_0x6170('0x52')]()['then'](respondWithResult(_0x318da1,null))[_0x6170('0x42')](handleError(_0x318da1,null));};exports[_0x6170('0x53')]=function(_0x44c530,_0x45fd2b,_0x5b9a41){return db[_0x6170('0x54')][_0x6170('0x51')]({'where':{'id':_0x44c530[_0x6170('0x44')]['id']}})['then'](handleEntityNotFound(_0x45fd2b,null))[_0x6170('0x26')](function(_0x351155){if(_0x351155){return _0x351155[_0x6170('0x53')](_0x44c530[_0x6170('0x48')][_0x6170('0x55')],_['omit'](_0x44c530[_0x6170('0x48')],[_0x6170('0x55'),'id'])||{});}})[_0x6170('0x26')](respondWithResult(_0x45fd2b,null))[_0x6170('0x42')](handleError(_0x45fd2b,null));};exports[_0x6170('0x56')]=function(_0x136808,_0x38750b,_0x3b0d2b){var _0x3a983e={};var _0x207bac={};var _0x35cb36;var _0x6e338d;return db[_0x6170('0x2e')][_0x6170('0x57')]({'where':{'id':_0x136808[_0x6170('0x44')]['id']}})[_0x6170('0x26')](handleEntityNotFound(_0x38750b,null))['then'](function(_0x1ec085){if(_0x1ec085){_0x35cb36=_0x1ec085;_0x207bac[_0x6170('0x2f')]=_[_0x6170('0x30')](db[_0x6170('0x54')][_0x6170('0x58')]);_0x207bac[_0x6170('0x31')]=_[_0x6170('0x30')](_0x136808[_0x6170('0x31')]);_0x207bac[_0x6170('0x32')]=_[_0x6170('0x33')](_0x207bac[_0x6170('0x2f')],_0x207bac[_0x6170('0x31')]);_0x3a983e[_0x6170('0x34')]=_[_0x6170('0x33')](_0x207bac['model'],qs['fields'](_0x136808[_0x6170('0x31')][_0x6170('0x45')]));_0x3a983e[_0x6170('0x34')]=_0x3a983e['attributes'][_0x6170('0x46')]?_0x3a983e['attributes']:_0x207bac['model'];_0x3a983e[_0x6170('0x37')]=qs[_0x6170('0x38')](_0x136808['query'][_0x6170('0x38')]);_0x3a983e['where']=qs[_0x6170('0x32')](_[_0x6170('0x3a')](_0x136808[_0x6170('0x31')],_0x207bac[_0x6170('0x32')]));if(_0x136808[_0x6170('0x31')][_0x6170('0x3b')]){_0x3a983e[_0x6170('0x39')]=_['merge'](_0x3a983e[_0x6170('0x39')],{'$or':_['map'](_0x3a983e[_0x6170('0x34')],function(_0x125fb9){var _0x2b68d7={};_0x2b68d7[_0x125fb9]={'$like':'%'+_0x136808[_0x6170('0x31')][_0x6170('0x3b')]+'%'};return _0x2b68d7;})});}_0x3a983e=_[_0x6170('0x3c')]({},_0x3a983e,_0x136808[_0x6170('0x3e')]);return _0x35cb36[_0x6170('0x56')](_0x3a983e);}})[_0x6170('0x26')](function(_0x3e09d5){if(_0x3e09d5){_0x6e338d=_0x3e09d5[_0x6170('0x46')];if(!_0x136808[_0x6170('0x31')][_0x6170('0x35')]('nolimit')){_0x3a983e[_0x6170('0x1e')]=qs[_0x6170('0x1e')](_0x136808[_0x6170('0x31')][_0x6170('0x1e')]);_0x3a983e['offset']=qs[_0x6170('0x1c')](_0x136808[_0x6170('0x31')][_0x6170('0x1c')]);}return _0x35cb36[_0x6170('0x56')](_0x3a983e);}})['then'](function(_0x57f0ee){if(_0x57f0ee){return _0x57f0ee?{'count':_0x6e338d,'rows':_0x57f0ee}:null;}})['then'](respondWithResult(_0x38750b,null))['catch'](handleError(_0x38750b,null));};