Built motion from commit (unavailable).|2.5.13
[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 _0x1283=['params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','update','addContacts','CmContact','ids','omit','getContacts','findOne','rawAttributes','pick','hasOwnProperty','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','destroy','get','Companies','UserProfileResource','then','error','stack','name','send','index','describe','model','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','filter','merge','where','map','options','CmCompany','count','includeAll','include','findAll','rows','catch','show'];(function(_0x6a000a,_0x2e6091){var _0x379f24=function(_0x3a65e0){while(--_0x3a65e0){_0x6a000a['push'](_0x6a000a['shift']());}};_0x379f24(++_0x2e6091);}(_0x1283,0x6d));var _0x3128=function(_0x152678,_0x11e0ac){_0x152678=_0x152678-0x0;var _0x311a9=_0x1283[_0x152678];return _0x311a9;};'use strict';var pdf=require(_0x3128('0x0'));var emlformat=require(_0x3128('0x1'));var rimraf=require(_0x3128('0x2'));var zipdir=require(_0x3128('0x3'));var jsonpatch=require(_0x3128('0x4'));var rp=require('request-promise');var moment=require(_0x3128('0x5'));var BPromise=require(_0x3128('0x6'));var Mustache=require(_0x3128('0x7'));var util=require(_0x3128('0x8'));var path=require(_0x3128('0x9'));var sox=require(_0x3128('0xa'));var csv=require(_0x3128('0xb'));var ejs=require(_0x3128('0xc'));var fs=require('fs');var _=require(_0x3128('0xd'));var squel=require(_0x3128('0xe'));var crypto=require(_0x3128('0xf'));var jsforce=require(_0x3128('0x10'));var deskjs=require(_0x3128('0x11'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x3128('0x12'));var hardwareService=require(_0x3128('0x13'));var logger=require(_0x3128('0x14'))(_0x3128('0x15'));var utils=require(_0x3128('0x16'));var config=require(_0x3128('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1b1bed,_0x463da5){_0x463da5=_0x463da5||0xcc;return function(_0x24b9ae){if(_0x24b9ae){return _0x1b1bed[_0x3128('0x18')](_0x463da5);}return _0x1b1bed[_0x3128('0x19')](_0x463da5)[_0x3128('0x1a')]();};}function respondWithResult(_0x593245,_0x161fe2){_0x161fe2=_0x161fe2||0xc8;return function(_0xdc917b){if(_0xdc917b){return _0x593245[_0x3128('0x19')](_0x161fe2)[_0x3128('0x1b')](_0xdc917b);}};}function respondWithFilteredResult(_0x3d4323,_0x5a727a){return function(_0x11ca7a){if(_0x11ca7a){var _0x14cc06=_0x11ca7a['count'],_0x4965f0=_0x5a727a[_0x3128('0x1c')],_0x1e3031=_0x5a727a[_0x3128('0x1c')]+_0x5a727a[_0x3128('0x1d')],_0x21e6f6;if(_0x1e3031>=_0x14cc06){_0x1e3031=_0x14cc06;_0x21e6f6=0xc8;}else{_0x21e6f6=0xce;}_0x3d4323[_0x3128('0x19')](_0x21e6f6);return _0x3d4323[_0x3128('0x1e')](_0x3128('0x1f'),_0x4965f0+'-'+_0x1e3031+'/'+_0x14cc06)[_0x3128('0x1b')](_0x11ca7a);}return null;};}function patchUpdates(_0x540640){return function(_0x6ad9fa){try{jsonpatch[_0x3128('0x20')](_0x6ad9fa,_0x540640,!![]);}catch(_0x3b81f1){return BPromise[_0x3128('0x21')](_0x3b81f1);}return _0x6ad9fa['save']();};}function saveUpdates(_0x35bfd4,_0x478387){return function(_0x577ed0){if(_0x577ed0){return _0x577ed0['update'](_0x35bfd4)['then'](function(_0x55752b){return _0x55752b;});}return null;};}function removeEntity(_0x5a4589,_0x23bcee){return function(_0x5a4c8c){if(_0x5a4c8c){return _0x5a4c8c[_0x3128('0x22')]()['then'](function(){var _0x5f4792=_0x5a4c8c[_0x3128('0x23')]({'plain':!![]});var _0x33acc7=_0x3128('0x24');return db[_0x3128('0x25')][_0x3128('0x22')]({'where':{'type':_0x33acc7,'resourceId':_0x5f4792['id']}})['then'](function(){return _0x5a4c8c;});})[_0x3128('0x26')](function(){_0x5a4589[_0x3128('0x19')](0xcc)[_0x3128('0x1a')]();});}};}function handleEntityNotFound(_0x7af8a,_0x34d54f){return function(_0x1d4390){if(!_0x1d4390){_0x7af8a[_0x3128('0x18')](0x194);}return _0x1d4390;};}function handleError(_0x3b49b9,_0x25bcaf){_0x25bcaf=_0x25bcaf||0x1f4;return function(_0x1d9e90){logger[_0x3128('0x27')](_0x1d9e90[_0x3128('0x28')]);if(_0x1d9e90[_0x3128('0x29')]){delete _0x1d9e90[_0x3128('0x29')];}_0x3b49b9[_0x3128('0x19')](_0x25bcaf)[_0x3128('0x2a')](_0x1d9e90);};}exports[_0x3128('0x2b')]=function(_0x54cd16,_0x5479f0){var _0xbc5be6={},_0x3a4830={},_0xc88fb0={'count':0x0,'rows':[]};return db['CmCompany'][_0x3128('0x2c')]()['then'](function(_0x355fae){_0x3a4830[_0x3128('0x2d')]=_[_0x3128('0x2e')](_0x355fae);_0x3a4830['query']=_[_0x3128('0x2e')](_0x54cd16[_0x3128('0x2f')]);_0x3a4830[_0x3128('0x30')]=_[_0x3128('0x31')](_0x3a4830[_0x3128('0x2d')],_0x3a4830[_0x3128('0x2f')]);_0xbc5be6[_0x3128('0x32')]=_[_0x3128('0x31')](_0x3a4830[_0x3128('0x2d')],qs[_0x3128('0x33')](_0x54cd16[_0x3128('0x2f')][_0x3128('0x33')]));_0xbc5be6[_0x3128('0x32')]=_0xbc5be6[_0x3128('0x32')][_0x3128('0x34')]?_0xbc5be6[_0x3128('0x32')]:_0x3a4830[_0x3128('0x2d')];if(!_0x54cd16[_0x3128('0x2f')]['hasOwnProperty'](_0x3128('0x35'))){_0xbc5be6[_0x3128('0x1d')]=qs[_0x3128('0x1d')](_0x54cd16[_0x3128('0x2f')][_0x3128('0x1d')]);_0xbc5be6[_0x3128('0x1c')]=qs[_0x3128('0x1c')](_0x54cd16['query'][_0x3128('0x1c')]);}_0xbc5be6[_0x3128('0x36')]=qs[_0x3128('0x37')](_0x54cd16['query']['sort']);_0xbc5be6['where']=qs['filters'](_['pick'](_0x54cd16[_0x3128('0x2f')],_0x3a4830[_0x3128('0x30')]),_0x355fae);if(_0x54cd16[_0x3128('0x2f')][_0x3128('0x38')]){_0xbc5be6['where']=_[_0x3128('0x39')](_0xbc5be6[_0x3128('0x3a')],{'$or':_[_0x3128('0x3b')](_0xbc5be6[_0x3128('0x32')],function(_0x276766){var _0x3156c4={};_0x3156c4[_0x276766]={'$like':'%'+_0x54cd16[_0x3128('0x2f')][_0x3128('0x38')]+'%'};return _0x3156c4;})});}_0xbc5be6=_[_0x3128('0x39')]({},_0xbc5be6,_0x54cd16[_0x3128('0x3c')]);var _0x20e75e={'where':_0xbc5be6['where']};return db[_0x3128('0x3d')][_0x3128('0x3e')](_0x20e75e)[_0x3128('0x26')](function(_0x51b2da){_0xc88fb0['count']=_0x51b2da;if(_0x54cd16[_0x3128('0x2f')][_0x3128('0x3f')]){_0xbc5be6[_0x3128('0x40')]=[{'all':!![]}];}return db['CmCompany'][_0x3128('0x41')](_0xbc5be6);})['then'](function(_0x414583){_0xc88fb0[_0x3128('0x42')]=_0x414583;return _0xc88fb0;})[_0x3128('0x26')](respondWithFilteredResult(_0x5479f0,_0xbc5be6))['catch'](handleError(_0x5479f0,null));})[_0x3128('0x43')](handleError(_0x5479f0,null));};exports[_0x3128('0x44')]=function(_0x19d194,_0x481f37){var _0x21ee2b={'raw':![],'where':{'id':_0x19d194[_0x3128('0x45')]['id']}},_0x4b6c06={};_0x4b6c06[_0x3128('0x2d')]=_['keys'](db[_0x3128('0x3d')]['rawAttributes']);_0x4b6c06[_0x3128('0x2f')]=_['keys'](_0x19d194[_0x3128('0x2f')]);_0x4b6c06[_0x3128('0x30')]=_[_0x3128('0x31')](_0x4b6c06[_0x3128('0x2d')],_0x4b6c06[_0x3128('0x2f')]);_0x21ee2b['attributes']=_[_0x3128('0x31')](_0x4b6c06[_0x3128('0x2d')],qs['fields'](_0x19d194['query'][_0x3128('0x33')]));_0x21ee2b[_0x3128('0x32')]=_0x21ee2b[_0x3128('0x32')][_0x3128('0x34')]?_0x21ee2b[_0x3128('0x32')]:_0x4b6c06['model'];if(_0x19d194[_0x3128('0x2f')]['includeAll']){_0x21ee2b[_0x3128('0x40')]=[{'all':!![]}];}_0x21ee2b=_[_0x3128('0x39')]({},_0x21ee2b,_0x19d194[_0x3128('0x3c')]);return db['CmCompany'][_0x3128('0x46')](_0x21ee2b)[_0x3128('0x26')](handleEntityNotFound(_0x481f37,null))[_0x3128('0x26')](respondWithResult(_0x481f37,null))[_0x3128('0x43')](handleError(_0x481f37,null));};exports[_0x3128('0x47')]=function(_0x22a945,_0x5130f8){return db[_0x3128('0x3d')][_0x3128('0x47')](_0x22a945[_0x3128('0x48')],{})['then'](function(_0x9dac6a){var _0x35bb10=_0x22a945[_0x3128('0x49')][_0x3128('0x23')]({'plain':!![]});if(!_0x35bb10)throw new Error(_0x3128('0x4a'));if(_0x35bb10[_0x3128('0x4b')]===_0x3128('0x49')){var _0x3065bc=_0x9dac6a[_0x3128('0x23')]({'plain':!![]});var _0x3f5d99=_0x3128('0x24');return db[_0x3128('0x4c')][_0x3128('0x46')]({'where':{'name':_0x3f5d99,'userProfileId':_0x35bb10[_0x3128('0x4d')]},'raw':!![]})[_0x3128('0x26')](function(_0x239c8f){if(_0x239c8f&&_0x239c8f[_0x3128('0x4e')]===0x0){return db[_0x3128('0x25')]['create']({'name':_0x3065bc['name'],'resourceId':_0x3065bc['id'],'type':_0x239c8f[_0x3128('0x29')],'sectionId':_0x239c8f['id']},{})[_0x3128('0x26')](function(){return _0x9dac6a;});}else{return _0x9dac6a;}})[_0x3128('0x43')](function(_0x358b03){logger[_0x3128('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x358b03);throw _0x358b03;});}return _0x9dac6a;})['then'](respondWithResult(_0x5130f8,0xc9))['catch'](handleError(_0x5130f8,null));};exports[_0x3128('0x4f')]=function(_0x23f944,_0x12393e){if(_0x23f944['body']['id']){delete _0x23f944[_0x3128('0x48')]['id'];}return db[_0x3128('0x3d')][_0x3128('0x46')]({'where':{'id':_0x23f944[_0x3128('0x45')]['id']}})[_0x3128('0x26')](handleEntityNotFound(_0x12393e,null))[_0x3128('0x26')](saveUpdates(_0x23f944[_0x3128('0x48')],null))[_0x3128('0x26')](respondWithResult(_0x12393e,null))[_0x3128('0x43')](handleError(_0x12393e,null));};exports[_0x3128('0x22')]=function(_0x4decf3,_0x2bfa6a){return db['CmCompany'][_0x3128('0x46')]({'where':{'id':_0x4decf3[_0x3128('0x45')]['id']}})[_0x3128('0x26')](handleEntityNotFound(_0x2bfa6a,null))[_0x3128('0x26')](removeEntity(_0x2bfa6a,null))[_0x3128('0x43')](handleError(_0x2bfa6a,null));};exports[_0x3128('0x2c')]=function(_0x59f9c2,_0x1a6ae1){return db[_0x3128('0x3d')][_0x3128('0x2c')]()['then'](respondWithResult(_0x1a6ae1,null))['catch'](handleError(_0x1a6ae1,null));};exports[_0x3128('0x50')]=function(_0x893d78,_0x4655ae,_0x1da69a){return db[_0x3128('0x51')][_0x3128('0x46')]({'where':{'id':_0x893d78[_0x3128('0x45')]['id']}})[_0x3128('0x26')](handleEntityNotFound(_0x4655ae,null))[_0x3128('0x26')](function(_0x25ad43){if(_0x25ad43){return _0x25ad43['addContacts'](_0x893d78[_0x3128('0x48')][_0x3128('0x52')],_[_0x3128('0x53')](_0x893d78['body'],[_0x3128('0x52'),'id'])||{});}})[_0x3128('0x26')](respondWithResult(_0x4655ae,null))[_0x3128('0x43')](handleError(_0x4655ae,null));};exports[_0x3128('0x54')]=function(_0x15a2ee,_0x1279bc,_0x200d3a){var _0x3b356f={};var _0x235424={};var _0x23850a;var _0x5588f8;return db[_0x3128('0x3d')][_0x3128('0x55')]({'where':{'id':_0x15a2ee['params']['id']}})[_0x3128('0x26')](handleEntityNotFound(_0x1279bc,null))[_0x3128('0x26')](function(_0x59bce8){if(_0x59bce8){_0x23850a=_0x59bce8;_0x235424[_0x3128('0x2d')]=_[_0x3128('0x2e')](db[_0x3128('0x51')][_0x3128('0x56')]);_0x235424[_0x3128('0x2f')]=_[_0x3128('0x2e')](_0x15a2ee[_0x3128('0x2f')]);_0x235424[_0x3128('0x30')]=_[_0x3128('0x31')](_0x235424[_0x3128('0x2d')],_0x235424['query']);_0x3b356f[_0x3128('0x32')]=_[_0x3128('0x31')](_0x235424['model'],qs[_0x3128('0x33')](_0x15a2ee[_0x3128('0x2f')][_0x3128('0x33')]));_0x3b356f[_0x3128('0x32')]=_0x3b356f[_0x3128('0x32')][_0x3128('0x34')]?_0x3b356f[_0x3128('0x32')]:_0x235424[_0x3128('0x2d')];_0x3b356f[_0x3128('0x36')]=qs['sort'](_0x15a2ee[_0x3128('0x2f')][_0x3128('0x37')]);_0x3b356f['where']=qs[_0x3128('0x30')](_[_0x3128('0x57')](_0x15a2ee[_0x3128('0x2f')],_0x235424[_0x3128('0x30')]));if(_0x15a2ee[_0x3128('0x2f')][_0x3128('0x38')]){_0x3b356f[_0x3128('0x3a')]=_[_0x3128('0x39')](_0x3b356f[_0x3128('0x3a')],{'$or':_[_0x3128('0x3b')](_0x3b356f[_0x3128('0x32')],function(_0x40d577){var _0x45c04b={};_0x45c04b[_0x40d577]={'$like':'%'+_0x15a2ee[_0x3128('0x2f')][_0x3128('0x38')]+'%'};return _0x45c04b;})});}_0x3b356f=_['merge']({},_0x3b356f,_0x15a2ee['options']);return _0x23850a['getContacts'](_0x3b356f);}})['then'](function(_0x1add17){if(_0x1add17){_0x5588f8=_0x1add17[_0x3128('0x34')];if(!_0x15a2ee[_0x3128('0x2f')][_0x3128('0x58')]('nolimit')){_0x3b356f[_0x3128('0x1d')]=qs[_0x3128('0x1d')](_0x15a2ee[_0x3128('0x2f')][_0x3128('0x1d')]);_0x3b356f[_0x3128('0x1c')]=qs[_0x3128('0x1c')](_0x15a2ee[_0x3128('0x2f')]['offset']);}return _0x23850a[_0x3128('0x54')](_0x3b356f);}})[_0x3128('0x26')](function(_0x2034a8){if(_0x2034a8){return _0x2034a8?{'count':_0x5588f8,'rows':_0x2034a8}:null;}})[_0x3128('0x26')](respondWithResult(_0x1279bc,null))['catch'](handleError(_0x1279bc,null));};