7c4e90348a7667d35d6d9ec58c9a6f20a23e9d33
[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 _0x2675=['count','offset','limit','set','json','apply','reject','save','then','error','stack','name','send','index','map','UserProfileResource','rawAttributes','type','key','model','query','keys','attributes','intersection','fields','length','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','include','findAll','rows','params','includeAll','create','body','catch','find','destroy','describe','html-pdf','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x133a4e,_0x20a143){var _0x56ea0f=function(_0x19f985){while(--_0x19f985){_0x133a4e['push'](_0x133a4e['shift']());}};_0x56ea0f(++_0x20a143);}(_0x2675,0x75));var _0x5267=function(_0x23f697,_0x32e627){_0x23f697=_0x23f697-0x0;var _0x30628=_0x2675[_0x23f697];return _0x30628;};'use strict';var pdf=require(_0x5267('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x5267('0x1'));var rp=require(_0x5267('0x2'));var moment=require('moment');var BPromise=require(_0x5267('0x3'));var Mustache=require(_0x5267('0x4'));var util=require('util');var path=require(_0x5267('0x5'));var sox=require(_0x5267('0x6'));var csv=require(_0x5267('0x7'));var ejs=require(_0x5267('0x8'));var fs=require('fs');var _=require(_0x5267('0x9'));var squel=require(_0x5267('0xa'));var crypto=require('crypto');var jsforce=require(_0x5267('0xb'));var deskjs=require(_0x5267('0xc'));var toCsv=require('to-csv');var querystring=require(_0x5267('0xd'));var Papa=require('papaparse');var Redis=require(_0x5267('0xe'));var authService=require(_0x5267('0xf'));var qs=require(_0x5267('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5267('0x11'));var logger=require('../../config/logger')(_0x5267('0x12'));var utils=require('../../config/utils');var config=require(_0x5267('0x13'));var licenseUtil=require(_0x5267('0x14'));var db=require(_0x5267('0x15'))['db'];function respondWithStatusCode(_0x1f9be3,_0x1d7090){_0x1d7090=_0x1d7090||0xcc;return function(_0x1171b9){if(_0x1171b9){return _0x1f9be3[_0x5267('0x16')](_0x1d7090);}return _0x1f9be3[_0x5267('0x17')](_0x1d7090)[_0x5267('0x18')]();};}function respondWithResult(_0x1e2d3b,_0x16e5a7){_0x16e5a7=_0x16e5a7||0xc8;return function(_0x29349a){if(_0x29349a){return _0x1e2d3b[_0x5267('0x17')](_0x16e5a7)['json'](_0x29349a);}};}function respondWithFilteredResult(_0x52e24e,_0xa593fb){return function(_0x40d897){if(_0x40d897){var _0x38a147=_0x40d897[_0x5267('0x19')],_0x3f5344=_0xa593fb[_0x5267('0x1a')],_0x46b2c2=_0xa593fb[_0x5267('0x1a')]+_0xa593fb[_0x5267('0x1b')],_0x27e5c6;if(_0x46b2c2>=_0x38a147){_0x46b2c2=_0x38a147;_0x27e5c6=0xc8;}else{_0x27e5c6=0xce;}_0x52e24e[_0x5267('0x17')](_0x27e5c6);return _0x52e24e[_0x5267('0x1c')]('Content-Range',_0x3f5344+'-'+_0x46b2c2+'/'+_0x38a147)[_0x5267('0x1d')](_0x40d897);}return null;};}function patchUpdates(_0x2afd38){return function(_0x5069e8){try{jsonpatch[_0x5267('0x1e')](_0x5069e8,_0x2afd38,!![]);}catch(_0x56733e){return BPromise[_0x5267('0x1f')](_0x56733e);}return _0x5069e8[_0x5267('0x20')]();};}function saveUpdates(_0x39c0c3,_0x2a9f99){return function(_0x5ca9c6){if(_0x5ca9c6){return _0x5ca9c6['update'](_0x39c0c3)[_0x5267('0x21')](function(_0x5aebdd){return _0x5aebdd;});}return null;};}function removeEntity(_0xa32663,_0x420fb8){return function(_0x3b53ac){if(_0x3b53ac){return _0x3b53ac['destroy']()['then'](function(){_0xa32663['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5ea6a6,_0x26c7f8){return function(_0x399e64){if(!_0x399e64){_0x5ea6a6[_0x5267('0x16')](0x194);}return _0x399e64;};}function handleError(_0x279377,_0x11c8ea){_0x11c8ea=_0x11c8ea||0x1f4;return function(_0x40d1be){logger[_0x5267('0x22')](_0x40d1be[_0x5267('0x23')]);if(_0x40d1be[_0x5267('0x24')]){delete _0x40d1be['name'];}_0x279377['status'](_0x11c8ea)[_0x5267('0x25')](_0x40d1be);};}exports[_0x5267('0x26')]=function(_0x5abf95,_0x45373e){var _0x52504e={},_0x4d7c2a={},_0x43e7e7={'count':0x0,'rows':[]};var _0x273769=_[_0x5267('0x27')](db[_0x5267('0x28')][_0x5267('0x29')],function(_0x4f3d4d){return{'name':_0x4f3d4d['fieldName'],'type':_0x4f3d4d[_0x5267('0x2a')][_0x5267('0x2b')]};});_0x4d7c2a[_0x5267('0x2c')]=_['map'](_0x273769,'name');_0x4d7c2a[_0x5267('0x2d')]=_[_0x5267('0x2e')](_0x5abf95[_0x5267('0x2d')]);_0x4d7c2a['filters']=_['intersection'](_0x4d7c2a[_0x5267('0x2c')],_0x4d7c2a[_0x5267('0x2d')]);_0x52504e[_0x5267('0x2f')]=_[_0x5267('0x30')](_0x4d7c2a['model'],qs[_0x5267('0x31')](_0x5abf95[_0x5267('0x2d')][_0x5267('0x31')]));_0x52504e[_0x5267('0x2f')]=_0x52504e[_0x5267('0x2f')][_0x5267('0x32')]?_0x52504e[_0x5267('0x2f')]:_0x4d7c2a[_0x5267('0x2c')];if(!_0x5abf95['query']['hasOwnProperty'](_0x5267('0x33'))){_0x52504e['limit']=qs[_0x5267('0x1b')](_0x5abf95[_0x5267('0x2d')][_0x5267('0x1b')]);_0x52504e[_0x5267('0x1a')]=qs['offset'](_0x5abf95[_0x5267('0x2d')][_0x5267('0x1a')]);}_0x52504e[_0x5267('0x34')]=qs[_0x5267('0x35')](_0x5abf95[_0x5267('0x2d')][_0x5267('0x35')]);_0x52504e[_0x5267('0x36')]=qs[_0x5267('0x37')](_['pick'](_0x5abf95[_0x5267('0x2d')],_0x4d7c2a['filters']),_0x273769);if(_0x5abf95[_0x5267('0x2d')][_0x5267('0x38')]){_0x52504e[_0x5267('0x36')]=_[_0x5267('0x39')](_0x52504e[_0x5267('0x36')],{'$or':_[_0x5267('0x27')](_0x273769,function(_0x465ad9){if(_0x465ad9['type']!==_0x5267('0x3a')){var _0x3a2e07={};_0x3a2e07[_0x465ad9[_0x5267('0x24')]]={'$like':'%'+_0x5abf95[_0x5267('0x2d')][_0x5267('0x38')]+'%'};return _0x3a2e07;}})});}_0x52504e=_[_0x5267('0x39')]({},_0x52504e,_0x5abf95[_0x5267('0x3b')]);var _0x487dfc={'where':_0x52504e[_0x5267('0x36')]};return db['UserProfileResource'][_0x5267('0x19')](_0x487dfc)['then'](function(_0x4dee66){_0x43e7e7['count']=_0x4dee66;if(_0x5abf95[_0x5267('0x2d')]['includeAll']){_0x52504e[_0x5267('0x3c')]=[{'all':!![]}];}return db[_0x5267('0x28')][_0x5267('0x3d')](_0x52504e);})[_0x5267('0x21')](function(_0x552b81){_0x43e7e7[_0x5267('0x3e')]=_0x552b81;return _0x43e7e7;})[_0x5267('0x21')](respondWithFilteredResult(_0x45373e,_0x52504e))['catch'](handleError(_0x45373e,null));};exports['show']=function(_0x3e1483,_0x560cdf){var _0x12df83={'raw':![],'where':{'id':_0x3e1483[_0x5267('0x3f')]['id']}},_0x1cf94a={};_0x1cf94a[_0x5267('0x2c')]=_[_0x5267('0x2e')](db[_0x5267('0x28')][_0x5267('0x29')]);_0x1cf94a['query']=_['keys'](_0x3e1483[_0x5267('0x2d')]);_0x1cf94a['filters']=_[_0x5267('0x30')](_0x1cf94a[_0x5267('0x2c')],_0x1cf94a['query']);_0x12df83[_0x5267('0x2f')]=_[_0x5267('0x30')](_0x1cf94a[_0x5267('0x2c')],qs[_0x5267('0x31')](_0x3e1483[_0x5267('0x2d')][_0x5267('0x31')]));_0x12df83[_0x5267('0x2f')]=_0x12df83[_0x5267('0x2f')][_0x5267('0x32')]?_0x12df83['attributes']:_0x1cf94a[_0x5267('0x2c')];if(_0x3e1483[_0x5267('0x2d')][_0x5267('0x40')]){_0x12df83[_0x5267('0x3c')]=[{'all':!![]}];}_0x12df83=_[_0x5267('0x39')]({},_0x12df83,_0x3e1483['options']);return db[_0x5267('0x28')]['find'](_0x12df83)[_0x5267('0x21')](handleEntityNotFound(_0x560cdf,null))['then'](respondWithResult(_0x560cdf,null))['catch'](handleError(_0x560cdf,null));};exports[_0x5267('0x41')]=function(_0x56d33f,_0x3f2609){return db[_0x5267('0x28')][_0x5267('0x41')](_0x56d33f[_0x5267('0x42')],{})['then'](respondWithResult(_0x3f2609,0xc9))[_0x5267('0x43')](handleError(_0x3f2609,null));};exports['update']=function(_0x4b8db5,_0x2c7e31){if(_0x4b8db5[_0x5267('0x42')]['id']){delete _0x4b8db5['body']['id'];}return db['UserProfileResource'][_0x5267('0x44')]({'where':{'id':_0x4b8db5[_0x5267('0x3f')]['id']}})[_0x5267('0x21')](handleEntityNotFound(_0x2c7e31,null))[_0x5267('0x21')](saveUpdates(_0x4b8db5[_0x5267('0x42')],null))[_0x5267('0x21')](respondWithResult(_0x2c7e31,null))[_0x5267('0x43')](handleError(_0x2c7e31,null));};exports[_0x5267('0x45')]=function(_0x4332c7,_0x2cfe09){return db[_0x5267('0x28')][_0x5267('0x44')]({'where':{'id':_0x4332c7[_0x5267('0x3f')]['id']}})[_0x5267('0x21')](handleEntityNotFound(_0x2cfe09,null))['then'](removeEntity(_0x2cfe09,null))[_0x5267('0x43')](handleError(_0x2cfe09,null));};exports[_0x5267('0x46')]=function(_0x371486,_0x4f0148){return db[_0x5267('0x28')][_0x5267('0x46')]()[_0x5267('0x21')](respondWithResult(_0x4f0148,null))[_0x5267('0x43')](handleError(_0x4f0148,null));};