Built motion from commit d5e4af8c.|2.6.23
[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 _0xae32=['sort','where','filters','filter','merge','map','options','includeAll','include','CmCompany','findAll','rows','catch','params','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addContacts','ids','omit','getContacts','findOne','CmContact','pick','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','get','Companies','UserProfileResource','name','send','index','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order'];(function(_0x1f7a7e,_0x3ac087){var _0x18f367=function(_0xd8ac2d){while(--_0xd8ac2d){_0x1f7a7e['push'](_0x1f7a7e['shift']());}};_0x18f367(++_0x3ac087);}(_0xae32,0x1e8));var _0x2ae3=function(_0x54c03a,_0x54f389){_0x54c03a=_0x54c03a-0x0;var _0x5c75d7=_0xae32[_0x54c03a];return _0x5c75d7;};'use strict';var emlformat=require(_0x2ae3('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2ae3('0x1'));var jsonpatch=require(_0x2ae3('0x2'));var rp=require(_0x2ae3('0x3'));var moment=require(_0x2ae3('0x4'));var BPromise=require(_0x2ae3('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x2ae3('0x6'));var sox=require(_0x2ae3('0x7'));var csv=require(_0x2ae3('0x8'));var ejs=require(_0x2ae3('0x9'));var fs=require('fs');var fs_extra=require(_0x2ae3('0xa'));var _=require(_0x2ae3('0xb'));var squel=require(_0x2ae3('0xc'));var crypto=require(_0x2ae3('0xd'));var jsforce=require(_0x2ae3('0xe'));var deskjs=require(_0x2ae3('0xf'));var toCsv=require(_0x2ae3('0x8'));var querystring=require('querystring');var Papa=require(_0x2ae3('0x10'));var Redis=require(_0x2ae3('0x11'));var authService=require(_0x2ae3('0x12'));var qs=require(_0x2ae3('0x13'));var as=require(_0x2ae3('0x14'));var hardwareService=require(_0x2ae3('0x15'));var logger=require(_0x2ae3('0x16'))(_0x2ae3('0x17'));var utils=require(_0x2ae3('0x18'));var config=require(_0x2ae3('0x19'));var licenseUtil=require(_0x2ae3('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x275b4c,_0x589cac){_0x589cac=_0x589cac||0xcc;return function(_0x201e30){if(_0x201e30){return _0x275b4c[_0x2ae3('0x1b')](_0x589cac);}return _0x275b4c[_0x2ae3('0x1c')](_0x589cac)[_0x2ae3('0x1d')]();};}function respondWithResult(_0x5d4f52,_0x5d7b05){_0x5d7b05=_0x5d7b05||0xc8;return function(_0x51894f){if(_0x51894f){return _0x5d4f52['status'](_0x5d7b05)['json'](_0x51894f);}};}function respondWithFilteredResult(_0x376289,_0x45542c){return function(_0x12e912){if(_0x12e912){var _0x4b9be2=typeof _0x45542c[_0x2ae3('0x1e')]==='undefined'&&typeof _0x45542c[_0x2ae3('0x1f')]===_0x2ae3('0x20');var _0x13ae89=_0x12e912[_0x2ae3('0x21')];var _0x37723d=_0x4b9be2?0x0:_0x45542c['offset'];var _0x55fcf4=_0x4b9be2?_0x12e912[_0x2ae3('0x21')]:_0x45542c[_0x2ae3('0x1e')]+_0x45542c['limit'];var _0x5763f1;if(_0x55fcf4>=_0x13ae89){_0x55fcf4=_0x13ae89;_0x5763f1=0xc8;}else{_0x5763f1=0xce;}_0x376289[_0x2ae3('0x1c')](_0x5763f1);return _0x376289[_0x2ae3('0x22')](_0x2ae3('0x23'),_0x37723d+'-'+_0x55fcf4+'/'+_0x13ae89)['json'](_0x12e912);}return null;};}function patchUpdates(_0x2a2a22){return function(_0x4ae332){try{jsonpatch[_0x2ae3('0x24')](_0x4ae332,_0x2a2a22,!![]);}catch(_0x213537){return BPromise[_0x2ae3('0x25')](_0x213537);}return _0x4ae332[_0x2ae3('0x26')]();};}function saveUpdates(_0x185abc,_0xe0e8d1){return function(_0x54cc9f){if(_0x54cc9f){return _0x54cc9f[_0x2ae3('0x27')](_0x185abc)[_0x2ae3('0x28')](function(_0x2241e8){return _0x2241e8;});}return null;};}function removeEntity(_0x37c522,_0x367cca){return function(_0x152533){if(_0x152533){return _0x152533[_0x2ae3('0x29')]()[_0x2ae3('0x28')](function(){var _0x3037c4=_0x152533[_0x2ae3('0x2a')]({'plain':!![]});var _0x3400ed=_0x2ae3('0x2b');return db[_0x2ae3('0x2c')][_0x2ae3('0x29')]({'where':{'type':_0x3400ed,'resourceId':_0x3037c4['id']}})[_0x2ae3('0x28')](function(){return _0x152533;});})[_0x2ae3('0x28')](function(){_0x37c522[_0x2ae3('0x1c')](0xcc)[_0x2ae3('0x1d')]();});}};}function handleEntityNotFound(_0x5407c8,_0x5d90f3){return function(_0x5451df){if(!_0x5451df){_0x5407c8['sendStatus'](0x194);}return _0x5451df;};}function handleError(_0x11badd,_0x2f632f){_0x2f632f=_0x2f632f||0x1f4;return function(_0x4661b7){logger['error'](_0x4661b7['stack']);if(_0x4661b7[_0x2ae3('0x2d')]){delete _0x4661b7['name'];}_0x11badd[_0x2ae3('0x1c')](_0x2f632f)[_0x2ae3('0x2e')](_0x4661b7);};}exports[_0x2ae3('0x2f')]=function(_0x23425f,_0x44dd04){var _0xedd19e={},_0x474db4={},_0x48edcf={'count':0x0,'rows':[]};return db['CmCompany']['describe']()[_0x2ae3('0x28')](function(_0x889036){_0x474db4[_0x2ae3('0x30')]=_[_0x2ae3('0x31')](_0x889036);_0x474db4[_0x2ae3('0x32')]=_[_0x2ae3('0x31')](_0x23425f[_0x2ae3('0x32')]);_0x474db4['filters']=_[_0x2ae3('0x33')](_0x474db4[_0x2ae3('0x30')],_0x474db4[_0x2ae3('0x32')]);_0xedd19e[_0x2ae3('0x34')]=_[_0x2ae3('0x33')](_0x474db4[_0x2ae3('0x30')],qs[_0x2ae3('0x35')](_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x35')]));_0xedd19e['attributes']=_0xedd19e[_0x2ae3('0x34')][_0x2ae3('0x36')]?_0xedd19e[_0x2ae3('0x34')]:_0x474db4[_0x2ae3('0x30')];if(!_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x37')](_0x2ae3('0x38'))){_0xedd19e['limit']=qs[_0x2ae3('0x1f')](_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x1f')]);_0xedd19e[_0x2ae3('0x1e')]=qs[_0x2ae3('0x1e')](_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x1e')]);}_0xedd19e[_0x2ae3('0x39')]=qs[_0x2ae3('0x3a')](_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x3a')]);_0xedd19e[_0x2ae3('0x3b')]=qs[_0x2ae3('0x3c')](_['pick'](_0x23425f['query'],_0x474db4[_0x2ae3('0x3c')]),_0x889036);if(_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x3d')]){_0xedd19e['where']=_[_0x2ae3('0x3e')](_0xedd19e[_0x2ae3('0x3b')],{'$or':_[_0x2ae3('0x3f')](_0xedd19e['attributes'],function(_0x178dd6){var _0x37efe8={};_0x37efe8[_0x178dd6]={'$like':'%'+_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x3d')]+'%'};return _0x37efe8;})});}_0xedd19e=_[_0x2ae3('0x3e')]({},_0xedd19e,_0x23425f[_0x2ae3('0x40')]);var _0x1b9232={'where':_0xedd19e[_0x2ae3('0x3b')]};return db['CmCompany'][_0x2ae3('0x21')](_0x1b9232)[_0x2ae3('0x28')](function(_0x1fbe73){_0x48edcf[_0x2ae3('0x21')]=_0x1fbe73;if(_0x23425f[_0x2ae3('0x32')][_0x2ae3('0x41')]){_0xedd19e[_0x2ae3('0x42')]=[{'all':!![]}];}return db[_0x2ae3('0x43')][_0x2ae3('0x44')](_0xedd19e);})[_0x2ae3('0x28')](function(_0x17e847){_0x48edcf[_0x2ae3('0x45')]=_0x17e847;return _0x48edcf;})['then'](respondWithFilteredResult(_0x44dd04,_0xedd19e))[_0x2ae3('0x46')](handleError(_0x44dd04,null));})[_0x2ae3('0x46')](handleError(_0x44dd04,null));};exports['show']=function(_0x3e6792,_0x1ac594){var _0xbebd28={'raw':![],'where':{'id':_0x3e6792[_0x2ae3('0x47')]['id']}},_0x4a694f={};_0x4a694f[_0x2ae3('0x30')]=_[_0x2ae3('0x31')](db[_0x2ae3('0x43')][_0x2ae3('0x48')]);_0x4a694f[_0x2ae3('0x32')]=_[_0x2ae3('0x31')](_0x3e6792['query']);_0x4a694f[_0x2ae3('0x3c')]=_[_0x2ae3('0x33')](_0x4a694f[_0x2ae3('0x30')],_0x4a694f[_0x2ae3('0x32')]);_0xbebd28[_0x2ae3('0x34')]=_[_0x2ae3('0x33')](_0x4a694f['model'],qs[_0x2ae3('0x35')](_0x3e6792['query'][_0x2ae3('0x35')]));_0xbebd28[_0x2ae3('0x34')]=_0xbebd28[_0x2ae3('0x34')][_0x2ae3('0x36')]?_0xbebd28[_0x2ae3('0x34')]:_0x4a694f[_0x2ae3('0x30')];if(_0x3e6792[_0x2ae3('0x32')][_0x2ae3('0x41')]){_0xbebd28['include']=[{'all':!![]}];}_0xbebd28=_[_0x2ae3('0x3e')]({},_0xbebd28,_0x3e6792[_0x2ae3('0x40')]);return db[_0x2ae3('0x43')][_0x2ae3('0x49')](_0xbebd28)[_0x2ae3('0x28')](handleEntityNotFound(_0x1ac594,null))[_0x2ae3('0x28')](respondWithResult(_0x1ac594,null))[_0x2ae3('0x46')](handleError(_0x1ac594,null));};exports[_0x2ae3('0x4a')]=function(_0x4dfcbe,_0x10cf5c){return db[_0x2ae3('0x43')][_0x2ae3('0x4a')](_0x4dfcbe[_0x2ae3('0x4b')],{})['then'](function(_0x41036d){var _0x5644d7=_0x4dfcbe[_0x2ae3('0x4c')][_0x2ae3('0x2a')]({'plain':!![]});if(!_0x5644d7)throw new Error(_0x2ae3('0x4d'));if(_0x5644d7[_0x2ae3('0x4e')]===_0x2ae3('0x4c')){var _0x4b6a37=_0x41036d[_0x2ae3('0x2a')]({'plain':!![]});var _0x2714f4=_0x2ae3('0x2b');return db[_0x2ae3('0x4f')]['find']({'where':{'name':_0x2714f4,'userProfileId':_0x5644d7[_0x2ae3('0x50')]},'raw':!![]})[_0x2ae3('0x28')](function(_0x207a84){if(_0x207a84&&_0x207a84['autoAssociation']===0x0){return db[_0x2ae3('0x2c')][_0x2ae3('0x4a')]({'name':_0x4b6a37[_0x2ae3('0x2d')],'resourceId':_0x4b6a37['id'],'type':_0x207a84[_0x2ae3('0x2d')],'sectionId':_0x207a84['id']},{})[_0x2ae3('0x28')](function(){return _0x41036d;});}else{return _0x41036d;}})['catch'](function(_0xfea3c6){logger[_0x2ae3('0x51')](_0x2ae3('0x52'),_0xfea3c6);throw _0xfea3c6;});}return _0x41036d;})[_0x2ae3('0x28')](respondWithResult(_0x10cf5c,0xc9))[_0x2ae3('0x46')](handleError(_0x10cf5c,null));};exports[_0x2ae3('0x27')]=function(_0x4b6d23,_0x2f3b7e){if(_0x4b6d23[_0x2ae3('0x4b')]['id']){delete _0x4b6d23[_0x2ae3('0x4b')]['id'];}return db['CmCompany']['find']({'where':{'id':_0x4b6d23[_0x2ae3('0x47')]['id']}})[_0x2ae3('0x28')](handleEntityNotFound(_0x2f3b7e,null))[_0x2ae3('0x28')](saveUpdates(_0x4b6d23[_0x2ae3('0x4b')],null))['then'](respondWithResult(_0x2f3b7e,null))[_0x2ae3('0x46')](handleError(_0x2f3b7e,null));};exports[_0x2ae3('0x29')]=function(_0x220088,_0x35d798){return db[_0x2ae3('0x43')][_0x2ae3('0x49')]({'where':{'id':_0x220088[_0x2ae3('0x47')]['id']}})[_0x2ae3('0x28')](handleEntityNotFound(_0x35d798,null))[_0x2ae3('0x28')](removeEntity(_0x35d798,null))[_0x2ae3('0x46')](handleError(_0x35d798,null));};exports['describe']=function(_0x226ad8,_0x49d1e7){return db['CmCompany'][_0x2ae3('0x53')]()[_0x2ae3('0x28')](respondWithResult(_0x49d1e7,null))[_0x2ae3('0x46')](handleError(_0x49d1e7,null));};exports['addContacts']=function(_0x6c5e76,_0x14f93a,_0x580470){return db['CmContact'][_0x2ae3('0x49')]({'where':{'id':_0x6c5e76[_0x2ae3('0x47')]['id']}})[_0x2ae3('0x28')](handleEntityNotFound(_0x14f93a,null))[_0x2ae3('0x28')](function(_0x50eeab){if(_0x50eeab){return _0x50eeab[_0x2ae3('0x54')](_0x6c5e76[_0x2ae3('0x4b')][_0x2ae3('0x55')],_[_0x2ae3('0x56')](_0x6c5e76[_0x2ae3('0x4b')],[_0x2ae3('0x55'),'id'])||{});}})[_0x2ae3('0x28')](respondWithResult(_0x14f93a,null))['catch'](handleError(_0x14f93a,null));};exports[_0x2ae3('0x57')]=function(_0x21cd11,_0x45ec91,_0x341f98){var _0x34646b={};var _0x5ab8ff={};var _0x593e0e;var _0x47f47a;return db[_0x2ae3('0x43')][_0x2ae3('0x58')]({'where':{'id':_0x21cd11['params']['id']}})[_0x2ae3('0x28')](handleEntityNotFound(_0x45ec91,null))['then'](function(_0x7a7ede){if(_0x7a7ede){_0x593e0e=_0x7a7ede;_0x5ab8ff[_0x2ae3('0x30')]=_[_0x2ae3('0x31')](db[_0x2ae3('0x59')][_0x2ae3('0x48')]);_0x5ab8ff[_0x2ae3('0x32')]=_[_0x2ae3('0x31')](_0x21cd11[_0x2ae3('0x32')]);_0x5ab8ff[_0x2ae3('0x3c')]=_['intersection'](_0x5ab8ff[_0x2ae3('0x30')],_0x5ab8ff[_0x2ae3('0x32')]);_0x34646b[_0x2ae3('0x34')]=_['intersection'](_0x5ab8ff[_0x2ae3('0x30')],qs[_0x2ae3('0x35')](_0x21cd11[_0x2ae3('0x32')][_0x2ae3('0x35')]));_0x34646b[_0x2ae3('0x34')]=_0x34646b[_0x2ae3('0x34')][_0x2ae3('0x36')]?_0x34646b[_0x2ae3('0x34')]:_0x5ab8ff[_0x2ae3('0x30')];_0x34646b['order']=qs[_0x2ae3('0x3a')](_0x21cd11[_0x2ae3('0x32')][_0x2ae3('0x3a')]);_0x34646b[_0x2ae3('0x3b')]=qs['filters'](_[_0x2ae3('0x5a')](_0x21cd11[_0x2ae3('0x32')],_0x5ab8ff[_0x2ae3('0x3c')]));if(_0x21cd11[_0x2ae3('0x32')][_0x2ae3('0x3d')]){_0x34646b[_0x2ae3('0x3b')]=_[_0x2ae3('0x3e')](_0x34646b[_0x2ae3('0x3b')],{'$or':_[_0x2ae3('0x3f')](_0x34646b[_0x2ae3('0x34')],function(_0x410f60){var _0x1079d0={};_0x1079d0[_0x410f60]={'$like':'%'+_0x21cd11[_0x2ae3('0x32')]['filter']+'%'};return _0x1079d0;})});}_0x34646b=_[_0x2ae3('0x3e')]({},_0x34646b,_0x21cd11[_0x2ae3('0x40')]);return _0x593e0e['getContacts'](_0x34646b);}})['then'](function(_0x40df5b){if(_0x40df5b){_0x47f47a=_0x40df5b[_0x2ae3('0x36')];if(!_0x21cd11[_0x2ae3('0x32')][_0x2ae3('0x37')](_0x2ae3('0x38'))){_0x34646b[_0x2ae3('0x1f')]=qs[_0x2ae3('0x1f')](_0x21cd11['query']['limit']);_0x34646b[_0x2ae3('0x1e')]=qs['offset'](_0x21cd11[_0x2ae3('0x32')][_0x2ae3('0x1e')]);}return _0x593e0e[_0x2ae3('0x57')](_0x34646b);}})['then'](function(_0x3bf098){if(_0x3bf098){return _0x3bf098?{'count':_0x47f47a,'rows':_0x3bf098}:null;}})['then'](respondWithResult(_0x45ec91,null))['catch'](handleError(_0x45ec91,null));};