Built motion from commit 43538d75.|2.5.35
[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 _0x2e49=['status','end','offset','limit','undefined','set','Content-Range','apply','reject','save','update','then','destroy','Companies','error','stack','name','send','index','keys','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','CmCompany','count','include','findAll','rows','catch','params','rawAttributes','includeAll','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addContacts','CmContact','ids','omit','getContacts','findOne','map','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x507cb9,_0x4c8679){var _0x4533b9=function(_0x504d63){while(--_0x504d63){_0x507cb9['push'](_0x507cb9['shift']());}};_0x4533b9(++_0x4c8679);}(_0x2e49,0x1aa));var _0x92e4=function(_0x3b3c52,_0x26ac83){_0x3b3c52=_0x3b3c52-0x0;var _0x92cb0a=_0x2e49[_0x3b3c52];return _0x92cb0a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x92e4('0x0'));var zipdir=require(_0x92e4('0x1'));var jsonpatch=require(_0x92e4('0x2'));var rp=require(_0x92e4('0x3'));var moment=require(_0x92e4('0x4'));var BPromise=require(_0x92e4('0x5'));var Mustache=require(_0x92e4('0x6'));var util=require(_0x92e4('0x7'));var path=require(_0x92e4('0x8'));var sox=require(_0x92e4('0x9'));var csv=require(_0x92e4('0xa'));var ejs=require(_0x92e4('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x92e4('0xc'));var crypto=require(_0x92e4('0xd'));var jsforce=require(_0x92e4('0xe'));var deskjs=require(_0x92e4('0xf'));var toCsv=require(_0x92e4('0xa'));var querystring=require(_0x92e4('0x10'));var Papa=require(_0x92e4('0x11'));var Redis=require(_0x92e4('0x12'));var authService=require(_0x92e4('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x92e4('0x14'));var hardwareService=require(_0x92e4('0x15'));var logger=require(_0x92e4('0x16'))(_0x92e4('0x17'));var utils=require(_0x92e4('0x18'));var config=require(_0x92e4('0x19'));var licenseUtil=require(_0x92e4('0x1a'));var db=require(_0x92e4('0x1b'))['db'];function respondWithStatusCode(_0x35ba67,_0x1e172d){_0x1e172d=_0x1e172d||0xcc;return function(_0x3f2733){if(_0x3f2733){return _0x35ba67[_0x92e4('0x1c')](_0x1e172d);}return _0x35ba67[_0x92e4('0x1d')](_0x1e172d)[_0x92e4('0x1e')]();};}function respondWithResult(_0x350bd0,_0x482718){_0x482718=_0x482718||0xc8;return function(_0x431425){if(_0x431425){return _0x350bd0[_0x92e4('0x1d')](_0x482718)['json'](_0x431425);}};}function respondWithFilteredResult(_0x4bcf82,_0x496417){return function(_0x528f78){if(_0x528f78){var _0x27b2e5=typeof _0x496417[_0x92e4('0x1f')]==='undefined'&&typeof _0x496417[_0x92e4('0x20')]===_0x92e4('0x21');var _0x39a8fe=_0x528f78['count'];var _0x4db4d5=_0x27b2e5?0x0:_0x496417['offset'];var _0x24a7fb=_0x27b2e5?_0x528f78['count']:_0x496417['offset']+_0x496417[_0x92e4('0x20')];var _0x3cac98;if(_0x24a7fb>=_0x39a8fe){_0x24a7fb=_0x39a8fe;_0x3cac98=0xc8;}else{_0x3cac98=0xce;}_0x4bcf82['status'](_0x3cac98);return _0x4bcf82[_0x92e4('0x22')](_0x92e4('0x23'),_0x4db4d5+'-'+_0x24a7fb+'/'+_0x39a8fe)['json'](_0x528f78);}return null;};}function patchUpdates(_0x149910){return function(_0x5c4d51){try{jsonpatch[_0x92e4('0x24')](_0x5c4d51,_0x149910,!![]);}catch(_0x2f09ea){return BPromise[_0x92e4('0x25')](_0x2f09ea);}return _0x5c4d51[_0x92e4('0x26')]();};}function saveUpdates(_0x2803c9,_0x435283){return function(_0x3b24c8){if(_0x3b24c8){return _0x3b24c8[_0x92e4('0x27')](_0x2803c9)[_0x92e4('0x28')](function(_0x45a398){return _0x45a398;});}return null;};}function removeEntity(_0x472dbf,_0x45fc1d){return function(_0x23bee1){if(_0x23bee1){return _0x23bee1[_0x92e4('0x29')]()['then'](function(){var _0x3eac5a=_0x23bee1['get']({'plain':!![]});var _0xb41574=_0x92e4('0x2a');return db['UserProfileResource'][_0x92e4('0x29')]({'where':{'type':_0xb41574,'resourceId':_0x3eac5a['id']}})[_0x92e4('0x28')](function(){return _0x23bee1;});})[_0x92e4('0x28')](function(){_0x472dbf[_0x92e4('0x1d')](0xcc)[_0x92e4('0x1e')]();});}};}function handleEntityNotFound(_0x5ce49d,_0x2ecbeb){return function(_0x492e25){if(!_0x492e25){_0x5ce49d['sendStatus'](0x194);}return _0x492e25;};}function handleError(_0x158d02,_0x3b6ae0){_0x3b6ae0=_0x3b6ae0||0x1f4;return function(_0x4046af){logger[_0x92e4('0x2b')](_0x4046af[_0x92e4('0x2c')]);if(_0x4046af[_0x92e4('0x2d')]){delete _0x4046af[_0x92e4('0x2d')];}_0x158d02['status'](_0x3b6ae0)[_0x92e4('0x2e')](_0x4046af);};}exports[_0x92e4('0x2f')]=function(_0x55d504,_0x958a6e){var _0x4a0144={},_0x196584={},_0x2509ec={'count':0x0,'rows':[]};return db['CmCompany']['describe']()[_0x92e4('0x28')](function(_0xb1230f){_0x196584['model']=_[_0x92e4('0x30')](_0xb1230f);_0x196584[_0x92e4('0x31')]=_[_0x92e4('0x30')](_0x55d504['query']);_0x196584[_0x92e4('0x32')]=_['intersection'](_0x196584[_0x92e4('0x33')],_0x196584[_0x92e4('0x31')]);_0x4a0144[_0x92e4('0x34')]=_[_0x92e4('0x35')](_0x196584[_0x92e4('0x33')],qs[_0x92e4('0x36')](_0x55d504['query'][_0x92e4('0x36')]));_0x4a0144[_0x92e4('0x34')]=_0x4a0144[_0x92e4('0x34')][_0x92e4('0x37')]?_0x4a0144[_0x92e4('0x34')]:_0x196584['model'];if(!_0x55d504[_0x92e4('0x31')][_0x92e4('0x38')](_0x92e4('0x39'))){_0x4a0144['limit']=qs[_0x92e4('0x20')](_0x55d504[_0x92e4('0x31')][_0x92e4('0x20')]);_0x4a0144[_0x92e4('0x1f')]=qs[_0x92e4('0x1f')](_0x55d504[_0x92e4('0x31')][_0x92e4('0x1f')]);}_0x4a0144[_0x92e4('0x3a')]=qs['sort'](_0x55d504[_0x92e4('0x31')][_0x92e4('0x3b')]);_0x4a0144[_0x92e4('0x3c')]=qs[_0x92e4('0x32')](_[_0x92e4('0x3d')](_0x55d504[_0x92e4('0x31')],_0x196584[_0x92e4('0x32')]),_0xb1230f);if(_0x55d504[_0x92e4('0x31')][_0x92e4('0x3e')]){_0x4a0144[_0x92e4('0x3c')]=_[_0x92e4('0x3f')](_0x4a0144['where'],{'$or':_['map'](_0x4a0144['attributes'],function(_0x400fff){var _0x57250b={};_0x57250b[_0x400fff]={'$like':'%'+_0x55d504[_0x92e4('0x31')]['filter']+'%'};return _0x57250b;})});}_0x4a0144=_[_0x92e4('0x3f')]({},_0x4a0144,_0x55d504[_0x92e4('0x40')]);var _0x4cc7b1={'where':_0x4a0144['where']};return db[_0x92e4('0x41')][_0x92e4('0x42')](_0x4cc7b1)[_0x92e4('0x28')](function(_0x3bb50c){_0x2509ec[_0x92e4('0x42')]=_0x3bb50c;if(_0x55d504[_0x92e4('0x31')]['includeAll']){_0x4a0144[_0x92e4('0x43')]=[{'all':!![]}];}return db[_0x92e4('0x41')][_0x92e4('0x44')](_0x4a0144);})[_0x92e4('0x28')](function(_0x3510b6){_0x2509ec[_0x92e4('0x45')]=_0x3510b6;return _0x2509ec;})['then'](respondWithFilteredResult(_0x958a6e,_0x4a0144))[_0x92e4('0x46')](handleError(_0x958a6e,null));})['catch'](handleError(_0x958a6e,null));};exports['show']=function(_0x2550a1,_0xf87aeb){var _0x4abd65={'raw':![],'where':{'id':_0x2550a1[_0x92e4('0x47')]['id']}},_0x47ade3={};_0x47ade3[_0x92e4('0x33')]=_[_0x92e4('0x30')](db[_0x92e4('0x41')][_0x92e4('0x48')]);_0x47ade3[_0x92e4('0x31')]=_[_0x92e4('0x30')](_0x2550a1['query']);_0x47ade3[_0x92e4('0x32')]=_[_0x92e4('0x35')](_0x47ade3[_0x92e4('0x33')],_0x47ade3[_0x92e4('0x31')]);_0x4abd65['attributes']=_[_0x92e4('0x35')](_0x47ade3[_0x92e4('0x33')],qs[_0x92e4('0x36')](_0x2550a1[_0x92e4('0x31')][_0x92e4('0x36')]));_0x4abd65['attributes']=_0x4abd65[_0x92e4('0x34')][_0x92e4('0x37')]?_0x4abd65[_0x92e4('0x34')]:_0x47ade3[_0x92e4('0x33')];if(_0x2550a1[_0x92e4('0x31')][_0x92e4('0x49')]){_0x4abd65[_0x92e4('0x43')]=[{'all':!![]}];}_0x4abd65=_[_0x92e4('0x3f')]({},_0x4abd65,_0x2550a1[_0x92e4('0x40')]);return db[_0x92e4('0x41')][_0x92e4('0x4a')](_0x4abd65)[_0x92e4('0x28')](handleEntityNotFound(_0xf87aeb,null))[_0x92e4('0x28')](respondWithResult(_0xf87aeb,null))[_0x92e4('0x46')](handleError(_0xf87aeb,null));};exports[_0x92e4('0x4b')]=function(_0x520757,_0x5661ab){return db[_0x92e4('0x41')][_0x92e4('0x4b')](_0x520757[_0x92e4('0x4c')],{})['then'](function(_0x219d08){var _0x10268d=_0x520757['user'][_0x92e4('0x4d')]({'plain':!![]});if(!_0x10268d)throw new Error(_0x92e4('0x4e'));if(_0x10268d['role']==='user'){var _0x3ead94=_0x219d08[_0x92e4('0x4d')]({'plain':!![]});var _0x503bd8=_0x92e4('0x2a');return db[_0x92e4('0x4f')]['find']({'where':{'name':_0x503bd8,'userProfileId':_0x10268d['userProfileId']},'raw':!![]})[_0x92e4('0x28')](function(_0x38377c){if(_0x38377c&&_0x38377c[_0x92e4('0x50')]===0x0){return db[_0x92e4('0x51')][_0x92e4('0x4b')]({'name':_0x3ead94[_0x92e4('0x2d')],'resourceId':_0x3ead94['id'],'type':_0x38377c['name'],'sectionId':_0x38377c['id']},{})[_0x92e4('0x28')](function(){return _0x219d08;});}else{return _0x219d08;}})[_0x92e4('0x46')](function(_0x437824){logger[_0x92e4('0x2b')](_0x92e4('0x52'),_0x437824);throw _0x437824;});}return _0x219d08;})['then'](respondWithResult(_0x5661ab,0xc9))[_0x92e4('0x46')](handleError(_0x5661ab,null));};exports[_0x92e4('0x27')]=function(_0x1c87db,_0x1c5c1e){if(_0x1c87db['body']['id']){delete _0x1c87db[_0x92e4('0x4c')]['id'];}return db['CmCompany'][_0x92e4('0x4a')]({'where':{'id':_0x1c87db[_0x92e4('0x47')]['id']}})[_0x92e4('0x28')](handleEntityNotFound(_0x1c5c1e,null))[_0x92e4('0x28')](saveUpdates(_0x1c87db[_0x92e4('0x4c')],null))[_0x92e4('0x28')](respondWithResult(_0x1c5c1e,null))[_0x92e4('0x46')](handleError(_0x1c5c1e,null));};exports[_0x92e4('0x29')]=function(_0x3dce3c,_0x324a1d){return db['CmCompany']['find']({'where':{'id':_0x3dce3c[_0x92e4('0x47')]['id']}})[_0x92e4('0x28')](handleEntityNotFound(_0x324a1d,null))[_0x92e4('0x28')](removeEntity(_0x324a1d,null))[_0x92e4('0x46')](handleError(_0x324a1d,null));};exports[_0x92e4('0x53')]=function(_0x47d308,_0x359429){return db['CmCompany'][_0x92e4('0x53')]()[_0x92e4('0x28')](respondWithResult(_0x359429,null))[_0x92e4('0x46')](handleError(_0x359429,null));};exports[_0x92e4('0x54')]=function(_0x4e8c20,_0x352ae3,_0x1be5b4){return db[_0x92e4('0x55')][_0x92e4('0x4a')]({'where':{'id':_0x4e8c20[_0x92e4('0x47')]['id']}})['then'](handleEntityNotFound(_0x352ae3,null))[_0x92e4('0x28')](function(_0x41330a){if(_0x41330a){return _0x41330a['addContacts'](_0x4e8c20[_0x92e4('0x4c')][_0x92e4('0x56')],_[_0x92e4('0x57')](_0x4e8c20[_0x92e4('0x4c')],[_0x92e4('0x56'),'id'])||{});}})['then'](respondWithResult(_0x352ae3,null))['catch'](handleError(_0x352ae3,null));};exports[_0x92e4('0x58')]=function(_0x2b36b6,_0x2932ce,_0x1995fe){var _0x4d5bbe={};var _0x1f007e={};var _0x1d3104;var _0x57f9d7;return db[_0x92e4('0x41')][_0x92e4('0x59')]({'where':{'id':_0x2b36b6[_0x92e4('0x47')]['id']}})[_0x92e4('0x28')](handleEntityNotFound(_0x2932ce,null))[_0x92e4('0x28')](function(_0x9691f6){if(_0x9691f6){_0x1d3104=_0x9691f6;_0x1f007e['model']=_[_0x92e4('0x30')](db[_0x92e4('0x55')]['rawAttributes']);_0x1f007e[_0x92e4('0x31')]=_[_0x92e4('0x30')](_0x2b36b6[_0x92e4('0x31')]);_0x1f007e[_0x92e4('0x32')]=_[_0x92e4('0x35')](_0x1f007e[_0x92e4('0x33')],_0x1f007e['query']);_0x4d5bbe['attributes']=_[_0x92e4('0x35')](_0x1f007e['model'],qs['fields'](_0x2b36b6['query'][_0x92e4('0x36')]));_0x4d5bbe[_0x92e4('0x34')]=_0x4d5bbe[_0x92e4('0x34')][_0x92e4('0x37')]?_0x4d5bbe['attributes']:_0x1f007e[_0x92e4('0x33')];_0x4d5bbe['order']=qs['sort'](_0x2b36b6[_0x92e4('0x31')][_0x92e4('0x3b')]);_0x4d5bbe[_0x92e4('0x3c')]=qs[_0x92e4('0x32')](_[_0x92e4('0x3d')](_0x2b36b6['query'],_0x1f007e['filters']));if(_0x2b36b6['query']['filter']){_0x4d5bbe[_0x92e4('0x3c')]=_[_0x92e4('0x3f')](_0x4d5bbe[_0x92e4('0x3c')],{'$or':_[_0x92e4('0x5a')](_0x4d5bbe[_0x92e4('0x34')],function(_0x4833d4){var _0x5053a8={};_0x5053a8[_0x4833d4]={'$like':'%'+_0x2b36b6[_0x92e4('0x31')]['filter']+'%'};return _0x5053a8;})});}_0x4d5bbe=_[_0x92e4('0x3f')]({},_0x4d5bbe,_0x2b36b6['options']);return _0x1d3104[_0x92e4('0x58')](_0x4d5bbe);}})[_0x92e4('0x28')](function(_0x10e6c0){if(_0x10e6c0){_0x57f9d7=_0x10e6c0[_0x92e4('0x37')];if(!_0x2b36b6[_0x92e4('0x31')][_0x92e4('0x38')](_0x92e4('0x39'))){_0x4d5bbe[_0x92e4('0x20')]=qs[_0x92e4('0x20')](_0x2b36b6[_0x92e4('0x31')][_0x92e4('0x20')]);_0x4d5bbe['offset']=qs['offset'](_0x2b36b6[_0x92e4('0x31')]['offset']);}return _0x1d3104[_0x92e4('0x58')](_0x4d5bbe);}})[_0x92e4('0x28')](function(_0x48353d){if(_0x48353d){return _0x48353d?{'count':_0x57f9d7,'rows':_0x48353d}:null;}})[_0x92e4('0x28')](respondWithResult(_0x2932ce,null))[_0x92e4('0x46')](handleError(_0x2932ce,null));};