Built motion from commit 9d1906d1.|2.5.40
[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 _0xb0f6=['attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filters','filter','merge','VIRTUAL','options','UserProfileSection','includeAll','include','show','find','catch','create','body','params','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','json','apply','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','type','key','query','keys','intersection','model'];(function(_0x2bd4ae,_0x1feddb){var _0x28682a=function(_0x3ee8d0){while(--_0x3ee8d0){_0x2bd4ae['push'](_0x2bd4ae['shift']());}};_0x28682a(++_0x1feddb);}(_0xb0f6,0xfb));var _0x6b0f=function(_0x2310d4,_0x325aca){_0x2310d4=_0x2310d4-0x0;var _0x1c5194=_0xb0f6[_0x2310d4];return _0x1c5194;};'use strict';var emlformat=require(_0x6b0f('0x0'));var rimraf=require(_0x6b0f('0x1'));var zipdir=require(_0x6b0f('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6b0f('0x3'));var moment=require(_0x6b0f('0x4'));var BPromise=require(_0x6b0f('0x5'));var Mustache=require(_0x6b0f('0x6'));var util=require(_0x6b0f('0x7'));var path=require(_0x6b0f('0x8'));var sox=require(_0x6b0f('0x9'));var csv=require('to-csv');var ejs=require(_0x6b0f('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6b0f('0xb'));var squel=require(_0x6b0f('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x6b0f('0xd'));var toCsv=require(_0x6b0f('0xe'));var querystring=require(_0x6b0f('0xf'));var Papa=require('papaparse');var Redis=require(_0x6b0f('0x10'));var authService=require(_0x6b0f('0x11'));var qs=require(_0x6b0f('0x12'));var as=require(_0x6b0f('0x13'));var hardwareService=require(_0x6b0f('0x14'));var logger=require(_0x6b0f('0x15'))(_0x6b0f('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x6b0f('0x17'));var db=require(_0x6b0f('0x18'))['db'];function respondWithStatusCode(_0x3bba24,_0x28b4a7){_0x28b4a7=_0x28b4a7||0xcc;return function(_0xa01999){if(_0xa01999){return _0x3bba24[_0x6b0f('0x19')](_0x28b4a7);}return _0x3bba24[_0x6b0f('0x1a')](_0x28b4a7)[_0x6b0f('0x1b')]();};}function respondWithResult(_0x5aa82e,_0x4f47b7){_0x4f47b7=_0x4f47b7||0xc8;return function(_0x3a6893){if(_0x3a6893){return _0x5aa82e[_0x6b0f('0x1a')](_0x4f47b7)['json'](_0x3a6893);}};}function respondWithFilteredResult(_0x52fcaf,_0x1a69a1){return function(_0x3df093){if(_0x3df093){var _0x475842=typeof _0x1a69a1[_0x6b0f('0x1c')]==='undefined'&&typeof _0x1a69a1['limit']===_0x6b0f('0x1d');var _0x5b1e0f=_0x3df093['count'];var _0x5bd2fc=_0x475842?0x0:_0x1a69a1[_0x6b0f('0x1c')];var _0x250436=_0x475842?_0x3df093[_0x6b0f('0x1e')]:_0x1a69a1[_0x6b0f('0x1c')]+_0x1a69a1[_0x6b0f('0x1f')];var _0x480598;if(_0x250436>=_0x5b1e0f){_0x250436=_0x5b1e0f;_0x480598=0xc8;}else{_0x480598=0xce;}_0x52fcaf[_0x6b0f('0x1a')](_0x480598);return _0x52fcaf[_0x6b0f('0x20')](_0x6b0f('0x21'),_0x5bd2fc+'-'+_0x250436+'/'+_0x5b1e0f)[_0x6b0f('0x22')](_0x3df093);}return null;};}function patchUpdates(_0x32f627){return function(_0x4b7ed6){try{jsonpatch[_0x6b0f('0x23')](_0x4b7ed6,_0x32f627,!![]);}catch(_0x45b3be){return BPromise['reject'](_0x45b3be);}return _0x4b7ed6[_0x6b0f('0x24')]();};}function saveUpdates(_0x48f407,_0x1a8313){return function(_0x2316c4){if(_0x2316c4){return _0x2316c4[_0x6b0f('0x25')](_0x48f407)[_0x6b0f('0x26')](function(_0x1e10a2){return _0x1e10a2;});}return null;};}function removeEntity(_0x4677fb,_0x56b87a){return function(_0xc69617){if(_0xc69617){return _0xc69617[_0x6b0f('0x27')]()[_0x6b0f('0x26')](function(){_0x4677fb[_0x6b0f('0x1a')](0xcc)[_0x6b0f('0x1b')]();});}};}function handleEntityNotFound(_0x17f0aa,_0x115118){return function(_0xec2a43){if(!_0xec2a43){_0x17f0aa[_0x6b0f('0x19')](0x194);}return _0xec2a43;};}function handleError(_0x3d0891,_0x4597fb){_0x4597fb=_0x4597fb||0x1f4;return function(_0xbac9ae){logger[_0x6b0f('0x28')](_0xbac9ae[_0x6b0f('0x29')]);if(_0xbac9ae[_0x6b0f('0x2a')]){delete _0xbac9ae[_0x6b0f('0x2a')];}_0x3d0891[_0x6b0f('0x1a')](_0x4597fb)[_0x6b0f('0x2b')](_0xbac9ae);};}exports[_0x6b0f('0x2c')]=function(_0x16827b,_0x2c19cc){var _0x2a5a94={},_0x4e3ca3={},_0x18b6a5={'count':0x0,'rows':[]};var _0x1466c9=_[_0x6b0f('0x2d')](db['UserProfileSection'][_0x6b0f('0x2e')],function(_0x3049e4){return{'name':_0x3049e4['fieldName'],'type':_0x3049e4[_0x6b0f('0x2f')][_0x6b0f('0x30')]};});_0x4e3ca3['model']=_[_0x6b0f('0x2d')](_0x1466c9,'name');_0x4e3ca3[_0x6b0f('0x31')]=_[_0x6b0f('0x32')](_0x16827b[_0x6b0f('0x31')]);_0x4e3ca3['filters']=_[_0x6b0f('0x33')](_0x4e3ca3[_0x6b0f('0x34')],_0x4e3ca3[_0x6b0f('0x31')]);_0x2a5a94[_0x6b0f('0x35')]=_[_0x6b0f('0x33')](_0x4e3ca3['model'],qs[_0x6b0f('0x36')](_0x16827b['query'][_0x6b0f('0x36')]));_0x2a5a94[_0x6b0f('0x35')]=_0x2a5a94[_0x6b0f('0x35')][_0x6b0f('0x37')]?_0x2a5a94[_0x6b0f('0x35')]:_0x4e3ca3[_0x6b0f('0x34')];if(!_0x16827b[_0x6b0f('0x31')][_0x6b0f('0x38')](_0x6b0f('0x39'))){_0x2a5a94['limit']=qs[_0x6b0f('0x1f')](_0x16827b[_0x6b0f('0x31')]['limit']);_0x2a5a94['offset']=qs['offset'](_0x16827b[_0x6b0f('0x31')][_0x6b0f('0x1c')]);}_0x2a5a94['order']=qs[_0x6b0f('0x3a')](_0x16827b['query'][_0x6b0f('0x3a')]);_0x2a5a94[_0x6b0f('0x3b')]=qs['filters'](_[_0x6b0f('0x3c')](_0x16827b[_0x6b0f('0x31')],_0x4e3ca3[_0x6b0f('0x3d')]),_0x1466c9);if(_0x16827b['query'][_0x6b0f('0x3e')]){_0x2a5a94['where']=_[_0x6b0f('0x3f')](_0x2a5a94[_0x6b0f('0x3b')],{'$or':_[_0x6b0f('0x2d')](_0x1466c9,function(_0x4be65b){if(_0x4be65b[_0x6b0f('0x2f')]!==_0x6b0f('0x40')){var _0x2ef5ce={};_0x2ef5ce[_0x4be65b['name']]={'$like':'%'+_0x16827b['query'][_0x6b0f('0x3e')]+'%'};return _0x2ef5ce;}})});}_0x2a5a94=_[_0x6b0f('0x3f')]({},_0x2a5a94,_0x16827b[_0x6b0f('0x41')]);var _0x41442e={'where':_0x2a5a94[_0x6b0f('0x3b')]};return db[_0x6b0f('0x42')][_0x6b0f('0x1e')](_0x41442e)[_0x6b0f('0x26')](function(_0x304f52){_0x18b6a5[_0x6b0f('0x1e')]=_0x304f52;if(_0x16827b[_0x6b0f('0x31')][_0x6b0f('0x43')]){_0x2a5a94[_0x6b0f('0x44')]=[{'all':!![]}];}return db[_0x6b0f('0x42')]['findAll'](_0x2a5a94);})[_0x6b0f('0x26')](function(_0x144502){_0x18b6a5['rows']=_0x144502;return _0x18b6a5;})[_0x6b0f('0x26')](respondWithFilteredResult(_0x2c19cc,_0x2a5a94))['catch'](handleError(_0x2c19cc,null));};exports[_0x6b0f('0x45')]=function(_0x148591,_0x23f175){var _0x3dce35={'raw':![],'where':{'id':_0x148591['params']['id']}},_0x9ace86={};_0x9ace86[_0x6b0f('0x34')]=_[_0x6b0f('0x32')](db[_0x6b0f('0x42')][_0x6b0f('0x2e')]);_0x9ace86['query']=_[_0x6b0f('0x32')](_0x148591['query']);_0x9ace86['filters']=_['intersection'](_0x9ace86[_0x6b0f('0x34')],_0x9ace86[_0x6b0f('0x31')]);_0x3dce35[_0x6b0f('0x35')]=_[_0x6b0f('0x33')](_0x9ace86[_0x6b0f('0x34')],qs['fields'](_0x148591['query'][_0x6b0f('0x36')]));_0x3dce35['attributes']=_0x3dce35[_0x6b0f('0x35')]['length']?_0x3dce35['attributes']:_0x9ace86[_0x6b0f('0x34')];if(_0x148591[_0x6b0f('0x31')][_0x6b0f('0x43')]){_0x3dce35[_0x6b0f('0x44')]=[{'all':!![]}];}_0x3dce35=_['merge']({},_0x3dce35,_0x148591[_0x6b0f('0x41')]);return db['UserProfileSection'][_0x6b0f('0x46')](_0x3dce35)[_0x6b0f('0x26')](handleEntityNotFound(_0x23f175,null))[_0x6b0f('0x26')](respondWithResult(_0x23f175,null))[_0x6b0f('0x47')](handleError(_0x23f175,null));};exports[_0x6b0f('0x48')]=function(_0x533a9f,_0x2bef33){return db[_0x6b0f('0x42')][_0x6b0f('0x48')](_0x533a9f[_0x6b0f('0x49')],{})[_0x6b0f('0x26')](respondWithResult(_0x2bef33,0xc9))[_0x6b0f('0x47')](handleError(_0x2bef33,null));};exports[_0x6b0f('0x25')]=function(_0x218eb9,_0x9e9ec3){if(_0x218eb9[_0x6b0f('0x49')]['id']){delete _0x218eb9[_0x6b0f('0x49')]['id'];}return db[_0x6b0f('0x42')][_0x6b0f('0x46')]({'where':{'id':_0x218eb9[_0x6b0f('0x4a')]['id']}})[_0x6b0f('0x26')](handleEntityNotFound(_0x9e9ec3,null))[_0x6b0f('0x26')](saveUpdates(_0x218eb9['body'],null))['then'](respondWithResult(_0x9e9ec3,null))[_0x6b0f('0x47')](handleError(_0x9e9ec3,null));};exports[_0x6b0f('0x27')]=function(_0x3b4321,_0x4c6a26){return db[_0x6b0f('0x42')][_0x6b0f('0x46')]({'where':{'id':_0x3b4321[_0x6b0f('0x4a')]['id']}})[_0x6b0f('0x26')](handleEntityNotFound(_0x4c6a26,null))['then'](removeEntity(_0x4c6a26,null))[_0x6b0f('0x47')](handleError(_0x4c6a26,null));};exports[_0x6b0f('0x4b')]=function(_0x32a762,_0x3eec7d){return db[_0x6b0f('0x42')][_0x6b0f('0x4b')]()[_0x6b0f('0x26')](respondWithResult(_0x3eec7d,null))[_0x6b0f('0x47')](handleError(_0x3eec7d,null));};