329b980e4e283bceec930bc134d654a8042489ac
[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 _0xc3a8=['include','findAll','rows','catch','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Companies','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addContacts','CmContact','ids','omit','getContacts','findOne','rawAttributes','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','error','stack','name','CmCompany','model','keys','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','map','options','includeAll'];(function(_0x55f8b4,_0x43f30d){var _0x2475f9=function(_0xdd6f4a){while(--_0xdd6f4a){_0x55f8b4['push'](_0x55f8b4['shift']());}};_0x2475f9(++_0x43f30d);}(_0xc3a8,0x184));var _0x8c3a=function(_0x3f4a8e,_0x507c39){_0x3f4a8e=_0x3f4a8e-0x0;var _0x7f68fd=_0xc3a8[_0x3f4a8e];return _0x7f68fd;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8c3a('0x0'));var zipdir=require(_0x8c3a('0x1'));var jsonpatch=require(_0x8c3a('0x2'));var rp=require(_0x8c3a('0x3'));var moment=require(_0x8c3a('0x4'));var BPromise=require(_0x8c3a('0x5'));var Mustache=require(_0x8c3a('0x6'));var util=require(_0x8c3a('0x7'));var path=require('path');var sox=require(_0x8c3a('0x8'));var csv=require(_0x8c3a('0x9'));var ejs=require(_0x8c3a('0xa'));var fs=require('fs');var fs_extra=require(_0x8c3a('0xb'));var _=require(_0x8c3a('0xc'));var squel=require(_0x8c3a('0xd'));var crypto=require(_0x8c3a('0xe'));var jsforce=require(_0x8c3a('0xf'));var deskjs=require(_0x8c3a('0x10'));var toCsv=require(_0x8c3a('0x9'));var querystring=require(_0x8c3a('0x11'));var Papa=require(_0x8c3a('0x12'));var Redis=require('ioredis');var authService=require(_0x8c3a('0x13'));var qs=require(_0x8c3a('0x14'));var as=require(_0x8c3a('0x15'));var hardwareService=require(_0x8c3a('0x16'));var logger=require(_0x8c3a('0x17'))(_0x8c3a('0x18'));var utils=require(_0x8c3a('0x19'));var config=require(_0x8c3a('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0x8c3a('0x1b'))['db'];function respondWithStatusCode(_0x657fa9,_0x4f94fc){_0x4f94fc=_0x4f94fc||0xcc;return function(_0x2aa297){if(_0x2aa297){return _0x657fa9[_0x8c3a('0x1c')](_0x4f94fc);}return _0x657fa9[_0x8c3a('0x1d')](_0x4f94fc)[_0x8c3a('0x1e')]();};}function respondWithResult(_0x4e28ec,_0x1c4652){_0x1c4652=_0x1c4652||0xc8;return function(_0x24180e){if(_0x24180e){return _0x4e28ec[_0x8c3a('0x1d')](_0x1c4652)[_0x8c3a('0x1f')](_0x24180e);}};}function respondWithFilteredResult(_0x3a4e43,_0x10a6f5){return function(_0x229ac2){if(_0x229ac2){var _0x123e1a=typeof _0x10a6f5[_0x8c3a('0x20')]===_0x8c3a('0x21')&&typeof _0x10a6f5['limit']==='undefined';var _0x3190d9=_0x229ac2[_0x8c3a('0x22')];var _0x236675=_0x123e1a?0x0:_0x10a6f5[_0x8c3a('0x20')];var _0x6edead=_0x123e1a?_0x229ac2[_0x8c3a('0x22')]:_0x10a6f5[_0x8c3a('0x20')]+_0x10a6f5[_0x8c3a('0x23')];var _0xd59fa3;if(_0x6edead>=_0x3190d9){_0x6edead=_0x3190d9;_0xd59fa3=0xc8;}else{_0xd59fa3=0xce;}_0x3a4e43[_0x8c3a('0x1d')](_0xd59fa3);return _0x3a4e43[_0x8c3a('0x24')](_0x8c3a('0x25'),_0x236675+'-'+_0x6edead+'/'+_0x3190d9)['json'](_0x229ac2);}return null;};}function patchUpdates(_0x3bcf5a){return function(_0xeb6b7d){try{jsonpatch[_0x8c3a('0x26')](_0xeb6b7d,_0x3bcf5a,!![]);}catch(_0x5622ed){return BPromise[_0x8c3a('0x27')](_0x5622ed);}return _0xeb6b7d[_0x8c3a('0x28')]();};}function saveUpdates(_0x3e7632,_0x4eddba){return function(_0x2bc6e1){if(_0x2bc6e1){return _0x2bc6e1[_0x8c3a('0x29')](_0x3e7632)[_0x8c3a('0x2a')](function(_0x166074){return _0x166074;});}return null;};}function removeEntity(_0x426921,_0xbd535a){return function(_0x3d8feb){if(_0x3d8feb){return _0x3d8feb[_0x8c3a('0x2b')]()['then'](function(){var _0x55784c=_0x3d8feb[_0x8c3a('0x2c')]({'plain':!![]});var _0x53648a='Companies';return db['UserProfileResource'][_0x8c3a('0x2b')]({'where':{'type':_0x53648a,'resourceId':_0x55784c['id']}})['then'](function(){return _0x3d8feb;});})[_0x8c3a('0x2a')](function(){_0x426921[_0x8c3a('0x1d')](0xcc)[_0x8c3a('0x1e')]();});}};}function handleEntityNotFound(_0x3a6139,_0x3789ff){return function(_0x4f6c87){if(!_0x4f6c87){_0x3a6139['sendStatus'](0x194);}return _0x4f6c87;};}function handleError(_0x56bbea,_0x4bd062){_0x4bd062=_0x4bd062||0x1f4;return function(_0x55842f){logger[_0x8c3a('0x2d')](_0x55842f[_0x8c3a('0x2e')]);if(_0x55842f[_0x8c3a('0x2f')]){delete _0x55842f[_0x8c3a('0x2f')];}_0x56bbea['status'](_0x4bd062)['send'](_0x55842f);};}exports['index']=function(_0x450f22,_0x17db1d){var _0x417614={},_0x3f736a={},_0x4eaec1={'count':0x0,'rows':[]};return db[_0x8c3a('0x30')]['describe']()[_0x8c3a('0x2a')](function(_0x2da5f1){_0x3f736a[_0x8c3a('0x31')]=_[_0x8c3a('0x32')](_0x2da5f1);_0x3f736a['query']=_[_0x8c3a('0x32')](_0x450f22[_0x8c3a('0x33')]);_0x3f736a[_0x8c3a('0x34')]=_[_0x8c3a('0x35')](_0x3f736a[_0x8c3a('0x31')],_0x3f736a['query']);_0x417614['attributes']=_[_0x8c3a('0x35')](_0x3f736a[_0x8c3a('0x31')],qs[_0x8c3a('0x36')](_0x450f22['query'][_0x8c3a('0x36')]));_0x417614[_0x8c3a('0x37')]=_0x417614[_0x8c3a('0x37')][_0x8c3a('0x38')]?_0x417614[_0x8c3a('0x37')]:_0x3f736a[_0x8c3a('0x31')];if(!_0x450f22[_0x8c3a('0x33')]['hasOwnProperty'](_0x8c3a('0x39'))){_0x417614[_0x8c3a('0x23')]=qs[_0x8c3a('0x23')](_0x450f22[_0x8c3a('0x33')][_0x8c3a('0x23')]);_0x417614[_0x8c3a('0x20')]=qs[_0x8c3a('0x20')](_0x450f22[_0x8c3a('0x33')][_0x8c3a('0x20')]);}_0x417614[_0x8c3a('0x3a')]=qs[_0x8c3a('0x3b')](_0x450f22[_0x8c3a('0x33')][_0x8c3a('0x3b')]);_0x417614[_0x8c3a('0x3c')]=qs[_0x8c3a('0x34')](_[_0x8c3a('0x3d')](_0x450f22[_0x8c3a('0x33')],_0x3f736a[_0x8c3a('0x34')]),_0x2da5f1);if(_0x450f22[_0x8c3a('0x33')][_0x8c3a('0x3e')]){_0x417614[_0x8c3a('0x3c')]=_[_0x8c3a('0x3f')](_0x417614[_0x8c3a('0x3c')],{'$or':_[_0x8c3a('0x40')](_0x417614[_0x8c3a('0x37')],function(_0x78a750){var _0x3b1a3c={};_0x3b1a3c[_0x78a750]={'$like':'%'+_0x450f22[_0x8c3a('0x33')][_0x8c3a('0x3e')]+'%'};return _0x3b1a3c;})});}_0x417614=_[_0x8c3a('0x3f')]({},_0x417614,_0x450f22[_0x8c3a('0x41')]);var _0x771bd0={'where':_0x417614['where']};return db[_0x8c3a('0x30')][_0x8c3a('0x22')](_0x771bd0)[_0x8c3a('0x2a')](function(_0x5f822e){_0x4eaec1[_0x8c3a('0x22')]=_0x5f822e;if(_0x450f22[_0x8c3a('0x33')][_0x8c3a('0x42')]){_0x417614[_0x8c3a('0x43')]=[{'all':!![]}];}return db[_0x8c3a('0x30')][_0x8c3a('0x44')](_0x417614);})['then'](function(_0xb3d1a0){_0x4eaec1[_0x8c3a('0x45')]=_0xb3d1a0;return _0x4eaec1;})[_0x8c3a('0x2a')](respondWithFilteredResult(_0x17db1d,_0x417614))[_0x8c3a('0x46')](handleError(_0x17db1d,null));})['catch'](handleError(_0x17db1d,null));};exports[_0x8c3a('0x47')]=function(_0x122125,_0x510f7c){var _0x449148={'raw':![],'where':{'id':_0x122125[_0x8c3a('0x48')]['id']}},_0x32eb4d={};_0x32eb4d['model']=_[_0x8c3a('0x32')](db['CmCompany']['rawAttributes']);_0x32eb4d[_0x8c3a('0x33')]=_[_0x8c3a('0x32')](_0x122125[_0x8c3a('0x33')]);_0x32eb4d[_0x8c3a('0x34')]=_[_0x8c3a('0x35')](_0x32eb4d['model'],_0x32eb4d[_0x8c3a('0x33')]);_0x449148[_0x8c3a('0x37')]=_[_0x8c3a('0x35')](_0x32eb4d[_0x8c3a('0x31')],qs[_0x8c3a('0x36')](_0x122125[_0x8c3a('0x33')]['fields']));_0x449148[_0x8c3a('0x37')]=_0x449148[_0x8c3a('0x37')][_0x8c3a('0x38')]?_0x449148['attributes']:_0x32eb4d['model'];if(_0x122125[_0x8c3a('0x33')]['includeAll']){_0x449148['include']=[{'all':!![]}];}_0x449148=_['merge']({},_0x449148,_0x122125[_0x8c3a('0x41')]);return db[_0x8c3a('0x30')][_0x8c3a('0x49')](_0x449148)[_0x8c3a('0x2a')](handleEntityNotFound(_0x510f7c,null))['then'](respondWithResult(_0x510f7c,null))[_0x8c3a('0x46')](handleError(_0x510f7c,null));};exports[_0x8c3a('0x4a')]=function(_0x3cd345,_0x54bc9f){return db[_0x8c3a('0x30')][_0x8c3a('0x4a')](_0x3cd345[_0x8c3a('0x4b')],{})['then'](function(_0x171b57){var _0x198dd4=_0x3cd345[_0x8c3a('0x4c')][_0x8c3a('0x2c')]({'plain':!![]});if(!_0x198dd4)throw new Error(_0x8c3a('0x4d'));if(_0x198dd4[_0x8c3a('0x4e')]===_0x8c3a('0x4c')){var _0x35bb23=_0x171b57[_0x8c3a('0x2c')]({'plain':!![]});var _0x4dbccf=_0x8c3a('0x4f');return db['UserProfileSection'][_0x8c3a('0x49')]({'where':{'name':_0x4dbccf,'userProfileId':_0x198dd4[_0x8c3a('0x50')]},'raw':!![]})['then'](function(_0x10f84a){if(_0x10f84a&&_0x10f84a[_0x8c3a('0x51')]===0x0){return db['UserProfileResource'][_0x8c3a('0x4a')]({'name':_0x35bb23[_0x8c3a('0x2f')],'resourceId':_0x35bb23['id'],'type':_0x10f84a[_0x8c3a('0x2f')],'sectionId':_0x10f84a['id']},{})['then'](function(){return _0x171b57;});}else{return _0x171b57;}})[_0x8c3a('0x46')](function(_0xa3f179){logger['error'](_0x8c3a('0x52'),_0xa3f179);throw _0xa3f179;});}return _0x171b57;})['then'](respondWithResult(_0x54bc9f,0xc9))[_0x8c3a('0x46')](handleError(_0x54bc9f,null));};exports[_0x8c3a('0x29')]=function(_0x566937,_0x3cf557){if(_0x566937['body']['id']){delete _0x566937['body']['id'];}return db['CmCompany'][_0x8c3a('0x49')]({'where':{'id':_0x566937['params']['id']}})[_0x8c3a('0x2a')](handleEntityNotFound(_0x3cf557,null))['then'](saveUpdates(_0x566937[_0x8c3a('0x4b')],null))['then'](respondWithResult(_0x3cf557,null))[_0x8c3a('0x46')](handleError(_0x3cf557,null));};exports['destroy']=function(_0x55226a,_0xe01bda){return db[_0x8c3a('0x30')][_0x8c3a('0x49')]({'where':{'id':_0x55226a[_0x8c3a('0x48')]['id']}})[_0x8c3a('0x2a')](handleEntityNotFound(_0xe01bda,null))[_0x8c3a('0x2a')](removeEntity(_0xe01bda,null))[_0x8c3a('0x46')](handleError(_0xe01bda,null));};exports[_0x8c3a('0x53')]=function(_0x286c2a,_0xab00d){return db[_0x8c3a('0x30')][_0x8c3a('0x53')]()['then'](respondWithResult(_0xab00d,null))[_0x8c3a('0x46')](handleError(_0xab00d,null));};exports[_0x8c3a('0x54')]=function(_0x3b1851,_0x8fce79,_0x256b2e){return db[_0x8c3a('0x55')]['find']({'where':{'id':_0x3b1851[_0x8c3a('0x48')]['id']}})['then'](handleEntityNotFound(_0x8fce79,null))['then'](function(_0x3355e8){if(_0x3355e8){return _0x3355e8['addContacts'](_0x3b1851[_0x8c3a('0x4b')][_0x8c3a('0x56')],_[_0x8c3a('0x57')](_0x3b1851[_0x8c3a('0x4b')],['ids','id'])||{});}})[_0x8c3a('0x2a')](respondWithResult(_0x8fce79,null))[_0x8c3a('0x46')](handleError(_0x8fce79,null));};exports[_0x8c3a('0x58')]=function(_0x446616,_0x5ac66d,_0x48d05d){var _0x14abb4={};var _0x9e8632={};var _0x51f92c;var _0xf151bf;return db['CmCompany'][_0x8c3a('0x59')]({'where':{'id':_0x446616['params']['id']}})[_0x8c3a('0x2a')](handleEntityNotFound(_0x5ac66d,null))[_0x8c3a('0x2a')](function(_0x1c7146){if(_0x1c7146){_0x51f92c=_0x1c7146;_0x9e8632['model']=_[_0x8c3a('0x32')](db[_0x8c3a('0x55')][_0x8c3a('0x5a')]);_0x9e8632[_0x8c3a('0x33')]=_[_0x8c3a('0x32')](_0x446616[_0x8c3a('0x33')]);_0x9e8632[_0x8c3a('0x34')]=_[_0x8c3a('0x35')](_0x9e8632[_0x8c3a('0x31')],_0x9e8632[_0x8c3a('0x33')]);_0x14abb4[_0x8c3a('0x37')]=_[_0x8c3a('0x35')](_0x9e8632[_0x8c3a('0x31')],qs['fields'](_0x446616['query'][_0x8c3a('0x36')]));_0x14abb4['attributes']=_0x14abb4[_0x8c3a('0x37')][_0x8c3a('0x38')]?_0x14abb4[_0x8c3a('0x37')]:_0x9e8632[_0x8c3a('0x31')];_0x14abb4[_0x8c3a('0x3a')]=qs[_0x8c3a('0x3b')](_0x446616[_0x8c3a('0x33')]['sort']);_0x14abb4[_0x8c3a('0x3c')]=qs[_0x8c3a('0x34')](_[_0x8c3a('0x3d')](_0x446616['query'],_0x9e8632[_0x8c3a('0x34')]));if(_0x446616['query']['filter']){_0x14abb4[_0x8c3a('0x3c')]=_[_0x8c3a('0x3f')](_0x14abb4[_0x8c3a('0x3c')],{'$or':_[_0x8c3a('0x40')](_0x14abb4[_0x8c3a('0x37')],function(_0x3e8261){var _0x5a637f={};_0x5a637f[_0x3e8261]={'$like':'%'+_0x446616['query'][_0x8c3a('0x3e')]+'%'};return _0x5a637f;})});}_0x14abb4=_[_0x8c3a('0x3f')]({},_0x14abb4,_0x446616[_0x8c3a('0x41')]);return _0x51f92c[_0x8c3a('0x58')](_0x14abb4);}})[_0x8c3a('0x2a')](function(_0xe4a306){if(_0xe4a306){_0xf151bf=_0xe4a306['length'];if(!_0x446616['query']['hasOwnProperty']('nolimit')){_0x14abb4[_0x8c3a('0x23')]=qs[_0x8c3a('0x23')](_0x446616['query'][_0x8c3a('0x23')]);_0x14abb4[_0x8c3a('0x20')]=qs[_0x8c3a('0x20')](_0x446616[_0x8c3a('0x33')][_0x8c3a('0x20')]);}return _0x51f92c['getContacts'](_0x14abb4);}})['then'](function(_0x42cbe3){if(_0x42cbe3){return _0x42cbe3?{'count':_0xf151bf,'rows':_0x42cbe3}:null;}})[_0x8c3a('0x2a')](respondWithResult(_0x5ac66d,null))[_0x8c3a('0x46')](handleError(_0x5ac66d,null));};