Built motion from commit (unavailable).|2.4.19
[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 _0xd58e=['pick','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','save','then','get','Companies','UserProfileResource','destroy','error','stack','name','send','index','CmCompany','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','map','merge','options','includeAll','rows','show','params','rawAttributes','include','find','catch','create','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','describe','addContacts','ids','omit','getContacts','findOne','CmContact'];(function(_0x369ab4,_0x35e31e){var _0x316538=function(_0x38d8f4){while(--_0x38d8f4){_0x369ab4['push'](_0x369ab4['shift']());}};_0x316538(++_0x35e31e);}(_0xd58e,0xa9));var _0xed58=function(_0x34d5e6,_0x2a1813){_0x34d5e6=_0x34d5e6-0x0;var _0x17e321=_0xd58e[_0x34d5e6];return _0x17e321;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xed58('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xed58('0x1'));var rp=require(_0xed58('0x2'));var moment=require(_0xed58('0x3'));var BPromise=require(_0xed58('0x4'));var Mustache=require(_0xed58('0x5'));var util=require(_0xed58('0x6'));var path=require('path');var sox=require(_0xed58('0x7'));var csv=require(_0xed58('0x8'));var ejs=require(_0xed58('0x9'));var fs=require('fs');var _=require(_0xed58('0xa'));var squel=require(_0xed58('0xb'));var crypto=require(_0xed58('0xc'));var jsforce=require(_0xed58('0xd'));var deskjs=require(_0xed58('0xe'));var toCsv=require(_0xed58('0x8'));var querystring=require(_0xed58('0xf'));var Papa=require('papaparse');var Redis=require(_0xed58('0x10'));var authService=require(_0xed58('0x11'));var qs=require(_0xed58('0x12'));var as=require(_0xed58('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xed58('0x14'))('api');var utils=require(_0xed58('0x15'));var config=require('../../config/environment');var db=require(_0xed58('0x16'))['db'];function respondWithStatusCode(_0x2f1702,_0x5f5830){_0x5f5830=_0x5f5830||0xcc;return function(_0x1bfdf1){if(_0x1bfdf1){return _0x2f1702[_0xed58('0x17')](_0x5f5830);}return _0x2f1702[_0xed58('0x18')](_0x5f5830)[_0xed58('0x19')]();};}function respondWithResult(_0x4b79ec,_0x4d82c1){_0x4d82c1=_0x4d82c1||0xc8;return function(_0x22b699){if(_0x22b699){return _0x4b79ec[_0xed58('0x18')](_0x4d82c1)[_0xed58('0x1a')](_0x22b699);}};}function respondWithFilteredResult(_0x41ea79,_0x3e8036){return function(_0x466d75){if(_0x466d75){var _0x5577fc=_0x466d75[_0xed58('0x1b')],_0x22ebe6=_0x3e8036['offset'],_0x3e9bb6=_0x3e8036[_0xed58('0x1c')]+_0x3e8036['limit'],_0xce8d0b;if(_0x3e9bb6>=_0x5577fc){_0x3e9bb6=_0x5577fc;_0xce8d0b=0xc8;}else{_0xce8d0b=0xce;}_0x41ea79[_0xed58('0x18')](_0xce8d0b);return _0x41ea79[_0xed58('0x1d')]('Content-Range',_0x22ebe6+'-'+_0x3e9bb6+'/'+_0x5577fc)[_0xed58('0x1a')](_0x466d75);}return null;};}function patchUpdates(_0x269e94){return function(_0x5a8cfb){try{jsonpatch[_0xed58('0x1e')](_0x5a8cfb,_0x269e94,!![]);}catch(_0x443c7f){return BPromise['reject'](_0x443c7f);}return _0x5a8cfb[_0xed58('0x1f')]();};}function saveUpdates(_0x303a42,_0x6a079b){return function(_0x2c9a73){if(_0x2c9a73){return _0x2c9a73['update'](_0x303a42)[_0xed58('0x20')](function(_0x38eab4){return _0x38eab4;});}return null;};}function removeEntity(_0x2b44ae,_0x2ea9cf){return function(_0x48f8a3){if(_0x48f8a3){return _0x48f8a3['destroy']()[_0xed58('0x20')](function(){var _0x4a1f70=_0x48f8a3[_0xed58('0x21')]({'plain':!![]});var _0x3547cb=_0xed58('0x22');return db[_0xed58('0x23')][_0xed58('0x24')]({'where':{'type':_0x3547cb,'resourceId':_0x4a1f70['id']}})['then'](function(){return _0x48f8a3;});})[_0xed58('0x20')](function(){_0x2b44ae['status'](0xcc)[_0xed58('0x19')]();});}};}function handleEntityNotFound(_0x2a74c2,_0x27478e){return function(_0x3f095d){if(!_0x3f095d){_0x2a74c2[_0xed58('0x17')](0x194);}return _0x3f095d;};}function handleError(_0xec4983,_0x46f2e4){_0x46f2e4=_0x46f2e4||0x1f4;return function(_0xdc0b9a){logger[_0xed58('0x25')](_0xdc0b9a[_0xed58('0x26')]);if(_0xdc0b9a['name']){delete _0xdc0b9a[_0xed58('0x27')];}_0xec4983[_0xed58('0x18')](_0x46f2e4)[_0xed58('0x28')](_0xdc0b9a);};}exports[_0xed58('0x29')]=function(_0x4d9c3c,_0x25e237){var _0x5626fb={},_0x16f8ad={},_0x20da97={'count':0x0,'rows':[]};return db[_0xed58('0x2a')]['describe']()[_0xed58('0x20')](function(_0x2fbcb2){_0x16f8ad[_0xed58('0x2b')]=_[_0xed58('0x2c')](_0x2fbcb2);_0x16f8ad[_0xed58('0x2d')]=_[_0xed58('0x2c')](_0x4d9c3c['query']);_0x16f8ad[_0xed58('0x2e')]=_[_0xed58('0x2f')](_0x16f8ad[_0xed58('0x2b')],_0x16f8ad[_0xed58('0x2d')]);_0x5626fb['attributes']=_[_0xed58('0x2f')](_0x16f8ad[_0xed58('0x2b')],qs[_0xed58('0x30')](_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x30')]));_0x5626fb[_0xed58('0x31')]=_0x5626fb[_0xed58('0x31')][_0xed58('0x32')]?_0x5626fb[_0xed58('0x31')]:_0x16f8ad['model'];if(!_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x33')](_0xed58('0x34'))){_0x5626fb[_0xed58('0x35')]=qs['limit'](_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x35')]);_0x5626fb[_0xed58('0x1c')]=qs[_0xed58('0x1c')](_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x1c')]);}_0x5626fb[_0xed58('0x36')]=qs[_0xed58('0x37')](_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x37')]);_0x5626fb[_0xed58('0x38')]=qs['filters'](_['pick'](_0x4d9c3c[_0xed58('0x2d')],_0x16f8ad[_0xed58('0x2e')]));if(_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x39')]){_0x5626fb[_0xed58('0x38')]=_['merge'](_0x5626fb['where'],{'$or':_[_0xed58('0x3a')](_0x5626fb['attributes'],function(_0xd8365){var _0x16eab1={};_0x16eab1[_0xd8365]={'$like':'%'+_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x39')]+'%'};return _0x16eab1;})});}_0x5626fb=_[_0xed58('0x3b')]({},_0x5626fb,_0x4d9c3c[_0xed58('0x3c')]);var _0x5f2f5b={'where':_0x5626fb[_0xed58('0x38')]};return db[_0xed58('0x2a')][_0xed58('0x1b')](_0x5f2f5b)[_0xed58('0x20')](function(_0x3e90e){_0x20da97[_0xed58('0x1b')]=_0x3e90e;if(_0x4d9c3c[_0xed58('0x2d')][_0xed58('0x3d')]){_0x5626fb['include']=[{'all':!![]}];}return db[_0xed58('0x2a')]['findAll'](_0x5626fb);})['then'](function(_0x541a87){_0x20da97[_0xed58('0x3e')]=_0x541a87;return _0x20da97;})['then'](respondWithFilteredResult(_0x25e237,_0x5626fb))['catch'](handleError(_0x25e237,null));})['catch'](handleError(_0x25e237,null));};exports[_0xed58('0x3f')]=function(_0x209ebf,_0x2b0d77){var _0x539867={'raw':![],'where':{'id':_0x209ebf[_0xed58('0x40')]['id']}},_0x12fed2={};_0x12fed2[_0xed58('0x2b')]=_[_0xed58('0x2c')](db['CmCompany'][_0xed58('0x41')]);_0x12fed2[_0xed58('0x2d')]=_[_0xed58('0x2c')](_0x209ebf[_0xed58('0x2d')]);_0x12fed2[_0xed58('0x2e')]=_[_0xed58('0x2f')](_0x12fed2[_0xed58('0x2b')],_0x12fed2[_0xed58('0x2d')]);_0x539867['attributes']=_[_0xed58('0x2f')](_0x12fed2['model'],qs[_0xed58('0x30')](_0x209ebf[_0xed58('0x2d')]['fields']));_0x539867[_0xed58('0x31')]=_0x539867[_0xed58('0x31')][_0xed58('0x32')]?_0x539867['attributes']:_0x12fed2['model'];if(_0x209ebf[_0xed58('0x2d')]['includeAll']){_0x539867[_0xed58('0x42')]=[{'all':!![]}];}_0x539867=_[_0xed58('0x3b')]({},_0x539867,_0x209ebf[_0xed58('0x3c')]);return db[_0xed58('0x2a')][_0xed58('0x43')](_0x539867)['then'](handleEntityNotFound(_0x2b0d77,null))['then'](respondWithResult(_0x2b0d77,null))[_0xed58('0x44')](handleError(_0x2b0d77,null));};exports[_0xed58('0x45')]=function(_0x14212e,_0x424ee6){return db['CmCompany'][_0xed58('0x45')](_0x14212e['body'],{})['then'](function(_0x52f2d9){var _0x220c72=_0x14212e['user'][_0xed58('0x21')]({'plain':!![]});if(!_0x220c72)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x220c72['role']===_0xed58('0x46')){var _0x21af64=_0x52f2d9[_0xed58('0x21')]({'plain':!![]});var _0x4bb8dd=_0xed58('0x22');return db['UserProfileSection'][_0xed58('0x43')]({'where':{'name':_0x4bb8dd,'userProfileId':_0x220c72[_0xed58('0x47')]},'raw':!![]})[_0xed58('0x20')](function(_0x17d6df){if(_0x17d6df&&_0x17d6df[_0xed58('0x48')]===0x0){return db[_0xed58('0x23')][_0xed58('0x45')]({'name':_0x21af64[_0xed58('0x27')],'resourceId':_0x21af64['id'],'type':_0x17d6df[_0xed58('0x27')],'sectionId':_0x17d6df['id']},{})[_0xed58('0x20')](function(){return _0x52f2d9;});}else{return _0x52f2d9;}})[_0xed58('0x44')](function(_0xc1db35){logger[_0xed58('0x25')](_0xed58('0x49'),_0xc1db35);throw _0xc1db35;});}return _0x52f2d9;})['then'](respondWithResult(_0x424ee6,0xc9))[_0xed58('0x44')](handleError(_0x424ee6,null));};exports[_0xed58('0x4a')]=function(_0x8e56f1,_0x69ef88){if(_0x8e56f1[_0xed58('0x4b')]['id']){delete _0x8e56f1['body']['id'];}return db['CmCompany'][_0xed58('0x43')]({'where':{'id':_0x8e56f1['params']['id']}})[_0xed58('0x20')](handleEntityNotFound(_0x69ef88,null))[_0xed58('0x20')](saveUpdates(_0x8e56f1[_0xed58('0x4b')],null))[_0xed58('0x20')](respondWithResult(_0x69ef88,null))[_0xed58('0x44')](handleError(_0x69ef88,null));};exports['destroy']=function(_0x1bc352,_0x1b1088){return db[_0xed58('0x2a')][_0xed58('0x43')]({'where':{'id':_0x1bc352[_0xed58('0x40')]['id']}})[_0xed58('0x20')](handleEntityNotFound(_0x1b1088,null))['then'](removeEntity(_0x1b1088,null))[_0xed58('0x44')](handleError(_0x1b1088,null));};exports['describe']=function(_0x46141e,_0x41500b){return db[_0xed58('0x2a')][_0xed58('0x4c')]()[_0xed58('0x20')](respondWithResult(_0x41500b,null))[_0xed58('0x44')](handleError(_0x41500b,null));};exports[_0xed58('0x4d')]=function(_0x1bbfbc,_0x558118,_0x273dec){return db['CmContact'][_0xed58('0x43')]({'where':{'id':_0x1bbfbc[_0xed58('0x40')]['id']}})[_0xed58('0x20')](handleEntityNotFound(_0x558118,null))[_0xed58('0x20')](function(_0x114e9e){if(_0x114e9e){return _0x114e9e['addContacts'](_0x1bbfbc[_0xed58('0x4b')][_0xed58('0x4e')],_[_0xed58('0x4f')](_0x1bbfbc[_0xed58('0x4b')],[_0xed58('0x4e'),'id'])||{});}})['then'](respondWithResult(_0x558118,null))[_0xed58('0x44')](handleError(_0x558118,null));};exports[_0xed58('0x50')]=function(_0x5165c0,_0x51afdb,_0xc5f39b){var _0x37938a={};var _0x4ac3f5={};var _0x569d36;var _0x337934;return db[_0xed58('0x2a')][_0xed58('0x51')]({'where':{'id':_0x5165c0[_0xed58('0x40')]['id']}})[_0xed58('0x20')](handleEntityNotFound(_0x51afdb,null))[_0xed58('0x20')](function(_0x8a265b){if(_0x8a265b){_0x569d36=_0x8a265b;_0x4ac3f5[_0xed58('0x2b')]=_['keys'](db[_0xed58('0x52')][_0xed58('0x41')]);_0x4ac3f5[_0xed58('0x2d')]=_[_0xed58('0x2c')](_0x5165c0[_0xed58('0x2d')]);_0x4ac3f5[_0xed58('0x2e')]=_['intersection'](_0x4ac3f5[_0xed58('0x2b')],_0x4ac3f5[_0xed58('0x2d')]);_0x37938a[_0xed58('0x31')]=_[_0xed58('0x2f')](_0x4ac3f5[_0xed58('0x2b')],qs[_0xed58('0x30')](_0x5165c0[_0xed58('0x2d')][_0xed58('0x30')]));_0x37938a[_0xed58('0x31')]=_0x37938a['attributes'][_0xed58('0x32')]?_0x37938a['attributes']:_0x4ac3f5[_0xed58('0x2b')];_0x37938a[_0xed58('0x36')]=qs[_0xed58('0x37')](_0x5165c0[_0xed58('0x2d')][_0xed58('0x37')]);_0x37938a[_0xed58('0x38')]=qs[_0xed58('0x2e')](_[_0xed58('0x53')](_0x5165c0[_0xed58('0x2d')],_0x4ac3f5[_0xed58('0x2e')]));if(_0x5165c0[_0xed58('0x2d')][_0xed58('0x39')]){_0x37938a['where']=_[_0xed58('0x3b')](_0x37938a['where'],{'$or':_[_0xed58('0x3a')](_0x37938a['attributes'],function(_0x445524){var _0x8af79d={};_0x8af79d[_0x445524]={'$like':'%'+_0x5165c0[_0xed58('0x2d')][_0xed58('0x39')]+'%'};return _0x8af79d;})});}_0x37938a=_['merge']({},_0x37938a,_0x5165c0['options']);return _0x569d36[_0xed58('0x50')](_0x37938a);}})[_0xed58('0x20')](function(_0x3dc3ee){if(_0x3dc3ee){_0x337934=_0x3dc3ee[_0xed58('0x32')];if(!_0x5165c0[_0xed58('0x2d')][_0xed58('0x33')](_0xed58('0x34'))){_0x37938a[_0xed58('0x35')]=qs[_0xed58('0x35')](_0x5165c0[_0xed58('0x2d')][_0xed58('0x35')]);_0x37938a[_0xed58('0x1c')]=qs[_0xed58('0x1c')](_0x5165c0['query'][_0xed58('0x1c')]);}return _0x569d36[_0xed58('0x50')](_0x37938a);}})[_0xed58('0x20')](function(_0x4d9db6){if(_0x4d9db6){return _0x4d9db6?{'count':_0x337934,'rows':_0x4d9db6}:null;}})[_0xed58('0x20')](respondWithResult(_0x51afdb,null))[_0xed58('0x44')](handleError(_0x51afdb,null));};