Built motion from commit (unavailable).|2.4.17
[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 _0x1f0f=['describe','keys','query','intersection','model','attributes','fields','length','nolimit','offset','order','sort','where','filters','pick','map','filter','options','include','findAll','catch','show','rawAttributes','includeAll','merge','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','addContacts','ids','getContacts','CmContact','hasOwnProperty','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','status','json','count','limit','set','Content-Range','apply','reject','then','destroy','get','UserProfileResource','end','error','stack','name','send','index','CmCompany'];(function(_0x1694f5,_0x49b7c3){var _0x5b4321=function(_0x58c183){while(--_0x58c183){_0x1694f5['push'](_0x1694f5['shift']());}};_0x5b4321(++_0x49b7c3);}(_0x1f0f,0x163));var _0xf1f0=function(_0x119298,_0x1849a5){_0x119298=_0x119298-0x0;var _0x1d53c4=_0x1f0f[_0x119298];return _0x1d53c4;};'use strict';var pdf=require(_0xf1f0('0x0'));var emlformat=require(_0xf1f0('0x1'));var rimraf=require(_0xf1f0('0x2'));var zipdir=require(_0xf1f0('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf1f0('0x4'));var BPromise=require(_0xf1f0('0x5'));var Mustache=require('mustache');var util=require(_0xf1f0('0x6'));var path=require('path');var sox=require(_0xf1f0('0x7'));var csv=require(_0xf1f0('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf1f0('0x9'));var squel=require(_0xf1f0('0xa'));var crypto=require(_0xf1f0('0xb'));var jsforce=require(_0xf1f0('0xc'));var deskjs=require(_0xf1f0('0xd'));var toCsv=require(_0xf1f0('0x8'));var querystring=require(_0xf1f0('0xe'));var Papa=require(_0xf1f0('0xf'));var Redis=require('ioredis');var authService=require(_0xf1f0('0x10'));var qs=require(_0xf1f0('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf1f0('0x12'));var logger=require('../../config/logger')(_0xf1f0('0x13'));var utils=require(_0xf1f0('0x14'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1f5ad2,_0x1b3d92){_0x1b3d92=_0x1b3d92||0xcc;return function(_0x3dd545){if(_0x3dd545){return _0x1f5ad2['sendStatus'](_0x1b3d92);}return _0x1f5ad2['status'](_0x1b3d92)['end']();};}function respondWithResult(_0x425ecf,_0x530db0){_0x530db0=_0x530db0||0xc8;return function(_0x3b1baf){if(_0x3b1baf){return _0x425ecf[_0xf1f0('0x15')](_0x530db0)[_0xf1f0('0x16')](_0x3b1baf);}};}function respondWithFilteredResult(_0x496b1f,_0x23382a){return function(_0x5dbae3){if(_0x5dbae3){var _0x555137=_0x5dbae3[_0xf1f0('0x17')],_0x10fd71=_0x23382a['offset'],_0x30298d=_0x23382a['offset']+_0x23382a[_0xf1f0('0x18')],_0x41a9a6;if(_0x30298d>=_0x555137){_0x30298d=_0x555137;_0x41a9a6=0xc8;}else{_0x41a9a6=0xce;}_0x496b1f[_0xf1f0('0x15')](_0x41a9a6);return _0x496b1f[_0xf1f0('0x19')](_0xf1f0('0x1a'),_0x10fd71+'-'+_0x30298d+'/'+_0x555137)[_0xf1f0('0x16')](_0x5dbae3);}return null;};}function patchUpdates(_0x2a5c8f){return function(_0x1f78c0){try{jsonpatch[_0xf1f0('0x1b')](_0x1f78c0,_0x2a5c8f,!![]);}catch(_0x3fb7f5){return BPromise[_0xf1f0('0x1c')](_0x3fb7f5);}return _0x1f78c0['save']();};}function saveUpdates(_0x274490,_0x5da9af){return function(_0x2655ac){if(_0x2655ac){return _0x2655ac['update'](_0x274490)[_0xf1f0('0x1d')](function(_0xacfdaa){return _0xacfdaa;});}return null;};}function removeEntity(_0x390745,_0x32341a){return function(_0x19c03f){if(_0x19c03f){return _0x19c03f[_0xf1f0('0x1e')]()[_0xf1f0('0x1d')](function(){var _0x4bfa71=_0x19c03f[_0xf1f0('0x1f')]({'plain':!![]});var _0x12e1b1='Companies';return db[_0xf1f0('0x20')][_0xf1f0('0x1e')]({'where':{'type':_0x12e1b1,'resourceId':_0x4bfa71['id']}})['then'](function(){return _0x19c03f;});})[_0xf1f0('0x1d')](function(){_0x390745[_0xf1f0('0x15')](0xcc)[_0xf1f0('0x21')]();});}};}function handleEntityNotFound(_0x39df97,_0x16cdb6){return function(_0x201cc6){if(!_0x201cc6){_0x39df97['sendStatus'](0x194);}return _0x201cc6;};}function handleError(_0x1226ae,_0x1d2a3a){_0x1d2a3a=_0x1d2a3a||0x1f4;return function(_0x33a148){logger[_0xf1f0('0x22')](_0x33a148[_0xf1f0('0x23')]);if(_0x33a148[_0xf1f0('0x24')]){delete _0x33a148[_0xf1f0('0x24')];}_0x1226ae[_0xf1f0('0x15')](_0x1d2a3a)[_0xf1f0('0x25')](_0x33a148);};}exports[_0xf1f0('0x26')]=function(_0x21e810,_0x50f4ed){var _0x5402e2={},_0x54c19d={},_0x16bbf5={'count':0x0,'rows':[]};return db[_0xf1f0('0x27')][_0xf1f0('0x28')]()['then'](function(_0x3e435b){_0x54c19d['model']=_[_0xf1f0('0x29')](_0x3e435b);_0x54c19d[_0xf1f0('0x2a')]=_['keys'](_0x21e810[_0xf1f0('0x2a')]);_0x54c19d['filters']=_[_0xf1f0('0x2b')](_0x54c19d[_0xf1f0('0x2c')],_0x54c19d['query']);_0x5402e2[_0xf1f0('0x2d')]=_['intersection'](_0x54c19d[_0xf1f0('0x2c')],qs[_0xf1f0('0x2e')](_0x21e810[_0xf1f0('0x2a')][_0xf1f0('0x2e')]));_0x5402e2['attributes']=_0x5402e2[_0xf1f0('0x2d')][_0xf1f0('0x2f')]?_0x5402e2[_0xf1f0('0x2d')]:_0x54c19d['model'];if(!_0x21e810['query']['hasOwnProperty'](_0xf1f0('0x30'))){_0x5402e2[_0xf1f0('0x18')]=qs[_0xf1f0('0x18')](_0x21e810[_0xf1f0('0x2a')][_0xf1f0('0x18')]);_0x5402e2['offset']=qs[_0xf1f0('0x31')](_0x21e810[_0xf1f0('0x2a')][_0xf1f0('0x31')]);}_0x5402e2[_0xf1f0('0x32')]=qs[_0xf1f0('0x33')](_0x21e810[_0xf1f0('0x2a')][_0xf1f0('0x33')]);_0x5402e2[_0xf1f0('0x34')]=qs[_0xf1f0('0x35')](_[_0xf1f0('0x36')](_0x21e810[_0xf1f0('0x2a')],_0x54c19d[_0xf1f0('0x35')]));if(_0x21e810[_0xf1f0('0x2a')]['filter']){_0x5402e2[_0xf1f0('0x34')]=_['merge'](_0x5402e2['where'],{'$or':_[_0xf1f0('0x37')](_0x5402e2[_0xf1f0('0x2d')],function(_0x3ad805){var _0x9ce718={};_0x9ce718[_0x3ad805]={'$like':'%'+_0x21e810[_0xf1f0('0x2a')][_0xf1f0('0x38')]+'%'};return _0x9ce718;})});}_0x5402e2=_['merge']({},_0x5402e2,_0x21e810[_0xf1f0('0x39')]);var _0x3bd019={'where':_0x5402e2[_0xf1f0('0x34')]};return db[_0xf1f0('0x27')][_0xf1f0('0x17')](_0x3bd019)[_0xf1f0('0x1d')](function(_0x113935){_0x16bbf5[_0xf1f0('0x17')]=_0x113935;if(_0x21e810[_0xf1f0('0x2a')]['includeAll']){_0x5402e2[_0xf1f0('0x3a')]=[{'all':!![]}];}return db[_0xf1f0('0x27')][_0xf1f0('0x3b')](_0x5402e2);})[_0xf1f0('0x1d')](function(_0x787ba7){_0x16bbf5['rows']=_0x787ba7;return _0x16bbf5;})[_0xf1f0('0x1d')](respondWithFilteredResult(_0x50f4ed,_0x5402e2))[_0xf1f0('0x3c')](handleError(_0x50f4ed,null));})[_0xf1f0('0x3c')](handleError(_0x50f4ed,null));};exports[_0xf1f0('0x3d')]=function(_0x3f7f31,_0x4eac89){var _0x38bd71={'raw':![],'where':{'id':_0x3f7f31['params']['id']}},_0x38ce7a={};_0x38ce7a['model']=_[_0xf1f0('0x29')](db[_0xf1f0('0x27')][_0xf1f0('0x3e')]);_0x38ce7a[_0xf1f0('0x2a')]=_['keys'](_0x3f7f31[_0xf1f0('0x2a')]);_0x38ce7a[_0xf1f0('0x35')]=_[_0xf1f0('0x2b')](_0x38ce7a['model'],_0x38ce7a[_0xf1f0('0x2a')]);_0x38bd71[_0xf1f0('0x2d')]=_[_0xf1f0('0x2b')](_0x38ce7a[_0xf1f0('0x2c')],qs[_0xf1f0('0x2e')](_0x3f7f31[_0xf1f0('0x2a')]['fields']));_0x38bd71[_0xf1f0('0x2d')]=_0x38bd71[_0xf1f0('0x2d')]['length']?_0x38bd71[_0xf1f0('0x2d')]:_0x38ce7a[_0xf1f0('0x2c')];if(_0x3f7f31[_0xf1f0('0x2a')][_0xf1f0('0x3f')]){_0x38bd71[_0xf1f0('0x3a')]=[{'all':!![]}];}_0x38bd71=_[_0xf1f0('0x40')]({},_0x38bd71,_0x3f7f31[_0xf1f0('0x39')]);return db[_0xf1f0('0x27')][_0xf1f0('0x41')](_0x38bd71)['then'](handleEntityNotFound(_0x4eac89,null))[_0xf1f0('0x1d')](respondWithResult(_0x4eac89,null))['catch'](handleError(_0x4eac89,null));};exports[_0xf1f0('0x42')]=function(_0x39783a,_0x1d6b35){return db[_0xf1f0('0x27')][_0xf1f0('0x42')](_0x39783a[_0xf1f0('0x43')],{})['then'](function(_0x4603dc){var _0x2bfbaa=_0x39783a[_0xf1f0('0x44')][_0xf1f0('0x1f')]({'plain':!![]});if(!_0x2bfbaa)throw new Error(_0xf1f0('0x45'));if(_0x2bfbaa['role']===_0xf1f0('0x44')){var _0x2668f5=_0x4603dc[_0xf1f0('0x1f')]({'plain':!![]});var _0x55dbf7='Companies';return db[_0xf1f0('0x46')]['find']({'where':{'name':_0x55dbf7,'userProfileId':_0x2bfbaa['userProfileId']},'raw':!![]})['then'](function(_0x3132ba){if(_0x3132ba&&_0x3132ba[_0xf1f0('0x47')]===0x0){return db[_0xf1f0('0x20')][_0xf1f0('0x42')]({'name':_0x2668f5[_0xf1f0('0x24')],'resourceId':_0x2668f5['id'],'type':_0x3132ba[_0xf1f0('0x24')],'sectionId':_0x3132ba['id']},{})[_0xf1f0('0x1d')](function(){return _0x4603dc;});}else{return _0x4603dc;}})[_0xf1f0('0x3c')](function(_0x31f3ab){logger[_0xf1f0('0x22')](_0xf1f0('0x48'),_0x31f3ab);throw _0x31f3ab;});}return _0x4603dc;})[_0xf1f0('0x1d')](respondWithResult(_0x1d6b35,0xc9))[_0xf1f0('0x3c')](handleError(_0x1d6b35,null));};exports['update']=function(_0x2faa46,_0x5f1d5a){if(_0x2faa46[_0xf1f0('0x43')]['id']){delete _0x2faa46[_0xf1f0('0x43')]['id'];}return db[_0xf1f0('0x27')]['find']({'where':{'id':_0x2faa46[_0xf1f0('0x49')]['id']}})[_0xf1f0('0x1d')](handleEntityNotFound(_0x5f1d5a,null))[_0xf1f0('0x1d')](saveUpdates(_0x2faa46[_0xf1f0('0x43')],null))[_0xf1f0('0x1d')](respondWithResult(_0x5f1d5a,null))[_0xf1f0('0x3c')](handleError(_0x5f1d5a,null));};exports[_0xf1f0('0x1e')]=function(_0x4440a9,_0x2fee35){return db[_0xf1f0('0x27')][_0xf1f0('0x41')]({'where':{'id':_0x4440a9[_0xf1f0('0x49')]['id']}})[_0xf1f0('0x1d')](handleEntityNotFound(_0x2fee35,null))[_0xf1f0('0x1d')](removeEntity(_0x2fee35,null))[_0xf1f0('0x3c')](handleError(_0x2fee35,null));};exports['describe']=function(_0xeb8c2e,_0x21d116){return db[_0xf1f0('0x27')]['describe']()[_0xf1f0('0x1d')](respondWithResult(_0x21d116,null))[_0xf1f0('0x3c')](handleError(_0x21d116,null));};exports[_0xf1f0('0x4a')]=function(_0x2d7168,_0x3a0eba,_0x61ad8c){return db['CmContact'][_0xf1f0('0x41')]({'where':{'id':_0x2d7168[_0xf1f0('0x49')]['id']}})[_0xf1f0('0x1d')](handleEntityNotFound(_0x3a0eba,null))['then'](function(_0x1fcf85){if(_0x1fcf85){return _0x1fcf85[_0xf1f0('0x4a')](_0x2d7168[_0xf1f0('0x43')][_0xf1f0('0x4b')],_['omit'](_0x2d7168[_0xf1f0('0x43')],[_0xf1f0('0x4b'),'id'])||{});}})[_0xf1f0('0x1d')](respondWithResult(_0x3a0eba,null))[_0xf1f0('0x3c')](handleError(_0x3a0eba,null));};exports[_0xf1f0('0x4c')]=function(_0x2142ff,_0x3251bf,_0x485fd6){var _0x4bdaed={};var _0x29a7d8={};var _0x716795;var _0x21d4df;return db[_0xf1f0('0x27')]['findOne']({'where':{'id':_0x2142ff[_0xf1f0('0x49')]['id']}})[_0xf1f0('0x1d')](handleEntityNotFound(_0x3251bf,null))['then'](function(_0x5a7f9e){if(_0x5a7f9e){_0x716795=_0x5a7f9e;_0x29a7d8['model']=_['keys'](db[_0xf1f0('0x4d')]['rawAttributes']);_0x29a7d8[_0xf1f0('0x2a')]=_['keys'](_0x2142ff['query']);_0x29a7d8[_0xf1f0('0x35')]=_[_0xf1f0('0x2b')](_0x29a7d8[_0xf1f0('0x2c')],_0x29a7d8[_0xf1f0('0x2a')]);_0x4bdaed[_0xf1f0('0x2d')]=_[_0xf1f0('0x2b')](_0x29a7d8['model'],qs[_0xf1f0('0x2e')](_0x2142ff['query'][_0xf1f0('0x2e')]));_0x4bdaed[_0xf1f0('0x2d')]=_0x4bdaed['attributes'][_0xf1f0('0x2f')]?_0x4bdaed[_0xf1f0('0x2d')]:_0x29a7d8[_0xf1f0('0x2c')];_0x4bdaed['order']=qs['sort'](_0x2142ff[_0xf1f0('0x2a')][_0xf1f0('0x33')]);_0x4bdaed[_0xf1f0('0x34')]=qs[_0xf1f0('0x35')](_[_0xf1f0('0x36')](_0x2142ff[_0xf1f0('0x2a')],_0x29a7d8[_0xf1f0('0x35')]));if(_0x2142ff['query'][_0xf1f0('0x38')]){_0x4bdaed['where']=_[_0xf1f0('0x40')](_0x4bdaed[_0xf1f0('0x34')],{'$or':_[_0xf1f0('0x37')](_0x4bdaed[_0xf1f0('0x2d')],function(_0x4b886e){var _0x46ee60={};_0x46ee60[_0x4b886e]={'$like':'%'+_0x2142ff[_0xf1f0('0x2a')][_0xf1f0('0x38')]+'%'};return _0x46ee60;})});}_0x4bdaed=_[_0xf1f0('0x40')]({},_0x4bdaed,_0x2142ff[_0xf1f0('0x39')]);return _0x716795[_0xf1f0('0x4c')](_0x4bdaed);}})['then'](function(_0x52f0c9){if(_0x52f0c9){_0x21d4df=_0x52f0c9[_0xf1f0('0x2f')];if(!_0x2142ff[_0xf1f0('0x2a')][_0xf1f0('0x4e')](_0xf1f0('0x30'))){_0x4bdaed[_0xf1f0('0x18')]=qs[_0xf1f0('0x18')](_0x2142ff[_0xf1f0('0x2a')][_0xf1f0('0x18')]);_0x4bdaed[_0xf1f0('0x31')]=qs['offset'](_0x2142ff['query'][_0xf1f0('0x31')]);}return _0x716795[_0xf1f0('0x4c')](_0x4bdaed);}})[_0xf1f0('0x1d')](function(_0x35221f){if(_0x35221f){return _0x35221f?{'count':_0x21d4df,'rows':_0x35221f}:null;}})['then'](respondWithResult(_0x3251bf,null))[_0xf1f0('0x3c')](handleError(_0x3251bf,null));};