Built motion from commit e1760111.|2.6.18
[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 _0xc6d1=['order','sort','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','destroy','then','get','end','error','name','send','index','CmCompany','model','keys','query','filters','intersection','fields','length','attributes','hasOwnProperty','nolimit','where','filter','merge','map','options','includeAll','rows','catch','show','rawAttributes','include','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Companies','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','find','params','describe','addContacts','ids','omit','getContacts','CmContact'];(function(_0x2bbf4e,_0x21ddbc){var _0x39d499=function(_0x3184f9){while(--_0x3184f9){_0x2bbf4e['push'](_0x2bbf4e['shift']());}};_0x39d499(++_0x21ddbc);}(_0xc6d1,0x101));var _0x1c6d=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0xc6d1[_0x21a9d9];return _0x46adce;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x1c6d('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1c6d('0x1'));var moment=require(_0x1c6d('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x1c6d('0x3'));var util=require('util');var path=require(_0x1c6d('0x4'));var sox=require(_0x1c6d('0x5'));var csv=require(_0x1c6d('0x6'));var ejs=require(_0x1c6d('0x7'));var fs=require('fs');var fs_extra=require(_0x1c6d('0x8'));var _=require(_0x1c6d('0x9'));var squel=require(_0x1c6d('0xa'));var crypto=require('crypto');var jsforce=require(_0x1c6d('0xb'));var deskjs=require(_0x1c6d('0xc'));var toCsv=require(_0x1c6d('0x6'));var querystring=require(_0x1c6d('0xd'));var Papa=require(_0x1c6d('0xe'));var Redis=require(_0x1c6d('0xf'));var authService=require(_0x1c6d('0x10'));var qs=require(_0x1c6d('0x11'));var as=require(_0x1c6d('0x12'));var hardwareService=require(_0x1c6d('0x13'));var logger=require(_0x1c6d('0x14'))(_0x1c6d('0x15'));var utils=require(_0x1c6d('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x1c6d('0x17'))['db'];function respondWithStatusCode(_0x44d5c4,_0x2ca4c7){_0x2ca4c7=_0x2ca4c7||0xcc;return function(_0x2d2cd9){if(_0x2d2cd9){return _0x44d5c4[_0x1c6d('0x18')](_0x2ca4c7);}return _0x44d5c4['status'](_0x2ca4c7)['end']();};}function respondWithResult(_0x171e3f,_0x339c2f){_0x339c2f=_0x339c2f||0xc8;return function(_0x4b8517){if(_0x4b8517){return _0x171e3f[_0x1c6d('0x19')](_0x339c2f)[_0x1c6d('0x1a')](_0x4b8517);}};}function respondWithFilteredResult(_0xcf3de1,_0x17da13){return function(_0x5a022f){if(_0x5a022f){var _0x40169a=typeof _0x17da13[_0x1c6d('0x1b')]==='undefined'&&typeof _0x17da13[_0x1c6d('0x1c')]===_0x1c6d('0x1d');var _0x42a2be=_0x5a022f[_0x1c6d('0x1e')];var _0x7a6154=_0x40169a?0x0:_0x17da13['offset'];var _0x1ef901=_0x40169a?_0x5a022f[_0x1c6d('0x1e')]:_0x17da13['offset']+_0x17da13[_0x1c6d('0x1c')];var _0x2090d6;if(_0x1ef901>=_0x42a2be){_0x1ef901=_0x42a2be;_0x2090d6=0xc8;}else{_0x2090d6=0xce;}_0xcf3de1[_0x1c6d('0x19')](_0x2090d6);return _0xcf3de1[_0x1c6d('0x1f')](_0x1c6d('0x20'),_0x7a6154+'-'+_0x1ef901+'/'+_0x42a2be)[_0x1c6d('0x1a')](_0x5a022f);}return null;};}function patchUpdates(_0x430dc7){return function(_0x56f549){try{jsonpatch[_0x1c6d('0x21')](_0x56f549,_0x430dc7,!![]);}catch(_0x5667c3){return BPromise['reject'](_0x5667c3);}return _0x56f549[_0x1c6d('0x22')]();};}function saveUpdates(_0x1e1cf3,_0x418594){return function(_0x22372e){if(_0x22372e){return _0x22372e[_0x1c6d('0x23')](_0x1e1cf3)['then'](function(_0x52aa7d){return _0x52aa7d;});}return null;};}function removeEntity(_0x2e8e74,_0x30a53f){return function(_0x1674f8){if(_0x1674f8){return _0x1674f8[_0x1c6d('0x24')]()[_0x1c6d('0x25')](function(){var _0x1ee92d=_0x1674f8[_0x1c6d('0x26')]({'plain':!![]});var _0x1eb40a='Companies';return db['UserProfileResource'][_0x1c6d('0x24')]({'where':{'type':_0x1eb40a,'resourceId':_0x1ee92d['id']}})[_0x1c6d('0x25')](function(){return _0x1674f8;});})[_0x1c6d('0x25')](function(){_0x2e8e74[_0x1c6d('0x19')](0xcc)[_0x1c6d('0x27')]();});}};}function handleEntityNotFound(_0x4ff604,_0x450682){return function(_0x461e92){if(!_0x461e92){_0x4ff604[_0x1c6d('0x18')](0x194);}return _0x461e92;};}function handleError(_0x365a33,_0x1e0644){_0x1e0644=_0x1e0644||0x1f4;return function(_0x53bff7){logger[_0x1c6d('0x28')](_0x53bff7['stack']);if(_0x53bff7[_0x1c6d('0x29')]){delete _0x53bff7[_0x1c6d('0x29')];}_0x365a33[_0x1c6d('0x19')](_0x1e0644)[_0x1c6d('0x2a')](_0x53bff7);};}exports[_0x1c6d('0x2b')]=function(_0x59cdf4,_0x4ff583){var _0x44e11d={},_0x52f706={},_0x57bd7c={'count':0x0,'rows':[]};return db[_0x1c6d('0x2c')]['describe']()[_0x1c6d('0x25')](function(_0x1a9af3){_0x52f706[_0x1c6d('0x2d')]=_[_0x1c6d('0x2e')](_0x1a9af3);_0x52f706[_0x1c6d('0x2f')]=_[_0x1c6d('0x2e')](_0x59cdf4[_0x1c6d('0x2f')]);_0x52f706[_0x1c6d('0x30')]=_[_0x1c6d('0x31')](_0x52f706[_0x1c6d('0x2d')],_0x52f706['query']);_0x44e11d['attributes']=_[_0x1c6d('0x31')](_0x52f706[_0x1c6d('0x2d')],qs[_0x1c6d('0x32')](_0x59cdf4[_0x1c6d('0x2f')][_0x1c6d('0x32')]));_0x44e11d['attributes']=_0x44e11d['attributes'][_0x1c6d('0x33')]?_0x44e11d[_0x1c6d('0x34')]:_0x52f706['model'];if(!_0x59cdf4[_0x1c6d('0x2f')][_0x1c6d('0x35')](_0x1c6d('0x36'))){_0x44e11d[_0x1c6d('0x1c')]=qs[_0x1c6d('0x1c')](_0x59cdf4[_0x1c6d('0x2f')][_0x1c6d('0x1c')]);_0x44e11d[_0x1c6d('0x1b')]=qs[_0x1c6d('0x1b')](_0x59cdf4[_0x1c6d('0x2f')][_0x1c6d('0x1b')]);}_0x44e11d['order']=qs['sort'](_0x59cdf4[_0x1c6d('0x2f')]['sort']);_0x44e11d[_0x1c6d('0x37')]=qs[_0x1c6d('0x30')](_['pick'](_0x59cdf4[_0x1c6d('0x2f')],_0x52f706['filters']),_0x1a9af3);if(_0x59cdf4[_0x1c6d('0x2f')][_0x1c6d('0x38')]){_0x44e11d['where']=_[_0x1c6d('0x39')](_0x44e11d['where'],{'$or':_[_0x1c6d('0x3a')](_0x44e11d[_0x1c6d('0x34')],function(_0x23ada7){var _0x595813={};_0x595813[_0x23ada7]={'$like':'%'+_0x59cdf4[_0x1c6d('0x2f')][_0x1c6d('0x38')]+'%'};return _0x595813;})});}_0x44e11d=_[_0x1c6d('0x39')]({},_0x44e11d,_0x59cdf4[_0x1c6d('0x3b')]);var _0x3aacd0={'where':_0x44e11d[_0x1c6d('0x37')]};return db['CmCompany'][_0x1c6d('0x1e')](_0x3aacd0)[_0x1c6d('0x25')](function(_0x24a130){_0x57bd7c[_0x1c6d('0x1e')]=_0x24a130;if(_0x59cdf4[_0x1c6d('0x2f')][_0x1c6d('0x3c')]){_0x44e11d['include']=[{'all':!![]}];}return db[_0x1c6d('0x2c')]['findAll'](_0x44e11d);})[_0x1c6d('0x25')](function(_0xa8dc07){_0x57bd7c[_0x1c6d('0x3d')]=_0xa8dc07;return _0x57bd7c;})['then'](respondWithFilteredResult(_0x4ff583,_0x44e11d))[_0x1c6d('0x3e')](handleError(_0x4ff583,null));})['catch'](handleError(_0x4ff583,null));};exports[_0x1c6d('0x3f')]=function(_0x340c07,_0x36dabf){var _0x3651dc={'raw':![],'where':{'id':_0x340c07['params']['id']}},_0x39967f={};_0x39967f[_0x1c6d('0x2d')]=_[_0x1c6d('0x2e')](db[_0x1c6d('0x2c')][_0x1c6d('0x40')]);_0x39967f[_0x1c6d('0x2f')]=_['keys'](_0x340c07[_0x1c6d('0x2f')]);_0x39967f[_0x1c6d('0x30')]=_[_0x1c6d('0x31')](_0x39967f[_0x1c6d('0x2d')],_0x39967f['query']);_0x3651dc[_0x1c6d('0x34')]=_[_0x1c6d('0x31')](_0x39967f[_0x1c6d('0x2d')],qs[_0x1c6d('0x32')](_0x340c07[_0x1c6d('0x2f')][_0x1c6d('0x32')]));_0x3651dc[_0x1c6d('0x34')]=_0x3651dc['attributes'][_0x1c6d('0x33')]?_0x3651dc['attributes']:_0x39967f[_0x1c6d('0x2d')];if(_0x340c07[_0x1c6d('0x2f')][_0x1c6d('0x3c')]){_0x3651dc[_0x1c6d('0x41')]=[{'all':!![]}];}_0x3651dc=_[_0x1c6d('0x39')]({},_0x3651dc,_0x340c07[_0x1c6d('0x3b')]);return db['CmCompany']['find'](_0x3651dc)[_0x1c6d('0x25')](handleEntityNotFound(_0x36dabf,null))[_0x1c6d('0x25')](respondWithResult(_0x36dabf,null))['catch'](handleError(_0x36dabf,null));};exports[_0x1c6d('0x42')]=function(_0x2fdb6f,_0x245355){return db[_0x1c6d('0x2c')]['create'](_0x2fdb6f['body'],{})['then'](function(_0x72d223){var _0xe4babc=_0x2fdb6f[_0x1c6d('0x43')][_0x1c6d('0x26')]({'plain':!![]});if(!_0xe4babc)throw new Error(_0x1c6d('0x44'));if(_0xe4babc['role']===_0x1c6d('0x43')){var _0x48c8e9=_0x72d223[_0x1c6d('0x26')]({'plain':!![]});var _0x38eecb=_0x1c6d('0x45');return db[_0x1c6d('0x46')]['find']({'where':{'name':_0x38eecb,'userProfileId':_0xe4babc[_0x1c6d('0x47')]},'raw':!![]})[_0x1c6d('0x25')](function(_0x1fae9b){if(_0x1fae9b&&_0x1fae9b['autoAssociation']===0x0){return db[_0x1c6d('0x48')]['create']({'name':_0x48c8e9[_0x1c6d('0x29')],'resourceId':_0x48c8e9['id'],'type':_0x1fae9b[_0x1c6d('0x29')],'sectionId':_0x1fae9b['id']},{})[_0x1c6d('0x25')](function(){return _0x72d223;});}else{return _0x72d223;}})['catch'](function(_0x1c0777){logger[_0x1c6d('0x28')](_0x1c6d('0x49'),_0x1c0777);throw _0x1c0777;});}return _0x72d223;})[_0x1c6d('0x25')](respondWithResult(_0x245355,0xc9))[_0x1c6d('0x3e')](handleError(_0x245355,null));};exports[_0x1c6d('0x23')]=function(_0x43a98d,_0x3276f5){if(_0x43a98d[_0x1c6d('0x4a')]['id']){delete _0x43a98d[_0x1c6d('0x4a')]['id'];}return db[_0x1c6d('0x2c')][_0x1c6d('0x4b')]({'where':{'id':_0x43a98d[_0x1c6d('0x4c')]['id']}})[_0x1c6d('0x25')](handleEntityNotFound(_0x3276f5,null))[_0x1c6d('0x25')](saveUpdates(_0x43a98d[_0x1c6d('0x4a')],null))[_0x1c6d('0x25')](respondWithResult(_0x3276f5,null))[_0x1c6d('0x3e')](handleError(_0x3276f5,null));};exports['destroy']=function(_0x5e8e6f,_0x1b60e6){return db[_0x1c6d('0x2c')][_0x1c6d('0x4b')]({'where':{'id':_0x5e8e6f[_0x1c6d('0x4c')]['id']}})['then'](handleEntityNotFound(_0x1b60e6,null))[_0x1c6d('0x25')](removeEntity(_0x1b60e6,null))[_0x1c6d('0x3e')](handleError(_0x1b60e6,null));};exports[_0x1c6d('0x4d')]=function(_0x608a59,_0x2571d5){return db['CmCompany']['describe']()[_0x1c6d('0x25')](respondWithResult(_0x2571d5,null))[_0x1c6d('0x3e')](handleError(_0x2571d5,null));};exports[_0x1c6d('0x4e')]=function(_0x4a8ef5,_0x71019,_0x5c30e7){return db['CmContact'][_0x1c6d('0x4b')]({'where':{'id':_0x4a8ef5[_0x1c6d('0x4c')]['id']}})[_0x1c6d('0x25')](handleEntityNotFound(_0x71019,null))[_0x1c6d('0x25')](function(_0x5aecb0){if(_0x5aecb0){return _0x5aecb0[_0x1c6d('0x4e')](_0x4a8ef5[_0x1c6d('0x4a')][_0x1c6d('0x4f')],_[_0x1c6d('0x50')](_0x4a8ef5[_0x1c6d('0x4a')],[_0x1c6d('0x4f'),'id'])||{});}})['then'](respondWithResult(_0x71019,null))[_0x1c6d('0x3e')](handleError(_0x71019,null));};exports[_0x1c6d('0x51')]=function(_0x16f200,_0x33152a,_0x241da7){var _0x16c036={};var _0x5e40ae={};var _0x40b734;var _0x433779;return db[_0x1c6d('0x2c')]['findOne']({'where':{'id':_0x16f200['params']['id']}})[_0x1c6d('0x25')](handleEntityNotFound(_0x33152a,null))[_0x1c6d('0x25')](function(_0x40b2fb){if(_0x40b2fb){_0x40b734=_0x40b2fb;_0x5e40ae[_0x1c6d('0x2d')]=_[_0x1c6d('0x2e')](db[_0x1c6d('0x52')][_0x1c6d('0x40')]);_0x5e40ae['query']=_[_0x1c6d('0x2e')](_0x16f200['query']);_0x5e40ae[_0x1c6d('0x30')]=_[_0x1c6d('0x31')](_0x5e40ae[_0x1c6d('0x2d')],_0x5e40ae[_0x1c6d('0x2f')]);_0x16c036['attributes']=_[_0x1c6d('0x31')](_0x5e40ae[_0x1c6d('0x2d')],qs[_0x1c6d('0x32')](_0x16f200[_0x1c6d('0x2f')][_0x1c6d('0x32')]));_0x16c036[_0x1c6d('0x34')]=_0x16c036[_0x1c6d('0x34')][_0x1c6d('0x33')]?_0x16c036[_0x1c6d('0x34')]:_0x5e40ae[_0x1c6d('0x2d')];_0x16c036[_0x1c6d('0x53')]=qs['sort'](_0x16f200[_0x1c6d('0x2f')][_0x1c6d('0x54')]);_0x16c036['where']=qs[_0x1c6d('0x30')](_['pick'](_0x16f200[_0x1c6d('0x2f')],_0x5e40ae[_0x1c6d('0x30')]));if(_0x16f200['query'][_0x1c6d('0x38')]){_0x16c036[_0x1c6d('0x37')]=_[_0x1c6d('0x39')](_0x16c036['where'],{'$or':_[_0x1c6d('0x3a')](_0x16c036[_0x1c6d('0x34')],function(_0x3f9fee){var _0x120654={};_0x120654[_0x3f9fee]={'$like':'%'+_0x16f200[_0x1c6d('0x2f')]['filter']+'%'};return _0x120654;})});}_0x16c036=_[_0x1c6d('0x39')]({},_0x16c036,_0x16f200[_0x1c6d('0x3b')]);return _0x40b734['getContacts'](_0x16c036);}})[_0x1c6d('0x25')](function(_0x4181b8){if(_0x4181b8){_0x433779=_0x4181b8[_0x1c6d('0x33')];if(!_0x16f200[_0x1c6d('0x2f')][_0x1c6d('0x35')](_0x1c6d('0x36'))){_0x16c036[_0x1c6d('0x1c')]=qs[_0x1c6d('0x1c')](_0x16f200[_0x1c6d('0x2f')][_0x1c6d('0x1c')]);_0x16c036['offset']=qs['offset'](_0x16f200[_0x1c6d('0x2f')][_0x1c6d('0x1b')]);}return _0x40b734[_0x1c6d('0x51')](_0x16c036);}})[_0x1c6d('0x25')](function(_0x57d08c){if(_0x57d08c){return _0x57d08c?{'count':_0x433779,'rows':_0x57d08c}:null;}})[_0x1c6d('0x25')](respondWithResult(_0x33152a,null))[_0x1c6d('0x3e')](handleError(_0x33152a,null));};