Built motion from commit (unavailable).|2.2.4
[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 _0x9608=['json','count','offset','Content-Range','apply','reject','save','update','destroy','then','get','Companies','UserProfileResource','stack','send','index','rawAttributes','keys','query','dateStart','dateEnd','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','limit','sort','day','where','filter','merge','map','type','key','VIRTUAL','field','include','CmCompany','catch','show','length','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','name','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','CmContact','addContacts','ids','omit','findOne','order','pick','getContacts','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end'];(function(_0x37bd26,_0x5ad346){var _0xe83dc4=function(_0x1ac229){while(--_0x1ac229){_0x37bd26['push'](_0x37bd26['shift']());}};_0xe83dc4(++_0x5ad346);}(_0x9608,0xf8));var _0x8960=function(_0x542c37,_0xa2642e){_0x542c37=_0x542c37-0x0;var _0x2bcf72=_0x9608[_0x542c37];return _0x2bcf72;};'use strict';var pdf=require(_0x8960('0x0'));var emlformat=require(_0x8960('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x8960('0x2'));var rp=require(_0x8960('0x3'));var moment=require(_0x8960('0x4'));var BPromise=require(_0x8960('0x5'));var Mustache=require(_0x8960('0x6'));var util=require(_0x8960('0x7'));var path=require(_0x8960('0x8'));var sox=require(_0x8960('0x9'));var csv=require(_0x8960('0xa'));var ejs=require(_0x8960('0xb'));var fs=require('fs');var _=require(_0x8960('0xc'));var squel=require('squel');var crypto=require(_0x8960('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x8960('0xe'));var toCsv=require(_0x8960('0xa'));var querystring=require(_0x8960('0xf'));var Papa=require(_0x8960('0x10'));var Redis=require('ioredis');var qs=require(_0x8960('0x11'));var logger=require(_0x8960('0x12'))(_0x8960('0x13'));var utils=require('../../config/utils');var config=require(_0x8960('0x14'));var db=require(_0x8960('0x15'))['db'];function respondWithStatusCode(_0x1ec2bc,_0x48bf60){_0x48bf60=_0x48bf60||0xcc;return function(_0x4202cc){if(_0x4202cc){return _0x1ec2bc[_0x8960('0x16')](_0x48bf60);}return _0x1ec2bc[_0x8960('0x17')](_0x48bf60)[_0x8960('0x18')]();};}function respondWithResult(_0x1513bd,_0x5602b1){_0x5602b1=_0x5602b1||0xc8;return function(_0x4b5827){if(_0x4b5827){return _0x1513bd['status'](_0x5602b1)[_0x8960('0x19')](_0x4b5827);}};}function respondWithFilteredResult(_0x13f9d6,_0x48ea17){return function(_0x4aa117){if(_0x4aa117){var _0x492a65=_0x4aa117[_0x8960('0x1a')],_0x4f1140=_0x48ea17[_0x8960('0x1b')],_0x339a45=_0x48ea17[_0x8960('0x1b')]+_0x48ea17['limit'],_0x215354;if(_0x339a45>=_0x492a65){_0x339a45=_0x492a65;_0x215354=0xc8;}else{_0x215354=0xce;}_0x13f9d6[_0x8960('0x17')](_0x215354);return _0x13f9d6['set'](_0x8960('0x1c'),_0x4f1140+'-'+_0x339a45+'/'+_0x492a65)['json'](_0x4aa117);}return null;};}function patchUpdates(_0x1569c2){return function(_0x17746a){try{jsonpatch[_0x8960('0x1d')](_0x17746a,_0x1569c2,!![]);}catch(_0xe660d8){return BPromise[_0x8960('0x1e')](_0xe660d8);}return _0x17746a[_0x8960('0x1f')]();};}function saveUpdates(_0x3cff42,_0x47ace0){return function(_0x5c3a9e){if(_0x5c3a9e){return _0x5c3a9e[_0x8960('0x20')](_0x3cff42)['then'](function(_0x321be0){return _0x321be0;});}return null;};}function removeEntity(_0x4ab57d,_0x38864e){return function(_0x53c971){if(_0x53c971){return _0x53c971[_0x8960('0x21')]()[_0x8960('0x22')](function(){var _0x4e87ce=_0x53c971[_0x8960('0x23')]({'plain':!![]});var _0x161688=_0x8960('0x24');return db[_0x8960('0x25')][_0x8960('0x21')]({'where':{'type':_0x161688,'resourceId':_0x4e87ce['id']}})['then'](function(){return _0x53c971;});})['then'](function(){_0x4ab57d['status'](0xcc)[_0x8960('0x18')]();});}};}function handleEntityNotFound(_0x2485cf,_0x2a890b){return function(_0x5d965f){if(!_0x5d965f){_0x2485cf[_0x8960('0x16')](0x194);}return _0x5d965f;};}function handleError(_0x26bc68,_0x3077ad){_0x3077ad=_0x3077ad||0x1f4;return function(_0x2d67a2){logger['error'](_0x2d67a2[_0x8960('0x26')]);if(_0x2d67a2['name']){delete _0x2d67a2['name'];}_0x26bc68[_0x8960('0x17')](_0x3077ad)[_0x8960('0x27')](_0x2d67a2);};}exports[_0x8960('0x28')]=function(_0x21db90,_0x24bf18){var _0x1ac1ac={},_0x5564ea={},_0x4ca860={'count':0x0,'rows':[]};var _0x5943dc=db['CmCompany'][_0x8960('0x29')];_0x5564ea['model']=_[_0x8960('0x2a')](_0x5943dc);var _0x430566={'dateStart':_0x21db90[_0x8960('0x2b')][_0x8960('0x2c')],'dateEnd':_0x21db90['query'][_0x8960('0x2d')]};delete _0x21db90[_0x8960('0x2b')][_0x8960('0x2c')];delete _0x21db90[_0x8960('0x2b')][_0x8960('0x2d')];_0x5564ea[_0x8960('0x2b')]=_['keys'](_0x21db90[_0x8960('0x2b')]);_0x5564ea[_0x8960('0x2e')]=_[_0x8960('0x2f')](_0x5564ea[_0x8960('0x30')],_0x5564ea[_0x8960('0x2b')]);_0x1ac1ac[_0x8960('0x31')]=_[_0x8960('0x2f')](_0x5564ea[_0x8960('0x30')],qs[_0x8960('0x32')](_0x21db90[_0x8960('0x2b')]['fields']));_0x1ac1ac[_0x8960('0x31')]=_0x1ac1ac['attributes']['length']?_0x1ac1ac[_0x8960('0x31')]:_0x5564ea[_0x8960('0x30')];if(!_0x21db90['query'][_0x8960('0x33')](_0x8960('0x34'))){_0x1ac1ac[_0x8960('0x35')]=qs['limit'](_0x21db90['query']['limit']);_0x1ac1ac[_0x8960('0x1b')]=qs[_0x8960('0x1b')](_0x21db90[_0x8960('0x2b')]['offset']);}_0x1ac1ac['order']=qs[_0x8960('0x36')](_0x21db90['query']['sort']);_0x1ac1ac['where']=qs[_0x8960('0x2e')](_['pick'](_0x21db90[_0x8960('0x2b')],_0x5564ea[_0x8960('0x2e')]));if(_0x430566[_0x8960('0x2c')]){if(_0x430566[_0x8960('0x2d')]){_0x430566['dateEnd']=moment(_0x430566[_0x8960('0x2d')])['add'](0x1,_0x8960('0x37'));}else{_0x430566['dateEnd']=moment(_0x430566[_0x8960('0x2c')])['add'](0x1,_0x8960('0x37'));}_['merge'](_0x1ac1ac[_0x8960('0x38')],{'createdAt':{'$gte':_0x430566['dateStart'],'$lte':_0x430566[_0x8960('0x2d')]}});}if(_0x21db90['query'][_0x8960('0x39')]){_0x1ac1ac[_0x8960('0x38')]=_[_0x8960('0x3a')](_0x1ac1ac['where'],{'$or':_[_0x8960('0x3b')](_0x5943dc,function(_0x38ab21){if(_0x38ab21[_0x8960('0x3c')][_0x8960('0x3d')]!==_0x8960('0x3e')){var _0x24eb33={};_0x24eb33[_0x38ab21[_0x8960('0x3f')]]={'$like':'%'+_0x21db90[_0x8960('0x2b')][_0x8960('0x39')]+'%'};return _0x24eb33;}})});}_0x1ac1ac=_[_0x8960('0x3a')]({},_0x1ac1ac,_0x21db90['options']);var _0x268e8f={'where':_0x1ac1ac['where']};return db['CmCompany'][_0x8960('0x1a')](_0x268e8f)[_0x8960('0x22')](function(_0x23de52){_0x4ca860['count']=_0x23de52;if(_0x21db90['query']['includeAll']){_0x1ac1ac[_0x8960('0x40')]=[{'all':!![]}];}return db[_0x8960('0x41')]['findAll'](_0x1ac1ac);})[_0x8960('0x22')](function(_0x4d80b7){_0x4ca860['rows']=_0x4d80b7;return _0x4ca860;})[_0x8960('0x22')](respondWithFilteredResult(_0x24bf18,_0x1ac1ac))[_0x8960('0x42')](handleError(_0x24bf18,null));};exports[_0x8960('0x43')]=function(_0x45f536,_0x5a87ea){var _0x256951={'raw':![],'where':{'id':_0x45f536['params']['id']}},_0x476550={};_0x476550['model']=_['keys'](db[_0x8960('0x41')][_0x8960('0x29')]);_0x476550[_0x8960('0x2b')]=_['keys'](_0x45f536[_0x8960('0x2b')]);_0x476550['filters']=_['intersection'](_0x476550[_0x8960('0x30')],_0x476550['query']);_0x256951[_0x8960('0x31')]=_[_0x8960('0x2f')](_0x476550['model'],qs[_0x8960('0x32')](_0x45f536['query'][_0x8960('0x32')]));_0x256951[_0x8960('0x31')]=_0x256951[_0x8960('0x31')][_0x8960('0x44')]?_0x256951[_0x8960('0x31')]:_0x476550[_0x8960('0x30')];if(_0x45f536[_0x8960('0x2b')]['includeAll']){_0x256951[_0x8960('0x40')]=[{'all':!![]}];}_0x256951=_[_0x8960('0x3a')]({},_0x256951,_0x45f536[_0x8960('0x45')]);return db['CmCompany'][_0x8960('0x46')](_0x256951)[_0x8960('0x22')](handleEntityNotFound(_0x5a87ea,null))[_0x8960('0x22')](respondWithResult(_0x5a87ea,null))[_0x8960('0x42')](handleError(_0x5a87ea,null));};exports[_0x8960('0x47')]=function(_0x3b9ff8,_0x5167d1){return db[_0x8960('0x41')]['create'](_0x3b9ff8[_0x8960('0x48')],{})['then'](function(_0x56c73a){var _0x1ac533=_0x3b9ff8[_0x8960('0x49')][_0x8960('0x23')]({'plain':!![]});if(!_0x1ac533)throw new Error(_0x8960('0x4a'));if(_0x1ac533[_0x8960('0x4b')]===_0x8960('0x49')){var _0x2eed1d=_0x56c73a[_0x8960('0x23')]({'plain':!![]});var _0x45b7e4=_0x8960('0x24');return db[_0x8960('0x4c')]['find']({'where':{'name':_0x45b7e4,'userProfileId':_0x1ac533[_0x8960('0x4d')]},'raw':!![]})[_0x8960('0x22')](function(_0xc72fc7){if(_0xc72fc7&&_0xc72fc7[_0x8960('0x4e')]===0x0){return db[_0x8960('0x25')][_0x8960('0x47')]({'name':_0x2eed1d[_0x8960('0x4f')],'resourceId':_0x2eed1d['id'],'type':_0xc72fc7[_0x8960('0x4f')],'sectionId':_0xc72fc7['id']},{})[_0x8960('0x22')](function(){return _0x56c73a;});}else{return _0x56c73a;}})['catch'](function(_0x2b580a){logger[_0x8960('0x50')](_0x8960('0x51'),_0x2b580a);throw _0x2b580a;});}return _0x56c73a;})[_0x8960('0x22')](respondWithResult(_0x5167d1,0xc9))[_0x8960('0x42')](handleError(_0x5167d1,null));};exports['update']=function(_0x5040e8,_0x20d089){if(_0x5040e8['body']['id']){delete _0x5040e8[_0x8960('0x48')]['id'];}return db[_0x8960('0x41')][_0x8960('0x46')]({'where':{'id':_0x5040e8[_0x8960('0x52')]['id']}})[_0x8960('0x22')](handleEntityNotFound(_0x20d089,null))[_0x8960('0x22')](saveUpdates(_0x5040e8[_0x8960('0x48')],null))[_0x8960('0x22')](respondWithResult(_0x20d089,null))[_0x8960('0x42')](handleError(_0x20d089,null));};exports[_0x8960('0x21')]=function(_0x59b019,_0x3e3695){return db[_0x8960('0x41')][_0x8960('0x46')]({'where':{'id':_0x59b019['params']['id']}})[_0x8960('0x22')](handleEntityNotFound(_0x3e3695,null))[_0x8960('0x22')](removeEntity(_0x3e3695,null))[_0x8960('0x42')](handleError(_0x3e3695,null));};exports['addContacts']=function(_0x7ffa04,_0x4a8665,_0x198a56){return db[_0x8960('0x53')]['find']({'where':{'id':_0x7ffa04['params']['id']}})['then'](handleEntityNotFound(_0x4a8665,null))[_0x8960('0x22')](function(_0x84d7dc){if(_0x84d7dc){return _0x84d7dc[_0x8960('0x54')](_0x7ffa04[_0x8960('0x48')][_0x8960('0x55')],_[_0x8960('0x56')](_0x7ffa04['body'],[_0x8960('0x55'),'id'])||{});}})['then'](respondWithResult(_0x4a8665,null))[_0x8960('0x42')](handleError(_0x4a8665,null));};exports['getContacts']=function(_0x4c1f02,_0x3619ba,_0x28ab05){var _0x8a2893={};var _0x12b3d9={};var _0x14e849;var _0x27b5cd;return db[_0x8960('0x41')][_0x8960('0x57')]({'where':{'id':_0x4c1f02['params']['id']}})[_0x8960('0x22')](handleEntityNotFound(_0x3619ba,null))['then'](function(_0x6fa754){if(_0x6fa754){_0x14e849=_0x6fa754;_0x12b3d9[_0x8960('0x30')]=_[_0x8960('0x2a')](db[_0x8960('0x53')][_0x8960('0x29')]);_0x12b3d9[_0x8960('0x2b')]=_[_0x8960('0x2a')](_0x4c1f02[_0x8960('0x2b')]);_0x12b3d9[_0x8960('0x2e')]=_['intersection'](_0x12b3d9['model'],_0x12b3d9[_0x8960('0x2b')]);_0x8a2893[_0x8960('0x31')]=_['intersection'](_0x12b3d9['model'],qs['fields'](_0x4c1f02['query'][_0x8960('0x32')]));_0x8a2893['attributes']=_0x8a2893[_0x8960('0x31')]['length']?_0x8a2893[_0x8960('0x31')]:_0x12b3d9[_0x8960('0x30')];_0x8a2893[_0x8960('0x58')]=qs[_0x8960('0x36')](_0x4c1f02[_0x8960('0x2b')][_0x8960('0x36')]);_0x8a2893[_0x8960('0x38')]=qs['filters'](_[_0x8960('0x59')](_0x4c1f02[_0x8960('0x2b')],_0x12b3d9['filters']));if(_0x4c1f02[_0x8960('0x2b')][_0x8960('0x39')]){_0x8a2893[_0x8960('0x38')]=_['merge'](_0x8a2893[_0x8960('0x38')],{'$or':_[_0x8960('0x3b')](_0x8a2893['attributes'],function(_0x2001a0){var _0x482e3a={};_0x482e3a[_0x2001a0]={'$like':'%'+_0x4c1f02[_0x8960('0x2b')]['filter']+'%'};return _0x482e3a;})});}_0x8a2893=_[_0x8960('0x3a')]({},_0x8a2893,_0x4c1f02[_0x8960('0x45')]);return _0x14e849['getContacts'](_0x8a2893);}})[_0x8960('0x22')](function(_0x2ac12e){if(_0x2ac12e){_0x27b5cd=_0x2ac12e['length'];if(!_0x4c1f02[_0x8960('0x2b')][_0x8960('0x33')](_0x8960('0x34'))){_0x8a2893[_0x8960('0x35')]=qs['limit'](_0x4c1f02[_0x8960('0x2b')][_0x8960('0x35')]);_0x8a2893[_0x8960('0x1b')]=qs[_0x8960('0x1b')](_0x4c1f02[_0x8960('0x2b')][_0x8960('0x1b')]);}return _0x14e849[_0x8960('0x5a')](_0x8a2893);}})[_0x8960('0x22')](function(_0x43662f){if(_0x43662f){return _0x43662f?{'count':_0x27b5cd,'rows':_0x43662f}:null;}})[_0x8960('0x22')](respondWithResult(_0x3619ba,null))['catch'](handleError(_0x3619ba,null));};