e3f71173403e1e24fe506a2ca6e22cab613dbe79
[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 _0xde10=['map','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','rawAttributes','filtears','find','create','body','params','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','jsforce','to-csv','querystring','papaparse','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','set','apply','save','update','then','sendStatus','error','stack','name','index','UserProfileResource','key','query','keys','filters','model','attributes','intersection','length','limit','order','sort','pick','filter','merge','where'];(function(_0x4ffb48,_0x39f258){var _0x3cb5c2=function(_0x221cd9){while(--_0x221cd9){_0x4ffb48['push'](_0x4ffb48['shift']());}};_0x3cb5c2(++_0x39f258);}(_0xde10,0x1f4));var _0x0de1=function(_0x1e4b34,_0x23885b){_0x1e4b34=_0x1e4b34-0x0;var _0x5856a0=_0xde10[_0x1e4b34];return _0x5856a0;};'use strict';var pdf=require(_0x0de1('0x0'));var emlformat=require(_0x0de1('0x1'));var rimraf=require(_0x0de1('0x2'));var zipdir=require(_0x0de1('0x3'));var jsonpatch=require(_0x0de1('0x4'));var rp=require(_0x0de1('0x5'));var moment=require(_0x0de1('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x0de1('0x7'));var util=require(_0x0de1('0x8'));var path=require(_0x0de1('0x9'));var sox=require(_0x0de1('0xa'));var csv=require('to-csv');var ejs=require(_0x0de1('0xb'));var fs=require('fs');var _=require(_0x0de1('0xc'));var squel=require(_0x0de1('0xd'));var crypto=require('crypto');var jsforce=require(_0x0de1('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x0de1('0xf'));var querystring=require(_0x0de1('0x10'));var Papa=require(_0x0de1('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x0de1('0x12'));var licenseUtil=require(_0x0de1('0x13'));var db=require(_0x0de1('0x14'))['db'];function respondWithStatusCode(_0x3585d8,_0x288a08){_0x288a08=_0x288a08||0xcc;return function(_0xa3b445){if(_0xa3b445){return _0x3585d8['sendStatus'](_0x288a08);}return _0x3585d8[_0x0de1('0x15')](_0x288a08)[_0x0de1('0x16')]();};}function respondWithResult(_0x204769,_0x3dfeff){_0x3dfeff=_0x3dfeff||0xc8;return function(_0x2f0deb){if(_0x2f0deb){return _0x204769['status'](_0x3dfeff)[_0x0de1('0x17')](_0x2f0deb);}};}function respondWithFilteredResult(_0x314e64,_0x137d33){return function(_0x8d54b){if(_0x8d54b){var _0x107e6e=_0x8d54b[_0x0de1('0x18')],_0x55c17f=_0x137d33['offset'],_0x19a4e6=_0x137d33[_0x0de1('0x19')]+_0x137d33['limit'],_0x4425f5;if(_0x19a4e6>=_0x107e6e){_0x19a4e6=_0x107e6e;_0x4425f5=0xc8;}else{_0x4425f5=0xce;}_0x314e64[_0x0de1('0x15')](_0x4425f5);return _0x314e64[_0x0de1('0x1a')]('Content-Range',_0x55c17f+'-'+_0x19a4e6+'/'+_0x107e6e)[_0x0de1('0x17')](_0x8d54b);}return null;};}function patchUpdates(_0xe9b737){return function(_0x3754a9){try{jsonpatch[_0x0de1('0x1b')](_0x3754a9,_0xe9b737,!![]);}catch(_0x53db6f){return BPromise['reject'](_0x53db6f);}return _0x3754a9[_0x0de1('0x1c')]();};}function saveUpdates(_0x302353,_0x267cf6){return function(_0x15e6c7){if(_0x15e6c7){return _0x15e6c7[_0x0de1('0x1d')](_0x302353)[_0x0de1('0x1e')](function(_0x521be0){return _0x521be0;});}return null;};}function removeEntity(_0x2aca40,_0x4c342e){return function(_0x326190){if(_0x326190){return _0x326190['destroy']()[_0x0de1('0x1e')](function(){_0x2aca40[_0x0de1('0x15')](0xcc)[_0x0de1('0x16')]();});}};}function handleEntityNotFound(_0x4a6113,_0x504ffd){return function(_0x49c363){if(!_0x49c363){_0x4a6113[_0x0de1('0x1f')](0x194);}return _0x49c363;};}function handleError(_0xb98feb,_0x5820ec){_0x5820ec=_0x5820ec||0x1f4;return function(_0x3b5bf4){logger[_0x0de1('0x20')](_0x3b5bf4[_0x0de1('0x21')]);if(_0x3b5bf4[_0x0de1('0x22')]){delete _0x3b5bf4[_0x0de1('0x22')];}_0xb98feb[_0x0de1('0x15')](_0x5820ec)['send'](_0x3b5bf4);};}exports[_0x0de1('0x23')]=function(_0x33dbed,_0x2f32bc){var _0x306087={},_0x60527e={},_0x1f0622={'count':0x0,'rows':[]};var _0x3a338f=_['map'](db[_0x0de1('0x24')]['rawAttributes'],function(_0x9583ad){return{'name':_0x9583ad['fieldName'],'type':_0x9583ad['type'][_0x0de1('0x25')]};});_0x60527e['model']=_['map'](_0x3a338f,_0x0de1('0x22'));_0x60527e[_0x0de1('0x26')]=_[_0x0de1('0x27')](_0x33dbed['query']);_0x60527e[_0x0de1('0x28')]=_['intersection'](_0x60527e[_0x0de1('0x29')],_0x60527e[_0x0de1('0x26')]);_0x306087[_0x0de1('0x2a')]=_[_0x0de1('0x2b')](_0x60527e[_0x0de1('0x29')],qs['fields'](_0x33dbed[_0x0de1('0x26')]['fields']));_0x306087[_0x0de1('0x2a')]=_0x306087['attributes'][_0x0de1('0x2c')]?_0x306087['attributes']:_0x60527e[_0x0de1('0x29')];if(!_0x33dbed[_0x0de1('0x26')]['hasOwnProperty']('nolimit')){_0x306087[_0x0de1('0x2d')]=qs[_0x0de1('0x2d')](_0x33dbed['query'][_0x0de1('0x2d')]);_0x306087[_0x0de1('0x19')]=qs['offset'](_0x33dbed[_0x0de1('0x26')][_0x0de1('0x19')]);}_0x306087[_0x0de1('0x2e')]=qs[_0x0de1('0x2f')](_0x33dbed['query'][_0x0de1('0x2f')]);_0x306087['where']=qs['filters'](_[_0x0de1('0x30')](_0x33dbed[_0x0de1('0x26')],_0x60527e[_0x0de1('0x28')]),_0x3a338f);if(_0x33dbed['query'][_0x0de1('0x31')]){_0x306087['where']=_[_0x0de1('0x32')](_0x306087[_0x0de1('0x33')],{'$or':_[_0x0de1('0x34')](_0x3a338f,function(_0xfecddb){if(_0xfecddb[_0x0de1('0x35')]!==_0x0de1('0x36')){var _0xa5af8d={};_0xa5af8d[_0xfecddb[_0x0de1('0x22')]]={'$like':'%'+_0x33dbed[_0x0de1('0x26')][_0x0de1('0x31')]+'%'};return _0xa5af8d;}})});}_0x306087=_['merge']({},_0x306087,_0x33dbed[_0x0de1('0x37')]);var _0x16a098={'where':_0x306087[_0x0de1('0x33')]};return db[_0x0de1('0x24')][_0x0de1('0x18')](_0x16a098)[_0x0de1('0x1e')](function(_0x241f48){_0x1f0622[_0x0de1('0x18')]=_0x241f48;if(_0x33dbed['query'][_0x0de1('0x38')]){_0x306087[_0x0de1('0x39')]=[{'all':!![]}];}return db[_0x0de1('0x24')][_0x0de1('0x3a')](_0x306087);})[_0x0de1('0x1e')](function(_0xd1a109){_0x1f0622[_0x0de1('0x3b')]=_0xd1a109;return _0x1f0622;})['then'](respondWithFilteredResult(_0x2f32bc,_0x306087))[_0x0de1('0x3c')](handleError(_0x2f32bc,null));};exports[_0x0de1('0x3d')]=function(_0x33eb35,_0x498394){var _0x3d1289={'raw':![],'where':{'id':_0x33eb35['params']['id']}},_0x3df196={};_0x3df196[_0x0de1('0x29')]=_[_0x0de1('0x27')](db[_0x0de1('0x24')][_0x0de1('0x3e')]);_0x3df196[_0x0de1('0x26')]=_[_0x0de1('0x27')](_0x33eb35[_0x0de1('0x26')]);_0x3df196[_0x0de1('0x3f')]=_['intersection'](_0x3df196[_0x0de1('0x29')],_0x3df196[_0x0de1('0x26')]);_0x3d1289[_0x0de1('0x2a')]=_['intersection'](_0x3df196['model'],qs['fields'](_0x33eb35[_0x0de1('0x26')]['fields']));_0x3d1289[_0x0de1('0x2a')]=_0x3d1289['attributes'][_0x0de1('0x2c')]?_0x3d1289[_0x0de1('0x2a')]:_0x3df196[_0x0de1('0x29')];if(_0x33eb35['query'][_0x0de1('0x38')]){_0x3d1289[_0x0de1('0x39')]=[{'all':!![]}];}_0x3d1289=_[_0x0de1('0x32')]({},_0x3d1289,_0x33eb35[_0x0de1('0x37')]);return db[_0x0de1('0x24')][_0x0de1('0x40')](_0x3d1289)[_0x0de1('0x1e')](handleEntityNotFound(_0x498394,null))[_0x0de1('0x1e')](respondWithResult(_0x498394,null))[_0x0de1('0x3c')](handleError(_0x498394,null));};exports['create']=function(_0x5680e6,_0x4df5d5){return db['UserProfileResource'][_0x0de1('0x41')](_0x5680e6[_0x0de1('0x42')],{})['then'](respondWithResult(_0x4df5d5,0xc9))[_0x0de1('0x3c')](handleError(_0x4df5d5,null));};exports[_0x0de1('0x1d')]=function(_0x5016b3,_0x4b6794){if(_0x5016b3['body']['id']){delete _0x5016b3['body']['id'];}return db[_0x0de1('0x24')]['find']({'where':{'id':_0x5016b3[_0x0de1('0x43')]['id']}})[_0x0de1('0x1e')](handleEntityNotFound(_0x4b6794,null))[_0x0de1('0x1e')](saveUpdates(_0x5016b3[_0x0de1('0x42')],null))[_0x0de1('0x1e')](respondWithResult(_0x4b6794,null))[_0x0de1('0x3c')](handleError(_0x4b6794,null));};exports['destroy']=function(_0x4c5945,_0xdea37e){return db['UserProfileResource'][_0x0de1('0x40')]({'where':{'id':_0x4c5945['params']['id']}})[_0x0de1('0x1e')](handleEntityNotFound(_0xdea37e,null))['then'](removeEntity(_0xdea37e,null))[_0x0de1('0x3c')](handleError(_0xdea37e,null));};exports[_0x0de1('0x44')]=function(_0x43f869,_0x320957){return db[_0x0de1('0x24')][_0x0de1('0x44')]()['then'](respondWithResult(_0x320957,null))[_0x0de1('0x3c')](handleError(_0x320957,null));};