Built motion from commit 0900f080.|2.5.45
[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 _0xe8dd=['bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','count','status','set','Content-Range','apply','save','update','destroy','then','Companies','UserProfileResource','end','error','stack','name','send','index','CmCompany','describe','query','keys','intersection','model','fields','attributes','hasOwnProperty','order','sort','filters','where','filter','options','findAll','rows','catch','rawAttributes','length','includeAll','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','params','addContacts','CmContact','ids','getContacts','findOne','merge','nolimit','eml-format','rimraf','zip-dir','moment'];(function(_0x500419,_0x549162){var _0x241c1a=function(_0x3bea1a){while(--_0x3bea1a){_0x500419['push'](_0x500419['shift']());}};_0x241c1a(++_0x549162);}(_0xe8dd,0x1a0));var _0xde8d=function(_0x56a757,_0x255ce4){_0x56a757=_0x56a757-0x0;var _0x4beae0=_0xe8dd[_0x56a757];return _0x4beae0;};'use strict';var emlformat=require(_0xde8d('0x0'));var rimraf=require(_0xde8d('0x1'));var zipdir=require(_0xde8d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xde8d('0x3'));var BPromise=require(_0xde8d('0x4'));var Mustache=require(_0xde8d('0x5'));var util=require(_0xde8d('0x6'));var path=require(_0xde8d('0x7'));var sox=require(_0xde8d('0x8'));var csv=require(_0xde8d('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xde8d('0xa'));var _=require('lodash');var squel=require(_0xde8d('0xb'));var crypto=require(_0xde8d('0xc'));var jsforce=require(_0xde8d('0xd'));var deskjs=require(_0xde8d('0xe'));var toCsv=require(_0xde8d('0x9'));var querystring=require(_0xde8d('0xf'));var Papa=require(_0xde8d('0x10'));var Redis=require(_0xde8d('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xde8d('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xde8d('0x13'));var logger=require(_0xde8d('0x14'))(_0xde8d('0x15'));var utils=require(_0xde8d('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xde8d('0x17'));var db=require(_0xde8d('0x18'))['db'];function respondWithStatusCode(_0x23de7d,_0x44fb68){_0x44fb68=_0x44fb68||0xcc;return function(_0x53840e){if(_0x53840e){return _0x23de7d[_0xde8d('0x19')](_0x44fb68);}return _0x23de7d['status'](_0x44fb68)['end']();};}function respondWithResult(_0xe7a681,_0x13bdc2){_0x13bdc2=_0x13bdc2||0xc8;return function(_0x40e071){if(_0x40e071){return _0xe7a681['status'](_0x13bdc2)[_0xde8d('0x1a')](_0x40e071);}};}function respondWithFilteredResult(_0x3bdc71,_0x1eeb3c){return function(_0x502d81){if(_0x502d81){var _0x1ec523=typeof _0x1eeb3c[_0xde8d('0x1b')]===_0xde8d('0x1c')&&typeof _0x1eeb3c[_0xde8d('0x1d')]===_0xde8d('0x1c');var _0x14d95e=_0x502d81[_0xde8d('0x1e')];var _0x59bd45=_0x1ec523?0x0:_0x1eeb3c[_0xde8d('0x1b')];var _0x348306=_0x1ec523?_0x502d81[_0xde8d('0x1e')]:_0x1eeb3c[_0xde8d('0x1b')]+_0x1eeb3c['limit'];var _0x5c661d;if(_0x348306>=_0x14d95e){_0x348306=_0x14d95e;_0x5c661d=0xc8;}else{_0x5c661d=0xce;}_0x3bdc71[_0xde8d('0x1f')](_0x5c661d);return _0x3bdc71[_0xde8d('0x20')](_0xde8d('0x21'),_0x59bd45+'-'+_0x348306+'/'+_0x14d95e)[_0xde8d('0x1a')](_0x502d81);}return null;};}function patchUpdates(_0x39725f){return function(_0xff2485){try{jsonpatch[_0xde8d('0x22')](_0xff2485,_0x39725f,!![]);}catch(_0x3ead49){return BPromise['reject'](_0x3ead49);}return _0xff2485[_0xde8d('0x23')]();};}function saveUpdates(_0x4fa9fc,_0x5b7783){return function(_0x3b0e6f){if(_0x3b0e6f){return _0x3b0e6f[_0xde8d('0x24')](_0x4fa9fc)['then'](function(_0x4c1656){return _0x4c1656;});}return null;};}function removeEntity(_0x56037c,_0x446f7c){return function(_0x3dfa62){if(_0x3dfa62){return _0x3dfa62[_0xde8d('0x25')]()[_0xde8d('0x26')](function(){var _0xf4671f=_0x3dfa62['get']({'plain':!![]});var _0x962404=_0xde8d('0x27');return db[_0xde8d('0x28')][_0xde8d('0x25')]({'where':{'type':_0x962404,'resourceId':_0xf4671f['id']}})['then'](function(){return _0x3dfa62;});})['then'](function(){_0x56037c[_0xde8d('0x1f')](0xcc)[_0xde8d('0x29')]();});}};}function handleEntityNotFound(_0x40b135,_0x3c5736){return function(_0x11206c){if(!_0x11206c){_0x40b135[_0xde8d('0x19')](0x194);}return _0x11206c;};}function handleError(_0x6d1bf1,_0x1b9419){_0x1b9419=_0x1b9419||0x1f4;return function(_0x38e3f7){logger[_0xde8d('0x2a')](_0x38e3f7[_0xde8d('0x2b')]);if(_0x38e3f7[_0xde8d('0x2c')]){delete _0x38e3f7[_0xde8d('0x2c')];}_0x6d1bf1[_0xde8d('0x1f')](_0x1b9419)[_0xde8d('0x2d')](_0x38e3f7);};}exports[_0xde8d('0x2e')]=function(_0x53809b,_0x1dcc61){var _0x1b3754={},_0x578061={},_0x122229={'count':0x0,'rows':[]};return db[_0xde8d('0x2f')][_0xde8d('0x30')]()[_0xde8d('0x26')](function(_0x5dfb51){_0x578061['model']=_['keys'](_0x5dfb51);_0x578061[_0xde8d('0x31')]=_[_0xde8d('0x32')](_0x53809b[_0xde8d('0x31')]);_0x578061['filters']=_[_0xde8d('0x33')](_0x578061[_0xde8d('0x34')],_0x578061[_0xde8d('0x31')]);_0x1b3754['attributes']=_[_0xde8d('0x33')](_0x578061[_0xde8d('0x34')],qs['fields'](_0x53809b['query'][_0xde8d('0x35')]));_0x1b3754[_0xde8d('0x36')]=_0x1b3754[_0xde8d('0x36')]['length']?_0x1b3754[_0xde8d('0x36')]:_0x578061['model'];if(!_0x53809b[_0xde8d('0x31')][_0xde8d('0x37')]('nolimit')){_0x1b3754[_0xde8d('0x1d')]=qs['limit'](_0x53809b[_0xde8d('0x31')][_0xde8d('0x1d')]);_0x1b3754[_0xde8d('0x1b')]=qs['offset'](_0x53809b['query'][_0xde8d('0x1b')]);}_0x1b3754[_0xde8d('0x38')]=qs[_0xde8d('0x39')](_0x53809b[_0xde8d('0x31')][_0xde8d('0x39')]);_0x1b3754['where']=qs[_0xde8d('0x3a')](_['pick'](_0x53809b[_0xde8d('0x31')],_0x578061[_0xde8d('0x3a')]),_0x5dfb51);if(_0x53809b[_0xde8d('0x31')]['filter']){_0x1b3754[_0xde8d('0x3b')]=_['merge'](_0x1b3754[_0xde8d('0x3b')],{'$or':_['map'](_0x1b3754['attributes'],function(_0xf1284){var _0x3eb1e4={};_0x3eb1e4[_0xf1284]={'$like':'%'+_0x53809b[_0xde8d('0x31')][_0xde8d('0x3c')]+'%'};return _0x3eb1e4;})});}_0x1b3754=_['merge']({},_0x1b3754,_0x53809b[_0xde8d('0x3d')]);var _0x1283d7={'where':_0x1b3754[_0xde8d('0x3b')]};return db[_0xde8d('0x2f')]['count'](_0x1283d7)[_0xde8d('0x26')](function(_0x487a5b){_0x122229[_0xde8d('0x1e')]=_0x487a5b;if(_0x53809b['query']['includeAll']){_0x1b3754['include']=[{'all':!![]}];}return db[_0xde8d('0x2f')][_0xde8d('0x3e')](_0x1b3754);})[_0xde8d('0x26')](function(_0x5b3eca){_0x122229[_0xde8d('0x3f')]=_0x5b3eca;return _0x122229;})[_0xde8d('0x26')](respondWithFilteredResult(_0x1dcc61,_0x1b3754))[_0xde8d('0x40')](handleError(_0x1dcc61,null));})[_0xde8d('0x40')](handleError(_0x1dcc61,null));};exports['show']=function(_0x2bc28b,_0x6ecc47){var _0x1a1ec8={'raw':![],'where':{'id':_0x2bc28b['params']['id']}},_0x301e65={};_0x301e65[_0xde8d('0x34')]=_[_0xde8d('0x32')](db['CmCompany'][_0xde8d('0x41')]);_0x301e65['query']=_['keys'](_0x2bc28b['query']);_0x301e65[_0xde8d('0x3a')]=_[_0xde8d('0x33')](_0x301e65['model'],_0x301e65[_0xde8d('0x31')]);_0x1a1ec8[_0xde8d('0x36')]=_[_0xde8d('0x33')](_0x301e65[_0xde8d('0x34')],qs['fields'](_0x2bc28b['query'][_0xde8d('0x35')]));_0x1a1ec8['attributes']=_0x1a1ec8[_0xde8d('0x36')][_0xde8d('0x42')]?_0x1a1ec8['attributes']:_0x301e65[_0xde8d('0x34')];if(_0x2bc28b[_0xde8d('0x31')][_0xde8d('0x43')]){_0x1a1ec8['include']=[{'all':!![]}];}_0x1a1ec8=_['merge']({},_0x1a1ec8,_0x2bc28b['options']);return db['CmCompany'][_0xde8d('0x44')](_0x1a1ec8)[_0xde8d('0x26')](handleEntityNotFound(_0x6ecc47,null))['then'](respondWithResult(_0x6ecc47,null))[_0xde8d('0x40')](handleError(_0x6ecc47,null));};exports[_0xde8d('0x45')]=function(_0x469a30,_0x3a59c1){return db[_0xde8d('0x2f')][_0xde8d('0x45')](_0x469a30[_0xde8d('0x46')],{})['then'](function(_0x27b3e4){var _0x5f4237=_0x469a30[_0xde8d('0x47')][_0xde8d('0x48')]({'plain':!![]});if(!_0x5f4237)throw new Error(_0xde8d('0x49'));if(_0x5f4237['role']===_0xde8d('0x47')){var _0x12c0db=_0x27b3e4[_0xde8d('0x48')]({'plain':!![]});var _0x2a4d4c=_0xde8d('0x27');return db['UserProfileSection'][_0xde8d('0x44')]({'where':{'name':_0x2a4d4c,'userProfileId':_0x5f4237[_0xde8d('0x4a')]},'raw':!![]})[_0xde8d('0x26')](function(_0x3cd45d){if(_0x3cd45d&&_0x3cd45d[_0xde8d('0x4b')]===0x0){return db[_0xde8d('0x28')][_0xde8d('0x45')]({'name':_0x12c0db[_0xde8d('0x2c')],'resourceId':_0x12c0db['id'],'type':_0x3cd45d[_0xde8d('0x2c')],'sectionId':_0x3cd45d['id']},{})[_0xde8d('0x26')](function(){return _0x27b3e4;});}else{return _0x27b3e4;}})[_0xde8d('0x40')](function(_0x42b9c1){logger[_0xde8d('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x42b9c1);throw _0x42b9c1;});}return _0x27b3e4;})[_0xde8d('0x26')](respondWithResult(_0x3a59c1,0xc9))[_0xde8d('0x40')](handleError(_0x3a59c1,null));};exports[_0xde8d('0x24')]=function(_0x1919ba,_0x6f2090){if(_0x1919ba[_0xde8d('0x46')]['id']){delete _0x1919ba[_0xde8d('0x46')]['id'];}return db['CmCompany'][_0xde8d('0x44')]({'where':{'id':_0x1919ba[_0xde8d('0x4c')]['id']}})[_0xde8d('0x26')](handleEntityNotFound(_0x6f2090,null))[_0xde8d('0x26')](saveUpdates(_0x1919ba[_0xde8d('0x46')],null))[_0xde8d('0x26')](respondWithResult(_0x6f2090,null))['catch'](handleError(_0x6f2090,null));};exports[_0xde8d('0x25')]=function(_0x53a472,_0x560247){return db[_0xde8d('0x2f')][_0xde8d('0x44')]({'where':{'id':_0x53a472['params']['id']}})[_0xde8d('0x26')](handleEntityNotFound(_0x560247,null))[_0xde8d('0x26')](removeEntity(_0x560247,null))[_0xde8d('0x40')](handleError(_0x560247,null));};exports[_0xde8d('0x30')]=function(_0x11bfc8,_0x48a41d){return db[_0xde8d('0x2f')]['describe']()[_0xde8d('0x26')](respondWithResult(_0x48a41d,null))[_0xde8d('0x40')](handleError(_0x48a41d,null));};exports[_0xde8d('0x4d')]=function(_0x2bb466,_0x5c0f6a,_0x1a2269){return db[_0xde8d('0x4e')]['find']({'where':{'id':_0x2bb466[_0xde8d('0x4c')]['id']}})[_0xde8d('0x26')](handleEntityNotFound(_0x5c0f6a,null))[_0xde8d('0x26')](function(_0x2c750d){if(_0x2c750d){return _0x2c750d[_0xde8d('0x4d')](_0x2bb466[_0xde8d('0x46')][_0xde8d('0x4f')],_['omit'](_0x2bb466[_0xde8d('0x46')],[_0xde8d('0x4f'),'id'])||{});}})[_0xde8d('0x26')](respondWithResult(_0x5c0f6a,null))[_0xde8d('0x40')](handleError(_0x5c0f6a,null));};exports[_0xde8d('0x50')]=function(_0xc5af6f,_0x4e2d6b,_0x65f0ff){var _0x1312ff={};var _0x100e3e={};var _0x58be5f;var _0x7a9ea8;return db[_0xde8d('0x2f')][_0xde8d('0x51')]({'where':{'id':_0xc5af6f['params']['id']}})[_0xde8d('0x26')](handleEntityNotFound(_0x4e2d6b,null))['then'](function(_0x24e377){if(_0x24e377){_0x58be5f=_0x24e377;_0x100e3e[_0xde8d('0x34')]=_['keys'](db['CmContact']['rawAttributes']);_0x100e3e[_0xde8d('0x31')]=_[_0xde8d('0x32')](_0xc5af6f['query']);_0x100e3e[_0xde8d('0x3a')]=_[_0xde8d('0x33')](_0x100e3e[_0xde8d('0x34')],_0x100e3e[_0xde8d('0x31')]);_0x1312ff[_0xde8d('0x36')]=_[_0xde8d('0x33')](_0x100e3e[_0xde8d('0x34')],qs[_0xde8d('0x35')](_0xc5af6f['query'][_0xde8d('0x35')]));_0x1312ff[_0xde8d('0x36')]=_0x1312ff['attributes'][_0xde8d('0x42')]?_0x1312ff[_0xde8d('0x36')]:_0x100e3e[_0xde8d('0x34')];_0x1312ff['order']=qs[_0xde8d('0x39')](_0xc5af6f[_0xde8d('0x31')][_0xde8d('0x39')]);_0x1312ff[_0xde8d('0x3b')]=qs[_0xde8d('0x3a')](_['pick'](_0xc5af6f[_0xde8d('0x31')],_0x100e3e[_0xde8d('0x3a')]));if(_0xc5af6f[_0xde8d('0x31')][_0xde8d('0x3c')]){_0x1312ff[_0xde8d('0x3b')]=_['merge'](_0x1312ff[_0xde8d('0x3b')],{'$or':_['map'](_0x1312ff[_0xde8d('0x36')],function(_0x2651d2){var _0x325664={};_0x325664[_0x2651d2]={'$like':'%'+_0xc5af6f['query'][_0xde8d('0x3c')]+'%'};return _0x325664;})});}_0x1312ff=_[_0xde8d('0x52')]({},_0x1312ff,_0xc5af6f[_0xde8d('0x3d')]);return _0x58be5f[_0xde8d('0x50')](_0x1312ff);}})['then'](function(_0x2bb8e1){if(_0x2bb8e1){_0x7a9ea8=_0x2bb8e1[_0xde8d('0x42')];if(!_0xc5af6f[_0xde8d('0x31')][_0xde8d('0x37')](_0xde8d('0x53'))){_0x1312ff['limit']=qs['limit'](_0xc5af6f[_0xde8d('0x31')]['limit']);_0x1312ff[_0xde8d('0x1b')]=qs[_0xde8d('0x1b')](_0xc5af6f[_0xde8d('0x31')][_0xde8d('0x1b')]);}return _0x58be5f[_0xde8d('0x50')](_0x1312ff);}})[_0xde8d('0x26')](function(_0x3d844f){if(_0x3d844f){return _0x3d844f?{'count':_0x7a9ea8,'rows':_0x3d844f}:null;}})[_0xde8d('0x26')](respondWithResult(_0x4e2d6b,null))[_0xde8d('0x40')](handleError(_0x4e2d6b,null));};