44fe609f07c2ec3eaf3fc9935880c297f160ad91
[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 _0x1535=['rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addContacts','ids','omit','getContacts','findOne','CmContact','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','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','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','get','Companies','UserProfileResource','error','name','send','index','CmCompany','describe','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','map','filter','options','includeAll','include','findAll','rows','catch','show','params'];(function(_0x818bd8,_0x4dc212){var _0xf3da16=function(_0x3356c3){while(--_0x3356c3){_0x818bd8['push'](_0x818bd8['shift']());}};_0xf3da16(++_0x4dc212);}(_0x1535,0x12d));var _0x5153=function(_0xd66522,_0x329b17){_0xd66522=_0xd66522-0x0;var _0x369304=_0x1535[_0xd66522];return _0x369304;};'use strict';var emlformat=require(_0x5153('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5153('0x1'));var jsonpatch=require(_0x5153('0x2'));var rp=require(_0x5153('0x3'));var moment=require(_0x5153('0x4'));var BPromise=require(_0x5153('0x5'));var Mustache=require(_0x5153('0x6'));var util=require('util');var path=require(_0x5153('0x7'));var sox=require(_0x5153('0x8'));var csv=require('to-csv');var ejs=require(_0x5153('0x9'));var fs=require('fs');var fs_extra=require(_0x5153('0xa'));var _=require(_0x5153('0xb'));var squel=require(_0x5153('0xc'));var crypto=require(_0x5153('0xd'));var jsforce=require(_0x5153('0xe'));var deskjs=require(_0x5153('0xf'));var toCsv=require(_0x5153('0x10'));var querystring=require(_0x5153('0x11'));var Papa=require(_0x5153('0x12'));var Redis=require(_0x5153('0x13'));var authService=require(_0x5153('0x14'));var qs=require(_0x5153('0x15'));var as=require(_0x5153('0x16'));var hardwareService=require(_0x5153('0x17'));var logger=require(_0x5153('0x18'))(_0x5153('0x19'));var utils=require(_0x5153('0x1a'));var config=require(_0x5153('0x1b'));var licenseUtil=require(_0x5153('0x1c'));var db=require(_0x5153('0x1d'))['db'];function respondWithStatusCode(_0x25ab90,_0x2fd80f){_0x2fd80f=_0x2fd80f||0xcc;return function(_0x1f9584){if(_0x1f9584){return _0x25ab90[_0x5153('0x1e')](_0x2fd80f);}return _0x25ab90[_0x5153('0x1f')](_0x2fd80f)[_0x5153('0x20')]();};}function respondWithResult(_0x1494f6,_0x2e81ce){_0x2e81ce=_0x2e81ce||0xc8;return function(_0x53f53c){if(_0x53f53c){return _0x1494f6[_0x5153('0x1f')](_0x2e81ce)[_0x5153('0x21')](_0x53f53c);}};}function respondWithFilteredResult(_0x194b97,_0x26effa){return function(_0x4bcb2a){if(_0x4bcb2a){var _0x1ac4e7=typeof _0x26effa[_0x5153('0x22')]===_0x5153('0x23')&&typeof _0x26effa[_0x5153('0x24')]==='undefined';var _0x1657ef=_0x4bcb2a[_0x5153('0x25')];var _0x42a775=_0x1ac4e7?0x0:_0x26effa[_0x5153('0x22')];var _0x3449c0=_0x1ac4e7?_0x4bcb2a[_0x5153('0x25')]:_0x26effa[_0x5153('0x22')]+_0x26effa[_0x5153('0x24')];var _0x3638cc;if(_0x3449c0>=_0x1657ef){_0x3449c0=_0x1657ef;_0x3638cc=0xc8;}else{_0x3638cc=0xce;}_0x194b97[_0x5153('0x1f')](_0x3638cc);return _0x194b97['set'](_0x5153('0x26'),_0x42a775+'-'+_0x3449c0+'/'+_0x1657ef)[_0x5153('0x21')](_0x4bcb2a);}return null;};}function patchUpdates(_0xef57f0){return function(_0x52384f){try{jsonpatch[_0x5153('0x27')](_0x52384f,_0xef57f0,!![]);}catch(_0x3cd97c){return BPromise[_0x5153('0x28')](_0x3cd97c);}return _0x52384f[_0x5153('0x29')]();};}function saveUpdates(_0x19dd57,_0x2e0c7d){return function(_0x33ad4d){if(_0x33ad4d){return _0x33ad4d[_0x5153('0x2a')](_0x19dd57)[_0x5153('0x2b')](function(_0x55ac87){return _0x55ac87;});}return null;};}function removeEntity(_0x3a540a,_0x437ed5){return function(_0x408500){if(_0x408500){return _0x408500[_0x5153('0x2c')]()[_0x5153('0x2b')](function(){var _0x5acf3a=_0x408500[_0x5153('0x2d')]({'plain':!![]});var _0x2a526b=_0x5153('0x2e');return db[_0x5153('0x2f')][_0x5153('0x2c')]({'where':{'type':_0x2a526b,'resourceId':_0x5acf3a['id']}})[_0x5153('0x2b')](function(){return _0x408500;});})[_0x5153('0x2b')](function(){_0x3a540a['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1b3c05,_0x8fa6ff){return function(_0x508bd8){if(!_0x508bd8){_0x1b3c05[_0x5153('0x1e')](0x194);}return _0x508bd8;};}function handleError(_0x1dfdb4,_0x4366ca){_0x4366ca=_0x4366ca||0x1f4;return function(_0x1f0d75){logger[_0x5153('0x30')](_0x1f0d75['stack']);if(_0x1f0d75[_0x5153('0x31')]){delete _0x1f0d75[_0x5153('0x31')];}_0x1dfdb4[_0x5153('0x1f')](_0x4366ca)[_0x5153('0x32')](_0x1f0d75);};}exports[_0x5153('0x33')]=function(_0x3554c2,_0x43d3c8){var _0xde76f5={},_0x8edb86={},_0x3f2245={'count':0x0,'rows':[]};return db[_0x5153('0x34')][_0x5153('0x35')]()['then'](function(_0x43fac5){_0x8edb86[_0x5153('0x36')]=_['keys'](_0x43fac5);_0x8edb86[_0x5153('0x37')]=_[_0x5153('0x38')](_0x3554c2[_0x5153('0x37')]);_0x8edb86[_0x5153('0x39')]=_['intersection'](_0x8edb86[_0x5153('0x36')],_0x8edb86[_0x5153('0x37')]);_0xde76f5['attributes']=_[_0x5153('0x3a')](_0x8edb86[_0x5153('0x36')],qs[_0x5153('0x3b')](_0x3554c2[_0x5153('0x37')]['fields']));_0xde76f5[_0x5153('0x3c')]=_0xde76f5[_0x5153('0x3c')][_0x5153('0x3d')]?_0xde76f5[_0x5153('0x3c')]:_0x8edb86[_0x5153('0x36')];if(!_0x3554c2['query'][_0x5153('0x3e')](_0x5153('0x3f'))){_0xde76f5[_0x5153('0x24')]=qs[_0x5153('0x24')](_0x3554c2[_0x5153('0x37')]['limit']);_0xde76f5['offset']=qs[_0x5153('0x22')](_0x3554c2[_0x5153('0x37')][_0x5153('0x22')]);}_0xde76f5[_0x5153('0x40')]=qs[_0x5153('0x41')](_0x3554c2[_0x5153('0x37')][_0x5153('0x41')]);_0xde76f5[_0x5153('0x42')]=qs[_0x5153('0x39')](_[_0x5153('0x43')](_0x3554c2[_0x5153('0x37')],_0x8edb86[_0x5153('0x39')]),_0x43fac5);if(_0x3554c2['query']['filter']){_0xde76f5[_0x5153('0x42')]=_[_0x5153('0x44')](_0xde76f5[_0x5153('0x42')],{'$or':_[_0x5153('0x45')](_0xde76f5[_0x5153('0x3c')],function(_0x391f6b){var _0x255dfa={};_0x255dfa[_0x391f6b]={'$like':'%'+_0x3554c2[_0x5153('0x37')][_0x5153('0x46')]+'%'};return _0x255dfa;})});}_0xde76f5=_[_0x5153('0x44')]({},_0xde76f5,_0x3554c2[_0x5153('0x47')]);var _0x318d54={'where':_0xde76f5[_0x5153('0x42')]};return db[_0x5153('0x34')][_0x5153('0x25')](_0x318d54)[_0x5153('0x2b')](function(_0xd1d2a0){_0x3f2245['count']=_0xd1d2a0;if(_0x3554c2['query'][_0x5153('0x48')]){_0xde76f5[_0x5153('0x49')]=[{'all':!![]}];}return db[_0x5153('0x34')][_0x5153('0x4a')](_0xde76f5);})[_0x5153('0x2b')](function(_0x1c9333){_0x3f2245[_0x5153('0x4b')]=_0x1c9333;return _0x3f2245;})[_0x5153('0x2b')](respondWithFilteredResult(_0x43d3c8,_0xde76f5))[_0x5153('0x4c')](handleError(_0x43d3c8,null));})[_0x5153('0x4c')](handleError(_0x43d3c8,null));};exports[_0x5153('0x4d')]=function(_0x484f39,_0x4a6dfa){var _0x31fa8a={'raw':![],'where':{'id':_0x484f39[_0x5153('0x4e')]['id']}},_0x4931d8={};_0x4931d8['model']=_[_0x5153('0x38')](db[_0x5153('0x34')][_0x5153('0x4f')]);_0x4931d8['query']=_[_0x5153('0x38')](_0x484f39[_0x5153('0x37')]);_0x4931d8['filters']=_[_0x5153('0x3a')](_0x4931d8['model'],_0x4931d8[_0x5153('0x37')]);_0x31fa8a[_0x5153('0x3c')]=_[_0x5153('0x3a')](_0x4931d8[_0x5153('0x36')],qs[_0x5153('0x3b')](_0x484f39[_0x5153('0x37')]['fields']));_0x31fa8a[_0x5153('0x3c')]=_0x31fa8a[_0x5153('0x3c')][_0x5153('0x3d')]?_0x31fa8a['attributes']:_0x4931d8[_0x5153('0x36')];if(_0x484f39[_0x5153('0x37')]['includeAll']){_0x31fa8a[_0x5153('0x49')]=[{'all':!![]}];}_0x31fa8a=_['merge']({},_0x31fa8a,_0x484f39[_0x5153('0x47')]);return db[_0x5153('0x34')][_0x5153('0x50')](_0x31fa8a)[_0x5153('0x2b')](handleEntityNotFound(_0x4a6dfa,null))[_0x5153('0x2b')](respondWithResult(_0x4a6dfa,null))[_0x5153('0x4c')](handleError(_0x4a6dfa,null));};exports['create']=function(_0x3e072d,_0x290f29){return db[_0x5153('0x34')][_0x5153('0x51')](_0x3e072d[_0x5153('0x52')],{})[_0x5153('0x2b')](function(_0x1fbc40){var _0x115981=_0x3e072d[_0x5153('0x53')][_0x5153('0x2d')]({'plain':!![]});if(!_0x115981)throw new Error(_0x5153('0x54'));if(_0x115981[_0x5153('0x55')]===_0x5153('0x53')){var _0x56530d=_0x1fbc40['get']({'plain':!![]});var _0x258215=_0x5153('0x2e');return db[_0x5153('0x56')][_0x5153('0x50')]({'where':{'name':_0x258215,'userProfileId':_0x115981['userProfileId']},'raw':!![]})[_0x5153('0x2b')](function(_0x4f0c9c){if(_0x4f0c9c&&_0x4f0c9c[_0x5153('0x57')]===0x0){return db[_0x5153('0x2f')]['create']({'name':_0x56530d[_0x5153('0x31')],'resourceId':_0x56530d['id'],'type':_0x4f0c9c['name'],'sectionId':_0x4f0c9c['id']},{})['then'](function(){return _0x1fbc40;});}else{return _0x1fbc40;}})[_0x5153('0x4c')](function(_0x450d36){logger['error'](_0x5153('0x58'),_0x450d36);throw _0x450d36;});}return _0x1fbc40;})[_0x5153('0x2b')](respondWithResult(_0x290f29,0xc9))[_0x5153('0x4c')](handleError(_0x290f29,null));};exports['update']=function(_0x44ef41,_0x6e968f){if(_0x44ef41[_0x5153('0x52')]['id']){delete _0x44ef41[_0x5153('0x52')]['id'];}return db[_0x5153('0x34')][_0x5153('0x50')]({'where':{'id':_0x44ef41[_0x5153('0x4e')]['id']}})['then'](handleEntityNotFound(_0x6e968f,null))[_0x5153('0x2b')](saveUpdates(_0x44ef41[_0x5153('0x52')],null))['then'](respondWithResult(_0x6e968f,null))[_0x5153('0x4c')](handleError(_0x6e968f,null));};exports[_0x5153('0x2c')]=function(_0x3a5c0b,_0xc08c56){return db[_0x5153('0x34')][_0x5153('0x50')]({'where':{'id':_0x3a5c0b[_0x5153('0x4e')]['id']}})[_0x5153('0x2b')](handleEntityNotFound(_0xc08c56,null))[_0x5153('0x2b')](removeEntity(_0xc08c56,null))['catch'](handleError(_0xc08c56,null));};exports[_0x5153('0x35')]=function(_0x42f71c,_0x17d59a){return db['CmCompany'][_0x5153('0x35')]()[_0x5153('0x2b')](respondWithResult(_0x17d59a,null))[_0x5153('0x4c')](handleError(_0x17d59a,null));};exports[_0x5153('0x59')]=function(_0x17f50c,_0x3ab65d,_0x4011a8){return db['CmContact'][_0x5153('0x50')]({'where':{'id':_0x17f50c[_0x5153('0x4e')]['id']}})[_0x5153('0x2b')](handleEntityNotFound(_0x3ab65d,null))[_0x5153('0x2b')](function(_0x192c3f){if(_0x192c3f){return _0x192c3f[_0x5153('0x59')](_0x17f50c[_0x5153('0x52')][_0x5153('0x5a')],_[_0x5153('0x5b')](_0x17f50c[_0x5153('0x52')],[_0x5153('0x5a'),'id'])||{});}})[_0x5153('0x2b')](respondWithResult(_0x3ab65d,null))['catch'](handleError(_0x3ab65d,null));};exports[_0x5153('0x5c')]=function(_0x5e6b02,_0x27abcc,_0x475eb5){var _0x1fe147={};var _0x266e1d={};var _0x453cf3;var _0x26f3a5;return db[_0x5153('0x34')][_0x5153('0x5d')]({'where':{'id':_0x5e6b02[_0x5153('0x4e')]['id']}})[_0x5153('0x2b')](handleEntityNotFound(_0x27abcc,null))[_0x5153('0x2b')](function(_0x33584c){if(_0x33584c){_0x453cf3=_0x33584c;_0x266e1d[_0x5153('0x36')]=_[_0x5153('0x38')](db[_0x5153('0x5e')]['rawAttributes']);_0x266e1d[_0x5153('0x37')]=_[_0x5153('0x38')](_0x5e6b02[_0x5153('0x37')]);_0x266e1d[_0x5153('0x39')]=_[_0x5153('0x3a')](_0x266e1d[_0x5153('0x36')],_0x266e1d[_0x5153('0x37')]);_0x1fe147[_0x5153('0x3c')]=_[_0x5153('0x3a')](_0x266e1d[_0x5153('0x36')],qs['fields'](_0x5e6b02[_0x5153('0x37')][_0x5153('0x3b')]));_0x1fe147[_0x5153('0x3c')]=_0x1fe147['attributes'][_0x5153('0x3d')]?_0x1fe147['attributes']:_0x266e1d['model'];_0x1fe147[_0x5153('0x40')]=qs[_0x5153('0x41')](_0x5e6b02[_0x5153('0x37')]['sort']);_0x1fe147[_0x5153('0x42')]=qs['filters'](_[_0x5153('0x43')](_0x5e6b02[_0x5153('0x37')],_0x266e1d[_0x5153('0x39')]));if(_0x5e6b02[_0x5153('0x37')][_0x5153('0x46')]){_0x1fe147[_0x5153('0x42')]=_[_0x5153('0x44')](_0x1fe147[_0x5153('0x42')],{'$or':_['map'](_0x1fe147[_0x5153('0x3c')],function(_0x44892f){var _0x6d0c95={};_0x6d0c95[_0x44892f]={'$like':'%'+_0x5e6b02[_0x5153('0x37')][_0x5153('0x46')]+'%'};return _0x6d0c95;})});}_0x1fe147=_[_0x5153('0x44')]({},_0x1fe147,_0x5e6b02['options']);return _0x453cf3[_0x5153('0x5c')](_0x1fe147);}})[_0x5153('0x2b')](function(_0x5216ed){if(_0x5216ed){_0x26f3a5=_0x5216ed['length'];if(!_0x5e6b02['query'][_0x5153('0x3e')]('nolimit')){_0x1fe147[_0x5153('0x24')]=qs[_0x5153('0x24')](_0x5e6b02[_0x5153('0x37')][_0x5153('0x24')]);_0x1fe147[_0x5153('0x22')]=qs[_0x5153('0x22')](_0x5e6b02[_0x5153('0x37')][_0x5153('0x22')]);}return _0x453cf3[_0x5153('0x5c')](_0x1fe147);}})[_0x5153('0x2b')](function(_0x345a3c){if(_0x345a3c){return _0x345a3c?{'count':_0x26f3a5,'rows':_0x345a3c}:null;}})[_0x5153('0x2b')](respondWithResult(_0x27abcc,null))[_0x5153('0x4c')](handleError(_0x27abcc,null));};