Built motion from commit (unavailable).|2.5.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 _0xabdf=['../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','Companies','error','stack','name','describe','keys','query','filters','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','options','CmCompany','include','findAll','rows','catch','show','params','intersection','length','includeAll','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','addContacts','CmContact','ids','omit','getContacts','rawAttributes','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','sox','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0xabdf,0x19f));var _0xfabd=function(_0x5807f6,_0x2549a2){_0x5807f6=_0x5807f6-0x0;var _0xef1c3c=_0xabdf[_0x5807f6];return _0xef1c3c;};'use strict';var pdf=require(_0xfabd('0x0'));var emlformat=require(_0xfabd('0x1'));var rimraf=require(_0xfabd('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xfabd('0x3'));var rp=require('request-promise');var moment=require(_0xfabd('0x4'));var BPromise=require(_0xfabd('0x5'));var Mustache=require(_0xfabd('0x6'));var util=require(_0xfabd('0x7'));var path=require('path');var sox=require(_0xfabd('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xfabd('0x9'));var squel=require(_0xfabd('0xa'));var crypto=require(_0xfabd('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xfabd('0xc'));var toCsv=require(_0xfabd('0xd'));var querystring=require(_0xfabd('0xe'));var Papa=require(_0xfabd('0xf'));var Redis=require(_0xfabd('0x10'));var authService=require(_0xfabd('0x11'));var qs=require(_0xfabd('0x12'));var as=require(_0xfabd('0x13'));var hardwareService=require(_0xfabd('0x14'));var logger=require(_0xfabd('0x15'))(_0xfabd('0x16'));var utils=require(_0xfabd('0x17'));var config=require(_0xfabd('0x18'));var db=require(_0xfabd('0x19'))['db'];function respondWithStatusCode(_0x1f1c45,_0x4ebe5b){_0x4ebe5b=_0x4ebe5b||0xcc;return function(_0xd9de52){if(_0xd9de52){return _0x1f1c45[_0xfabd('0x1a')](_0x4ebe5b);}return _0x1f1c45[_0xfabd('0x1b')](_0x4ebe5b)[_0xfabd('0x1c')]();};}function respondWithResult(_0x2eedb0,_0xd172e){_0xd172e=_0xd172e||0xc8;return function(_0xd76f91){if(_0xd76f91){return _0x2eedb0[_0xfabd('0x1b')](_0xd172e)[_0xfabd('0x1d')](_0xd76f91);}};}function respondWithFilteredResult(_0x107efc,_0x908ca5){return function(_0x107f39){if(_0x107f39){var _0x32f1f0=_0x107f39[_0xfabd('0x1e')],_0x5bb5be=_0x908ca5[_0xfabd('0x1f')],_0x114a50=_0x908ca5['offset']+_0x908ca5[_0xfabd('0x20')],_0xeedca;if(_0x114a50>=_0x32f1f0){_0x114a50=_0x32f1f0;_0xeedca=0xc8;}else{_0xeedca=0xce;}_0x107efc['status'](_0xeedca);return _0x107efc[_0xfabd('0x21')](_0xfabd('0x22'),_0x5bb5be+'-'+_0x114a50+'/'+_0x32f1f0)[_0xfabd('0x1d')](_0x107f39);}return null;};}function patchUpdates(_0x5c7505){return function(_0x5c312b){try{jsonpatch[_0xfabd('0x23')](_0x5c312b,_0x5c7505,!![]);}catch(_0x2f058e){return BPromise['reject'](_0x2f058e);}return _0x5c312b[_0xfabd('0x24')]();};}function saveUpdates(_0x135b22,_0x5d8980){return function(_0x1f8ce6){if(_0x1f8ce6){return _0x1f8ce6[_0xfabd('0x25')](_0x135b22)[_0xfabd('0x26')](function(_0x4106d8){return _0x4106d8;});}return null;};}function removeEntity(_0x39e3d1,_0x164644){return function(_0x16cf12){if(_0x16cf12){return _0x16cf12[_0xfabd('0x27')]()[_0xfabd('0x26')](function(){var _0x5a371=_0x16cf12['get']({'plain':!![]});var _0x532f65=_0xfabd('0x28');return db['UserProfileResource'][_0xfabd('0x27')]({'where':{'type':_0x532f65,'resourceId':_0x5a371['id']}})[_0xfabd('0x26')](function(){return _0x16cf12;});})[_0xfabd('0x26')](function(){_0x39e3d1[_0xfabd('0x1b')](0xcc)[_0xfabd('0x1c')]();});}};}function handleEntityNotFound(_0x159e78,_0x605e77){return function(_0xc091c8){if(!_0xc091c8){_0x159e78['sendStatus'](0x194);}return _0xc091c8;};}function handleError(_0x4f94d4,_0x2edcf5){_0x2edcf5=_0x2edcf5||0x1f4;return function(_0x3c55a9){logger[_0xfabd('0x29')](_0x3c55a9[_0xfabd('0x2a')]);if(_0x3c55a9['name']){delete _0x3c55a9[_0xfabd('0x2b')];}_0x4f94d4['status'](_0x2edcf5)['send'](_0x3c55a9);};}exports['index']=function(_0x441e03,_0x4e775c){var _0x222104={},_0x17f282={},_0x5be66a={'count':0x0,'rows':[]};return db['CmCompany'][_0xfabd('0x2c')]()[_0xfabd('0x26')](function(_0x5237d7){_0x17f282['model']=_[_0xfabd('0x2d')](_0x5237d7);_0x17f282['query']=_[_0xfabd('0x2d')](_0x441e03[_0xfabd('0x2e')]);_0x17f282[_0xfabd('0x2f')]=_['intersection'](_0x17f282[_0xfabd('0x30')],_0x17f282[_0xfabd('0x2e')]);_0x222104[_0xfabd('0x31')]=_['intersection'](_0x17f282[_0xfabd('0x30')],qs[_0xfabd('0x32')](_0x441e03[_0xfabd('0x2e')][_0xfabd('0x32')]));_0x222104[_0xfabd('0x31')]=_0x222104[_0xfabd('0x31')]['length']?_0x222104['attributes']:_0x17f282[_0xfabd('0x30')];if(!_0x441e03[_0xfabd('0x2e')][_0xfabd('0x33')](_0xfabd('0x34'))){_0x222104['limit']=qs[_0xfabd('0x20')](_0x441e03['query']['limit']);_0x222104[_0xfabd('0x1f')]=qs[_0xfabd('0x1f')](_0x441e03[_0xfabd('0x2e')][_0xfabd('0x1f')]);}_0x222104[_0xfabd('0x35')]=qs[_0xfabd('0x36')](_0x441e03[_0xfabd('0x2e')][_0xfabd('0x36')]);_0x222104[_0xfabd('0x37')]=qs[_0xfabd('0x2f')](_[_0xfabd('0x38')](_0x441e03[_0xfabd('0x2e')],_0x17f282[_0xfabd('0x2f')]),_0x5237d7);if(_0x441e03[_0xfabd('0x2e')][_0xfabd('0x39')]){_0x222104[_0xfabd('0x37')]=_[_0xfabd('0x3a')](_0x222104[_0xfabd('0x37')],{'$or':_[_0xfabd('0x3b')](_0x222104[_0xfabd('0x31')],function(_0x480ee5){var _0x27e62e={};_0x27e62e[_0x480ee5]={'$like':'%'+_0x441e03[_0xfabd('0x2e')]['filter']+'%'};return _0x27e62e;})});}_0x222104=_[_0xfabd('0x3a')]({},_0x222104,_0x441e03[_0xfabd('0x3c')]);var _0x167f75={'where':_0x222104[_0xfabd('0x37')]};return db[_0xfabd('0x3d')]['count'](_0x167f75)['then'](function(_0x41b2f0){_0x5be66a[_0xfabd('0x1e')]=_0x41b2f0;if(_0x441e03[_0xfabd('0x2e')]['includeAll']){_0x222104[_0xfabd('0x3e')]=[{'all':!![]}];}return db['CmCompany'][_0xfabd('0x3f')](_0x222104);})[_0xfabd('0x26')](function(_0x64e72e){_0x5be66a[_0xfabd('0x40')]=_0x64e72e;return _0x5be66a;})[_0xfabd('0x26')](respondWithFilteredResult(_0x4e775c,_0x222104))[_0xfabd('0x41')](handleError(_0x4e775c,null));})[_0xfabd('0x41')](handleError(_0x4e775c,null));};exports[_0xfabd('0x42')]=function(_0xf41a56,_0x22d675){var _0x42522a={'raw':![],'where':{'id':_0xf41a56[_0xfabd('0x43')]['id']}},_0x469ec2={};_0x469ec2[_0xfabd('0x30')]=_[_0xfabd('0x2d')](db[_0xfabd('0x3d')]['rawAttributes']);_0x469ec2[_0xfabd('0x2e')]=_[_0xfabd('0x2d')](_0xf41a56[_0xfabd('0x2e')]);_0x469ec2[_0xfabd('0x2f')]=_[_0xfabd('0x44')](_0x469ec2[_0xfabd('0x30')],_0x469ec2[_0xfabd('0x2e')]);_0x42522a[_0xfabd('0x31')]=_[_0xfabd('0x44')](_0x469ec2['model'],qs[_0xfabd('0x32')](_0xf41a56['query'][_0xfabd('0x32')]));_0x42522a[_0xfabd('0x31')]=_0x42522a[_0xfabd('0x31')][_0xfabd('0x45')]?_0x42522a[_0xfabd('0x31')]:_0x469ec2[_0xfabd('0x30')];if(_0xf41a56[_0xfabd('0x2e')][_0xfabd('0x46')]){_0x42522a['include']=[{'all':!![]}];}_0x42522a=_[_0xfabd('0x3a')]({},_0x42522a,_0xf41a56[_0xfabd('0x3c')]);return db[_0xfabd('0x3d')][_0xfabd('0x47')](_0x42522a)[_0xfabd('0x26')](handleEntityNotFound(_0x22d675,null))[_0xfabd('0x26')](respondWithResult(_0x22d675,null))['catch'](handleError(_0x22d675,null));};exports[_0xfabd('0x48')]=function(_0x4d1ca4,_0x5ad735){return db[_0xfabd('0x3d')][_0xfabd('0x48')](_0x4d1ca4[_0xfabd('0x49')],{})[_0xfabd('0x26')](function(_0x43963c){var _0xcee5d6=_0x4d1ca4[_0xfabd('0x4a')][_0xfabd('0x4b')]({'plain':!![]});if(!_0xcee5d6)throw new Error(_0xfabd('0x4c'));if(_0xcee5d6[_0xfabd('0x4d')]==='user'){var _0x16d48d=_0x43963c[_0xfabd('0x4b')]({'plain':!![]});var _0x14a087='Companies';return db[_0xfabd('0x4e')][_0xfabd('0x47')]({'where':{'name':_0x14a087,'userProfileId':_0xcee5d6[_0xfabd('0x4f')]},'raw':!![]})['then'](function(_0x588c78){if(_0x588c78&&_0x588c78[_0xfabd('0x50')]===0x0){return db[_0xfabd('0x51')]['create']({'name':_0x16d48d[_0xfabd('0x2b')],'resourceId':_0x16d48d['id'],'type':_0x588c78[_0xfabd('0x2b')],'sectionId':_0x588c78['id']},{})[_0xfabd('0x26')](function(){return _0x43963c;});}else{return _0x43963c;}})[_0xfabd('0x41')](function(_0x4f7925){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4f7925);throw _0x4f7925;});}return _0x43963c;})[_0xfabd('0x26')](respondWithResult(_0x5ad735,0xc9))['catch'](handleError(_0x5ad735,null));};exports[_0xfabd('0x25')]=function(_0x3abbde,_0x15e3ce){if(_0x3abbde[_0xfabd('0x49')]['id']){delete _0x3abbde[_0xfabd('0x49')]['id'];}return db['CmCompany']['find']({'where':{'id':_0x3abbde[_0xfabd('0x43')]['id']}})[_0xfabd('0x26')](handleEntityNotFound(_0x15e3ce,null))[_0xfabd('0x26')](saveUpdates(_0x3abbde[_0xfabd('0x49')],null))[_0xfabd('0x26')](respondWithResult(_0x15e3ce,null))[_0xfabd('0x41')](handleError(_0x15e3ce,null));};exports[_0xfabd('0x27')]=function(_0x368781,_0x3d9f38){return db[_0xfabd('0x3d')]['find']({'where':{'id':_0x368781[_0xfabd('0x43')]['id']}})['then'](handleEntityNotFound(_0x3d9f38,null))[_0xfabd('0x26')](removeEntity(_0x3d9f38,null))[_0xfabd('0x41')](handleError(_0x3d9f38,null));};exports['describe']=function(_0x3b8fe5,_0x839ff7){return db[_0xfabd('0x3d')][_0xfabd('0x2c')]()[_0xfabd('0x26')](respondWithResult(_0x839ff7,null))[_0xfabd('0x41')](handleError(_0x839ff7,null));};exports[_0xfabd('0x52')]=function(_0xe2c30f,_0x2ef44c,_0x2251f5){return db[_0xfabd('0x53')]['find']({'where':{'id':_0xe2c30f[_0xfabd('0x43')]['id']}})['then'](handleEntityNotFound(_0x2ef44c,null))[_0xfabd('0x26')](function(_0x2ef8d1){if(_0x2ef8d1){return _0x2ef8d1[_0xfabd('0x52')](_0xe2c30f[_0xfabd('0x49')][_0xfabd('0x54')],_[_0xfabd('0x55')](_0xe2c30f['body'],['ids','id'])||{});}})[_0xfabd('0x26')](respondWithResult(_0x2ef44c,null))[_0xfabd('0x41')](handleError(_0x2ef44c,null));};exports[_0xfabd('0x56')]=function(_0xa1c26e,_0x32552d,_0x26d46b){var _0x4f5ed9={};var _0x492b72={};var _0x3707fc;var _0x2cc787;return db[_0xfabd('0x3d')]['findOne']({'where':{'id':_0xa1c26e[_0xfabd('0x43')]['id']}})[_0xfabd('0x26')](handleEntityNotFound(_0x32552d,null))[_0xfabd('0x26')](function(_0xe8d981){if(_0xe8d981){_0x3707fc=_0xe8d981;_0x492b72[_0xfabd('0x30')]=_[_0xfabd('0x2d')](db['CmContact'][_0xfabd('0x57')]);_0x492b72['query']=_[_0xfabd('0x2d')](_0xa1c26e[_0xfabd('0x2e')]);_0x492b72[_0xfabd('0x2f')]=_[_0xfabd('0x44')](_0x492b72[_0xfabd('0x30')],_0x492b72[_0xfabd('0x2e')]);_0x4f5ed9[_0xfabd('0x31')]=_['intersection'](_0x492b72['model'],qs['fields'](_0xa1c26e['query'][_0xfabd('0x32')]));_0x4f5ed9[_0xfabd('0x31')]=_0x4f5ed9['attributes'][_0xfabd('0x45')]?_0x4f5ed9[_0xfabd('0x31')]:_0x492b72[_0xfabd('0x30')];_0x4f5ed9['order']=qs['sort'](_0xa1c26e[_0xfabd('0x2e')][_0xfabd('0x36')]);_0x4f5ed9['where']=qs['filters'](_[_0xfabd('0x38')](_0xa1c26e[_0xfabd('0x2e')],_0x492b72[_0xfabd('0x2f')]));if(_0xa1c26e[_0xfabd('0x2e')]['filter']){_0x4f5ed9[_0xfabd('0x37')]=_[_0xfabd('0x3a')](_0x4f5ed9[_0xfabd('0x37')],{'$or':_[_0xfabd('0x3b')](_0x4f5ed9[_0xfabd('0x31')],function(_0x59b867){var _0x4a3aa5={};_0x4a3aa5[_0x59b867]={'$like':'%'+_0xa1c26e[_0xfabd('0x2e')][_0xfabd('0x39')]+'%'};return _0x4a3aa5;})});}_0x4f5ed9=_[_0xfabd('0x3a')]({},_0x4f5ed9,_0xa1c26e[_0xfabd('0x3c')]);return _0x3707fc[_0xfabd('0x56')](_0x4f5ed9);}})[_0xfabd('0x26')](function(_0x344a65){if(_0x344a65){_0x2cc787=_0x344a65[_0xfabd('0x45')];if(!_0xa1c26e[_0xfabd('0x2e')][_0xfabd('0x33')](_0xfabd('0x34'))){_0x4f5ed9['limit']=qs[_0xfabd('0x20')](_0xa1c26e[_0xfabd('0x2e')][_0xfabd('0x20')]);_0x4f5ed9['offset']=qs[_0xfabd('0x1f')](_0xa1c26e[_0xfabd('0x2e')][_0xfabd('0x1f')]);}return _0x3707fc[_0xfabd('0x56')](_0x4f5ed9);}})[_0xfabd('0x26')](function(_0x3781de){if(_0x3781de){return _0x3781de?{'count':_0x2cc787,'rows':_0x3781de}:null;}})['then'](respondWithResult(_0x32552d,null))[_0xfabd('0x41')](handleError(_0x32552d,null));};