bb7ee0d8865818ebf0fea9fe6806caa1573f7792
[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 _0x5d6d=['error','name','send','index','CmCompany','describe','model','query','intersection','attributes','fields','hasOwnProperty','order','sort','filters','filter','where','merge','map','options','include','findAll','rows','catch','show','params','keys','rawAttributes','includeAll','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','addContacts','CmContact','omit','ids','getContacts','findOne','length','pick','nolimit','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','then','get','Companies','destroy','end'];(function(_0x251f31,_0x244e9a){var _0x497d84=function(_0x29ec15){while(--_0x29ec15){_0x251f31['push'](_0x251f31['shift']());}};_0x497d84(++_0x244e9a);}(_0x5d6d,0x1ee));var _0xd5d6=function(_0x4a5bc3,_0x2b1492){_0x4a5bc3=_0x4a5bc3-0x0;var _0x135dc1=_0x5d6d[_0x4a5bc3];return _0x135dc1;};'use strict';var pdf=require(_0xd5d6('0x0'));var emlformat=require(_0xd5d6('0x1'));var rimraf=require(_0xd5d6('0x2'));var zipdir=require(_0xd5d6('0x3'));var jsonpatch=require(_0xd5d6('0x4'));var rp=require(_0xd5d6('0x5'));var moment=require(_0xd5d6('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xd5d6('0x7'));var path=require(_0xd5d6('0x8'));var sox=require('sox');var csv=require(_0xd5d6('0x9'));var ejs=require(_0xd5d6('0xa'));var fs=require('fs');var _=require(_0xd5d6('0xb'));var squel=require(_0xd5d6('0xc'));var crypto=require(_0xd5d6('0xd'));var jsforce=require(_0xd5d6('0xe'));var deskjs=require(_0xd5d6('0xf'));var toCsv=require(_0xd5d6('0x9'));var querystring=require(_0xd5d6('0x10'));var Papa=require(_0xd5d6('0x11'));var Redis=require(_0xd5d6('0x12'));var authService=require(_0xd5d6('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xd5d6('0x14'));var hardwareService=require(_0xd5d6('0x15'));var logger=require('../../config/logger')(_0xd5d6('0x16'));var utils=require(_0xd5d6('0x17'));var config=require(_0xd5d6('0x18'));var licenseUtil=require(_0xd5d6('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x52b794,_0x2bc92f){_0x2bc92f=_0x2bc92f||0xcc;return function(_0x3d6135){if(_0x3d6135){return _0x52b794[_0xd5d6('0x1a')](_0x2bc92f);}return _0x52b794[_0xd5d6('0x1b')](_0x2bc92f)['end']();};}function respondWithResult(_0x4254ba,_0x3e23a5){_0x3e23a5=_0x3e23a5||0xc8;return function(_0x3c4ebe){if(_0x3c4ebe){return _0x4254ba[_0xd5d6('0x1b')](_0x3e23a5)[_0xd5d6('0x1c')](_0x3c4ebe);}};}function respondWithFilteredResult(_0x3b0e11,_0x1cda55){return function(_0x162425){if(_0x162425){var _0x3e9b46=_0x162425[_0xd5d6('0x1d')],_0xbe643=_0x1cda55[_0xd5d6('0x1e')],_0x520ee2=_0x1cda55[_0xd5d6('0x1e')]+_0x1cda55[_0xd5d6('0x1f')],_0x179ad0;if(_0x520ee2>=_0x3e9b46){_0x520ee2=_0x3e9b46;_0x179ad0=0xc8;}else{_0x179ad0=0xce;}_0x3b0e11['status'](_0x179ad0);return _0x3b0e11['set'](_0xd5d6('0x20'),_0xbe643+'-'+_0x520ee2+'/'+_0x3e9b46)[_0xd5d6('0x1c')](_0x162425);}return null;};}function patchUpdates(_0x39aac5){return function(_0x5303f2){try{jsonpatch[_0xd5d6('0x21')](_0x5303f2,_0x39aac5,!![]);}catch(_0x450160){return BPromise[_0xd5d6('0x22')](_0x450160);}return _0x5303f2['save']();};}function saveUpdates(_0x3b3148,_0x32966f){return function(_0x3be751){if(_0x3be751){return _0x3be751['update'](_0x3b3148)[_0xd5d6('0x23')](function(_0x38665c){return _0x38665c;});}return null;};}function removeEntity(_0x15a99f,_0x304933){return function(_0x8ebc0d){if(_0x8ebc0d){return _0x8ebc0d['destroy']()[_0xd5d6('0x23')](function(){var _0x3e6248=_0x8ebc0d[_0xd5d6('0x24')]({'plain':!![]});var _0x235170=_0xd5d6('0x25');return db['UserProfileResource'][_0xd5d6('0x26')]({'where':{'type':_0x235170,'resourceId':_0x3e6248['id']}})['then'](function(){return _0x8ebc0d;});})[_0xd5d6('0x23')](function(){_0x15a99f['status'](0xcc)[_0xd5d6('0x27')]();});}};}function handleEntityNotFound(_0x28e1cf,_0x471d91){return function(_0xa44fdc){if(!_0xa44fdc){_0x28e1cf[_0xd5d6('0x1a')](0x194);}return _0xa44fdc;};}function handleError(_0x221685,_0x47bae3){_0x47bae3=_0x47bae3||0x1f4;return function(_0x265810){logger[_0xd5d6('0x28')](_0x265810['stack']);if(_0x265810[_0xd5d6('0x29')]){delete _0x265810['name'];}_0x221685['status'](_0x47bae3)[_0xd5d6('0x2a')](_0x265810);};}exports[_0xd5d6('0x2b')]=function(_0x1cfbf6,_0x28bf1a){var _0x1ded71={},_0x2cb8a5={},_0x58c882={'count':0x0,'rows':[]};return db[_0xd5d6('0x2c')][_0xd5d6('0x2d')]()[_0xd5d6('0x23')](function(_0x4ebb29){_0x2cb8a5[_0xd5d6('0x2e')]=_['keys'](_0x4ebb29);_0x2cb8a5[_0xd5d6('0x2f')]=_['keys'](_0x1cfbf6[_0xd5d6('0x2f')]);_0x2cb8a5['filters']=_[_0xd5d6('0x30')](_0x2cb8a5[_0xd5d6('0x2e')],_0x2cb8a5[_0xd5d6('0x2f')]);_0x1ded71[_0xd5d6('0x31')]=_['intersection'](_0x2cb8a5[_0xd5d6('0x2e')],qs[_0xd5d6('0x32')](_0x1cfbf6[_0xd5d6('0x2f')]['fields']));_0x1ded71[_0xd5d6('0x31')]=_0x1ded71[_0xd5d6('0x31')]['length']?_0x1ded71[_0xd5d6('0x31')]:_0x2cb8a5[_0xd5d6('0x2e')];if(!_0x1cfbf6[_0xd5d6('0x2f')][_0xd5d6('0x33')]('nolimit')){_0x1ded71[_0xd5d6('0x1f')]=qs[_0xd5d6('0x1f')](_0x1cfbf6[_0xd5d6('0x2f')][_0xd5d6('0x1f')]);_0x1ded71[_0xd5d6('0x1e')]=qs[_0xd5d6('0x1e')](_0x1cfbf6[_0xd5d6('0x2f')][_0xd5d6('0x1e')]);}_0x1ded71[_0xd5d6('0x34')]=qs[_0xd5d6('0x35')](_0x1cfbf6['query'][_0xd5d6('0x35')]);_0x1ded71['where']=qs[_0xd5d6('0x36')](_['pick'](_0x1cfbf6['query'],_0x2cb8a5[_0xd5d6('0x36')]),_0x4ebb29);if(_0x1cfbf6['query'][_0xd5d6('0x37')]){_0x1ded71[_0xd5d6('0x38')]=_[_0xd5d6('0x39')](_0x1ded71[_0xd5d6('0x38')],{'$or':_[_0xd5d6('0x3a')](_0x1ded71[_0xd5d6('0x31')],function(_0x30daf9){var _0x1eea9c={};_0x1eea9c[_0x30daf9]={'$like':'%'+_0x1cfbf6[_0xd5d6('0x2f')][_0xd5d6('0x37')]+'%'};return _0x1eea9c;})});}_0x1ded71=_[_0xd5d6('0x39')]({},_0x1ded71,_0x1cfbf6[_0xd5d6('0x3b')]);var _0x4804ac={'where':_0x1ded71[_0xd5d6('0x38')]};return db[_0xd5d6('0x2c')][_0xd5d6('0x1d')](_0x4804ac)['then'](function(_0x167a08){_0x58c882[_0xd5d6('0x1d')]=_0x167a08;if(_0x1cfbf6[_0xd5d6('0x2f')]['includeAll']){_0x1ded71[_0xd5d6('0x3c')]=[{'all':!![]}];}return db['CmCompany'][_0xd5d6('0x3d')](_0x1ded71);})[_0xd5d6('0x23')](function(_0x212bca){_0x58c882[_0xd5d6('0x3e')]=_0x212bca;return _0x58c882;})[_0xd5d6('0x23')](respondWithFilteredResult(_0x28bf1a,_0x1ded71))[_0xd5d6('0x3f')](handleError(_0x28bf1a,null));})[_0xd5d6('0x3f')](handleError(_0x28bf1a,null));};exports[_0xd5d6('0x40')]=function(_0x10ac33,_0x424846){var _0x2c29c6={'raw':![],'where':{'id':_0x10ac33[_0xd5d6('0x41')]['id']}},_0x21f033={};_0x21f033[_0xd5d6('0x2e')]=_[_0xd5d6('0x42')](db[_0xd5d6('0x2c')][_0xd5d6('0x43')]);_0x21f033[_0xd5d6('0x2f')]=_[_0xd5d6('0x42')](_0x10ac33[_0xd5d6('0x2f')]);_0x21f033[_0xd5d6('0x36')]=_['intersection'](_0x21f033['model'],_0x21f033[_0xd5d6('0x2f')]);_0x2c29c6['attributes']=_['intersection'](_0x21f033['model'],qs[_0xd5d6('0x32')](_0x10ac33['query'][_0xd5d6('0x32')]));_0x2c29c6[_0xd5d6('0x31')]=_0x2c29c6[_0xd5d6('0x31')]['length']?_0x2c29c6['attributes']:_0x21f033['model'];if(_0x10ac33[_0xd5d6('0x2f')][_0xd5d6('0x44')]){_0x2c29c6['include']=[{'all':!![]}];}_0x2c29c6=_['merge']({},_0x2c29c6,_0x10ac33[_0xd5d6('0x3b')]);return db[_0xd5d6('0x2c')][_0xd5d6('0x45')](_0x2c29c6)[_0xd5d6('0x23')](handleEntityNotFound(_0x424846,null))[_0xd5d6('0x23')](respondWithResult(_0x424846,null))[_0xd5d6('0x3f')](handleError(_0x424846,null));};exports['create']=function(_0x1d880b,_0x19ac02){return db[_0xd5d6('0x2c')][_0xd5d6('0x46')](_0x1d880b[_0xd5d6('0x47')],{})[_0xd5d6('0x23')](function(_0x398ae6){var _0x13aeeb=_0x1d880b['user']['get']({'plain':!![]});if(!_0x13aeeb)throw new Error(_0xd5d6('0x48'));if(_0x13aeeb[_0xd5d6('0x49')]==='user'){var _0x561f7c=_0x398ae6[_0xd5d6('0x24')]({'plain':!![]});var _0x47ca84=_0xd5d6('0x25');return db[_0xd5d6('0x4a')][_0xd5d6('0x45')]({'where':{'name':_0x47ca84,'userProfileId':_0x13aeeb[_0xd5d6('0x4b')]},'raw':!![]})['then'](function(_0x429e00){if(_0x429e00&&_0x429e00[_0xd5d6('0x4c')]===0x0){return db[_0xd5d6('0x4d')]['create']({'name':_0x561f7c['name'],'resourceId':_0x561f7c['id'],'type':_0x429e00[_0xd5d6('0x29')],'sectionId':_0x429e00['id']},{})['then'](function(){return _0x398ae6;});}else{return _0x398ae6;}})[_0xd5d6('0x3f')](function(_0x120b5b){logger[_0xd5d6('0x28')](_0xd5d6('0x4e'),_0x120b5b);throw _0x120b5b;});}return _0x398ae6;})[_0xd5d6('0x23')](respondWithResult(_0x19ac02,0xc9))[_0xd5d6('0x3f')](handleError(_0x19ac02,null));};exports[_0xd5d6('0x4f')]=function(_0x326baa,_0x257f95){if(_0x326baa[_0xd5d6('0x47')]['id']){delete _0x326baa[_0xd5d6('0x47')]['id'];}return db[_0xd5d6('0x2c')][_0xd5d6('0x45')]({'where':{'id':_0x326baa[_0xd5d6('0x41')]['id']}})[_0xd5d6('0x23')](handleEntityNotFound(_0x257f95,null))['then'](saveUpdates(_0x326baa[_0xd5d6('0x47')],null))['then'](respondWithResult(_0x257f95,null))['catch'](handleError(_0x257f95,null));};exports[_0xd5d6('0x26')]=function(_0x1c6d48,_0x1ed33e){return db[_0xd5d6('0x2c')][_0xd5d6('0x45')]({'where':{'id':_0x1c6d48[_0xd5d6('0x41')]['id']}})['then'](handleEntityNotFound(_0x1ed33e,null))[_0xd5d6('0x23')](removeEntity(_0x1ed33e,null))['catch'](handleError(_0x1ed33e,null));};exports[_0xd5d6('0x2d')]=function(_0x36f8e3,_0x3f278c){return db[_0xd5d6('0x2c')]['describe']()[_0xd5d6('0x23')](respondWithResult(_0x3f278c,null))[_0xd5d6('0x3f')](handleError(_0x3f278c,null));};exports[_0xd5d6('0x50')]=function(_0xabe7e6,_0x9df583,_0x5584e0){return db[_0xd5d6('0x51')][_0xd5d6('0x45')]({'where':{'id':_0xabe7e6[_0xd5d6('0x41')]['id']}})[_0xd5d6('0x23')](handleEntityNotFound(_0x9df583,null))[_0xd5d6('0x23')](function(_0xf15143){if(_0xf15143){return _0xf15143['addContacts'](_0xabe7e6[_0xd5d6('0x47')]['ids'],_[_0xd5d6('0x52')](_0xabe7e6['body'],[_0xd5d6('0x53'),'id'])||{});}})[_0xd5d6('0x23')](respondWithResult(_0x9df583,null))['catch'](handleError(_0x9df583,null));};exports[_0xd5d6('0x54')]=function(_0x26c1ee,_0x1c702b,_0x1cbad6){var _0x5b897a={};var _0x46b226={};var _0x44406e;var _0x286a97;return db[_0xd5d6('0x2c')][_0xd5d6('0x55')]({'where':{'id':_0x26c1ee[_0xd5d6('0x41')]['id']}})[_0xd5d6('0x23')](handleEntityNotFound(_0x1c702b,null))['then'](function(_0x1a7553){if(_0x1a7553){_0x44406e=_0x1a7553;_0x46b226[_0xd5d6('0x2e')]=_[_0xd5d6('0x42')](db[_0xd5d6('0x51')][_0xd5d6('0x43')]);_0x46b226[_0xd5d6('0x2f')]=_[_0xd5d6('0x42')](_0x26c1ee[_0xd5d6('0x2f')]);_0x46b226['filters']=_[_0xd5d6('0x30')](_0x46b226[_0xd5d6('0x2e')],_0x46b226['query']);_0x5b897a[_0xd5d6('0x31')]=_[_0xd5d6('0x30')](_0x46b226[_0xd5d6('0x2e')],qs[_0xd5d6('0x32')](_0x26c1ee[_0xd5d6('0x2f')][_0xd5d6('0x32')]));_0x5b897a[_0xd5d6('0x31')]=_0x5b897a['attributes'][_0xd5d6('0x56')]?_0x5b897a[_0xd5d6('0x31')]:_0x46b226[_0xd5d6('0x2e')];_0x5b897a[_0xd5d6('0x34')]=qs['sort'](_0x26c1ee['query'][_0xd5d6('0x35')]);_0x5b897a[_0xd5d6('0x38')]=qs[_0xd5d6('0x36')](_[_0xd5d6('0x57')](_0x26c1ee[_0xd5d6('0x2f')],_0x46b226['filters']));if(_0x26c1ee[_0xd5d6('0x2f')][_0xd5d6('0x37')]){_0x5b897a['where']=_[_0xd5d6('0x39')](_0x5b897a[_0xd5d6('0x38')],{'$or':_[_0xd5d6('0x3a')](_0x5b897a[_0xd5d6('0x31')],function(_0x6784b9){var _0x16488b={};_0x16488b[_0x6784b9]={'$like':'%'+_0x26c1ee[_0xd5d6('0x2f')][_0xd5d6('0x37')]+'%'};return _0x16488b;})});}_0x5b897a=_[_0xd5d6('0x39')]({},_0x5b897a,_0x26c1ee[_0xd5d6('0x3b')]);return _0x44406e[_0xd5d6('0x54')](_0x5b897a);}})['then'](function(_0x51b101){if(_0x51b101){_0x286a97=_0x51b101[_0xd5d6('0x56')];if(!_0x26c1ee[_0xd5d6('0x2f')][_0xd5d6('0x33')](_0xd5d6('0x58'))){_0x5b897a[_0xd5d6('0x1f')]=qs[_0xd5d6('0x1f')](_0x26c1ee['query'][_0xd5d6('0x1f')]);_0x5b897a['offset']=qs[_0xd5d6('0x1e')](_0x26c1ee[_0xd5d6('0x2f')]['offset']);}return _0x44406e['getContacts'](_0x5b897a);}})[_0xd5d6('0x23')](function(_0x1d8999){if(_0x1d8999){return _0x1d8999?{'count':_0x286a97,'rows':_0x1d8999}:null;}})[_0xd5d6('0x23')](respondWithResult(_0x1c702b,null))[_0xd5d6('0x3f')](handleError(_0x1c702b,null));};