Built motion from commit e02f907f.|2.6.14
[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 _0x8f10=['apply','reject','save','update','then','get','Companies','UserProfileResource','destroy','error','stack','name','index','CmCompany','query','keys','filters','model','fields','attributes','length','nolimit','order','sort','pick','filter','merge','where','map','options','includeAll','include','rows','catch','show','params','rawAttributes','intersection','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','addContacts','CmContact','omit','ids','getContacts','findOne','hasOwnProperty','eml-format','rimraf','fast-json-patch','request-promise','moment','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x8f10,0x8d));var _0x08f1=function(_0x1044c7,_0x4a0af8){_0x1044c7=_0x1044c7-0x0;var _0x3a6c7c=_0x8f10[_0x1044c7];return _0x3a6c7c;};'use strict';var emlformat=require(_0x08f1('0x0'));var rimraf=require(_0x08f1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x08f1('0x2'));var rp=require(_0x08f1('0x3'));var moment=require(_0x08f1('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x08f1('0x5'));var path=require(_0x08f1('0x6'));var sox=require(_0x08f1('0x7'));var csv=require('to-csv');var ejs=require(_0x08f1('0x8'));var fs=require('fs');var fs_extra=require(_0x08f1('0x9'));var _=require(_0x08f1('0xa'));var squel=require(_0x08f1('0xb'));var crypto=require('crypto');var jsforce=require(_0x08f1('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x08f1('0xd'));var qs=require(_0x08f1('0xe'));var as=require(_0x08f1('0xf'));var hardwareService=require(_0x08f1('0x10'));var logger=require('../../config/logger')(_0x08f1('0x11'));var utils=require(_0x08f1('0x12'));var config=require(_0x08f1('0x13'));var licenseUtil=require(_0x08f1('0x14'));var db=require(_0x08f1('0x15'))['db'];function respondWithStatusCode(_0x1599cf,_0x38abb6){_0x38abb6=_0x38abb6||0xcc;return function(_0x286c27){if(_0x286c27){return _0x1599cf[_0x08f1('0x16')](_0x38abb6);}return _0x1599cf['status'](_0x38abb6)[_0x08f1('0x17')]();};}function respondWithResult(_0x5266c1,_0xa46a18){_0xa46a18=_0xa46a18||0xc8;return function(_0x1a9350){if(_0x1a9350){return _0x5266c1[_0x08f1('0x18')](_0xa46a18)[_0x08f1('0x19')](_0x1a9350);}};}function respondWithFilteredResult(_0x246afb,_0x455c72){return function(_0x3ae192){if(_0x3ae192){var _0x372cc0=typeof _0x455c72[_0x08f1('0x1a')]===_0x08f1('0x1b')&&typeof _0x455c72[_0x08f1('0x1c')]===_0x08f1('0x1b');var _0x2a5f01=_0x3ae192[_0x08f1('0x1d')];var _0x284bfc=_0x372cc0?0x0:_0x455c72[_0x08f1('0x1a')];var _0x7236c9=_0x372cc0?_0x3ae192[_0x08f1('0x1d')]:_0x455c72[_0x08f1('0x1a')]+_0x455c72[_0x08f1('0x1c')];var _0x41fdca;if(_0x7236c9>=_0x2a5f01){_0x7236c9=_0x2a5f01;_0x41fdca=0xc8;}else{_0x41fdca=0xce;}_0x246afb['status'](_0x41fdca);return _0x246afb[_0x08f1('0x1e')]('Content-Range',_0x284bfc+'-'+_0x7236c9+'/'+_0x2a5f01)[_0x08f1('0x19')](_0x3ae192);}return null;};}function patchUpdates(_0x2d50e3){return function(_0x567080){try{jsonpatch[_0x08f1('0x1f')](_0x567080,_0x2d50e3,!![]);}catch(_0x5d7235){return BPromise[_0x08f1('0x20')](_0x5d7235);}return _0x567080[_0x08f1('0x21')]();};}function saveUpdates(_0x262db7,_0x5174ee){return function(_0x51ada3){if(_0x51ada3){return _0x51ada3[_0x08f1('0x22')](_0x262db7)[_0x08f1('0x23')](function(_0x4abebc){return _0x4abebc;});}return null;};}function removeEntity(_0x271d9c,_0x37eebb){return function(_0x45e64b){if(_0x45e64b){return _0x45e64b['destroy']()[_0x08f1('0x23')](function(){var _0x4c3cb0=_0x45e64b[_0x08f1('0x24')]({'plain':!![]});var _0x4fc990=_0x08f1('0x25');return db[_0x08f1('0x26')][_0x08f1('0x27')]({'where':{'type':_0x4fc990,'resourceId':_0x4c3cb0['id']}})[_0x08f1('0x23')](function(){return _0x45e64b;});})[_0x08f1('0x23')](function(){_0x271d9c['status'](0xcc)[_0x08f1('0x17')]();});}};}function handleEntityNotFound(_0x4e3d12,_0xb95718){return function(_0x2b7533){if(!_0x2b7533){_0x4e3d12[_0x08f1('0x16')](0x194);}return _0x2b7533;};}function handleError(_0x331117,_0x1c3a03){_0x1c3a03=_0x1c3a03||0x1f4;return function(_0x57a470){logger[_0x08f1('0x28')](_0x57a470[_0x08f1('0x29')]);if(_0x57a470['name']){delete _0x57a470[_0x08f1('0x2a')];}_0x331117[_0x08f1('0x18')](_0x1c3a03)['send'](_0x57a470);};}exports[_0x08f1('0x2b')]=function(_0x218bae,_0x49fdf3){var _0x36651f={},_0x323996={},_0x1cd6e6={'count':0x0,'rows':[]};return db[_0x08f1('0x2c')]['describe']()[_0x08f1('0x23')](function(_0x5d0c01){_0x323996['model']=_['keys'](_0x5d0c01);_0x323996[_0x08f1('0x2d')]=_[_0x08f1('0x2e')](_0x218bae[_0x08f1('0x2d')]);_0x323996[_0x08f1('0x2f')]=_['intersection'](_0x323996[_0x08f1('0x30')],_0x323996[_0x08f1('0x2d')]);_0x36651f['attributes']=_['intersection'](_0x323996[_0x08f1('0x30')],qs[_0x08f1('0x31')](_0x218bae['query']['fields']));_0x36651f[_0x08f1('0x32')]=_0x36651f[_0x08f1('0x32')][_0x08f1('0x33')]?_0x36651f[_0x08f1('0x32')]:_0x323996[_0x08f1('0x30')];if(!_0x218bae[_0x08f1('0x2d')]['hasOwnProperty'](_0x08f1('0x34'))){_0x36651f[_0x08f1('0x1c')]=qs[_0x08f1('0x1c')](_0x218bae[_0x08f1('0x2d')][_0x08f1('0x1c')]);_0x36651f['offset']=qs[_0x08f1('0x1a')](_0x218bae[_0x08f1('0x2d')]['offset']);}_0x36651f[_0x08f1('0x35')]=qs[_0x08f1('0x36')](_0x218bae[_0x08f1('0x2d')][_0x08f1('0x36')]);_0x36651f['where']=qs[_0x08f1('0x2f')](_[_0x08f1('0x37')](_0x218bae[_0x08f1('0x2d')],_0x323996[_0x08f1('0x2f')]),_0x5d0c01);if(_0x218bae[_0x08f1('0x2d')][_0x08f1('0x38')]){_0x36651f['where']=_[_0x08f1('0x39')](_0x36651f[_0x08f1('0x3a')],{'$or':_[_0x08f1('0x3b')](_0x36651f['attributes'],function(_0x4f720d){var _0x2d1672={};_0x2d1672[_0x4f720d]={'$like':'%'+_0x218bae['query']['filter']+'%'};return _0x2d1672;})});}_0x36651f=_[_0x08f1('0x39')]({},_0x36651f,_0x218bae[_0x08f1('0x3c')]);var _0x3b28ec={'where':_0x36651f[_0x08f1('0x3a')]};return db[_0x08f1('0x2c')][_0x08f1('0x1d')](_0x3b28ec)[_0x08f1('0x23')](function(_0x16bcb2){_0x1cd6e6[_0x08f1('0x1d')]=_0x16bcb2;if(_0x218bae[_0x08f1('0x2d')][_0x08f1('0x3d')]){_0x36651f[_0x08f1('0x3e')]=[{'all':!![]}];}return db['CmCompany']['findAll'](_0x36651f);})[_0x08f1('0x23')](function(_0x56499b){_0x1cd6e6[_0x08f1('0x3f')]=_0x56499b;return _0x1cd6e6;})[_0x08f1('0x23')](respondWithFilteredResult(_0x49fdf3,_0x36651f))[_0x08f1('0x40')](handleError(_0x49fdf3,null));})[_0x08f1('0x40')](handleError(_0x49fdf3,null));};exports[_0x08f1('0x41')]=function(_0x634347,_0x210d5a){var _0x9c2810={'raw':![],'where':{'id':_0x634347[_0x08f1('0x42')]['id']}},_0x4a917d={};_0x4a917d['model']=_[_0x08f1('0x2e')](db[_0x08f1('0x2c')][_0x08f1('0x43')]);_0x4a917d[_0x08f1('0x2d')]=_[_0x08f1('0x2e')](_0x634347[_0x08f1('0x2d')]);_0x4a917d['filters']=_[_0x08f1('0x44')](_0x4a917d[_0x08f1('0x30')],_0x4a917d[_0x08f1('0x2d')]);_0x9c2810[_0x08f1('0x32')]=_[_0x08f1('0x44')](_0x4a917d[_0x08f1('0x30')],qs[_0x08f1('0x31')](_0x634347[_0x08f1('0x2d')][_0x08f1('0x31')]));_0x9c2810['attributes']=_0x9c2810['attributes'][_0x08f1('0x33')]?_0x9c2810[_0x08f1('0x32')]:_0x4a917d[_0x08f1('0x30')];if(_0x634347[_0x08f1('0x2d')][_0x08f1('0x3d')]){_0x9c2810[_0x08f1('0x3e')]=[{'all':!![]}];}_0x9c2810=_[_0x08f1('0x39')]({},_0x9c2810,_0x634347[_0x08f1('0x3c')]);return db['CmCompany'][_0x08f1('0x45')](_0x9c2810)[_0x08f1('0x23')](handleEntityNotFound(_0x210d5a,null))[_0x08f1('0x23')](respondWithResult(_0x210d5a,null))['catch'](handleError(_0x210d5a,null));};exports[_0x08f1('0x46')]=function(_0x302021,_0x439ee0){return db[_0x08f1('0x2c')][_0x08f1('0x46')](_0x302021['body'],{})[_0x08f1('0x23')](function(_0x595061){var _0x5d96bd=_0x302021[_0x08f1('0x47')][_0x08f1('0x24')]({'plain':!![]});if(!_0x5d96bd)throw new Error(_0x08f1('0x48'));if(_0x5d96bd[_0x08f1('0x49')]==='user'){var _0xe36b35=_0x595061['get']({'plain':!![]});var _0x551ee0=_0x08f1('0x25');return db['UserProfileSection'][_0x08f1('0x45')]({'where':{'name':_0x551ee0,'userProfileId':_0x5d96bd[_0x08f1('0x4a')]},'raw':!![]})['then'](function(_0xbec13c){if(_0xbec13c&&_0xbec13c[_0x08f1('0x4b')]===0x0){return db[_0x08f1('0x26')]['create']({'name':_0xe36b35[_0x08f1('0x2a')],'resourceId':_0xe36b35['id'],'type':_0xbec13c[_0x08f1('0x2a')],'sectionId':_0xbec13c['id']},{})[_0x08f1('0x23')](function(){return _0x595061;});}else{return _0x595061;}})[_0x08f1('0x40')](function(_0x459e16){logger[_0x08f1('0x28')](_0x08f1('0x4c'),_0x459e16);throw _0x459e16;});}return _0x595061;})[_0x08f1('0x23')](respondWithResult(_0x439ee0,0xc9))[_0x08f1('0x40')](handleError(_0x439ee0,null));};exports['update']=function(_0x513f34,_0x2906c3){if(_0x513f34['body']['id']){delete _0x513f34['body']['id'];}return db['CmCompany']['find']({'where':{'id':_0x513f34['params']['id']}})[_0x08f1('0x23')](handleEntityNotFound(_0x2906c3,null))['then'](saveUpdates(_0x513f34[_0x08f1('0x4d')],null))[_0x08f1('0x23')](respondWithResult(_0x2906c3,null))[_0x08f1('0x40')](handleError(_0x2906c3,null));};exports[_0x08f1('0x27')]=function(_0x56f845,_0x1b5aba){return db[_0x08f1('0x2c')]['find']({'where':{'id':_0x56f845[_0x08f1('0x42')]['id']}})['then'](handleEntityNotFound(_0x1b5aba,null))[_0x08f1('0x23')](removeEntity(_0x1b5aba,null))[_0x08f1('0x40')](handleError(_0x1b5aba,null));};exports[_0x08f1('0x4e')]=function(_0x1e09cc,_0xb50c15){return db[_0x08f1('0x2c')][_0x08f1('0x4e')]()['then'](respondWithResult(_0xb50c15,null))[_0x08f1('0x40')](handleError(_0xb50c15,null));};exports[_0x08f1('0x4f')]=function(_0x493fd9,_0x4fe106,_0x32ce99){return db[_0x08f1('0x50')][_0x08f1('0x45')]({'where':{'id':_0x493fd9['params']['id']}})[_0x08f1('0x23')](handleEntityNotFound(_0x4fe106,null))[_0x08f1('0x23')](function(_0xd55fbb){if(_0xd55fbb){return _0xd55fbb['addContacts'](_0x493fd9[_0x08f1('0x4d')]['ids'],_[_0x08f1('0x51')](_0x493fd9['body'],[_0x08f1('0x52'),'id'])||{});}})[_0x08f1('0x23')](respondWithResult(_0x4fe106,null))[_0x08f1('0x40')](handleError(_0x4fe106,null));};exports[_0x08f1('0x53')]=function(_0x5b480d,_0x45fece,_0x19cdd7){var _0xc9457f={};var _0x5aafba={};var _0x5ea46d;var _0x17514c;return db[_0x08f1('0x2c')][_0x08f1('0x54')]({'where':{'id':_0x5b480d[_0x08f1('0x42')]['id']}})[_0x08f1('0x23')](handleEntityNotFound(_0x45fece,null))[_0x08f1('0x23')](function(_0x13d9a9){if(_0x13d9a9){_0x5ea46d=_0x13d9a9;_0x5aafba[_0x08f1('0x30')]=_['keys'](db[_0x08f1('0x50')]['rawAttributes']);_0x5aafba[_0x08f1('0x2d')]=_[_0x08f1('0x2e')](_0x5b480d[_0x08f1('0x2d')]);_0x5aafba[_0x08f1('0x2f')]=_['intersection'](_0x5aafba[_0x08f1('0x30')],_0x5aafba[_0x08f1('0x2d')]);_0xc9457f[_0x08f1('0x32')]=_[_0x08f1('0x44')](_0x5aafba[_0x08f1('0x30')],qs[_0x08f1('0x31')](_0x5b480d[_0x08f1('0x2d')][_0x08f1('0x31')]));_0xc9457f['attributes']=_0xc9457f[_0x08f1('0x32')][_0x08f1('0x33')]?_0xc9457f[_0x08f1('0x32')]:_0x5aafba[_0x08f1('0x30')];_0xc9457f[_0x08f1('0x35')]=qs[_0x08f1('0x36')](_0x5b480d[_0x08f1('0x2d')]['sort']);_0xc9457f['where']=qs[_0x08f1('0x2f')](_[_0x08f1('0x37')](_0x5b480d[_0x08f1('0x2d')],_0x5aafba[_0x08f1('0x2f')]));if(_0x5b480d[_0x08f1('0x2d')]['filter']){_0xc9457f[_0x08f1('0x3a')]=_[_0x08f1('0x39')](_0xc9457f[_0x08f1('0x3a')],{'$or':_[_0x08f1('0x3b')](_0xc9457f['attributes'],function(_0x3c97f5){var _0x3cc7d0={};_0x3cc7d0[_0x3c97f5]={'$like':'%'+_0x5b480d[_0x08f1('0x2d')][_0x08f1('0x38')]+'%'};return _0x3cc7d0;})});}_0xc9457f=_['merge']({},_0xc9457f,_0x5b480d[_0x08f1('0x3c')]);return _0x5ea46d[_0x08f1('0x53')](_0xc9457f);}})[_0x08f1('0x23')](function(_0x4ce899){if(_0x4ce899){_0x17514c=_0x4ce899[_0x08f1('0x33')];if(!_0x5b480d[_0x08f1('0x2d')][_0x08f1('0x55')](_0x08f1('0x34'))){_0xc9457f[_0x08f1('0x1c')]=qs[_0x08f1('0x1c')](_0x5b480d['query'][_0x08f1('0x1c')]);_0xc9457f[_0x08f1('0x1a')]=qs[_0x08f1('0x1a')](_0x5b480d[_0x08f1('0x2d')][_0x08f1('0x1a')]);}return _0x5ea46d[_0x08f1('0x53')](_0xc9457f);}})[_0x08f1('0x23')](function(_0x4b0972){if(_0x4b0972){return _0x4b0972?{'count':_0x17514c,'rows':_0x4b0972}:null;}})[_0x08f1('0x23')](respondWithResult(_0x45fece,null))[_0x08f1('0x40')](handleError(_0x45fece,null));};