86d1d0f7efb8831768d8e9c5760f6cfb679a1076
[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 _0x4a0a=['include','catch','show','params','create','body','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','end','sendStatus','error','stack','name','send','index','map','UserProfileSection','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll'];(function(_0x5d8a0f,_0x36c1da){var _0x19b518=function(_0x205da6){while(--_0x205da6){_0x5d8a0f['push'](_0x5d8a0f['shift']());}};_0x19b518(++_0x36c1da);}(_0x4a0a,0xec));var _0xa4a0=function(_0x413feb,_0x10477f){_0x413feb=_0x413feb-0x0;var _0x40ee88=_0x4a0a[_0x413feb];return _0x40ee88;};'use strict';var emlformat=require(_0xa4a0('0x0'));var rimraf=require(_0xa4a0('0x1'));var zipdir=require(_0xa4a0('0x2'));var jsonpatch=require(_0xa4a0('0x3'));var rp=require(_0xa4a0('0x4'));var moment=require(_0xa4a0('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xa4a0('0x6'));var util=require(_0xa4a0('0x7'));var path=require(_0xa4a0('0x8'));var sox=require(_0xa4a0('0x9'));var csv=require('to-csv');var ejs=require(_0xa4a0('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa4a0('0xb'));var squel=require(_0xa4a0('0xc'));var crypto=require('crypto');var jsforce=require(_0xa4a0('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xa4a0('0xe'));var querystring=require(_0xa4a0('0xf'));var Papa=require('papaparse');var Redis=require(_0xa4a0('0x10'));var authService=require(_0xa4a0('0x11'));var qs=require(_0xa4a0('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa4a0('0x13'));var logger=require(_0xa4a0('0x14'))(_0xa4a0('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xa4a0('0x16'));var db=require(_0xa4a0('0x17'))['db'];function respondWithStatusCode(_0x4b1851,_0x10aaad){_0x10aaad=_0x10aaad||0xcc;return function(_0x1943d3){if(_0x1943d3){return _0x4b1851['sendStatus'](_0x10aaad);}return _0x4b1851['status'](_0x10aaad)['end']();};}function respondWithResult(_0x5e913e,_0x86648f){_0x86648f=_0x86648f||0xc8;return function(_0x3b54ea){if(_0x3b54ea){return _0x5e913e[_0xa4a0('0x18')](_0x86648f)[_0xa4a0('0x19')](_0x3b54ea);}};}function respondWithFilteredResult(_0x3032cb,_0x3a4e70){return function(_0x442068){if(_0x442068){var _0x484166=typeof _0x3a4e70[_0xa4a0('0x1a')]===_0xa4a0('0x1b')&&typeof _0x3a4e70[_0xa4a0('0x1c')]===_0xa4a0('0x1b');var _0x58884a=_0x442068[_0xa4a0('0x1d')];var _0x1cc0cb=_0x484166?0x0:_0x3a4e70[_0xa4a0('0x1a')];var _0x5d8d43=_0x484166?_0x442068[_0xa4a0('0x1d')]:_0x3a4e70['offset']+_0x3a4e70[_0xa4a0('0x1c')];var _0x255fb0;if(_0x5d8d43>=_0x58884a){_0x5d8d43=_0x58884a;_0x255fb0=0xc8;}else{_0x255fb0=0xce;}_0x3032cb[_0xa4a0('0x18')](_0x255fb0);return _0x3032cb[_0xa4a0('0x1e')](_0xa4a0('0x1f'),_0x1cc0cb+'-'+_0x5d8d43+'/'+_0x58884a)[_0xa4a0('0x19')](_0x442068);}return null;};}function patchUpdates(_0x5dcd8b){return function(_0x170094){try{jsonpatch['apply'](_0x170094,_0x5dcd8b,!![]);}catch(_0x584c46){return BPromise[_0xa4a0('0x20')](_0x584c46);}return _0x170094[_0xa4a0('0x21')]();};}function saveUpdates(_0x16f573,_0x9497b6){return function(_0x120414){if(_0x120414){return _0x120414[_0xa4a0('0x22')](_0x16f573)[_0xa4a0('0x23')](function(_0x405b3d){return _0x405b3d;});}return null;};}function removeEntity(_0x2b7e61,_0x3933aa){return function(_0x2166df){if(_0x2166df){return _0x2166df[_0xa4a0('0x24')]()[_0xa4a0('0x23')](function(){_0x2b7e61[_0xa4a0('0x18')](0xcc)[_0xa4a0('0x25')]();});}};}function handleEntityNotFound(_0x5e017e,_0x40cd1b){return function(_0x226fae){if(!_0x226fae){_0x5e017e[_0xa4a0('0x26')](0x194);}return _0x226fae;};}function handleError(_0x3dba5d,_0x1c40bc){_0x1c40bc=_0x1c40bc||0x1f4;return function(_0xe339de){logger[_0xa4a0('0x27')](_0xe339de[_0xa4a0('0x28')]);if(_0xe339de[_0xa4a0('0x29')]){delete _0xe339de[_0xa4a0('0x29')];}_0x3dba5d['status'](_0x1c40bc)[_0xa4a0('0x2a')](_0xe339de);};}exports[_0xa4a0('0x2b')]=function(_0x1af0d1,_0x25ffcf){var _0xf70f1f={},_0x25e259={},_0x482e22={'count':0x0,'rows':[]};var _0x36c23b=_[_0xa4a0('0x2c')](db[_0xa4a0('0x2d')][_0xa4a0('0x2e')],function(_0x53505e){return{'name':_0x53505e[_0xa4a0('0x2f')],'type':_0x53505e[_0xa4a0('0x30')][_0xa4a0('0x31')]};});_0x25e259[_0xa4a0('0x32')]=_[_0xa4a0('0x2c')](_0x36c23b,'name');_0x25e259[_0xa4a0('0x33')]=_[_0xa4a0('0x34')](_0x1af0d1[_0xa4a0('0x33')]);_0x25e259[_0xa4a0('0x35')]=_[_0xa4a0('0x36')](_0x25e259['model'],_0x25e259[_0xa4a0('0x33')]);_0xf70f1f[_0xa4a0('0x37')]=_[_0xa4a0('0x36')](_0x25e259[_0xa4a0('0x32')],qs['fields'](_0x1af0d1[_0xa4a0('0x33')][_0xa4a0('0x38')]));_0xf70f1f[_0xa4a0('0x37')]=_0xf70f1f[_0xa4a0('0x37')][_0xa4a0('0x39')]?_0xf70f1f['attributes']:_0x25e259['model'];if(!_0x1af0d1[_0xa4a0('0x33')][_0xa4a0('0x3a')](_0xa4a0('0x3b'))){_0xf70f1f[_0xa4a0('0x1c')]=qs[_0xa4a0('0x1c')](_0x1af0d1[_0xa4a0('0x33')][_0xa4a0('0x1c')]);_0xf70f1f['offset']=qs['offset'](_0x1af0d1['query'][_0xa4a0('0x1a')]);}_0xf70f1f[_0xa4a0('0x3c')]=qs[_0xa4a0('0x3d')](_0x1af0d1[_0xa4a0('0x33')]['sort']);_0xf70f1f['where']=qs[_0xa4a0('0x35')](_['pick'](_0x1af0d1[_0xa4a0('0x33')],_0x25e259[_0xa4a0('0x35')]),_0x36c23b);if(_0x1af0d1[_0xa4a0('0x33')][_0xa4a0('0x3e')]){_0xf70f1f[_0xa4a0('0x3f')]=_[_0xa4a0('0x40')](_0xf70f1f[_0xa4a0('0x3f')],{'$or':_['map'](_0x36c23b,function(_0x376100){if(_0x376100[_0xa4a0('0x30')]!==_0xa4a0('0x41')){var _0x703a5e={};_0x703a5e[_0x376100[_0xa4a0('0x29')]]={'$like':'%'+_0x1af0d1[_0xa4a0('0x33')][_0xa4a0('0x3e')]+'%'};return _0x703a5e;}})});}_0xf70f1f=_['merge']({},_0xf70f1f,_0x1af0d1[_0xa4a0('0x42')]);var _0x268d43={'where':_0xf70f1f[_0xa4a0('0x3f')]};return db[_0xa4a0('0x2d')][_0xa4a0('0x1d')](_0x268d43)['then'](function(_0x430c2a){_0x482e22[_0xa4a0('0x1d')]=_0x430c2a;if(_0x1af0d1['query'][_0xa4a0('0x43')]){_0xf70f1f[_0xa4a0('0x44')]=[{'all':!![]}];}return db[_0xa4a0('0x2d')]['findAll'](_0xf70f1f);})[_0xa4a0('0x23')](function(_0x20edf3){_0x482e22['rows']=_0x20edf3;return _0x482e22;})[_0xa4a0('0x23')](respondWithFilteredResult(_0x25ffcf,_0xf70f1f))[_0xa4a0('0x45')](handleError(_0x25ffcf,null));};exports[_0xa4a0('0x46')]=function(_0x335d40,_0x745096){var _0x1220b4={'raw':![],'where':{'id':_0x335d40[_0xa4a0('0x47')]['id']}},_0x41df3f={};_0x41df3f[_0xa4a0('0x32')]=_[_0xa4a0('0x34')](db['UserProfileSection'][_0xa4a0('0x2e')]);_0x41df3f[_0xa4a0('0x33')]=_[_0xa4a0('0x34')](_0x335d40[_0xa4a0('0x33')]);_0x41df3f['filters']=_[_0xa4a0('0x36')](_0x41df3f[_0xa4a0('0x32')],_0x41df3f['query']);_0x1220b4[_0xa4a0('0x37')]=_['intersection'](_0x41df3f[_0xa4a0('0x32')],qs[_0xa4a0('0x38')](_0x335d40[_0xa4a0('0x33')]['fields']));_0x1220b4[_0xa4a0('0x37')]=_0x1220b4[_0xa4a0('0x37')][_0xa4a0('0x39')]?_0x1220b4[_0xa4a0('0x37')]:_0x41df3f[_0xa4a0('0x32')];if(_0x335d40[_0xa4a0('0x33')][_0xa4a0('0x43')]){_0x1220b4[_0xa4a0('0x44')]=[{'all':!![]}];}_0x1220b4=_[_0xa4a0('0x40')]({},_0x1220b4,_0x335d40[_0xa4a0('0x42')]);return db[_0xa4a0('0x2d')]['find'](_0x1220b4)[_0xa4a0('0x23')](handleEntityNotFound(_0x745096,null))[_0xa4a0('0x23')](respondWithResult(_0x745096,null))[_0xa4a0('0x45')](handleError(_0x745096,null));};exports['create']=function(_0x571590,_0xc4dfd7){return db[_0xa4a0('0x2d')][_0xa4a0('0x48')](_0x571590[_0xa4a0('0x49')],{})['then'](respondWithResult(_0xc4dfd7,0xc9))['catch'](handleError(_0xc4dfd7,null));};exports['update']=function(_0x1739cd,_0x23928d){if(_0x1739cd[_0xa4a0('0x49')]['id']){delete _0x1739cd[_0xa4a0('0x49')]['id'];}return db['UserProfileSection'][_0xa4a0('0x4a')]({'where':{'id':_0x1739cd[_0xa4a0('0x47')]['id']}})[_0xa4a0('0x23')](handleEntityNotFound(_0x23928d,null))['then'](saveUpdates(_0x1739cd[_0xa4a0('0x49')],null))['then'](respondWithResult(_0x23928d,null))[_0xa4a0('0x45')](handleError(_0x23928d,null));};exports[_0xa4a0('0x24')]=function(_0x429e26,_0x43efc3){return db[_0xa4a0('0x2d')][_0xa4a0('0x4a')]({'where':{'id':_0x429e26[_0xa4a0('0x47')]['id']}})['then'](handleEntityNotFound(_0x43efc3,null))[_0xa4a0('0x23')](removeEntity(_0x43efc3,null))[_0xa4a0('0x45')](handleError(_0x43efc3,null));};exports[_0xa4a0('0x4b')]=function(_0x278fc4,_0x5df33d){return db[_0xa4a0('0x2d')][_0xa4a0('0x4b')]()['then'](respondWithResult(_0x5df33d,null))[_0xa4a0('0x45')](handleError(_0x5df33d,null));};