17c8adf033e6972ee43c41783de13e95501ab7f5
[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 _0x8ef6=['nolimit','offset','order','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','params','create','body','find','destroy','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','count','limit','reject','save','then','stack','send','index','map','UserProfileResource','rawAttributes','fieldName','type','model','name','keys','filters','intersection','attributes','fields','query','length'];(function(_0x3a6ffb,_0x595598){var _0x38441e=function(_0x4b3c36){while(--_0x4b3c36){_0x3a6ffb['push'](_0x3a6ffb['shift']());}};_0x38441e(++_0x595598);}(_0x8ef6,0xf2));var _0x68ef=function(_0x4e8940,_0x3735a7){_0x4e8940=_0x4e8940-0x0;var _0x376a4f=_0x8ef6[_0x4e8940];return _0x376a4f;};'use strict';var pdf=require(_0x68ef('0x0'));var emlformat=require(_0x68ef('0x1'));var rimraf=require(_0x68ef('0x2'));var zipdir=require(_0x68ef('0x3'));var jsonpatch=require(_0x68ef('0x4'));var rp=require(_0x68ef('0x5'));var moment=require(_0x68ef('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x68ef('0x7'));var util=require(_0x68ef('0x8'));var path=require(_0x68ef('0x9'));var sox=require(_0x68ef('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x68ef('0xb'));var squel=require(_0x68ef('0xc'));var crypto=require(_0x68ef('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x68ef('0xe'));var toCsv=require(_0x68ef('0xf'));var querystring=require(_0x68ef('0x10'));var Papa=require(_0x68ef('0x11'));var Redis=require(_0x68ef('0x12'));var authService=require(_0x68ef('0x13'));var qs=require(_0x68ef('0x14'));var as=require(_0x68ef('0x15'));var hardwareService=require(_0x68ef('0x16'));var logger=require(_0x68ef('0x17'))(_0x68ef('0x18'));var utils=require(_0x68ef('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0x68ef('0x1a'));var db=require(_0x68ef('0x1b'))['db'];function respondWithStatusCode(_0x1e117a,_0x454ef4){_0x454ef4=_0x454ef4||0xcc;return function(_0x40f253){if(_0x40f253){return _0x1e117a[_0x68ef('0x1c')](_0x454ef4);}return _0x1e117a['status'](_0x454ef4)[_0x68ef('0x1d')]();};}function respondWithResult(_0xc50cce,_0x2657c5){_0x2657c5=_0x2657c5||0xc8;return function(_0x47fbb5){if(_0x47fbb5){return _0xc50cce[_0x68ef('0x1e')](_0x2657c5)[_0x68ef('0x1f')](_0x47fbb5);}};}function respondWithFilteredResult(_0x24682d,_0x5005ba){return function(_0x35493d){if(_0x35493d){var _0x37c4cc=_0x35493d[_0x68ef('0x20')],_0x3d1e90=_0x5005ba['offset'],_0x3780a4=_0x5005ba['offset']+_0x5005ba[_0x68ef('0x21')],_0x5c4456;if(_0x3780a4>=_0x37c4cc){_0x3780a4=_0x37c4cc;_0x5c4456=0xc8;}else{_0x5c4456=0xce;}_0x24682d[_0x68ef('0x1e')](_0x5c4456);return _0x24682d['set']('Content-Range',_0x3d1e90+'-'+_0x3780a4+'/'+_0x37c4cc)[_0x68ef('0x1f')](_0x35493d);}return null;};}function patchUpdates(_0x2cd92c){return function(_0x318514){try{jsonpatch['apply'](_0x318514,_0x2cd92c,!![]);}catch(_0x1dc49c){return BPromise[_0x68ef('0x22')](_0x1dc49c);}return _0x318514[_0x68ef('0x23')]();};}function saveUpdates(_0x5b246b,_0x3c46d4){return function(_0x3be4c0){if(_0x3be4c0){return _0x3be4c0['update'](_0x5b246b)[_0x68ef('0x24')](function(_0xf4760f){return _0xf4760f;});}return null;};}function removeEntity(_0x19aa3d,_0x5ddec7){return function(_0x59723c){if(_0x59723c){return _0x59723c['destroy']()[_0x68ef('0x24')](function(){_0x19aa3d[_0x68ef('0x1e')](0xcc)[_0x68ef('0x1d')]();});}};}function handleEntityNotFound(_0x2e6e39,_0x438b4c){return function(_0xfe2595){if(!_0xfe2595){_0x2e6e39[_0x68ef('0x1c')](0x194);}return _0xfe2595;};}function handleError(_0x49374f,_0x65fd09){_0x65fd09=_0x65fd09||0x1f4;return function(_0x13280b){logger['error'](_0x13280b[_0x68ef('0x25')]);if(_0x13280b['name']){delete _0x13280b['name'];}_0x49374f['status'](_0x65fd09)[_0x68ef('0x26')](_0x13280b);};}exports[_0x68ef('0x27')]=function(_0x123041,_0x29518e){var _0x52e67e={},_0x4a0550={},_0x1cbe4f={'count':0x0,'rows':[]};var _0x28907a=_[_0x68ef('0x28')](db[_0x68ef('0x29')][_0x68ef('0x2a')],function(_0x201884){return{'name':_0x201884[_0x68ef('0x2b')],'type':_0x201884[_0x68ef('0x2c')]['key']};});_0x4a0550[_0x68ef('0x2d')]=_[_0x68ef('0x28')](_0x28907a,_0x68ef('0x2e'));_0x4a0550['query']=_[_0x68ef('0x2f')](_0x123041['query']);_0x4a0550[_0x68ef('0x30')]=_[_0x68ef('0x31')](_0x4a0550['model'],_0x4a0550['query']);_0x52e67e[_0x68ef('0x32')]=_[_0x68ef('0x31')](_0x4a0550['model'],qs[_0x68ef('0x33')](_0x123041[_0x68ef('0x34')][_0x68ef('0x33')]));_0x52e67e[_0x68ef('0x32')]=_0x52e67e['attributes'][_0x68ef('0x35')]?_0x52e67e[_0x68ef('0x32')]:_0x4a0550['model'];if(!_0x123041[_0x68ef('0x34')]['hasOwnProperty'](_0x68ef('0x36'))){_0x52e67e[_0x68ef('0x21')]=qs['limit'](_0x123041[_0x68ef('0x34')]['limit']);_0x52e67e[_0x68ef('0x37')]=qs['offset'](_0x123041[_0x68ef('0x34')][_0x68ef('0x37')]);}_0x52e67e[_0x68ef('0x38')]=qs['sort'](_0x123041[_0x68ef('0x34')]['sort']);_0x52e67e[_0x68ef('0x39')]=qs['filters'](_[_0x68ef('0x3a')](_0x123041[_0x68ef('0x34')],_0x4a0550[_0x68ef('0x30')]),_0x28907a);if(_0x123041[_0x68ef('0x34')][_0x68ef('0x3b')]){_0x52e67e[_0x68ef('0x39')]=_['merge'](_0x52e67e[_0x68ef('0x39')],{'$or':_[_0x68ef('0x28')](_0x28907a,function(_0x32074a){if(_0x32074a['type']!==_0x68ef('0x3c')){var _0x3c5de6={};_0x3c5de6[_0x32074a[_0x68ef('0x2e')]]={'$like':'%'+_0x123041['query']['filter']+'%'};return _0x3c5de6;}})});}_0x52e67e=_[_0x68ef('0x3d')]({},_0x52e67e,_0x123041[_0x68ef('0x3e')]);var _0x36213a={'where':_0x52e67e[_0x68ef('0x39')]};return db[_0x68ef('0x29')][_0x68ef('0x20')](_0x36213a)[_0x68ef('0x24')](function(_0x5b1246){_0x1cbe4f[_0x68ef('0x20')]=_0x5b1246;if(_0x123041[_0x68ef('0x34')][_0x68ef('0x3f')]){_0x52e67e[_0x68ef('0x40')]=[{'all':!![]}];}return db['UserProfileResource'][_0x68ef('0x41')](_0x52e67e);})[_0x68ef('0x24')](function(_0xcf595d){_0x1cbe4f[_0x68ef('0x42')]=_0xcf595d;return _0x1cbe4f;})[_0x68ef('0x24')](respondWithFilteredResult(_0x29518e,_0x52e67e))[_0x68ef('0x43')](handleError(_0x29518e,null));};exports['show']=function(_0x3f000f,_0x3f7699){var _0xf5010c={'raw':![],'where':{'id':_0x3f000f[_0x68ef('0x44')]['id']}},_0x43796b={};_0x43796b[_0x68ef('0x2d')]=_[_0x68ef('0x2f')](db[_0x68ef('0x29')][_0x68ef('0x2a')]);_0x43796b['query']=_[_0x68ef('0x2f')](_0x3f000f[_0x68ef('0x34')]);_0x43796b[_0x68ef('0x30')]=_[_0x68ef('0x31')](_0x43796b[_0x68ef('0x2d')],_0x43796b[_0x68ef('0x34')]);_0xf5010c[_0x68ef('0x32')]=_['intersection'](_0x43796b[_0x68ef('0x2d')],qs['fields'](_0x3f000f[_0x68ef('0x34')][_0x68ef('0x33')]));_0xf5010c[_0x68ef('0x32')]=_0xf5010c[_0x68ef('0x32')]['length']?_0xf5010c[_0x68ef('0x32')]:_0x43796b['model'];if(_0x3f000f[_0x68ef('0x34')]['includeAll']){_0xf5010c[_0x68ef('0x40')]=[{'all':!![]}];}_0xf5010c=_[_0x68ef('0x3d')]({},_0xf5010c,_0x3f000f[_0x68ef('0x3e')]);return db['UserProfileResource']['find'](_0xf5010c)[_0x68ef('0x24')](handleEntityNotFound(_0x3f7699,null))[_0x68ef('0x24')](respondWithResult(_0x3f7699,null))['catch'](handleError(_0x3f7699,null));};exports['create']=function(_0x4b4d6b,_0xe547c){return db[_0x68ef('0x29')][_0x68ef('0x45')](_0x4b4d6b[_0x68ef('0x46')],{})[_0x68ef('0x24')](respondWithResult(_0xe547c,0xc9))['catch'](handleError(_0xe547c,null));};exports['update']=function(_0xc39f5b,_0x21f064){if(_0xc39f5b[_0x68ef('0x46')]['id']){delete _0xc39f5b[_0x68ef('0x46')]['id'];}return db['UserProfileResource'][_0x68ef('0x47')]({'where':{'id':_0xc39f5b[_0x68ef('0x44')]['id']}})[_0x68ef('0x24')](handleEntityNotFound(_0x21f064,null))[_0x68ef('0x24')](saveUpdates(_0xc39f5b['body'],null))['then'](respondWithResult(_0x21f064,null))[_0x68ef('0x43')](handleError(_0x21f064,null));};exports[_0x68ef('0x48')]=function(_0x566e7c,_0xfc7a74){return db[_0x68ef('0x29')][_0x68ef('0x47')]({'where':{'id':_0x566e7c[_0x68ef('0x44')]['id']}})[_0x68ef('0x24')](handleEntityNotFound(_0xfc7a74,null))['then'](removeEntity(_0xfc7a74,null))[_0x68ef('0x43')](handleError(_0xfc7a74,null));};exports[_0x68ef('0x49')]=function(_0x340bfb,_0x581ac1){return db[_0x68ef('0x29')][_0x68ef('0x49')]()[_0x68ef('0x24')](respondWithResult(_0x581ac1,null))['catch'](handleError(_0x581ac1,null));};