Built motion from commit 85328c08.|2.5.50
[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 _0x0c8e=['util','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','update','destroy','get','Companies','then','sendStatus','error','stack','name','send','index','CmCompany','describe','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','map','merge','options','includeAll','rows','catch','rawAttributes','include','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','find','params','addContacts','ids','omit','getContacts','CmContact','nolimit','eml-format','rimraf','zip-dir','request-promise','mustache'];(function(_0x5e8c32,_0x1b1f3f){var _0x595f7b=function(_0x38840e){while(--_0x38840e){_0x5e8c32['push'](_0x5e8c32['shift']());}};_0x595f7b(++_0x1b1f3f);}(_0x0c8e,0x14b));var _0xe0c8=function(_0x545b11,_0x81555d){_0x545b11=_0x545b11-0x0;var _0x23a986=_0x0c8e[_0x545b11];return _0x23a986;};'use strict';var emlformat=require(_0xe0c8('0x0'));var rimraf=require(_0xe0c8('0x1'));var zipdir=require(_0xe0c8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe0c8('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xe0c8('0x4'));var util=require(_0xe0c8('0x5'));var path=require('path');var sox=require(_0xe0c8('0x6'));var csv=require(_0xe0c8('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe0c8('0x8'));var _=require(_0xe0c8('0x9'));var squel=require(_0xe0c8('0xa'));var crypto=require(_0xe0c8('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xe0c8('0xc'));var toCsv=require(_0xe0c8('0x7'));var querystring=require(_0xe0c8('0xd'));var Papa=require(_0xe0c8('0xe'));var Redis=require(_0xe0c8('0xf'));var authService=require(_0xe0c8('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xe0c8('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xe0c8('0x12'));var config=require(_0xe0c8('0x13'));var licenseUtil=require(_0xe0c8('0x14'));var db=require(_0xe0c8('0x15'))['db'];function respondWithStatusCode(_0x4031db,_0x5eae74){_0x5eae74=_0x5eae74||0xcc;return function(_0x16988f){if(_0x16988f){return _0x4031db['sendStatus'](_0x5eae74);}return _0x4031db['status'](_0x5eae74)[_0xe0c8('0x16')]();};}function respondWithResult(_0x1b6026,_0x21d2cf){_0x21d2cf=_0x21d2cf||0xc8;return function(_0x217dc8){if(_0x217dc8){return _0x1b6026[_0xe0c8('0x17')](_0x21d2cf)[_0xe0c8('0x18')](_0x217dc8);}};}function respondWithFilteredResult(_0x324ee3,_0x5dd758){return function(_0x4a988c){if(_0x4a988c){var _0x3ade55=typeof _0x5dd758['offset']===_0xe0c8('0x19')&&typeof _0x5dd758[_0xe0c8('0x1a')]===_0xe0c8('0x19');var _0x3cc509=_0x4a988c[_0xe0c8('0x1b')];var _0x496034=_0x3ade55?0x0:_0x5dd758[_0xe0c8('0x1c')];var _0x11f9c0=_0x3ade55?_0x4a988c[_0xe0c8('0x1b')]:_0x5dd758[_0xe0c8('0x1c')]+_0x5dd758['limit'];var _0x14f36d;if(_0x11f9c0>=_0x3cc509){_0x11f9c0=_0x3cc509;_0x14f36d=0xc8;}else{_0x14f36d=0xce;}_0x324ee3[_0xe0c8('0x17')](_0x14f36d);return _0x324ee3['set'](_0xe0c8('0x1d'),_0x496034+'-'+_0x11f9c0+'/'+_0x3cc509)[_0xe0c8('0x18')](_0x4a988c);}return null;};}function patchUpdates(_0x4ffc32){return function(_0x124be5){try{jsonpatch[_0xe0c8('0x1e')](_0x124be5,_0x4ffc32,!![]);}catch(_0x1d127c){return BPromise[_0xe0c8('0x1f')](_0x1d127c);}return _0x124be5[_0xe0c8('0x20')]();};}function saveUpdates(_0x58914e,_0x42155f){return function(_0x3d7b08){if(_0x3d7b08){return _0x3d7b08[_0xe0c8('0x21')](_0x58914e)['then'](function(_0x37e0f3){return _0x37e0f3;});}return null;};}function removeEntity(_0x1ce32c,_0x3f5769){return function(_0x5c969e){if(_0x5c969e){return _0x5c969e[_0xe0c8('0x22')]()['then'](function(){var _0x3834a3=_0x5c969e[_0xe0c8('0x23')]({'plain':!![]});var _0x2c3fd8=_0xe0c8('0x24');return db['UserProfileResource'][_0xe0c8('0x22')]({'where':{'type':_0x2c3fd8,'resourceId':_0x3834a3['id']}})[_0xe0c8('0x25')](function(){return _0x5c969e;});})[_0xe0c8('0x25')](function(){_0x1ce32c[_0xe0c8('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4bbc3d,_0x30e99b){return function(_0x5017f1){if(!_0x5017f1){_0x4bbc3d[_0xe0c8('0x26')](0x194);}return _0x5017f1;};}function handleError(_0x2db75f,_0x5cd8bc){_0x5cd8bc=_0x5cd8bc||0x1f4;return function(_0x49e593){logger[_0xe0c8('0x27')](_0x49e593[_0xe0c8('0x28')]);if(_0x49e593[_0xe0c8('0x29')]){delete _0x49e593['name'];}_0x2db75f[_0xe0c8('0x17')](_0x5cd8bc)[_0xe0c8('0x2a')](_0x49e593);};}exports[_0xe0c8('0x2b')]=function(_0x4af9cb,_0x5b8821){var _0x2e59d8={},_0x2ebcbe={},_0x2de83e={'count':0x0,'rows':[]};return db[_0xe0c8('0x2c')][_0xe0c8('0x2d')]()['then'](function(_0x2daa7a){_0x2ebcbe[_0xe0c8('0x2e')]=_[_0xe0c8('0x2f')](_0x2daa7a);_0x2ebcbe[_0xe0c8('0x30')]=_[_0xe0c8('0x2f')](_0x4af9cb[_0xe0c8('0x30')]);_0x2ebcbe[_0xe0c8('0x31')]=_[_0xe0c8('0x32')](_0x2ebcbe[_0xe0c8('0x2e')],_0x2ebcbe['query']);_0x2e59d8[_0xe0c8('0x33')]=_[_0xe0c8('0x32')](_0x2ebcbe['model'],qs[_0xe0c8('0x34')](_0x4af9cb[_0xe0c8('0x30')][_0xe0c8('0x34')]));_0x2e59d8['attributes']=_0x2e59d8[_0xe0c8('0x33')][_0xe0c8('0x35')]?_0x2e59d8[_0xe0c8('0x33')]:_0x2ebcbe[_0xe0c8('0x2e')];if(!_0x4af9cb[_0xe0c8('0x30')][_0xe0c8('0x36')]('nolimit')){_0x2e59d8[_0xe0c8('0x1a')]=qs[_0xe0c8('0x1a')](_0x4af9cb['query'][_0xe0c8('0x1a')]);_0x2e59d8['offset']=qs[_0xe0c8('0x1c')](_0x4af9cb['query'][_0xe0c8('0x1c')]);}_0x2e59d8[_0xe0c8('0x37')]=qs[_0xe0c8('0x38')](_0x4af9cb[_0xe0c8('0x30')][_0xe0c8('0x38')]);_0x2e59d8[_0xe0c8('0x39')]=qs['filters'](_[_0xe0c8('0x3a')](_0x4af9cb[_0xe0c8('0x30')],_0x2ebcbe[_0xe0c8('0x31')]),_0x2daa7a);if(_0x4af9cb[_0xe0c8('0x30')][_0xe0c8('0x3b')]){_0x2e59d8[_0xe0c8('0x39')]=_['merge'](_0x2e59d8[_0xe0c8('0x39')],{'$or':_[_0xe0c8('0x3c')](_0x2e59d8[_0xe0c8('0x33')],function(_0x4086dd){var _0x4302e6={};_0x4302e6[_0x4086dd]={'$like':'%'+_0x4af9cb[_0xe0c8('0x30')][_0xe0c8('0x3b')]+'%'};return _0x4302e6;})});}_0x2e59d8=_[_0xe0c8('0x3d')]({},_0x2e59d8,_0x4af9cb[_0xe0c8('0x3e')]);var _0x3e87e9={'where':_0x2e59d8['where']};return db[_0xe0c8('0x2c')][_0xe0c8('0x1b')](_0x3e87e9)[_0xe0c8('0x25')](function(_0x2e5de8){_0x2de83e[_0xe0c8('0x1b')]=_0x2e5de8;if(_0x4af9cb[_0xe0c8('0x30')][_0xe0c8('0x3f')]){_0x2e59d8['include']=[{'all':!![]}];}return db[_0xe0c8('0x2c')]['findAll'](_0x2e59d8);})[_0xe0c8('0x25')](function(_0x26572a){_0x2de83e[_0xe0c8('0x40')]=_0x26572a;return _0x2de83e;})['then'](respondWithFilteredResult(_0x5b8821,_0x2e59d8))[_0xe0c8('0x41')](handleError(_0x5b8821,null));})[_0xe0c8('0x41')](handleError(_0x5b8821,null));};exports['show']=function(_0x19c430,_0x2743df){var _0x1d639e={'raw':![],'where':{'id':_0x19c430['params']['id']}},_0x1c5838={};_0x1c5838['model']=_[_0xe0c8('0x2f')](db['CmCompany'][_0xe0c8('0x42')]);_0x1c5838[_0xe0c8('0x30')]=_[_0xe0c8('0x2f')](_0x19c430['query']);_0x1c5838[_0xe0c8('0x31')]=_['intersection'](_0x1c5838[_0xe0c8('0x2e')],_0x1c5838[_0xe0c8('0x30')]);_0x1d639e[_0xe0c8('0x33')]=_['intersection'](_0x1c5838['model'],qs[_0xe0c8('0x34')](_0x19c430[_0xe0c8('0x30')][_0xe0c8('0x34')]));_0x1d639e[_0xe0c8('0x33')]=_0x1d639e[_0xe0c8('0x33')][_0xe0c8('0x35')]?_0x1d639e[_0xe0c8('0x33')]:_0x1c5838['model'];if(_0x19c430[_0xe0c8('0x30')][_0xe0c8('0x3f')]){_0x1d639e[_0xe0c8('0x43')]=[{'all':!![]}];}_0x1d639e=_[_0xe0c8('0x3d')]({},_0x1d639e,_0x19c430[_0xe0c8('0x3e')]);return db[_0xe0c8('0x2c')]['find'](_0x1d639e)[_0xe0c8('0x25')](handleEntityNotFound(_0x2743df,null))[_0xe0c8('0x25')](respondWithResult(_0x2743df,null))[_0xe0c8('0x41')](handleError(_0x2743df,null));};exports[_0xe0c8('0x44')]=function(_0x137c75,_0x31e2ec){return db[_0xe0c8('0x2c')][_0xe0c8('0x44')](_0x137c75['body'],{})[_0xe0c8('0x25')](function(_0x5a6373){var _0x1dac80=_0x137c75['user'][_0xe0c8('0x23')]({'plain':!![]});if(!_0x1dac80)throw new Error(_0xe0c8('0x45'));if(_0x1dac80['role']===_0xe0c8('0x46')){var _0x1a929d=_0x5a6373[_0xe0c8('0x23')]({'plain':!![]});var _0x59f113=_0xe0c8('0x24');return db[_0xe0c8('0x47')]['find']({'where':{'name':_0x59f113,'userProfileId':_0x1dac80[_0xe0c8('0x48')]},'raw':!![]})[_0xe0c8('0x25')](function(_0x1440fd){if(_0x1440fd&&_0x1440fd[_0xe0c8('0x49')]===0x0){return db['UserProfileResource'][_0xe0c8('0x44')]({'name':_0x1a929d[_0xe0c8('0x29')],'resourceId':_0x1a929d['id'],'type':_0x1440fd[_0xe0c8('0x29')],'sectionId':_0x1440fd['id']},{})['then'](function(){return _0x5a6373;});}else{return _0x5a6373;}})[_0xe0c8('0x41')](function(_0x4ecddc){logger[_0xe0c8('0x27')](_0xe0c8('0x4a'),_0x4ecddc);throw _0x4ecddc;});}return _0x5a6373;})[_0xe0c8('0x25')](respondWithResult(_0x31e2ec,0xc9))[_0xe0c8('0x41')](handleError(_0x31e2ec,null));};exports[_0xe0c8('0x21')]=function(_0xecdd2e,_0x5d2fbe){if(_0xecdd2e[_0xe0c8('0x4b')]['id']){delete _0xecdd2e[_0xe0c8('0x4b')]['id'];}return db[_0xe0c8('0x2c')]['find']({'where':{'id':_0xecdd2e['params']['id']}})[_0xe0c8('0x25')](handleEntityNotFound(_0x5d2fbe,null))[_0xe0c8('0x25')](saveUpdates(_0xecdd2e[_0xe0c8('0x4b')],null))[_0xe0c8('0x25')](respondWithResult(_0x5d2fbe,null))[_0xe0c8('0x41')](handleError(_0x5d2fbe,null));};exports[_0xe0c8('0x22')]=function(_0x4db68c,_0x30f49e){return db[_0xe0c8('0x2c')][_0xe0c8('0x4c')]({'where':{'id':_0x4db68c[_0xe0c8('0x4d')]['id']}})[_0xe0c8('0x25')](handleEntityNotFound(_0x30f49e,null))['then'](removeEntity(_0x30f49e,null))[_0xe0c8('0x41')](handleError(_0x30f49e,null));};exports['describe']=function(_0x1e5602,_0x3ee208){return db[_0xe0c8('0x2c')]['describe']()['then'](respondWithResult(_0x3ee208,null))['catch'](handleError(_0x3ee208,null));};exports[_0xe0c8('0x4e')]=function(_0xff675c,_0x39dacc,_0x3b3d02){return db['CmContact'][_0xe0c8('0x4c')]({'where':{'id':_0xff675c[_0xe0c8('0x4d')]['id']}})[_0xe0c8('0x25')](handleEntityNotFound(_0x39dacc,null))[_0xe0c8('0x25')](function(_0x567190){if(_0x567190){return _0x567190['addContacts'](_0xff675c[_0xe0c8('0x4b')][_0xe0c8('0x4f')],_[_0xe0c8('0x50')](_0xff675c[_0xe0c8('0x4b')],[_0xe0c8('0x4f'),'id'])||{});}})[_0xe0c8('0x25')](respondWithResult(_0x39dacc,null))[_0xe0c8('0x41')](handleError(_0x39dacc,null));};exports[_0xe0c8('0x51')]=function(_0x31f9d6,_0x242414,_0x4008c3){var _0x3c20e2={};var _0x5b8575={};var _0x3e2a9e;var _0x11208d;return db[_0xe0c8('0x2c')]['findOne']({'where':{'id':_0x31f9d6[_0xe0c8('0x4d')]['id']}})['then'](handleEntityNotFound(_0x242414,null))[_0xe0c8('0x25')](function(_0x1fa759){if(_0x1fa759){_0x3e2a9e=_0x1fa759;_0x5b8575[_0xe0c8('0x2e')]=_['keys'](db[_0xe0c8('0x52')][_0xe0c8('0x42')]);_0x5b8575[_0xe0c8('0x30')]=_[_0xe0c8('0x2f')](_0x31f9d6[_0xe0c8('0x30')]);_0x5b8575[_0xe0c8('0x31')]=_['intersection'](_0x5b8575[_0xe0c8('0x2e')],_0x5b8575[_0xe0c8('0x30')]);_0x3c20e2[_0xe0c8('0x33')]=_[_0xe0c8('0x32')](_0x5b8575[_0xe0c8('0x2e')],qs[_0xe0c8('0x34')](_0x31f9d6[_0xe0c8('0x30')][_0xe0c8('0x34')]));_0x3c20e2[_0xe0c8('0x33')]=_0x3c20e2['attributes'][_0xe0c8('0x35')]?_0x3c20e2[_0xe0c8('0x33')]:_0x5b8575[_0xe0c8('0x2e')];_0x3c20e2[_0xe0c8('0x37')]=qs[_0xe0c8('0x38')](_0x31f9d6[_0xe0c8('0x30')][_0xe0c8('0x38')]);_0x3c20e2[_0xe0c8('0x39')]=qs[_0xe0c8('0x31')](_['pick'](_0x31f9d6[_0xe0c8('0x30')],_0x5b8575[_0xe0c8('0x31')]));if(_0x31f9d6['query'][_0xe0c8('0x3b')]){_0x3c20e2[_0xe0c8('0x39')]=_[_0xe0c8('0x3d')](_0x3c20e2[_0xe0c8('0x39')],{'$or':_[_0xe0c8('0x3c')](_0x3c20e2[_0xe0c8('0x33')],function(_0x292383){var _0x473529={};_0x473529[_0x292383]={'$like':'%'+_0x31f9d6[_0xe0c8('0x30')][_0xe0c8('0x3b')]+'%'};return _0x473529;})});}_0x3c20e2=_[_0xe0c8('0x3d')]({},_0x3c20e2,_0x31f9d6['options']);return _0x3e2a9e[_0xe0c8('0x51')](_0x3c20e2);}})[_0xe0c8('0x25')](function(_0x32d40a){if(_0x32d40a){_0x11208d=_0x32d40a[_0xe0c8('0x35')];if(!_0x31f9d6['query']['hasOwnProperty'](_0xe0c8('0x53'))){_0x3c20e2[_0xe0c8('0x1a')]=qs[_0xe0c8('0x1a')](_0x31f9d6['query']['limit']);_0x3c20e2[_0xe0c8('0x1c')]=qs[_0xe0c8('0x1c')](_0x31f9d6[_0xe0c8('0x30')]['offset']);}return _0x3e2a9e[_0xe0c8('0x51')](_0x3c20e2);}})[_0xe0c8('0x25')](function(_0x28ec1a){if(_0x28ec1a){return _0x28ec1a?{'count':_0x11208d,'rows':_0x28ec1a}:null;}})['then'](respondWithResult(_0x242414,null))[_0xe0c8('0x41')](handleError(_0x242414,null));};