Built motion from commit (unavailable).|2.5.22
[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 _0x5999=['findAll','rows','catch','show','includeAll','include','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','addContacts','CmContact','params','omit','ids','getContacts','rawAttributes','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','get','Companies','UserProfileResource','destroy','then','error','name','send','keys','query','intersection','model','fields','attributes','length','nolimit','order','sort','where','pick','filters','filter','merge','map','options','CmCompany'];(function(_0x413182,_0xc04c2f){var _0x14497a=function(_0x43c194){while(--_0x43c194){_0x413182['push'](_0x413182['shift']());}};_0x14497a(++_0xc04c2f);}(_0x5999,0x10d));var _0x9599=function(_0x15c142,_0x53102c){_0x15c142=_0x15c142-0x0;var _0x8d26cd=_0x5999[_0x15c142];return _0x8d26cd;};'use strict';var pdf=require(_0x9599('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9599('0x1'));var zipdir=require(_0x9599('0x2'));var jsonpatch=require(_0x9599('0x3'));var rp=require(_0x9599('0x4'));var moment=require(_0x9599('0x5'));var BPromise=require(_0x9599('0x6'));var Mustache=require(_0x9599('0x7'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x9599('0x8'));var ejs=require(_0x9599('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x9599('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x9599('0xb'));var toCsv=require(_0x9599('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x9599('0xc'));var authService=require(_0x9599('0xd'));var qs=require(_0x9599('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x9599('0xf'))(_0x9599('0x10'));var utils=require('../../config/utils');var config=require(_0x9599('0x11'));var licenseUtil=require(_0x9599('0x12'));var db=require(_0x9599('0x13'))['db'];function respondWithStatusCode(_0x44afb3,_0x5978e0){_0x5978e0=_0x5978e0||0xcc;return function(_0x15490e){if(_0x15490e){return _0x44afb3[_0x9599('0x14')](_0x5978e0);}return _0x44afb3[_0x9599('0x15')](_0x5978e0)[_0x9599('0x16')]();};}function respondWithResult(_0xb5a875,_0x39d286){_0x39d286=_0x39d286||0xc8;return function(_0x286d6f){if(_0x286d6f){return _0xb5a875[_0x9599('0x15')](_0x39d286)[_0x9599('0x17')](_0x286d6f);}};}function respondWithFilteredResult(_0x147ea1,_0x1dfc7a){return function(_0x1d1c79){if(_0x1d1c79){var _0x5ed231=_0x1d1c79[_0x9599('0x18')],_0x2cf2ab=_0x1dfc7a[_0x9599('0x19')],_0x17b427=_0x1dfc7a['offset']+_0x1dfc7a[_0x9599('0x1a')],_0x1048c1;if(_0x17b427>=_0x5ed231){_0x17b427=_0x5ed231;_0x1048c1=0xc8;}else{_0x1048c1=0xce;}_0x147ea1[_0x9599('0x15')](_0x1048c1);return _0x147ea1[_0x9599('0x1b')](_0x9599('0x1c'),_0x2cf2ab+'-'+_0x17b427+'/'+_0x5ed231)[_0x9599('0x17')](_0x1d1c79);}return null;};}function patchUpdates(_0x2affde){return function(_0x2a3a9f){try{jsonpatch[_0x9599('0x1d')](_0x2a3a9f,_0x2affde,!![]);}catch(_0x43d7af){return BPromise[_0x9599('0x1e')](_0x43d7af);}return _0x2a3a9f[_0x9599('0x1f')]();};}function saveUpdates(_0x43c167,_0x332272){return function(_0x4a1ffa){if(_0x4a1ffa){return _0x4a1ffa[_0x9599('0x20')](_0x43c167)['then'](function(_0x166281){return _0x166281;});}return null;};}function removeEntity(_0x183368,_0x21f29d){return function(_0x2113d7){if(_0x2113d7){return _0x2113d7['destroy']()['then'](function(){var _0x4306df=_0x2113d7[_0x9599('0x21')]({'plain':!![]});var _0x1e2578=_0x9599('0x22');return db[_0x9599('0x23')][_0x9599('0x24')]({'where':{'type':_0x1e2578,'resourceId':_0x4306df['id']}})[_0x9599('0x25')](function(){return _0x2113d7;});})[_0x9599('0x25')](function(){_0x183368[_0x9599('0x15')](0xcc)[_0x9599('0x16')]();});}};}function handleEntityNotFound(_0x33efb4,_0x158bab){return function(_0x9850f8){if(!_0x9850f8){_0x33efb4[_0x9599('0x14')](0x194);}return _0x9850f8;};}function handleError(_0x5bc81d,_0x55c19c){_0x55c19c=_0x55c19c||0x1f4;return function(_0x24db75){logger[_0x9599('0x26')](_0x24db75['stack']);if(_0x24db75[_0x9599('0x27')]){delete _0x24db75[_0x9599('0x27')];}_0x5bc81d[_0x9599('0x15')](_0x55c19c)[_0x9599('0x28')](_0x24db75);};}exports['index']=function(_0x43e21a,_0x383338){var _0x5ceb9b={},_0x191ccf={},_0x3f965a={'count':0x0,'rows':[]};return db['CmCompany']['describe']()[_0x9599('0x25')](function(_0x3c89a9){_0x191ccf['model']=_[_0x9599('0x29')](_0x3c89a9);_0x191ccf[_0x9599('0x2a')]=_['keys'](_0x43e21a['query']);_0x191ccf['filters']=_[_0x9599('0x2b')](_0x191ccf[_0x9599('0x2c')],_0x191ccf['query']);_0x5ceb9b['attributes']=_[_0x9599('0x2b')](_0x191ccf[_0x9599('0x2c')],qs[_0x9599('0x2d')](_0x43e21a['query'][_0x9599('0x2d')]));_0x5ceb9b[_0x9599('0x2e')]=_0x5ceb9b[_0x9599('0x2e')][_0x9599('0x2f')]?_0x5ceb9b[_0x9599('0x2e')]:_0x191ccf[_0x9599('0x2c')];if(!_0x43e21a['query']['hasOwnProperty'](_0x9599('0x30'))){_0x5ceb9b['limit']=qs[_0x9599('0x1a')](_0x43e21a[_0x9599('0x2a')][_0x9599('0x1a')]);_0x5ceb9b['offset']=qs[_0x9599('0x19')](_0x43e21a[_0x9599('0x2a')][_0x9599('0x19')]);}_0x5ceb9b[_0x9599('0x31')]=qs['sort'](_0x43e21a[_0x9599('0x2a')][_0x9599('0x32')]);_0x5ceb9b[_0x9599('0x33')]=qs['filters'](_[_0x9599('0x34')](_0x43e21a[_0x9599('0x2a')],_0x191ccf[_0x9599('0x35')]),_0x3c89a9);if(_0x43e21a[_0x9599('0x2a')][_0x9599('0x36')]){_0x5ceb9b[_0x9599('0x33')]=_[_0x9599('0x37')](_0x5ceb9b[_0x9599('0x33')],{'$or':_[_0x9599('0x38')](_0x5ceb9b[_0x9599('0x2e')],function(_0x613a11){var _0x3c9d8c={};_0x3c9d8c[_0x613a11]={'$like':'%'+_0x43e21a[_0x9599('0x2a')][_0x9599('0x36')]+'%'};return _0x3c9d8c;})});}_0x5ceb9b=_[_0x9599('0x37')]({},_0x5ceb9b,_0x43e21a[_0x9599('0x39')]);var _0x58bae3={'where':_0x5ceb9b[_0x9599('0x33')]};return db[_0x9599('0x3a')][_0x9599('0x18')](_0x58bae3)['then'](function(_0x1c5ffe){_0x3f965a[_0x9599('0x18')]=_0x1c5ffe;if(_0x43e21a[_0x9599('0x2a')]['includeAll']){_0x5ceb9b['include']=[{'all':!![]}];}return db[_0x9599('0x3a')][_0x9599('0x3b')](_0x5ceb9b);})['then'](function(_0x212e75){_0x3f965a[_0x9599('0x3c')]=_0x212e75;return _0x3f965a;})[_0x9599('0x25')](respondWithFilteredResult(_0x383338,_0x5ceb9b))['catch'](handleError(_0x383338,null));})[_0x9599('0x3d')](handleError(_0x383338,null));};exports[_0x9599('0x3e')]=function(_0x1e9a06,_0x29a695){var _0x4e7e02={'raw':![],'where':{'id':_0x1e9a06['params']['id']}},_0x27b64a={};_0x27b64a[_0x9599('0x2c')]=_[_0x9599('0x29')](db[_0x9599('0x3a')]['rawAttributes']);_0x27b64a['query']=_[_0x9599('0x29')](_0x1e9a06[_0x9599('0x2a')]);_0x27b64a[_0x9599('0x35')]=_[_0x9599('0x2b')](_0x27b64a[_0x9599('0x2c')],_0x27b64a[_0x9599('0x2a')]);_0x4e7e02[_0x9599('0x2e')]=_['intersection'](_0x27b64a[_0x9599('0x2c')],qs['fields'](_0x1e9a06['query']['fields']));_0x4e7e02[_0x9599('0x2e')]=_0x4e7e02['attributes'][_0x9599('0x2f')]?_0x4e7e02['attributes']:_0x27b64a['model'];if(_0x1e9a06[_0x9599('0x2a')][_0x9599('0x3f')]){_0x4e7e02[_0x9599('0x40')]=[{'all':!![]}];}_0x4e7e02=_[_0x9599('0x37')]({},_0x4e7e02,_0x1e9a06[_0x9599('0x39')]);return db[_0x9599('0x3a')][_0x9599('0x41')](_0x4e7e02)[_0x9599('0x25')](handleEntityNotFound(_0x29a695,null))[_0x9599('0x25')](respondWithResult(_0x29a695,null))[_0x9599('0x3d')](handleError(_0x29a695,null));};exports[_0x9599('0x42')]=function(_0x29ec6a,_0x3c6e31){return db[_0x9599('0x3a')][_0x9599('0x42')](_0x29ec6a['body'],{})[_0x9599('0x25')](function(_0x285d51){var _0x19ebbd=_0x29ec6a['user'][_0x9599('0x21')]({'plain':!![]});if(!_0x19ebbd)throw new Error(_0x9599('0x43'));if(_0x19ebbd[_0x9599('0x44')]==='user'){var _0x2d5b5c=_0x285d51[_0x9599('0x21')]({'plain':!![]});var _0x4c6921=_0x9599('0x22');return db[_0x9599('0x45')][_0x9599('0x41')]({'where':{'name':_0x4c6921,'userProfileId':_0x19ebbd[_0x9599('0x46')]},'raw':!![]})['then'](function(_0x54e77d){if(_0x54e77d&&_0x54e77d[_0x9599('0x47')]===0x0){return db[_0x9599('0x23')]['create']({'name':_0x2d5b5c[_0x9599('0x27')],'resourceId':_0x2d5b5c['id'],'type':_0x54e77d[_0x9599('0x27')],'sectionId':_0x54e77d['id']},{})[_0x9599('0x25')](function(){return _0x285d51;});}else{return _0x285d51;}})[_0x9599('0x3d')](function(_0xe828b1){logger[_0x9599('0x26')](_0x9599('0x48'),_0xe828b1);throw _0xe828b1;});}return _0x285d51;})[_0x9599('0x25')](respondWithResult(_0x3c6e31,0xc9))[_0x9599('0x3d')](handleError(_0x3c6e31,null));};exports[_0x9599('0x20')]=function(_0x2605b5,_0x44bd47){if(_0x2605b5['body']['id']){delete _0x2605b5['body']['id'];}return db[_0x9599('0x3a')][_0x9599('0x41')]({'where':{'id':_0x2605b5['params']['id']}})['then'](handleEntityNotFound(_0x44bd47,null))[_0x9599('0x25')](saveUpdates(_0x2605b5[_0x9599('0x49')],null))[_0x9599('0x25')](respondWithResult(_0x44bd47,null))[_0x9599('0x3d')](handleError(_0x44bd47,null));};exports[_0x9599('0x24')]=function(_0x15897f,_0x9488b5){return db[_0x9599('0x3a')][_0x9599('0x41')]({'where':{'id':_0x15897f['params']['id']}})[_0x9599('0x25')](handleEntityNotFound(_0x9488b5,null))[_0x9599('0x25')](removeEntity(_0x9488b5,null))[_0x9599('0x3d')](handleError(_0x9488b5,null));};exports['describe']=function(_0x2cfa28,_0x3cb758){return db[_0x9599('0x3a')][_0x9599('0x4a')]()[_0x9599('0x25')](respondWithResult(_0x3cb758,null))[_0x9599('0x3d')](handleError(_0x3cb758,null));};exports[_0x9599('0x4b')]=function(_0x5f744e,_0x2269a4,_0xd26f6f){return db[_0x9599('0x4c')][_0x9599('0x41')]({'where':{'id':_0x5f744e[_0x9599('0x4d')]['id']}})[_0x9599('0x25')](handleEntityNotFound(_0x2269a4,null))['then'](function(_0xa0fe01){if(_0xa0fe01){return _0xa0fe01['addContacts'](_0x5f744e[_0x9599('0x49')]['ids'],_[_0x9599('0x4e')](_0x5f744e[_0x9599('0x49')],[_0x9599('0x4f'),'id'])||{});}})[_0x9599('0x25')](respondWithResult(_0x2269a4,null))['catch'](handleError(_0x2269a4,null));};exports[_0x9599('0x50')]=function(_0x18fa4e,_0xae9990,_0x27553e){var _0x239b29={};var _0x2dfaa0={};var _0x172503;var _0x10112d;return db[_0x9599('0x3a')]['findOne']({'where':{'id':_0x18fa4e[_0x9599('0x4d')]['id']}})['then'](handleEntityNotFound(_0xae9990,null))[_0x9599('0x25')](function(_0x41ea5e){if(_0x41ea5e){_0x172503=_0x41ea5e;_0x2dfaa0[_0x9599('0x2c')]=_[_0x9599('0x29')](db[_0x9599('0x4c')][_0x9599('0x51')]);_0x2dfaa0['query']=_[_0x9599('0x29')](_0x18fa4e[_0x9599('0x2a')]);_0x2dfaa0[_0x9599('0x35')]=_['intersection'](_0x2dfaa0[_0x9599('0x2c')],_0x2dfaa0[_0x9599('0x2a')]);_0x239b29[_0x9599('0x2e')]=_[_0x9599('0x2b')](_0x2dfaa0['model'],qs[_0x9599('0x2d')](_0x18fa4e['query']['fields']));_0x239b29[_0x9599('0x2e')]=_0x239b29[_0x9599('0x2e')]['length']?_0x239b29[_0x9599('0x2e')]:_0x2dfaa0[_0x9599('0x2c')];_0x239b29[_0x9599('0x31')]=qs[_0x9599('0x32')](_0x18fa4e['query'][_0x9599('0x32')]);_0x239b29['where']=qs[_0x9599('0x35')](_[_0x9599('0x34')](_0x18fa4e[_0x9599('0x2a')],_0x2dfaa0[_0x9599('0x35')]));if(_0x18fa4e[_0x9599('0x2a')]['filter']){_0x239b29[_0x9599('0x33')]=_[_0x9599('0x37')](_0x239b29[_0x9599('0x33')],{'$or':_[_0x9599('0x38')](_0x239b29['attributes'],function(_0x145895){var _0x5bf2e4={};_0x5bf2e4[_0x145895]={'$like':'%'+_0x18fa4e['query']['filter']+'%'};return _0x5bf2e4;})});}_0x239b29=_[_0x9599('0x37')]({},_0x239b29,_0x18fa4e[_0x9599('0x39')]);return _0x172503[_0x9599('0x50')](_0x239b29);}})[_0x9599('0x25')](function(_0x44acf5){if(_0x44acf5){_0x10112d=_0x44acf5[_0x9599('0x2f')];if(!_0x18fa4e[_0x9599('0x2a')]['hasOwnProperty'](_0x9599('0x30'))){_0x239b29[_0x9599('0x1a')]=qs['limit'](_0x18fa4e[_0x9599('0x2a')][_0x9599('0x1a')]);_0x239b29[_0x9599('0x19')]=qs[_0x9599('0x19')](_0x18fa4e[_0x9599('0x2a')][_0x9599('0x19')]);}return _0x172503[_0x9599('0x50')](_0x239b29);}})[_0x9599('0x25')](function(_0x3e250c){if(_0x3e250c){return _0x3e250c?{'count':_0x10112d,'rows':_0x3e250c}:null;}})[_0x9599('0x25')](respondWithResult(_0xae9990,null))[_0x9599('0x3d')](handleError(_0xae9990,null));};