e33a08890c550495e632a4563c189c13af217c91
[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 _0xd167=['userProfileId','autoAssociation','name','body','addContacts','CmContact','ids','omit','getContacts','findOne','order','eml-format','rimraf','zip-dir','request-promise','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','destroy','Companies','then','end','sendStatus','error','stack','send','index','CmCompany','describe','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','pick','merge','map','filter','options','includeAll','include','findAll','rows','catch','params','rawAttributes','length','find','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection'];(function(_0x155266,_0x1dabc4){var _0x47fbb2=function(_0x24dbd6){while(--_0x24dbd6){_0x155266['push'](_0x155266['shift']());}};_0x47fbb2(++_0x1dabc4);}(_0xd167,0x167));var _0x7d16=function(_0x4f8d99,_0x18bbf4){_0x4f8d99=_0x4f8d99-0x0;var _0x3a9c55=_0xd167[_0x4f8d99];return _0x3a9c55;};'use strict';var emlformat=require(_0x7d16('0x0'));var rimraf=require(_0x7d16('0x1'));var zipdir=require(_0x7d16('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7d16('0x3'));var moment=require('moment');var BPromise=require(_0x7d16('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x7d16('0x5'));var sox=require(_0x7d16('0x6'));var csv=require(_0x7d16('0x7'));var ejs=require(_0x7d16('0x8'));var fs=require('fs');var fs_extra=require(_0x7d16('0x9'));var _=require(_0x7d16('0xa'));var squel=require(_0x7d16('0xb'));var crypto=require(_0x7d16('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x7d16('0xd'));var toCsv=require(_0x7d16('0x7'));var querystring=require(_0x7d16('0xe'));var Papa=require(_0x7d16('0xf'));var Redis=require(_0x7d16('0x10'));var authService=require(_0x7d16('0x11'));var qs=require(_0x7d16('0x12'));var as=require(_0x7d16('0x13'));var hardwareService=require(_0x7d16('0x14'));var logger=require(_0x7d16('0x15'))('api');var utils=require(_0x7d16('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7d16('0x17'))['db'];function respondWithStatusCode(_0x1d531d,_0x8050be){_0x8050be=_0x8050be||0xcc;return function(_0x4185cf){if(_0x4185cf){return _0x1d531d['sendStatus'](_0x8050be);}return _0x1d531d[_0x7d16('0x18')](_0x8050be)['end']();};}function respondWithResult(_0x19343d,_0x1f56c9){_0x1f56c9=_0x1f56c9||0xc8;return function(_0x294a1e){if(_0x294a1e){return _0x19343d['status'](_0x1f56c9)[_0x7d16('0x19')](_0x294a1e);}};}function respondWithFilteredResult(_0x1795c3,_0x46064e){return function(_0x155b19){if(_0x155b19){var _0x2baa1c=typeof _0x46064e[_0x7d16('0x1a')]===_0x7d16('0x1b')&&typeof _0x46064e[_0x7d16('0x1c')]===_0x7d16('0x1b');var _0x163b3e=_0x155b19[_0x7d16('0x1d')];var _0x53511e=_0x2baa1c?0x0:_0x46064e[_0x7d16('0x1a')];var _0x4616e7=_0x2baa1c?_0x155b19[_0x7d16('0x1d')]:_0x46064e[_0x7d16('0x1a')]+_0x46064e['limit'];var _0x2416a;if(_0x4616e7>=_0x163b3e){_0x4616e7=_0x163b3e;_0x2416a=0xc8;}else{_0x2416a=0xce;}_0x1795c3[_0x7d16('0x18')](_0x2416a);return _0x1795c3[_0x7d16('0x1e')](_0x7d16('0x1f'),_0x53511e+'-'+_0x4616e7+'/'+_0x163b3e)[_0x7d16('0x19')](_0x155b19);}return null;};}function patchUpdates(_0x40fa79){return function(_0x149eee){try{jsonpatch[_0x7d16('0x20')](_0x149eee,_0x40fa79,!![]);}catch(_0x26858c){return BPromise['reject'](_0x26858c);}return _0x149eee[_0x7d16('0x21')]();};}function saveUpdates(_0x4db3fc,_0x415582){return function(_0x352181){if(_0x352181){return _0x352181[_0x7d16('0x22')](_0x4db3fc)['then'](function(_0x1680e9){return _0x1680e9;});}return null;};}function removeEntity(_0x10363d,_0x12c3d2){return function(_0x22d9f5){if(_0x22d9f5){return _0x22d9f5[_0x7d16('0x23')]()['then'](function(){var _0x440789=_0x22d9f5['get']({'plain':!![]});var _0x1dac07=_0x7d16('0x24');return db['UserProfileResource'][_0x7d16('0x23')]({'where':{'type':_0x1dac07,'resourceId':_0x440789['id']}})[_0x7d16('0x25')](function(){return _0x22d9f5;});})[_0x7d16('0x25')](function(){_0x10363d['status'](0xcc)[_0x7d16('0x26')]();});}};}function handleEntityNotFound(_0x59959f,_0x8ccebb){return function(_0x1655d8){if(!_0x1655d8){_0x59959f[_0x7d16('0x27')](0x194);}return _0x1655d8;};}function handleError(_0x57e4f9,_0x9fd480){_0x9fd480=_0x9fd480||0x1f4;return function(_0x3e586d){logger[_0x7d16('0x28')](_0x3e586d[_0x7d16('0x29')]);if(_0x3e586d['name']){delete _0x3e586d['name'];}_0x57e4f9[_0x7d16('0x18')](_0x9fd480)[_0x7d16('0x2a')](_0x3e586d);};}exports[_0x7d16('0x2b')]=function(_0x3dc071,_0x120e35){var _0xe9c9f5={},_0x4c4c70={},_0x3cf419={'count':0x0,'rows':[]};return db[_0x7d16('0x2c')][_0x7d16('0x2d')]()[_0x7d16('0x25')](function(_0x3e9d33){_0x4c4c70[_0x7d16('0x2e')]=_[_0x7d16('0x2f')](_0x3e9d33);_0x4c4c70[_0x7d16('0x30')]=_[_0x7d16('0x2f')](_0x3dc071[_0x7d16('0x30')]);_0x4c4c70[_0x7d16('0x31')]=_['intersection'](_0x4c4c70[_0x7d16('0x2e')],_0x4c4c70[_0x7d16('0x30')]);_0xe9c9f5[_0x7d16('0x32')]=_[_0x7d16('0x33')](_0x4c4c70[_0x7d16('0x2e')],qs['fields'](_0x3dc071[_0x7d16('0x30')][_0x7d16('0x34')]));_0xe9c9f5['attributes']=_0xe9c9f5[_0x7d16('0x32')]['length']?_0xe9c9f5[_0x7d16('0x32')]:_0x4c4c70[_0x7d16('0x2e')];if(!_0x3dc071['query'][_0x7d16('0x35')](_0x7d16('0x36'))){_0xe9c9f5[_0x7d16('0x1c')]=qs['limit'](_0x3dc071['query'][_0x7d16('0x1c')]);_0xe9c9f5['offset']=qs['offset'](_0x3dc071[_0x7d16('0x30')][_0x7d16('0x1a')]);}_0xe9c9f5['order']=qs[_0x7d16('0x37')](_0x3dc071[_0x7d16('0x30')][_0x7d16('0x37')]);_0xe9c9f5[_0x7d16('0x38')]=qs[_0x7d16('0x31')](_[_0x7d16('0x39')](_0x3dc071[_0x7d16('0x30')],_0x4c4c70['filters']),_0x3e9d33);if(_0x3dc071[_0x7d16('0x30')]['filter']){_0xe9c9f5[_0x7d16('0x38')]=_[_0x7d16('0x3a')](_0xe9c9f5[_0x7d16('0x38')],{'$or':_[_0x7d16('0x3b')](_0xe9c9f5[_0x7d16('0x32')],function(_0x549b1a){var _0x535fac={};_0x535fac[_0x549b1a]={'$like':'%'+_0x3dc071[_0x7d16('0x30')][_0x7d16('0x3c')]+'%'};return _0x535fac;})});}_0xe9c9f5=_['merge']({},_0xe9c9f5,_0x3dc071[_0x7d16('0x3d')]);var _0x5c3f85={'where':_0xe9c9f5[_0x7d16('0x38')]};return db[_0x7d16('0x2c')][_0x7d16('0x1d')](_0x5c3f85)[_0x7d16('0x25')](function(_0x3fe6a2){_0x3cf419[_0x7d16('0x1d')]=_0x3fe6a2;if(_0x3dc071[_0x7d16('0x30')][_0x7d16('0x3e')]){_0xe9c9f5[_0x7d16('0x3f')]=[{'all':!![]}];}return db['CmCompany'][_0x7d16('0x40')](_0xe9c9f5);})[_0x7d16('0x25')](function(_0x21a07f){_0x3cf419[_0x7d16('0x41')]=_0x21a07f;return _0x3cf419;})[_0x7d16('0x25')](respondWithFilteredResult(_0x120e35,_0xe9c9f5))['catch'](handleError(_0x120e35,null));})[_0x7d16('0x42')](handleError(_0x120e35,null));};exports['show']=function(_0x469e56,_0x43e8b4){var _0x3655a3={'raw':![],'where':{'id':_0x469e56[_0x7d16('0x43')]['id']}},_0x2817db={};_0x2817db[_0x7d16('0x2e')]=_[_0x7d16('0x2f')](db[_0x7d16('0x2c')][_0x7d16('0x44')]);_0x2817db[_0x7d16('0x30')]=_[_0x7d16('0x2f')](_0x469e56[_0x7d16('0x30')]);_0x2817db['filters']=_[_0x7d16('0x33')](_0x2817db[_0x7d16('0x2e')],_0x2817db['query']);_0x3655a3[_0x7d16('0x32')]=_[_0x7d16('0x33')](_0x2817db[_0x7d16('0x2e')],qs[_0x7d16('0x34')](_0x469e56[_0x7d16('0x30')][_0x7d16('0x34')]));_0x3655a3[_0x7d16('0x32')]=_0x3655a3[_0x7d16('0x32')][_0x7d16('0x45')]?_0x3655a3[_0x7d16('0x32')]:_0x2817db[_0x7d16('0x2e')];if(_0x469e56['query']['includeAll']){_0x3655a3['include']=[{'all':!![]}];}_0x3655a3=_[_0x7d16('0x3a')]({},_0x3655a3,_0x469e56['options']);return db[_0x7d16('0x2c')][_0x7d16('0x46')](_0x3655a3)[_0x7d16('0x25')](handleEntityNotFound(_0x43e8b4,null))['then'](respondWithResult(_0x43e8b4,null))['catch'](handleError(_0x43e8b4,null));};exports[_0x7d16('0x47')]=function(_0x42e958,_0x6d19a6){return db[_0x7d16('0x2c')][_0x7d16('0x47')](_0x42e958['body'],{})[_0x7d16('0x25')](function(_0x44ac39){var _0x396c88=_0x42e958[_0x7d16('0x48')][_0x7d16('0x49')]({'plain':!![]});if(!_0x396c88)throw new Error(_0x7d16('0x4a'));if(_0x396c88['role']===_0x7d16('0x48')){var _0x1264b9=_0x44ac39[_0x7d16('0x49')]({'plain':!![]});var _0x51efcf=_0x7d16('0x24');return db[_0x7d16('0x4b')][_0x7d16('0x46')]({'where':{'name':_0x51efcf,'userProfileId':_0x396c88[_0x7d16('0x4c')]},'raw':!![]})['then'](function(_0x4d3558){if(_0x4d3558&&_0x4d3558[_0x7d16('0x4d')]===0x0){return db['UserProfileResource'][_0x7d16('0x47')]({'name':_0x1264b9[_0x7d16('0x4e')],'resourceId':_0x1264b9['id'],'type':_0x4d3558[_0x7d16('0x4e')],'sectionId':_0x4d3558['id']},{})[_0x7d16('0x25')](function(){return _0x44ac39;});}else{return _0x44ac39;}})[_0x7d16('0x42')](function(_0x511d39){logger[_0x7d16('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x511d39);throw _0x511d39;});}return _0x44ac39;})['then'](respondWithResult(_0x6d19a6,0xc9))[_0x7d16('0x42')](handleError(_0x6d19a6,null));};exports[_0x7d16('0x22')]=function(_0x2cb317,_0x2b8da2){if(_0x2cb317['body']['id']){delete _0x2cb317[_0x7d16('0x4f')]['id'];}return db['CmCompany'][_0x7d16('0x46')]({'where':{'id':_0x2cb317[_0x7d16('0x43')]['id']}})[_0x7d16('0x25')](handleEntityNotFound(_0x2b8da2,null))[_0x7d16('0x25')](saveUpdates(_0x2cb317['body'],null))[_0x7d16('0x25')](respondWithResult(_0x2b8da2,null))[_0x7d16('0x42')](handleError(_0x2b8da2,null));};exports[_0x7d16('0x23')]=function(_0x129056,_0x18842b){return db[_0x7d16('0x2c')][_0x7d16('0x46')]({'where':{'id':_0x129056[_0x7d16('0x43')]['id']}})[_0x7d16('0x25')](handleEntityNotFound(_0x18842b,null))[_0x7d16('0x25')](removeEntity(_0x18842b,null))[_0x7d16('0x42')](handleError(_0x18842b,null));};exports[_0x7d16('0x2d')]=function(_0x5dda30,_0x5ecddf){return db[_0x7d16('0x2c')][_0x7d16('0x2d')]()['then'](respondWithResult(_0x5ecddf,null))[_0x7d16('0x42')](handleError(_0x5ecddf,null));};exports[_0x7d16('0x50')]=function(_0x53c897,_0x28d274,_0x2e286d){return db[_0x7d16('0x51')][_0x7d16('0x46')]({'where':{'id':_0x53c897['params']['id']}})[_0x7d16('0x25')](handleEntityNotFound(_0x28d274,null))['then'](function(_0x5ba61a){if(_0x5ba61a){return _0x5ba61a[_0x7d16('0x50')](_0x53c897[_0x7d16('0x4f')][_0x7d16('0x52')],_[_0x7d16('0x53')](_0x53c897[_0x7d16('0x4f')],['ids','id'])||{});}})['then'](respondWithResult(_0x28d274,null))[_0x7d16('0x42')](handleError(_0x28d274,null));};exports[_0x7d16('0x54')]=function(_0x5178cc,_0x2f3b6f,_0x51f19b){var _0x4684c8={};var _0x2a120d={};var _0x308ce2;var _0xd1b9f1;return db[_0x7d16('0x2c')][_0x7d16('0x55')]({'where':{'id':_0x5178cc[_0x7d16('0x43')]['id']}})[_0x7d16('0x25')](handleEntityNotFound(_0x2f3b6f,null))[_0x7d16('0x25')](function(_0x2e4d38){if(_0x2e4d38){_0x308ce2=_0x2e4d38;_0x2a120d[_0x7d16('0x2e')]=_['keys'](db[_0x7d16('0x51')][_0x7d16('0x44')]);_0x2a120d[_0x7d16('0x30')]=_[_0x7d16('0x2f')](_0x5178cc[_0x7d16('0x30')]);_0x2a120d[_0x7d16('0x31')]=_[_0x7d16('0x33')](_0x2a120d[_0x7d16('0x2e')],_0x2a120d[_0x7d16('0x30')]);_0x4684c8[_0x7d16('0x32')]=_[_0x7d16('0x33')](_0x2a120d[_0x7d16('0x2e')],qs['fields'](_0x5178cc[_0x7d16('0x30')][_0x7d16('0x34')]));_0x4684c8[_0x7d16('0x32')]=_0x4684c8['attributes'][_0x7d16('0x45')]?_0x4684c8[_0x7d16('0x32')]:_0x2a120d['model'];_0x4684c8[_0x7d16('0x56')]=qs['sort'](_0x5178cc[_0x7d16('0x30')][_0x7d16('0x37')]);_0x4684c8[_0x7d16('0x38')]=qs[_0x7d16('0x31')](_[_0x7d16('0x39')](_0x5178cc[_0x7d16('0x30')],_0x2a120d['filters']));if(_0x5178cc[_0x7d16('0x30')][_0x7d16('0x3c')]){_0x4684c8[_0x7d16('0x38')]=_['merge'](_0x4684c8['where'],{'$or':_[_0x7d16('0x3b')](_0x4684c8[_0x7d16('0x32')],function(_0x42f5c0){var _0x2db6e3={};_0x2db6e3[_0x42f5c0]={'$like':'%'+_0x5178cc['query'][_0x7d16('0x3c')]+'%'};return _0x2db6e3;})});}_0x4684c8=_['merge']({},_0x4684c8,_0x5178cc[_0x7d16('0x3d')]);return _0x308ce2['getContacts'](_0x4684c8);}})[_0x7d16('0x25')](function(_0x2268d2){if(_0x2268d2){_0xd1b9f1=_0x2268d2[_0x7d16('0x45')];if(!_0x5178cc[_0x7d16('0x30')][_0x7d16('0x35')]('nolimit')){_0x4684c8['limit']=qs[_0x7d16('0x1c')](_0x5178cc['query']['limit']);_0x4684c8[_0x7d16('0x1a')]=qs[_0x7d16('0x1a')](_0x5178cc[_0x7d16('0x30')][_0x7d16('0x1a')]);}return _0x308ce2['getContacts'](_0x4684c8);}})[_0x7d16('0x25')](function(_0x35f580){if(_0x35f580){return _0x35f580?{'count':_0xd1b9f1,'rows':_0x35f580}:null;}})[_0x7d16('0x25')](respondWithResult(_0x2f3b6f,null))[_0x7d16('0x42')](handleError(_0x2f3b6f,null));};