4e0117b029aa46ea61d77dde1b16bab9691ac756
[motion2.git] / server / api / userProfileSection / userProfileSection.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 _0x23ec=['status','end','json','offset','limit','undefined','count','set','apply','reject','then','destroy','error','stack','name','send','index','map','UserProfileSection','rawAttributes','fieldName','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','includeAll','include','catch','show','params','find','create','body','update','describe','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus'];(function(_0x452d22,_0x267a8e){var _0x3d31dd=function(_0x31007a){while(--_0x31007a){_0x452d22['push'](_0x452d22['shift']());}};_0x3d31dd(++_0x267a8e);}(_0x23ec,0x1e7));var _0xc23e=function(_0x38b360,_0x42dc2a){_0x38b360=_0x38b360-0x0;var _0x28e9f7=_0x23ec[_0x38b360];return _0x28e9f7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc23e('0x0'));var zipdir=require(_0xc23e('0x1'));var jsonpatch=require(_0xc23e('0x2'));var rp=require('request-promise');var moment=require(_0xc23e('0x3'));var BPromise=require(_0xc23e('0x4'));var Mustache=require(_0xc23e('0x5'));var util=require(_0xc23e('0x6'));var path=require(_0xc23e('0x7'));var sox=require(_0xc23e('0x8'));var csv=require(_0xc23e('0x9'));var ejs=require(_0xc23e('0xa'));var fs=require('fs');var fs_extra=require(_0xc23e('0xb'));var _=require(_0xc23e('0xc'));var squel=require(_0xc23e('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xc23e('0x9'));var querystring=require('querystring');var Papa=require(_0xc23e('0xe'));var Redis=require('ioredis');var authService=require(_0xc23e('0xf'));var qs=require(_0xc23e('0x10'));var as=require(_0xc23e('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc23e('0x12'))(_0xc23e('0x13'));var utils=require(_0xc23e('0x14'));var config=require(_0xc23e('0x15'));var licenseUtil=require(_0xc23e('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xf05d81,_0x37a19b){_0x37a19b=_0x37a19b||0xcc;return function(_0x527fae){if(_0x527fae){return _0xf05d81[_0xc23e('0x17')](_0x37a19b);}return _0xf05d81[_0xc23e('0x18')](_0x37a19b)[_0xc23e('0x19')]();};}function respondWithResult(_0x83d03f,_0x217bce){_0x217bce=_0x217bce||0xc8;return function(_0x3bfc61){if(_0x3bfc61){return _0x83d03f[_0xc23e('0x18')](_0x217bce)[_0xc23e('0x1a')](_0x3bfc61);}};}function respondWithFilteredResult(_0x26d99e,_0x502c20){return function(_0x4673ee){if(_0x4673ee){var _0x9b4292=typeof _0x502c20[_0xc23e('0x1b')]==='undefined'&&typeof _0x502c20[_0xc23e('0x1c')]===_0xc23e('0x1d');var _0x5c1773=_0x4673ee[_0xc23e('0x1e')];var _0x3580ad=_0x9b4292?0x0:_0x502c20[_0xc23e('0x1b')];var _0x5a3be6=_0x9b4292?_0x4673ee[_0xc23e('0x1e')]:_0x502c20[_0xc23e('0x1b')]+_0x502c20['limit'];var _0xa7b65c;if(_0x5a3be6>=_0x5c1773){_0x5a3be6=_0x5c1773;_0xa7b65c=0xc8;}else{_0xa7b65c=0xce;}_0x26d99e[_0xc23e('0x18')](_0xa7b65c);return _0x26d99e[_0xc23e('0x1f')]('Content-Range',_0x3580ad+'-'+_0x5a3be6+'/'+_0x5c1773)[_0xc23e('0x1a')](_0x4673ee);}return null;};}function patchUpdates(_0x4b974c){return function(_0x5d700d){try{jsonpatch[_0xc23e('0x20')](_0x5d700d,_0x4b974c,!![]);}catch(_0x30a0d6){return BPromise[_0xc23e('0x21')](_0x30a0d6);}return _0x5d700d['save']();};}function saveUpdates(_0x4e376c,_0x2ae763){return function(_0x12f7ca){if(_0x12f7ca){return _0x12f7ca['update'](_0x4e376c)[_0xc23e('0x22')](function(_0x334cf3){return _0x334cf3;});}return null;};}function removeEntity(_0x2f500a,_0xa3e1de){return function(_0x5a1b0d){if(_0x5a1b0d){return _0x5a1b0d[_0xc23e('0x23')]()[_0xc23e('0x22')](function(){_0x2f500a[_0xc23e('0x18')](0xcc)[_0xc23e('0x19')]();});}};}function handleEntityNotFound(_0x58c3b2,_0x2c5efb){return function(_0x3d4940){if(!_0x3d4940){_0x58c3b2[_0xc23e('0x17')](0x194);}return _0x3d4940;};}function handleError(_0x84e99a,_0x16b73c){_0x16b73c=_0x16b73c||0x1f4;return function(_0x333993){logger[_0xc23e('0x24')](_0x333993[_0xc23e('0x25')]);if(_0x333993[_0xc23e('0x26')]){delete _0x333993['name'];}_0x84e99a[_0xc23e('0x18')](_0x16b73c)[_0xc23e('0x27')](_0x333993);};}exports[_0xc23e('0x28')]=function(_0x3d1a22,_0x135ab0){var _0x340fb1={},_0x22d140={},_0x346931={'count':0x0,'rows':[]};var _0x3a1740=_[_0xc23e('0x29')](db[_0xc23e('0x2a')][_0xc23e('0x2b')],function(_0x5002e1){return{'name':_0x5002e1[_0xc23e('0x2c')],'type':_0x5002e1['type'][_0xc23e('0x2d')]};});_0x22d140[_0xc23e('0x2e')]=_[_0xc23e('0x29')](_0x3a1740,_0xc23e('0x26'));_0x22d140[_0xc23e('0x2f')]=_[_0xc23e('0x30')](_0x3d1a22['query']);_0x22d140['filters']=_[_0xc23e('0x31')](_0x22d140[_0xc23e('0x2e')],_0x22d140[_0xc23e('0x2f')]);_0x340fb1['attributes']=_['intersection'](_0x22d140['model'],qs[_0xc23e('0x32')](_0x3d1a22[_0xc23e('0x2f')]['fields']));_0x340fb1[_0xc23e('0x33')]=_0x340fb1[_0xc23e('0x33')][_0xc23e('0x34')]?_0x340fb1[_0xc23e('0x33')]:_0x22d140[_0xc23e('0x2e')];if(!_0x3d1a22['query'][_0xc23e('0x35')](_0xc23e('0x36'))){_0x340fb1[_0xc23e('0x1c')]=qs[_0xc23e('0x1c')](_0x3d1a22[_0xc23e('0x2f')][_0xc23e('0x1c')]);_0x340fb1[_0xc23e('0x1b')]=qs[_0xc23e('0x1b')](_0x3d1a22[_0xc23e('0x2f')][_0xc23e('0x1b')]);}_0x340fb1[_0xc23e('0x37')]=qs[_0xc23e('0x38')](_0x3d1a22[_0xc23e('0x2f')][_0xc23e('0x38')]);_0x340fb1[_0xc23e('0x39')]=qs[_0xc23e('0x3a')](_['pick'](_0x3d1a22[_0xc23e('0x2f')],_0x22d140[_0xc23e('0x3a')]),_0x3a1740);if(_0x3d1a22[_0xc23e('0x2f')][_0xc23e('0x3b')]){_0x340fb1[_0xc23e('0x39')]=_[_0xc23e('0x3c')](_0x340fb1[_0xc23e('0x39')],{'$or':_[_0xc23e('0x29')](_0x3a1740,function(_0xd881c0){if(_0xd881c0['type']!==_0xc23e('0x3d')){var _0x30807b={};_0x30807b[_0xd881c0['name']]={'$like':'%'+_0x3d1a22[_0xc23e('0x2f')][_0xc23e('0x3b')]+'%'};return _0x30807b;}})});}_0x340fb1=_[_0xc23e('0x3c')]({},_0x340fb1,_0x3d1a22[_0xc23e('0x3e')]);var _0x18c611={'where':_0x340fb1[_0xc23e('0x39')]};return db['UserProfileSection'][_0xc23e('0x1e')](_0x18c611)[_0xc23e('0x22')](function(_0x2450f0){_0x346931[_0xc23e('0x1e')]=_0x2450f0;if(_0x3d1a22[_0xc23e('0x2f')][_0xc23e('0x3f')]){_0x340fb1[_0xc23e('0x40')]=[{'all':!![]}];}return db[_0xc23e('0x2a')]['findAll'](_0x340fb1);})['then'](function(_0x532a0){_0x346931['rows']=_0x532a0;return _0x346931;})[_0xc23e('0x22')](respondWithFilteredResult(_0x135ab0,_0x340fb1))[_0xc23e('0x41')](handleError(_0x135ab0,null));};exports[_0xc23e('0x42')]=function(_0x1f83ad,_0x3b1524){var _0x5d745d={'raw':![],'where':{'id':_0x1f83ad[_0xc23e('0x43')]['id']}},_0x47438c={};_0x47438c[_0xc23e('0x2e')]=_[_0xc23e('0x30')](db[_0xc23e('0x2a')][_0xc23e('0x2b')]);_0x47438c[_0xc23e('0x2f')]=_[_0xc23e('0x30')](_0x1f83ad[_0xc23e('0x2f')]);_0x47438c[_0xc23e('0x3a')]=_[_0xc23e('0x31')](_0x47438c[_0xc23e('0x2e')],_0x47438c['query']);_0x5d745d[_0xc23e('0x33')]=_[_0xc23e('0x31')](_0x47438c[_0xc23e('0x2e')],qs[_0xc23e('0x32')](_0x1f83ad[_0xc23e('0x2f')][_0xc23e('0x32')]));_0x5d745d[_0xc23e('0x33')]=_0x5d745d[_0xc23e('0x33')]['length']?_0x5d745d[_0xc23e('0x33')]:_0x47438c[_0xc23e('0x2e')];if(_0x1f83ad['query'][_0xc23e('0x3f')]){_0x5d745d[_0xc23e('0x40')]=[{'all':!![]}];}_0x5d745d=_[_0xc23e('0x3c')]({},_0x5d745d,_0x1f83ad[_0xc23e('0x3e')]);return db[_0xc23e('0x2a')][_0xc23e('0x44')](_0x5d745d)[_0xc23e('0x22')](handleEntityNotFound(_0x3b1524,null))[_0xc23e('0x22')](respondWithResult(_0x3b1524,null))[_0xc23e('0x41')](handleError(_0x3b1524,null));};exports[_0xc23e('0x45')]=function(_0x182503,_0x8ca5f0){return db[_0xc23e('0x2a')][_0xc23e('0x45')](_0x182503[_0xc23e('0x46')],{})['then'](respondWithResult(_0x8ca5f0,0xc9))[_0xc23e('0x41')](handleError(_0x8ca5f0,null));};exports[_0xc23e('0x47')]=function(_0x5cfb4d,_0x5f41d1){if(_0x5cfb4d[_0xc23e('0x46')]['id']){delete _0x5cfb4d[_0xc23e('0x46')]['id'];}return db[_0xc23e('0x2a')][_0xc23e('0x44')]({'where':{'id':_0x5cfb4d[_0xc23e('0x43')]['id']}})['then'](handleEntityNotFound(_0x5f41d1,null))[_0xc23e('0x22')](saveUpdates(_0x5cfb4d[_0xc23e('0x46')],null))[_0xc23e('0x22')](respondWithResult(_0x5f41d1,null))[_0xc23e('0x41')](handleError(_0x5f41d1,null));};exports[_0xc23e('0x23')]=function(_0x296ebe,_0x2af354){return db[_0xc23e('0x2a')]['find']({'where':{'id':_0x296ebe[_0xc23e('0x43')]['id']}})['then'](handleEntityNotFound(_0x2af354,null))['then'](removeEntity(_0x2af354,null))['catch'](handleError(_0x2af354,null));};exports[_0xc23e('0x48')]=function(_0x585517,_0x3e3e7b){return db[_0xc23e('0x2a')][_0xc23e('0x48')]()['then'](respondWithResult(_0x3e3e7b,null))[_0xc23e('0x41')](handleError(_0x3e3e7b,null));};