6670d536727b032cdfa8bba9b543aa69af0a9169
[motion2.git] / server / api / userProfileResource / userProfileResource.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 _0xf2ca=['util','sox','to-csv','ejs','lodash','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','set','apply','reject','update','then','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','where','pick','merge','type','filter','options','UserProfileResource','count','includeAll','include','rows','catch','show','params','length','create','body','find','destroy','describe','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x40dd56,_0x726ca5){var _0x4f850f=function(_0x5f899e){while(--_0x5f899e){_0x40dd56['push'](_0x40dd56['shift']());}};_0x4f850f(++_0x726ca5);}(_0xf2ca,0x16a));var _0xaf2c=function(_0x3e27ba,_0x46b120){_0x3e27ba=_0x3e27ba-0x0;var _0x10b3f2=_0xf2ca[_0x3e27ba];return _0x10b3f2;};'use strict';var pdf=require(_0xaf2c('0x0'));var emlformat=require(_0xaf2c('0x1'));var rimraf=require(_0xaf2c('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xaf2c('0x3'));var rp=require(_0xaf2c('0x4'));var moment=require(_0xaf2c('0x5'));var BPromise=require(_0xaf2c('0x6'));var Mustache=require(_0xaf2c('0x7'));var util=require(_0xaf2c('0x8'));var path=require('path');var sox=require(_0xaf2c('0x9'));var csv=require(_0xaf2c('0xa'));var ejs=require(_0xaf2c('0xb'));var fs=require('fs');var _=require(_0xaf2c('0xc'));var squel=require('squel');var crypto=require(_0xaf2c('0xd'));var jsforce=require(_0xaf2c('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xaf2c('0xa'));var querystring=require('querystring');var Papa=require(_0xaf2c('0xf'));var Redis=require('ioredis');var authService=require(_0xaf2c('0x10'));var qs=require(_0xaf2c('0x11'));var as=require(_0xaf2c('0x12'));var hardwareService=require(_0xaf2c('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0xaf2c('0x14'));var config=require(_0xaf2c('0x15'));var licenseUtil=require(_0xaf2c('0x16'));var db=require(_0xaf2c('0x17'))['db'];function respondWithStatusCode(_0x285dac,_0x59a59b){_0x59a59b=_0x59a59b||0xcc;return function(_0x590126){if(_0x590126){return _0x285dac[_0xaf2c('0x18')](_0x59a59b);}return _0x285dac[_0xaf2c('0x19')](_0x59a59b)[_0xaf2c('0x1a')]();};}function respondWithResult(_0x18a8a5,_0x293ca6){_0x293ca6=_0x293ca6||0xc8;return function(_0x152c73){if(_0x152c73){return _0x18a8a5[_0xaf2c('0x19')](_0x293ca6)[_0xaf2c('0x1b')](_0x152c73);}};}function respondWithFilteredResult(_0x2119c8,_0x1d0633){return function(_0x6ac8e){if(_0x6ac8e){var _0x2b4d13=_0x6ac8e['count'],_0x26bf7b=_0x1d0633[_0xaf2c('0x1c')],_0x3432e4=_0x1d0633['offset']+_0x1d0633[_0xaf2c('0x1d')],_0x705d09;if(_0x3432e4>=_0x2b4d13){_0x3432e4=_0x2b4d13;_0x705d09=0xc8;}else{_0x705d09=0xce;}_0x2119c8[_0xaf2c('0x19')](_0x705d09);return _0x2119c8[_0xaf2c('0x1e')]('Content-Range',_0x26bf7b+'-'+_0x3432e4+'/'+_0x2b4d13)[_0xaf2c('0x1b')](_0x6ac8e);}return null;};}function patchUpdates(_0x297bcd){return function(_0x1fec4c){try{jsonpatch[_0xaf2c('0x1f')](_0x1fec4c,_0x297bcd,!![]);}catch(_0x3f977c){return BPromise[_0xaf2c('0x20')](_0x3f977c);}return _0x1fec4c['save']();};}function saveUpdates(_0x35e712,_0x164bcb){return function(_0x8ffe13){if(_0x8ffe13){return _0x8ffe13[_0xaf2c('0x21')](_0x35e712)[_0xaf2c('0x22')](function(_0x486de2){return _0x486de2;});}return null;};}function removeEntity(_0x396646,_0xbf6f62){return function(_0x18153c){if(_0x18153c){return _0x18153c['destroy']()['then'](function(){_0x396646[_0xaf2c('0x19')](0xcc)[_0xaf2c('0x1a')]();});}};}function handleEntityNotFound(_0x1cafad,_0x99f78d){return function(_0x591aff){if(!_0x591aff){_0x1cafad[_0xaf2c('0x18')](0x194);}return _0x591aff;};}function handleError(_0xf1a7cf,_0x3a0145){_0x3a0145=_0x3a0145||0x1f4;return function(_0x3c1ae6){logger[_0xaf2c('0x23')](_0x3c1ae6[_0xaf2c('0x24')]);if(_0x3c1ae6[_0xaf2c('0x25')]){delete _0x3c1ae6['name'];}_0xf1a7cf[_0xaf2c('0x19')](_0x3a0145)[_0xaf2c('0x26')](_0x3c1ae6);};}exports[_0xaf2c('0x27')]=function(_0x410536,_0x4b7cf2){var _0x3fb190={},_0x589d47={},_0x38db1b={'count':0x0,'rows':[]};var _0x42f980=_[_0xaf2c('0x28')](db['UserProfileResource'][_0xaf2c('0x29')],function(_0x2ea490){return{'name':_0x2ea490[_0xaf2c('0x2a')],'type':_0x2ea490['type'][_0xaf2c('0x2b')]};});_0x589d47[_0xaf2c('0x2c')]=_[_0xaf2c('0x28')](_0x42f980,_0xaf2c('0x25'));_0x589d47['query']=_[_0xaf2c('0x2d')](_0x410536[_0xaf2c('0x2e')]);_0x589d47[_0xaf2c('0x2f')]=_['intersection'](_0x589d47['model'],_0x589d47[_0xaf2c('0x2e')]);_0x3fb190['attributes']=_[_0xaf2c('0x30')](_0x589d47['model'],qs[_0xaf2c('0x31')](_0x410536[_0xaf2c('0x2e')]['fields']));_0x3fb190[_0xaf2c('0x32')]=_0x3fb190[_0xaf2c('0x32')]['length']?_0x3fb190[_0xaf2c('0x32')]:_0x589d47[_0xaf2c('0x2c')];if(!_0x410536[_0xaf2c('0x2e')][_0xaf2c('0x33')](_0xaf2c('0x34'))){_0x3fb190[_0xaf2c('0x1d')]=qs['limit'](_0x410536[_0xaf2c('0x2e')]['limit']);_0x3fb190[_0xaf2c('0x1c')]=qs['offset'](_0x410536[_0xaf2c('0x2e')]['offset']);}_0x3fb190[_0xaf2c('0x35')]=qs['sort'](_0x410536[_0xaf2c('0x2e')]['sort']);_0x3fb190[_0xaf2c('0x36')]=qs[_0xaf2c('0x2f')](_[_0xaf2c('0x37')](_0x410536[_0xaf2c('0x2e')],_0x589d47[_0xaf2c('0x2f')]),_0x42f980);if(_0x410536['query']['filter']){_0x3fb190[_0xaf2c('0x36')]=_[_0xaf2c('0x38')](_0x3fb190[_0xaf2c('0x36')],{'$or':_[_0xaf2c('0x28')](_0x42f980,function(_0x4eeecf){if(_0x4eeecf[_0xaf2c('0x39')]!=='VIRTUAL'){var _0xa1248e={};_0xa1248e[_0x4eeecf[_0xaf2c('0x25')]]={'$like':'%'+_0x410536['query'][_0xaf2c('0x3a')]+'%'};return _0xa1248e;}})});}_0x3fb190=_[_0xaf2c('0x38')]({},_0x3fb190,_0x410536[_0xaf2c('0x3b')]);var _0x71c597={'where':_0x3fb190[_0xaf2c('0x36')]};return db[_0xaf2c('0x3c')][_0xaf2c('0x3d')](_0x71c597)[_0xaf2c('0x22')](function(_0x296ca8){_0x38db1b[_0xaf2c('0x3d')]=_0x296ca8;if(_0x410536[_0xaf2c('0x2e')][_0xaf2c('0x3e')]){_0x3fb190[_0xaf2c('0x3f')]=[{'all':!![]}];}return db['UserProfileResource']['findAll'](_0x3fb190);})['then'](function(_0x189809){_0x38db1b[_0xaf2c('0x40')]=_0x189809;return _0x38db1b;})[_0xaf2c('0x22')](respondWithFilteredResult(_0x4b7cf2,_0x3fb190))[_0xaf2c('0x41')](handleError(_0x4b7cf2,null));};exports[_0xaf2c('0x42')]=function(_0x29460c,_0x51c441){var _0x1d58bd={'raw':![],'where':{'id':_0x29460c[_0xaf2c('0x43')]['id']}},_0x78632a={};_0x78632a['model']=_['keys'](db[_0xaf2c('0x3c')]['rawAttributes']);_0x78632a[_0xaf2c('0x2e')]=_[_0xaf2c('0x2d')](_0x29460c[_0xaf2c('0x2e')]);_0x78632a[_0xaf2c('0x2f')]=_['intersection'](_0x78632a[_0xaf2c('0x2c')],_0x78632a['query']);_0x1d58bd[_0xaf2c('0x32')]=_[_0xaf2c('0x30')](_0x78632a['model'],qs[_0xaf2c('0x31')](_0x29460c['query'][_0xaf2c('0x31')]));_0x1d58bd[_0xaf2c('0x32')]=_0x1d58bd[_0xaf2c('0x32')][_0xaf2c('0x44')]?_0x1d58bd[_0xaf2c('0x32')]:_0x78632a[_0xaf2c('0x2c')];if(_0x29460c[_0xaf2c('0x2e')][_0xaf2c('0x3e')]){_0x1d58bd[_0xaf2c('0x3f')]=[{'all':!![]}];}_0x1d58bd=_['merge']({},_0x1d58bd,_0x29460c['options']);return db[_0xaf2c('0x3c')]['find'](_0x1d58bd)['then'](handleEntityNotFound(_0x51c441,null))['then'](respondWithResult(_0x51c441,null))[_0xaf2c('0x41')](handleError(_0x51c441,null));};exports[_0xaf2c('0x45')]=function(_0x3cabd4,_0x35315e){return db['UserProfileResource'][_0xaf2c('0x45')](_0x3cabd4['body'],{})[_0xaf2c('0x22')](respondWithResult(_0x35315e,0xc9))['catch'](handleError(_0x35315e,null));};exports[_0xaf2c('0x21')]=function(_0x133e8c,_0x2d01b7){if(_0x133e8c[_0xaf2c('0x46')]['id']){delete _0x133e8c[_0xaf2c('0x46')]['id'];}return db['UserProfileResource'][_0xaf2c('0x47')]({'where':{'id':_0x133e8c[_0xaf2c('0x43')]['id']}})['then'](handleEntityNotFound(_0x2d01b7,null))['then'](saveUpdates(_0x133e8c[_0xaf2c('0x46')],null))['then'](respondWithResult(_0x2d01b7,null))[_0xaf2c('0x41')](handleError(_0x2d01b7,null));};exports[_0xaf2c('0x48')]=function(_0x17b9ec,_0x315b9f){return db[_0xaf2c('0x3c')][_0xaf2c('0x47')]({'where':{'id':_0x17b9ec[_0xaf2c('0x43')]['id']}})[_0xaf2c('0x22')](handleEntityNotFound(_0x315b9f,null))[_0xaf2c('0x22')](removeEntity(_0x315b9f,null))[_0xaf2c('0x41')](handleError(_0x315b9f,null));};exports[_0xaf2c('0x49')]=function(_0x5bf349,_0x22919a){return db[_0xaf2c('0x3c')]['describe']()['then'](respondWithResult(_0x22919a,null))['catch'](handleError(_0x22919a,null));};