Built motion from commit (unavailable).|2.5.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 _0x2208=['attributes','nolimit','offset','sort','pick','filter','merge','where','options','includeAll','include','findAll','rows','catch','show','keys','fields','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','addContacts','ids','omit','getContacts','CmContact','rawAttributes','order','map','hasOwnProperty','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','crypto','jsforce','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','Companies','UserProfileResource','stack','name','index','CmCompany','model','query','filters','intersection'];(function(_0x40a045,_0x516f0e){var _0x1a687c=function(_0x48c9fe){while(--_0x48c9fe){_0x40a045['push'](_0x40a045['shift']());}};_0x1a687c(++_0x516f0e);}(_0x2208,0x7b));var _0x8220=function(_0x2c0c66,_0x400cb4){_0x2c0c66=_0x2c0c66-0x0;var _0x26a228=_0x2208[_0x2c0c66];return _0x26a228;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8220('0x0'));var rimraf=require(_0x8220('0x1'));var zipdir=require(_0x8220('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8220('0x3'));var moment=require(_0x8220('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x8220('0x5'));var util=require(_0x8220('0x6'));var path=require(_0x8220('0x7'));var sox=require(_0x8220('0x8'));var csv=require(_0x8220('0x9'));var ejs=require(_0x8220('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x8220('0xb'));var jsforce=require(_0x8220('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x8220('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x8220('0xd'));var authService=require(_0x8220('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8220('0xf'));var logger=require(_0x8220('0x10'))(_0x8220('0x11'));var utils=require(_0x8220('0x12'));var config=require(_0x8220('0x13'));var licenseUtil=require(_0x8220('0x14'));var db=require(_0x8220('0x15'))['db'];function respondWithStatusCode(_0x4218af,_0x5086b7){_0x5086b7=_0x5086b7||0xcc;return function(_0x34b521){if(_0x34b521){return _0x4218af[_0x8220('0x16')](_0x5086b7);}return _0x4218af[_0x8220('0x17')](_0x5086b7)[_0x8220('0x18')]();};}function respondWithResult(_0x272a6e,_0x474f61){_0x474f61=_0x474f61||0xc8;return function(_0x1fd6b8){if(_0x1fd6b8){return _0x272a6e['status'](_0x474f61)[_0x8220('0x19')](_0x1fd6b8);}};}function respondWithFilteredResult(_0x1efa44,_0x4e9fd4){return function(_0x176527){if(_0x176527){var _0x5ebde3=_0x176527[_0x8220('0x1a')],_0x4f2028=_0x4e9fd4['offset'],_0x367d9c=_0x4e9fd4['offset']+_0x4e9fd4[_0x8220('0x1b')],_0x56fd07;if(_0x367d9c>=_0x5ebde3){_0x367d9c=_0x5ebde3;_0x56fd07=0xc8;}else{_0x56fd07=0xce;}_0x1efa44[_0x8220('0x17')](_0x56fd07);return _0x1efa44[_0x8220('0x1c')](_0x8220('0x1d'),_0x4f2028+'-'+_0x367d9c+'/'+_0x5ebde3)['json'](_0x176527);}return null;};}function patchUpdates(_0xc194eb){return function(_0x35234e){try{jsonpatch[_0x8220('0x1e')](_0x35234e,_0xc194eb,!![]);}catch(_0x15d70d){return BPromise[_0x8220('0x1f')](_0x15d70d);}return _0x35234e[_0x8220('0x20')]();};}function saveUpdates(_0x49b8e1,_0x2edf50){return function(_0x43edea){if(_0x43edea){return _0x43edea[_0x8220('0x21')](_0x49b8e1)[_0x8220('0x22')](function(_0x55a9fe){return _0x55a9fe;});}return null;};}function removeEntity(_0x1a4574,_0x7bde6e){return function(_0x4dca01){if(_0x4dca01){return _0x4dca01[_0x8220('0x23')]()['then'](function(){var _0x1d01d3=_0x4dca01[_0x8220('0x24')]({'plain':!![]});var _0xf9169b=_0x8220('0x25');return db[_0x8220('0x26')][_0x8220('0x23')]({'where':{'type':_0xf9169b,'resourceId':_0x1d01d3['id']}})[_0x8220('0x22')](function(){return _0x4dca01;});})[_0x8220('0x22')](function(){_0x1a4574['status'](0xcc)[_0x8220('0x18')]();});}};}function handleEntityNotFound(_0x2096c1,_0x5be27f){return function(_0x101bf9){if(!_0x101bf9){_0x2096c1[_0x8220('0x16')](0x194);}return _0x101bf9;};}function handleError(_0x5e2f42,_0x317b37){_0x317b37=_0x317b37||0x1f4;return function(_0x5353ff){logger['error'](_0x5353ff[_0x8220('0x27')]);if(_0x5353ff[_0x8220('0x28')]){delete _0x5353ff[_0x8220('0x28')];}_0x5e2f42[_0x8220('0x17')](_0x317b37)['send'](_0x5353ff);};}exports[_0x8220('0x29')]=function(_0x5027ab,_0x2b1df8){var _0x3d7c6d={},_0x55325e={},_0x238559={'count':0x0,'rows':[]};return db[_0x8220('0x2a')]['describe']()[_0x8220('0x22')](function(_0x3a0498){_0x55325e[_0x8220('0x2b')]=_['keys'](_0x3a0498);_0x55325e[_0x8220('0x2c')]=_['keys'](_0x5027ab[_0x8220('0x2c')]);_0x55325e[_0x8220('0x2d')]=_[_0x8220('0x2e')](_0x55325e[_0x8220('0x2b')],_0x55325e[_0x8220('0x2c')]);_0x3d7c6d[_0x8220('0x2f')]=_['intersection'](_0x55325e[_0x8220('0x2b')],qs['fields'](_0x5027ab[_0x8220('0x2c')]['fields']));_0x3d7c6d[_0x8220('0x2f')]=_0x3d7c6d[_0x8220('0x2f')]['length']?_0x3d7c6d['attributes']:_0x55325e[_0x8220('0x2b')];if(!_0x5027ab['query']['hasOwnProperty'](_0x8220('0x30'))){_0x3d7c6d[_0x8220('0x1b')]=qs[_0x8220('0x1b')](_0x5027ab[_0x8220('0x2c')][_0x8220('0x1b')]);_0x3d7c6d[_0x8220('0x31')]=qs[_0x8220('0x31')](_0x5027ab[_0x8220('0x2c')][_0x8220('0x31')]);}_0x3d7c6d['order']=qs[_0x8220('0x32')](_0x5027ab[_0x8220('0x2c')]['sort']);_0x3d7c6d['where']=qs[_0x8220('0x2d')](_[_0x8220('0x33')](_0x5027ab[_0x8220('0x2c')],_0x55325e['filters']),_0x3a0498);if(_0x5027ab[_0x8220('0x2c')][_0x8220('0x34')]){_0x3d7c6d['where']=_[_0x8220('0x35')](_0x3d7c6d[_0x8220('0x36')],{'$or':_['map'](_0x3d7c6d[_0x8220('0x2f')],function(_0x13acd0){var _0x26f01d={};_0x26f01d[_0x13acd0]={'$like':'%'+_0x5027ab[_0x8220('0x2c')][_0x8220('0x34')]+'%'};return _0x26f01d;})});}_0x3d7c6d=_[_0x8220('0x35')]({},_0x3d7c6d,_0x5027ab[_0x8220('0x37')]);var _0x107179={'where':_0x3d7c6d[_0x8220('0x36')]};return db[_0x8220('0x2a')][_0x8220('0x1a')](_0x107179)['then'](function(_0x3faf77){_0x238559[_0x8220('0x1a')]=_0x3faf77;if(_0x5027ab[_0x8220('0x2c')][_0x8220('0x38')]){_0x3d7c6d[_0x8220('0x39')]=[{'all':!![]}];}return db[_0x8220('0x2a')][_0x8220('0x3a')](_0x3d7c6d);})[_0x8220('0x22')](function(_0x3067f2){_0x238559[_0x8220('0x3b')]=_0x3067f2;return _0x238559;})['then'](respondWithFilteredResult(_0x2b1df8,_0x3d7c6d))[_0x8220('0x3c')](handleError(_0x2b1df8,null));})['catch'](handleError(_0x2b1df8,null));};exports[_0x8220('0x3d')]=function(_0x26db7b,_0x1fd6c1){var _0x640887={'raw':![],'where':{'id':_0x26db7b['params']['id']}},_0x55034c={};_0x55034c[_0x8220('0x2b')]=_['keys'](db[_0x8220('0x2a')]['rawAttributes']);_0x55034c[_0x8220('0x2c')]=_[_0x8220('0x3e')](_0x26db7b['query']);_0x55034c['filters']=_[_0x8220('0x2e')](_0x55034c[_0x8220('0x2b')],_0x55034c['query']);_0x640887[_0x8220('0x2f')]=_[_0x8220('0x2e')](_0x55034c[_0x8220('0x2b')],qs[_0x8220('0x3f')](_0x26db7b['query']['fields']));_0x640887[_0x8220('0x2f')]=_0x640887[_0x8220('0x2f')][_0x8220('0x40')]?_0x640887[_0x8220('0x2f')]:_0x55034c['model'];if(_0x26db7b['query'][_0x8220('0x38')]){_0x640887['include']=[{'all':!![]}];}_0x640887=_[_0x8220('0x35')]({},_0x640887,_0x26db7b[_0x8220('0x37')]);return db[_0x8220('0x2a')][_0x8220('0x41')](_0x640887)[_0x8220('0x22')](handleEntityNotFound(_0x1fd6c1,null))[_0x8220('0x22')](respondWithResult(_0x1fd6c1,null))[_0x8220('0x3c')](handleError(_0x1fd6c1,null));};exports['create']=function(_0xe9983c,_0x30a16f){return db[_0x8220('0x2a')][_0x8220('0x42')](_0xe9983c[_0x8220('0x43')],{})[_0x8220('0x22')](function(_0x1eb4c8){var _0x192573=_0xe9983c[_0x8220('0x44')][_0x8220('0x24')]({'plain':!![]});if(!_0x192573)throw new Error(_0x8220('0x45'));if(_0x192573[_0x8220('0x46')]===_0x8220('0x44')){var _0x1284b9=_0x1eb4c8[_0x8220('0x24')]({'plain':!![]});var _0x4e1aa4=_0x8220('0x25');return db['UserProfileSection'][_0x8220('0x41')]({'where':{'name':_0x4e1aa4,'userProfileId':_0x192573[_0x8220('0x47')]},'raw':!![]})['then'](function(_0x242c52){if(_0x242c52&&_0x242c52[_0x8220('0x48')]===0x0){return db[_0x8220('0x26')]['create']({'name':_0x1284b9['name'],'resourceId':_0x1284b9['id'],'type':_0x242c52[_0x8220('0x28')],'sectionId':_0x242c52['id']},{})[_0x8220('0x22')](function(){return _0x1eb4c8;});}else{return _0x1eb4c8;}})[_0x8220('0x3c')](function(_0x29eda9){logger['error'](_0x8220('0x49'),_0x29eda9);throw _0x29eda9;});}return _0x1eb4c8;})['then'](respondWithResult(_0x30a16f,0xc9))['catch'](handleError(_0x30a16f,null));};exports['update']=function(_0x4d82c5,_0x3c6d78){if(_0x4d82c5['body']['id']){delete _0x4d82c5[_0x8220('0x43')]['id'];}return db[_0x8220('0x2a')][_0x8220('0x41')]({'where':{'id':_0x4d82c5[_0x8220('0x4a')]['id']}})[_0x8220('0x22')](handleEntityNotFound(_0x3c6d78,null))[_0x8220('0x22')](saveUpdates(_0x4d82c5[_0x8220('0x43')],null))[_0x8220('0x22')](respondWithResult(_0x3c6d78,null))[_0x8220('0x3c')](handleError(_0x3c6d78,null));};exports[_0x8220('0x23')]=function(_0x374e12,_0x1afee5){return db[_0x8220('0x2a')][_0x8220('0x41')]({'where':{'id':_0x374e12[_0x8220('0x4a')]['id']}})['then'](handleEntityNotFound(_0x1afee5,null))[_0x8220('0x22')](removeEntity(_0x1afee5,null))['catch'](handleError(_0x1afee5,null));};exports[_0x8220('0x4b')]=function(_0x16c95,_0x190971){return db[_0x8220('0x2a')][_0x8220('0x4b')]()['then'](respondWithResult(_0x190971,null))[_0x8220('0x3c')](handleError(_0x190971,null));};exports['addContacts']=function(_0x58d152,_0x320974,_0x3b4578){return db['CmContact'][_0x8220('0x41')]({'where':{'id':_0x58d152['params']['id']}})['then'](handleEntityNotFound(_0x320974,null))[_0x8220('0x22')](function(_0x32525b){if(_0x32525b){return _0x32525b[_0x8220('0x4c')](_0x58d152['body'][_0x8220('0x4d')],_[_0x8220('0x4e')](_0x58d152[_0x8220('0x43')],['ids','id'])||{});}})[_0x8220('0x22')](respondWithResult(_0x320974,null))['catch'](handleError(_0x320974,null));};exports[_0x8220('0x4f')]=function(_0x6c4813,_0x107cd3,_0x294360){var _0x2ca4b8={};var _0x221880={};var _0x27af2b;var _0x4c1450;return db[_0x8220('0x2a')]['findOne']({'where':{'id':_0x6c4813['params']['id']}})[_0x8220('0x22')](handleEntityNotFound(_0x107cd3,null))[_0x8220('0x22')](function(_0x6a031e){if(_0x6a031e){_0x27af2b=_0x6a031e;_0x221880[_0x8220('0x2b')]=_['keys'](db[_0x8220('0x50')][_0x8220('0x51')]);_0x221880[_0x8220('0x2c')]=_[_0x8220('0x3e')](_0x6c4813[_0x8220('0x2c')]);_0x221880[_0x8220('0x2d')]=_[_0x8220('0x2e')](_0x221880[_0x8220('0x2b')],_0x221880[_0x8220('0x2c')]);_0x2ca4b8[_0x8220('0x2f')]=_['intersection'](_0x221880['model'],qs['fields'](_0x6c4813['query'][_0x8220('0x3f')]));_0x2ca4b8[_0x8220('0x2f')]=_0x2ca4b8['attributes'][_0x8220('0x40')]?_0x2ca4b8[_0x8220('0x2f')]:_0x221880[_0x8220('0x2b')];_0x2ca4b8[_0x8220('0x52')]=qs[_0x8220('0x32')](_0x6c4813[_0x8220('0x2c')][_0x8220('0x32')]);_0x2ca4b8[_0x8220('0x36')]=qs['filters'](_[_0x8220('0x33')](_0x6c4813[_0x8220('0x2c')],_0x221880['filters']));if(_0x6c4813[_0x8220('0x2c')][_0x8220('0x34')]){_0x2ca4b8[_0x8220('0x36')]=_[_0x8220('0x35')](_0x2ca4b8[_0x8220('0x36')],{'$or':_[_0x8220('0x53')](_0x2ca4b8['attributes'],function(_0x629e92){var _0x3fdf49={};_0x3fdf49[_0x629e92]={'$like':'%'+_0x6c4813['query'][_0x8220('0x34')]+'%'};return _0x3fdf49;})});}_0x2ca4b8=_[_0x8220('0x35')]({},_0x2ca4b8,_0x6c4813[_0x8220('0x37')]);return _0x27af2b['getContacts'](_0x2ca4b8);}})[_0x8220('0x22')](function(_0x178b21){if(_0x178b21){_0x4c1450=_0x178b21[_0x8220('0x40')];if(!_0x6c4813['query'][_0x8220('0x54')](_0x8220('0x30'))){_0x2ca4b8[_0x8220('0x1b')]=qs[_0x8220('0x1b')](_0x6c4813[_0x8220('0x2c')][_0x8220('0x1b')]);_0x2ca4b8['offset']=qs[_0x8220('0x31')](_0x6c4813[_0x8220('0x2c')][_0x8220('0x31')]);}return _0x27af2b['getContacts'](_0x2ca4b8);}})[_0x8220('0x22')](function(_0x4110ec){if(_0x4110ec){return _0x4110ec?{'count':_0x4c1450,'rows':_0x4110ec}:null;}})[_0x8220('0x22')](respondWithResult(_0x107cd3,null))[_0x8220('0x3c')](handleError(_0x107cd3,null));};