Built motion from commit (unavailable).|2.5.26
[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 _0xa400=['CmCompany','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','map','options','includeAll','include','catch','show','params','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','error','addContacts','CmContact','ids','omit','getContacts','findOne','pick','eml-format','rimraf','zip-dir','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','json','count','offset','limit','status','Content-Range','apply','then','get','UserProfileResource','destroy','name','index'];(function(_0x53c253,_0x314fcc){var _0x3c4d95=function(_0x29b33c){while(--_0x29b33c){_0x53c253['push'](_0x53c253['shift']());}};_0x3c4d95(++_0x314fcc);}(_0xa400,0xc1));var _0x0a40=function(_0x352859,_0xd411d5){_0x352859=_0x352859-0x0;var _0x370808=_0xa400[_0x352859];return _0x370808;};'use strict';var emlformat=require(_0x0a40('0x0'));var rimraf=require(_0x0a40('0x1'));var zipdir=require(_0x0a40('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x0a40('0x3'));var Mustache=require(_0x0a40('0x4'));var util=require('util');var path=require(_0x0a40('0x5'));var sox=require('sox');var csv=require(_0x0a40('0x6'));var ejs=require(_0x0a40('0x7'));var fs=require('fs');var fs_extra=require(_0x0a40('0x8'));var _=require(_0x0a40('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0a40('0xa'));var toCsv=require(_0x0a40('0x6'));var querystring=require(_0x0a40('0xb'));var Papa=require(_0x0a40('0xc'));var Redis=require(_0x0a40('0xd'));var authService=require(_0x0a40('0xe'));var qs=require(_0x0a40('0xf'));var as=require(_0x0a40('0x10'));var hardwareService=require(_0x0a40('0x11'));var logger=require(_0x0a40('0x12'))(_0x0a40('0x13'));var utils=require(_0x0a40('0x14'));var config=require(_0x0a40('0x15'));var licenseUtil=require(_0x0a40('0x16'));var db=require(_0x0a40('0x17'))['db'];function respondWithStatusCode(_0x45a6cb,_0x384eef){_0x384eef=_0x384eef||0xcc;return function(_0x5f2d82){if(_0x5f2d82){return _0x45a6cb['sendStatus'](_0x384eef);}return _0x45a6cb['status'](_0x384eef)[_0x0a40('0x18')]();};}function respondWithResult(_0x1b5104,_0x5de1de){_0x5de1de=_0x5de1de||0xc8;return function(_0x339fb6){if(_0x339fb6){return _0x1b5104['status'](_0x5de1de)[_0x0a40('0x19')](_0x339fb6);}};}function respondWithFilteredResult(_0x182cc0,_0x4e3954){return function(_0x198fed){if(_0x198fed){var _0x27b3aa=_0x198fed[_0x0a40('0x1a')],_0x5a6a44=_0x4e3954[_0x0a40('0x1b')],_0x4a064c=_0x4e3954[_0x0a40('0x1b')]+_0x4e3954[_0x0a40('0x1c')],_0x59cdbe;if(_0x4a064c>=_0x27b3aa){_0x4a064c=_0x27b3aa;_0x59cdbe=0xc8;}else{_0x59cdbe=0xce;}_0x182cc0[_0x0a40('0x1d')](_0x59cdbe);return _0x182cc0['set'](_0x0a40('0x1e'),_0x5a6a44+'-'+_0x4a064c+'/'+_0x27b3aa)[_0x0a40('0x19')](_0x198fed);}return null;};}function patchUpdates(_0x1e4eee){return function(_0x5c039a){try{jsonpatch[_0x0a40('0x1f')](_0x5c039a,_0x1e4eee,!![]);}catch(_0x531f70){return BPromise['reject'](_0x531f70);}return _0x5c039a['save']();};}function saveUpdates(_0x3e4a43,_0x3b405f){return function(_0x57afba){if(_0x57afba){return _0x57afba['update'](_0x3e4a43)[_0x0a40('0x20')](function(_0x1aebc1){return _0x1aebc1;});}return null;};}function removeEntity(_0x16edc4,_0x145ebb){return function(_0x14f35e){if(_0x14f35e){return _0x14f35e['destroy']()[_0x0a40('0x20')](function(){var _0x2c7141=_0x14f35e[_0x0a40('0x21')]({'plain':!![]});var _0x2ab128='Companies';return db[_0x0a40('0x22')][_0x0a40('0x23')]({'where':{'type':_0x2ab128,'resourceId':_0x2c7141['id']}})[_0x0a40('0x20')](function(){return _0x14f35e;});})[_0x0a40('0x20')](function(){_0x16edc4[_0x0a40('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4687fd,_0x2896df){return function(_0x21ccdc){if(!_0x21ccdc){_0x4687fd['sendStatus'](0x194);}return _0x21ccdc;};}function handleError(_0x3d08a9,_0x44ed96){_0x44ed96=_0x44ed96||0x1f4;return function(_0x4f6128){logger['error'](_0x4f6128['stack']);if(_0x4f6128[_0x0a40('0x24')]){delete _0x4f6128[_0x0a40('0x24')];}_0x3d08a9[_0x0a40('0x1d')](_0x44ed96)['send'](_0x4f6128);};}exports[_0x0a40('0x25')]=function(_0x19c28d,_0x16c784){var _0x4f98c3={},_0x329c08={},_0x3c4229={'count':0x0,'rows':[]};return db[_0x0a40('0x26')]['describe']()[_0x0a40('0x20')](function(_0x491906){_0x329c08[_0x0a40('0x27')]=_[_0x0a40('0x28')](_0x491906);_0x329c08[_0x0a40('0x29')]=_[_0x0a40('0x28')](_0x19c28d[_0x0a40('0x29')]);_0x329c08[_0x0a40('0x2a')]=_[_0x0a40('0x2b')](_0x329c08[_0x0a40('0x27')],_0x329c08[_0x0a40('0x29')]);_0x4f98c3[_0x0a40('0x2c')]=_[_0x0a40('0x2b')](_0x329c08[_0x0a40('0x27')],qs[_0x0a40('0x2d')](_0x19c28d[_0x0a40('0x29')][_0x0a40('0x2d')]));_0x4f98c3[_0x0a40('0x2c')]=_0x4f98c3['attributes'][_0x0a40('0x2e')]?_0x4f98c3['attributes']:_0x329c08['model'];if(!_0x19c28d[_0x0a40('0x29')][_0x0a40('0x2f')](_0x0a40('0x30'))){_0x4f98c3[_0x0a40('0x1c')]=qs['limit'](_0x19c28d[_0x0a40('0x29')][_0x0a40('0x1c')]);_0x4f98c3[_0x0a40('0x1b')]=qs['offset'](_0x19c28d[_0x0a40('0x29')][_0x0a40('0x1b')]);}_0x4f98c3[_0x0a40('0x31')]=qs[_0x0a40('0x32')](_0x19c28d[_0x0a40('0x29')][_0x0a40('0x32')]);_0x4f98c3[_0x0a40('0x33')]=qs['filters'](_['pick'](_0x19c28d[_0x0a40('0x29')],_0x329c08[_0x0a40('0x2a')]),_0x491906);if(_0x19c28d[_0x0a40('0x29')][_0x0a40('0x34')]){_0x4f98c3['where']=_[_0x0a40('0x35')](_0x4f98c3['where'],{'$or':_[_0x0a40('0x36')](_0x4f98c3[_0x0a40('0x2c')],function(_0x4a1ed1){var _0x3ee1f8={};_0x3ee1f8[_0x4a1ed1]={'$like':'%'+_0x19c28d[_0x0a40('0x29')]['filter']+'%'};return _0x3ee1f8;})});}_0x4f98c3=_['merge']({},_0x4f98c3,_0x19c28d[_0x0a40('0x37')]);var _0x2f9656={'where':_0x4f98c3[_0x0a40('0x33')]};return db['CmCompany'][_0x0a40('0x1a')](_0x2f9656)['then'](function(_0x410779){_0x3c4229[_0x0a40('0x1a')]=_0x410779;if(_0x19c28d[_0x0a40('0x29')][_0x0a40('0x38')]){_0x4f98c3[_0x0a40('0x39')]=[{'all':!![]}];}return db[_0x0a40('0x26')]['findAll'](_0x4f98c3);})['then'](function(_0x471484){_0x3c4229['rows']=_0x471484;return _0x3c4229;})[_0x0a40('0x20')](respondWithFilteredResult(_0x16c784,_0x4f98c3))['catch'](handleError(_0x16c784,null));})[_0x0a40('0x3a')](handleError(_0x16c784,null));};exports[_0x0a40('0x3b')]=function(_0x561da3,_0x365f98){var _0x5e2355={'raw':![],'where':{'id':_0x561da3[_0x0a40('0x3c')]['id']}},_0x3b9735={};_0x3b9735[_0x0a40('0x27')]=_['keys'](db['CmCompany'][_0x0a40('0x3d')]);_0x3b9735[_0x0a40('0x29')]=_[_0x0a40('0x28')](_0x561da3['query']);_0x3b9735[_0x0a40('0x2a')]=_[_0x0a40('0x2b')](_0x3b9735[_0x0a40('0x27')],_0x3b9735[_0x0a40('0x29')]);_0x5e2355[_0x0a40('0x2c')]=_[_0x0a40('0x2b')](_0x3b9735[_0x0a40('0x27')],qs[_0x0a40('0x2d')](_0x561da3['query'][_0x0a40('0x2d')]));_0x5e2355[_0x0a40('0x2c')]=_0x5e2355[_0x0a40('0x2c')][_0x0a40('0x2e')]?_0x5e2355[_0x0a40('0x2c')]:_0x3b9735[_0x0a40('0x27')];if(_0x561da3['query']['includeAll']){_0x5e2355[_0x0a40('0x39')]=[{'all':!![]}];}_0x5e2355=_[_0x0a40('0x35')]({},_0x5e2355,_0x561da3[_0x0a40('0x37')]);return db[_0x0a40('0x26')][_0x0a40('0x3e')](_0x5e2355)[_0x0a40('0x20')](handleEntityNotFound(_0x365f98,null))[_0x0a40('0x20')](respondWithResult(_0x365f98,null))[_0x0a40('0x3a')](handleError(_0x365f98,null));};exports[_0x0a40('0x3f')]=function(_0x224ce1,_0x545d72){return db[_0x0a40('0x26')][_0x0a40('0x3f')](_0x224ce1[_0x0a40('0x40')],{})[_0x0a40('0x20')](function(_0x508c43){var _0x583287=_0x224ce1[_0x0a40('0x41')]['get']({'plain':!![]});if(!_0x583287)throw new Error(_0x0a40('0x42'));if(_0x583287['role']==='user'){var _0x383fab=_0x508c43[_0x0a40('0x21')]({'plain':!![]});var _0x1841f1='Companies';return db['UserProfileSection'][_0x0a40('0x3e')]({'where':{'name':_0x1841f1,'userProfileId':_0x583287[_0x0a40('0x43')]},'raw':!![]})[_0x0a40('0x20')](function(_0x4fa41d){if(_0x4fa41d&&_0x4fa41d[_0x0a40('0x44')]===0x0){return db[_0x0a40('0x22')][_0x0a40('0x3f')]({'name':_0x383fab[_0x0a40('0x24')],'resourceId':_0x383fab['id'],'type':_0x4fa41d[_0x0a40('0x24')],'sectionId':_0x4fa41d['id']},{})[_0x0a40('0x20')](function(){return _0x508c43;});}else{return _0x508c43;}})['catch'](function(_0x3bfa17){logger[_0x0a40('0x45')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3bfa17);throw _0x3bfa17;});}return _0x508c43;})[_0x0a40('0x20')](respondWithResult(_0x545d72,0xc9))['catch'](handleError(_0x545d72,null));};exports['update']=function(_0x1b8d48,_0x4d7ea2){if(_0x1b8d48[_0x0a40('0x40')]['id']){delete _0x1b8d48[_0x0a40('0x40')]['id'];}return db[_0x0a40('0x26')][_0x0a40('0x3e')]({'where':{'id':_0x1b8d48[_0x0a40('0x3c')]['id']}})[_0x0a40('0x20')](handleEntityNotFound(_0x4d7ea2,null))['then'](saveUpdates(_0x1b8d48[_0x0a40('0x40')],null))[_0x0a40('0x20')](respondWithResult(_0x4d7ea2,null))[_0x0a40('0x3a')](handleError(_0x4d7ea2,null));};exports[_0x0a40('0x23')]=function(_0x1d663b,_0x245df8){return db[_0x0a40('0x26')][_0x0a40('0x3e')]({'where':{'id':_0x1d663b[_0x0a40('0x3c')]['id']}})[_0x0a40('0x20')](handleEntityNotFound(_0x245df8,null))[_0x0a40('0x20')](removeEntity(_0x245df8,null))[_0x0a40('0x3a')](handleError(_0x245df8,null));};exports['describe']=function(_0x199dcb,_0x218202){return db[_0x0a40('0x26')]['describe']()['then'](respondWithResult(_0x218202,null))[_0x0a40('0x3a')](handleError(_0x218202,null));};exports[_0x0a40('0x46')]=function(_0x3c572d,_0x6df452,_0x2bec7d){return db[_0x0a40('0x47')]['find']({'where':{'id':_0x3c572d[_0x0a40('0x3c')]['id']}})['then'](handleEntityNotFound(_0x6df452,null))['then'](function(_0x1dd3e2){if(_0x1dd3e2){return _0x1dd3e2[_0x0a40('0x46')](_0x3c572d['body'][_0x0a40('0x48')],_[_0x0a40('0x49')](_0x3c572d[_0x0a40('0x40')],[_0x0a40('0x48'),'id'])||{});}})['then'](respondWithResult(_0x6df452,null))['catch'](handleError(_0x6df452,null));};exports[_0x0a40('0x4a')]=function(_0x385a7f,_0x2c5965,_0x1f6771){var _0x386389={};var _0x23d20b={};var _0x550b11;var _0xb9cecd;return db[_0x0a40('0x26')][_0x0a40('0x4b')]({'where':{'id':_0x385a7f[_0x0a40('0x3c')]['id']}})[_0x0a40('0x20')](handleEntityNotFound(_0x2c5965,null))[_0x0a40('0x20')](function(_0x251700){if(_0x251700){_0x550b11=_0x251700;_0x23d20b['model']=_[_0x0a40('0x28')](db['CmContact'][_0x0a40('0x3d')]);_0x23d20b[_0x0a40('0x29')]=_[_0x0a40('0x28')](_0x385a7f[_0x0a40('0x29')]);_0x23d20b[_0x0a40('0x2a')]=_[_0x0a40('0x2b')](_0x23d20b[_0x0a40('0x27')],_0x23d20b[_0x0a40('0x29')]);_0x386389[_0x0a40('0x2c')]=_['intersection'](_0x23d20b[_0x0a40('0x27')],qs[_0x0a40('0x2d')](_0x385a7f[_0x0a40('0x29')][_0x0a40('0x2d')]));_0x386389[_0x0a40('0x2c')]=_0x386389[_0x0a40('0x2c')][_0x0a40('0x2e')]?_0x386389[_0x0a40('0x2c')]:_0x23d20b[_0x0a40('0x27')];_0x386389[_0x0a40('0x31')]=qs[_0x0a40('0x32')](_0x385a7f[_0x0a40('0x29')]['sort']);_0x386389[_0x0a40('0x33')]=qs[_0x0a40('0x2a')](_[_0x0a40('0x4c')](_0x385a7f[_0x0a40('0x29')],_0x23d20b[_0x0a40('0x2a')]));if(_0x385a7f['query'][_0x0a40('0x34')]){_0x386389[_0x0a40('0x33')]=_[_0x0a40('0x35')](_0x386389[_0x0a40('0x33')],{'$or':_['map'](_0x386389[_0x0a40('0x2c')],function(_0x508d8e){var _0x489d35={};_0x489d35[_0x508d8e]={'$like':'%'+_0x385a7f['query'][_0x0a40('0x34')]+'%'};return _0x489d35;})});}_0x386389=_['merge']({},_0x386389,_0x385a7f[_0x0a40('0x37')]);return _0x550b11['getContacts'](_0x386389);}})[_0x0a40('0x20')](function(_0x427ef6){if(_0x427ef6){_0xb9cecd=_0x427ef6[_0x0a40('0x2e')];if(!_0x385a7f[_0x0a40('0x29')][_0x0a40('0x2f')](_0x0a40('0x30'))){_0x386389[_0x0a40('0x1c')]=qs[_0x0a40('0x1c')](_0x385a7f['query'][_0x0a40('0x1c')]);_0x386389[_0x0a40('0x1b')]=qs[_0x0a40('0x1b')](_0x385a7f[_0x0a40('0x29')][_0x0a40('0x1b')]);}return _0x550b11[_0x0a40('0x4a')](_0x386389);}})[_0x0a40('0x20')](function(_0x16c653){if(_0x16c653){return _0x16c653?{'count':_0xb9cecd,'rows':_0x16c653}:null;}})[_0x0a40('0x20')](respondWithResult(_0x2c5965,null))['catch'](handleError(_0x2c5965,null));};