Built motion from commit e0fa946e.|2.6.5
[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 _0x6d75=['error','stack','name','send','index','CmCompany','describe','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','map','options','count','includeAll','include','findAll','catch','show','params','rawAttributes','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Companies','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','addContacts','CmContact','ids','omit','findOne','getContacts','nolimit','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','Content-Range','apply','reject','save','then','destroy','get','UserProfileResource','end'];(function(_0x1e2b91,_0x4360f0){var _0x40f517=function(_0xf18c1e){while(--_0xf18c1e){_0x1e2b91['push'](_0x1e2b91['shift']());}};_0x40f517(++_0x4360f0);}(_0x6d75,0xe2));var _0x56d7=function(_0x1dd2ca,_0x2652a4){_0x1dd2ca=_0x1dd2ca-0x0;var _0x223b68=_0x6d75[_0x1dd2ca];return _0x223b68;};'use strict';var emlformat=require(_0x56d7('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x56d7('0x1'));var jsonpatch=require(_0x56d7('0x2'));var rp=require(_0x56d7('0x3'));var moment=require(_0x56d7('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x56d7('0x5'));var util=require('util');var path=require('path');var sox=require(_0x56d7('0x6'));var csv=require(_0x56d7('0x7'));var ejs=require(_0x56d7('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x56d7('0x9'));var squel=require(_0x56d7('0xa'));var crypto=require(_0x56d7('0xb'));var jsforce=require(_0x56d7('0xc'));var deskjs=require(_0x56d7('0xd'));var toCsv=require('to-csv');var querystring=require(_0x56d7('0xe'));var Papa=require(_0x56d7('0xf'));var Redis=require(_0x56d7('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x56d7('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x56d7('0x12'))(_0x56d7('0x13'));var utils=require('../../config/utils');var config=require(_0x56d7('0x14'));var licenseUtil=require(_0x56d7('0x15'));var db=require(_0x56d7('0x16'))['db'];function respondWithStatusCode(_0x8fb61e,_0x37d2f1){_0x37d2f1=_0x37d2f1||0xcc;return function(_0x4db197){if(_0x4db197){return _0x8fb61e[_0x56d7('0x17')](_0x37d2f1);}return _0x8fb61e[_0x56d7('0x18')](_0x37d2f1)['end']();};}function respondWithResult(_0x869732,_0x9f5d6f){_0x9f5d6f=_0x9f5d6f||0xc8;return function(_0x263a1c){if(_0x263a1c){return _0x869732[_0x56d7('0x18')](_0x9f5d6f)[_0x56d7('0x19')](_0x263a1c);}};}function respondWithFilteredResult(_0x2fed2c,_0x3848b9){return function(_0x2091c1){if(_0x2091c1){var _0x3392d7=typeof _0x3848b9[_0x56d7('0x1a')]===_0x56d7('0x1b')&&typeof _0x3848b9['limit']===_0x56d7('0x1b');var _0x7bf520=_0x2091c1['count'];var _0x25faf7=_0x3392d7?0x0:_0x3848b9['offset'];var _0x59bbd8=_0x3392d7?_0x2091c1['count']:_0x3848b9['offset']+_0x3848b9[_0x56d7('0x1c')];var _0x480e9a;if(_0x59bbd8>=_0x7bf520){_0x59bbd8=_0x7bf520;_0x480e9a=0xc8;}else{_0x480e9a=0xce;}_0x2fed2c[_0x56d7('0x18')](_0x480e9a);return _0x2fed2c['set'](_0x56d7('0x1d'),_0x25faf7+'-'+_0x59bbd8+'/'+_0x7bf520)['json'](_0x2091c1);}return null;};}function patchUpdates(_0x506fbf){return function(_0x2977a4){try{jsonpatch[_0x56d7('0x1e')](_0x2977a4,_0x506fbf,!![]);}catch(_0xaf445b){return BPromise[_0x56d7('0x1f')](_0xaf445b);}return _0x2977a4[_0x56d7('0x20')]();};}function saveUpdates(_0x8a26f3,_0x549f9b){return function(_0x320b05){if(_0x320b05){return _0x320b05['update'](_0x8a26f3)[_0x56d7('0x21')](function(_0x3e1423){return _0x3e1423;});}return null;};}function removeEntity(_0x201fba,_0x244795){return function(_0x5e8277){if(_0x5e8277){return _0x5e8277[_0x56d7('0x22')]()[_0x56d7('0x21')](function(){var _0x41f16f=_0x5e8277[_0x56d7('0x23')]({'plain':!![]});var _0x3023ce='Companies';return db[_0x56d7('0x24')][_0x56d7('0x22')]({'where':{'type':_0x3023ce,'resourceId':_0x41f16f['id']}})[_0x56d7('0x21')](function(){return _0x5e8277;});})[_0x56d7('0x21')](function(){_0x201fba[_0x56d7('0x18')](0xcc)[_0x56d7('0x25')]();});}};}function handleEntityNotFound(_0x72c7b5,_0x1d7d49){return function(_0xa13621){if(!_0xa13621){_0x72c7b5[_0x56d7('0x17')](0x194);}return _0xa13621;};}function handleError(_0x585413,_0x36c45b){_0x36c45b=_0x36c45b||0x1f4;return function(_0x4cf136){logger[_0x56d7('0x26')](_0x4cf136[_0x56d7('0x27')]);if(_0x4cf136[_0x56d7('0x28')]){delete _0x4cf136[_0x56d7('0x28')];}_0x585413[_0x56d7('0x18')](_0x36c45b)[_0x56d7('0x29')](_0x4cf136);};}exports[_0x56d7('0x2a')]=function(_0x1e0cc8,_0x36784a){var _0x2e764a={},_0x5379c5={},_0x214ecb={'count':0x0,'rows':[]};return db[_0x56d7('0x2b')][_0x56d7('0x2c')]()[_0x56d7('0x21')](function(_0x38c156){_0x5379c5['model']=_[_0x56d7('0x2d')](_0x38c156);_0x5379c5[_0x56d7('0x2e')]=_[_0x56d7('0x2d')](_0x1e0cc8[_0x56d7('0x2e')]);_0x5379c5[_0x56d7('0x2f')]=_[_0x56d7('0x30')](_0x5379c5[_0x56d7('0x31')],_0x5379c5[_0x56d7('0x2e')]);_0x2e764a[_0x56d7('0x32')]=_[_0x56d7('0x30')](_0x5379c5[_0x56d7('0x31')],qs[_0x56d7('0x33')](_0x1e0cc8[_0x56d7('0x2e')]['fields']));_0x2e764a[_0x56d7('0x32')]=_0x2e764a['attributes'][_0x56d7('0x34')]?_0x2e764a[_0x56d7('0x32')]:_0x5379c5[_0x56d7('0x31')];if(!_0x1e0cc8['query'][_0x56d7('0x35')]('nolimit')){_0x2e764a[_0x56d7('0x1c')]=qs[_0x56d7('0x1c')](_0x1e0cc8[_0x56d7('0x2e')][_0x56d7('0x1c')]);_0x2e764a[_0x56d7('0x1a')]=qs[_0x56d7('0x1a')](_0x1e0cc8[_0x56d7('0x2e')][_0x56d7('0x1a')]);}_0x2e764a[_0x56d7('0x36')]=qs[_0x56d7('0x37')](_0x1e0cc8[_0x56d7('0x2e')]['sort']);_0x2e764a[_0x56d7('0x38')]=qs[_0x56d7('0x2f')](_[_0x56d7('0x39')](_0x1e0cc8['query'],_0x5379c5['filters']),_0x38c156);if(_0x1e0cc8[_0x56d7('0x2e')][_0x56d7('0x3a')]){_0x2e764a[_0x56d7('0x38')]=_[_0x56d7('0x3b')](_0x2e764a[_0x56d7('0x38')],{'$or':_[_0x56d7('0x3c')](_0x2e764a[_0x56d7('0x32')],function(_0x1fd6d7){var _0x15b101={};_0x15b101[_0x1fd6d7]={'$like':'%'+_0x1e0cc8[_0x56d7('0x2e')][_0x56d7('0x3a')]+'%'};return _0x15b101;})});}_0x2e764a=_[_0x56d7('0x3b')]({},_0x2e764a,_0x1e0cc8[_0x56d7('0x3d')]);var _0x35724a={'where':_0x2e764a[_0x56d7('0x38')]};return db[_0x56d7('0x2b')][_0x56d7('0x3e')](_0x35724a)['then'](function(_0x5c416c){_0x214ecb[_0x56d7('0x3e')]=_0x5c416c;if(_0x1e0cc8[_0x56d7('0x2e')][_0x56d7('0x3f')]){_0x2e764a[_0x56d7('0x40')]=[{'all':!![]}];}return db['CmCompany'][_0x56d7('0x41')](_0x2e764a);})[_0x56d7('0x21')](function(_0x3a906a){_0x214ecb['rows']=_0x3a906a;return _0x214ecb;})['then'](respondWithFilteredResult(_0x36784a,_0x2e764a))[_0x56d7('0x42')](handleError(_0x36784a,null));})[_0x56d7('0x42')](handleError(_0x36784a,null));};exports[_0x56d7('0x43')]=function(_0x2c165c,_0x20af36){var _0x4d6d23={'raw':![],'where':{'id':_0x2c165c[_0x56d7('0x44')]['id']}},_0x16dd25={};_0x16dd25[_0x56d7('0x31')]=_[_0x56d7('0x2d')](db[_0x56d7('0x2b')][_0x56d7('0x45')]);_0x16dd25[_0x56d7('0x2e')]=_['keys'](_0x2c165c[_0x56d7('0x2e')]);_0x16dd25['filters']=_[_0x56d7('0x30')](_0x16dd25['model'],_0x16dd25['query']);_0x4d6d23[_0x56d7('0x32')]=_['intersection'](_0x16dd25['model'],qs['fields'](_0x2c165c[_0x56d7('0x2e')][_0x56d7('0x33')]));_0x4d6d23[_0x56d7('0x32')]=_0x4d6d23[_0x56d7('0x32')][_0x56d7('0x34')]?_0x4d6d23['attributes']:_0x16dd25[_0x56d7('0x31')];if(_0x2c165c[_0x56d7('0x2e')][_0x56d7('0x3f')]){_0x4d6d23[_0x56d7('0x40')]=[{'all':!![]}];}_0x4d6d23=_[_0x56d7('0x3b')]({},_0x4d6d23,_0x2c165c['options']);return db[_0x56d7('0x2b')]['find'](_0x4d6d23)['then'](handleEntityNotFound(_0x20af36,null))[_0x56d7('0x21')](respondWithResult(_0x20af36,null))[_0x56d7('0x42')](handleError(_0x20af36,null));};exports['create']=function(_0x488949,_0x1fdc49){return db['CmCompany'][_0x56d7('0x46')](_0x488949[_0x56d7('0x47')],{})[_0x56d7('0x21')](function(_0x2cd104){var _0x45c502=_0x488949[_0x56d7('0x48')][_0x56d7('0x23')]({'plain':!![]});if(!_0x45c502)throw new Error(_0x56d7('0x49'));if(_0x45c502[_0x56d7('0x4a')]==='user'){var _0x479634=_0x2cd104[_0x56d7('0x23')]({'plain':!![]});var _0x5356e3=_0x56d7('0x4b');return db[_0x56d7('0x4c')]['find']({'where':{'name':_0x5356e3,'userProfileId':_0x45c502[_0x56d7('0x4d')]},'raw':!![]})['then'](function(_0x59277b){if(_0x59277b&&_0x59277b[_0x56d7('0x4e')]===0x0){return db['UserProfileResource'][_0x56d7('0x46')]({'name':_0x479634['name'],'resourceId':_0x479634['id'],'type':_0x59277b[_0x56d7('0x28')],'sectionId':_0x59277b['id']},{})[_0x56d7('0x21')](function(){return _0x2cd104;});}else{return _0x2cd104;}})[_0x56d7('0x42')](function(_0x214794){logger['error'](_0x56d7('0x4f'),_0x214794);throw _0x214794;});}return _0x2cd104;})[_0x56d7('0x21')](respondWithResult(_0x1fdc49,0xc9))['catch'](handleError(_0x1fdc49,null));};exports['update']=function(_0x78f0f4,_0x2a9027){if(_0x78f0f4[_0x56d7('0x47')]['id']){delete _0x78f0f4[_0x56d7('0x47')]['id'];}return db[_0x56d7('0x2b')]['find']({'where':{'id':_0x78f0f4[_0x56d7('0x44')]['id']}})[_0x56d7('0x21')](handleEntityNotFound(_0x2a9027,null))[_0x56d7('0x21')](saveUpdates(_0x78f0f4[_0x56d7('0x47')],null))[_0x56d7('0x21')](respondWithResult(_0x2a9027,null))[_0x56d7('0x42')](handleError(_0x2a9027,null));};exports['destroy']=function(_0x437ce9,_0x361d70){return db[_0x56d7('0x2b')][_0x56d7('0x50')]({'where':{'id':_0x437ce9[_0x56d7('0x44')]['id']}})[_0x56d7('0x21')](handleEntityNotFound(_0x361d70,null))['then'](removeEntity(_0x361d70,null))[_0x56d7('0x42')](handleError(_0x361d70,null));};exports['describe']=function(_0x420c26,_0x580e0f){return db[_0x56d7('0x2b')][_0x56d7('0x2c')]()[_0x56d7('0x21')](respondWithResult(_0x580e0f,null))[_0x56d7('0x42')](handleError(_0x580e0f,null));};exports[_0x56d7('0x51')]=function(_0x11d278,_0x596265,_0x4682d9){return db[_0x56d7('0x52')][_0x56d7('0x50')]({'where':{'id':_0x11d278[_0x56d7('0x44')]['id']}})['then'](handleEntityNotFound(_0x596265,null))[_0x56d7('0x21')](function(_0x4133fd){if(_0x4133fd){return _0x4133fd[_0x56d7('0x51')](_0x11d278[_0x56d7('0x47')][_0x56d7('0x53')],_[_0x56d7('0x54')](_0x11d278[_0x56d7('0x47')],[_0x56d7('0x53'),'id'])||{});}})[_0x56d7('0x21')](respondWithResult(_0x596265,null))['catch'](handleError(_0x596265,null));};exports['getContacts']=function(_0x28d1c5,_0xf8fa45,_0x40506e){var _0xe2a3fb={};var _0x2fcb92={};var _0x855208;var _0x1de7a9;return db[_0x56d7('0x2b')][_0x56d7('0x55')]({'where':{'id':_0x28d1c5[_0x56d7('0x44')]['id']}})[_0x56d7('0x21')](handleEntityNotFound(_0xf8fa45,null))[_0x56d7('0x21')](function(_0x4b8403){if(_0x4b8403){_0x855208=_0x4b8403;_0x2fcb92[_0x56d7('0x31')]=_[_0x56d7('0x2d')](db[_0x56d7('0x52')]['rawAttributes']);_0x2fcb92[_0x56d7('0x2e')]=_['keys'](_0x28d1c5[_0x56d7('0x2e')]);_0x2fcb92[_0x56d7('0x2f')]=_[_0x56d7('0x30')](_0x2fcb92[_0x56d7('0x31')],_0x2fcb92[_0x56d7('0x2e')]);_0xe2a3fb[_0x56d7('0x32')]=_[_0x56d7('0x30')](_0x2fcb92[_0x56d7('0x31')],qs[_0x56d7('0x33')](_0x28d1c5[_0x56d7('0x2e')][_0x56d7('0x33')]));_0xe2a3fb[_0x56d7('0x32')]=_0xe2a3fb['attributes'][_0x56d7('0x34')]?_0xe2a3fb['attributes']:_0x2fcb92[_0x56d7('0x31')];_0xe2a3fb['order']=qs[_0x56d7('0x37')](_0x28d1c5[_0x56d7('0x2e')][_0x56d7('0x37')]);_0xe2a3fb[_0x56d7('0x38')]=qs[_0x56d7('0x2f')](_[_0x56d7('0x39')](_0x28d1c5['query'],_0x2fcb92[_0x56d7('0x2f')]));if(_0x28d1c5[_0x56d7('0x2e')][_0x56d7('0x3a')]){_0xe2a3fb['where']=_[_0x56d7('0x3b')](_0xe2a3fb[_0x56d7('0x38')],{'$or':_['map'](_0xe2a3fb[_0x56d7('0x32')],function(_0x3dfcf5){var _0x28dbe0={};_0x28dbe0[_0x3dfcf5]={'$like':'%'+_0x28d1c5[_0x56d7('0x2e')]['filter']+'%'};return _0x28dbe0;})});}_0xe2a3fb=_['merge']({},_0xe2a3fb,_0x28d1c5[_0x56d7('0x3d')]);return _0x855208[_0x56d7('0x56')](_0xe2a3fb);}})[_0x56d7('0x21')](function(_0x4d7a57){if(_0x4d7a57){_0x1de7a9=_0x4d7a57[_0x56d7('0x34')];if(!_0x28d1c5[_0x56d7('0x2e')]['hasOwnProperty'](_0x56d7('0x57'))){_0xe2a3fb[_0x56d7('0x1c')]=qs[_0x56d7('0x1c')](_0x28d1c5['query'][_0x56d7('0x1c')]);_0xe2a3fb['offset']=qs[_0x56d7('0x1a')](_0x28d1c5[_0x56d7('0x2e')][_0x56d7('0x1a')]);}return _0x855208[_0x56d7('0x56')](_0xe2a3fb);}})[_0x56d7('0x21')](function(_0x497192){if(_0x497192){return _0x497192?{'count':_0x1de7a9,'rows':_0x497192}:null;}})[_0x56d7('0x21')](respondWithResult(_0xf8fa45,null))[_0x56d7('0x42')](handleError(_0xf8fa45,null));};