a355e800f7129b1e65e32ca38f9aa97673ce70b3
[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 _0xd056=['create','body','find','describe','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','filters','filter','where','merge','VIRTUAL','options','UserProfileResource','includeAll','include','findAll','rows','show','params','filtears','catch'];(function(_0x20c9b2,_0x55d7b1){var _0x2c6030=function(_0x10845f){while(--_0x10845f){_0x20c9b2['push'](_0x20c9b2['shift']());}};_0x2c6030(++_0x55d7b1);}(_0xd056,0x124));var _0x6d05=function(_0x1db92a,_0x560664){_0x1db92a=_0x1db92a-0x0;var _0x125a40=_0xd056[_0x1db92a];return _0x125a40;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x6d05('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6d05('0x1'));var jsonpatch=require(_0x6d05('0x2'));var rp=require(_0x6d05('0x3'));var moment=require('moment');var BPromise=require(_0x6d05('0x4'));var Mustache=require(_0x6d05('0x5'));var util=require('util');var path=require(_0x6d05('0x6'));var sox=require(_0x6d05('0x7'));var csv=require(_0x6d05('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6d05('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x6d05('0xa'));var deskjs=require(_0x6d05('0xb'));var toCsv=require('to-csv');var querystring=require(_0x6d05('0xc'));var Papa=require(_0x6d05('0xd'));var Redis=require(_0x6d05('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x6d05('0xf'));var as=require(_0x6d05('0x10'));var hardwareService=require(_0x6d05('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x6d05('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x6d05('0x13'));var db=require(_0x6d05('0x14'))['db'];function respondWithStatusCode(_0x27ab96,_0x37eae0){_0x37eae0=_0x37eae0||0xcc;return function(_0x54e0c8){if(_0x54e0c8){return _0x27ab96['sendStatus'](_0x37eae0);}return _0x27ab96[_0x6d05('0x15')](_0x37eae0)[_0x6d05('0x16')]();};}function respondWithResult(_0x1d6b36,_0x2bb9cb){_0x2bb9cb=_0x2bb9cb||0xc8;return function(_0x5a4012){if(_0x5a4012){return _0x1d6b36[_0x6d05('0x15')](_0x2bb9cb)[_0x6d05('0x17')](_0x5a4012);}};}function respondWithFilteredResult(_0x47c745,_0x1185cd){return function(_0x46e6a8){if(_0x46e6a8){var _0x1b1ccc=_0x46e6a8[_0x6d05('0x18')],_0x465615=_0x1185cd[_0x6d05('0x19')],_0x5dbe2f=_0x1185cd[_0x6d05('0x19')]+_0x1185cd[_0x6d05('0x1a')],_0xcf9190;if(_0x5dbe2f>=_0x1b1ccc){_0x5dbe2f=_0x1b1ccc;_0xcf9190=0xc8;}else{_0xcf9190=0xce;}_0x47c745[_0x6d05('0x15')](_0xcf9190);return _0x47c745['set'](_0x6d05('0x1b'),_0x465615+'-'+_0x5dbe2f+'/'+_0x1b1ccc)[_0x6d05('0x17')](_0x46e6a8);}return null;};}function patchUpdates(_0x3d6228){return function(_0x476649){try{jsonpatch[_0x6d05('0x1c')](_0x476649,_0x3d6228,!![]);}catch(_0x17494b){return BPromise[_0x6d05('0x1d')](_0x17494b);}return _0x476649[_0x6d05('0x1e')]();};}function saveUpdates(_0x3fc03d,_0x213743){return function(_0x1439d8){if(_0x1439d8){return _0x1439d8[_0x6d05('0x1f')](_0x3fc03d)[_0x6d05('0x20')](function(_0x8a90fd){return _0x8a90fd;});}return null;};}function removeEntity(_0x4fc9f0,_0x20c3ee){return function(_0x50d244){if(_0x50d244){return _0x50d244[_0x6d05('0x21')]()[_0x6d05('0x20')](function(){_0x4fc9f0[_0x6d05('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e9ac8,_0x265bc5){return function(_0x416caf){if(!_0x416caf){_0x2e9ac8[_0x6d05('0x22')](0x194);}return _0x416caf;};}function handleError(_0x2d9685,_0x561855){_0x561855=_0x561855||0x1f4;return function(_0x36c296){logger[_0x6d05('0x23')](_0x36c296['stack']);if(_0x36c296[_0x6d05('0x24')]){delete _0x36c296[_0x6d05('0x24')];}_0x2d9685[_0x6d05('0x15')](_0x561855)['send'](_0x36c296);};}exports[_0x6d05('0x25')]=function(_0x3007f7,_0x1b4db4){var _0x23be83={},_0x285fbf={},_0xb38d99={'count':0x0,'rows':[]};var _0x3eb83a=_[_0x6d05('0x26')](db['UserProfileResource'][_0x6d05('0x27')],function(_0x286a86){return{'name':_0x286a86[_0x6d05('0x28')],'type':_0x286a86[_0x6d05('0x29')][_0x6d05('0x2a')]};});_0x285fbf[_0x6d05('0x2b')]=_[_0x6d05('0x26')](_0x3eb83a,_0x6d05('0x24'));_0x285fbf[_0x6d05('0x2c')]=_[_0x6d05('0x2d')](_0x3007f7['query']);_0x285fbf['filters']=_[_0x6d05('0x2e')](_0x285fbf['model'],_0x285fbf[_0x6d05('0x2c')]);_0x23be83[_0x6d05('0x2f')]=_['intersection'](_0x285fbf[_0x6d05('0x2b')],qs['fields'](_0x3007f7[_0x6d05('0x2c')][_0x6d05('0x30')]));_0x23be83[_0x6d05('0x2f')]=_0x23be83['attributes'][_0x6d05('0x31')]?_0x23be83['attributes']:_0x285fbf[_0x6d05('0x2b')];if(!_0x3007f7[_0x6d05('0x2c')]['hasOwnProperty'](_0x6d05('0x32'))){_0x23be83[_0x6d05('0x1a')]=qs[_0x6d05('0x1a')](_0x3007f7[_0x6d05('0x2c')][_0x6d05('0x1a')]);_0x23be83[_0x6d05('0x19')]=qs[_0x6d05('0x19')](_0x3007f7[_0x6d05('0x2c')][_0x6d05('0x19')]);}_0x23be83[_0x6d05('0x33')]=qs[_0x6d05('0x34')](_0x3007f7[_0x6d05('0x2c')][_0x6d05('0x34')]);_0x23be83['where']=qs[_0x6d05('0x35')](_['pick'](_0x3007f7[_0x6d05('0x2c')],_0x285fbf[_0x6d05('0x35')]),_0x3eb83a);if(_0x3007f7['query'][_0x6d05('0x36')]){_0x23be83[_0x6d05('0x37')]=_[_0x6d05('0x38')](_0x23be83['where'],{'$or':_[_0x6d05('0x26')](_0x3eb83a,function(_0x26a1b9){if(_0x26a1b9[_0x6d05('0x29')]!==_0x6d05('0x39')){var _0x2c60f6={};_0x2c60f6[_0x26a1b9[_0x6d05('0x24')]]={'$like':'%'+_0x3007f7[_0x6d05('0x2c')][_0x6d05('0x36')]+'%'};return _0x2c60f6;}})});}_0x23be83=_['merge']({},_0x23be83,_0x3007f7[_0x6d05('0x3a')]);var _0x12943f={'where':_0x23be83['where']};return db[_0x6d05('0x3b')][_0x6d05('0x18')](_0x12943f)[_0x6d05('0x20')](function(_0x1a53c9){_0xb38d99[_0x6d05('0x18')]=_0x1a53c9;if(_0x3007f7[_0x6d05('0x2c')][_0x6d05('0x3c')]){_0x23be83[_0x6d05('0x3d')]=[{'all':!![]}];}return db['UserProfileResource'][_0x6d05('0x3e')](_0x23be83);})['then'](function(_0x5d7228){_0xb38d99[_0x6d05('0x3f')]=_0x5d7228;return _0xb38d99;})['then'](respondWithFilteredResult(_0x1b4db4,_0x23be83))['catch'](handleError(_0x1b4db4,null));};exports[_0x6d05('0x40')]=function(_0x50ad57,_0x34530c){var _0x317bb8={'raw':![],'where':{'id':_0x50ad57[_0x6d05('0x41')]['id']}},_0x2de08d={};_0x2de08d[_0x6d05('0x2b')]=_[_0x6d05('0x2d')](db['UserProfileResource'][_0x6d05('0x27')]);_0x2de08d['query']=_['keys'](_0x50ad57[_0x6d05('0x2c')]);_0x2de08d[_0x6d05('0x42')]=_[_0x6d05('0x2e')](_0x2de08d[_0x6d05('0x2b')],_0x2de08d[_0x6d05('0x2c')]);_0x317bb8[_0x6d05('0x2f')]=_[_0x6d05('0x2e')](_0x2de08d[_0x6d05('0x2b')],qs['fields'](_0x50ad57[_0x6d05('0x2c')][_0x6d05('0x30')]));_0x317bb8[_0x6d05('0x2f')]=_0x317bb8['attributes'][_0x6d05('0x31')]?_0x317bb8['attributes']:_0x2de08d['model'];if(_0x50ad57['query']['includeAll']){_0x317bb8[_0x6d05('0x3d')]=[{'all':!![]}];}_0x317bb8=_['merge']({},_0x317bb8,_0x50ad57[_0x6d05('0x3a')]);return db[_0x6d05('0x3b')]['find'](_0x317bb8)[_0x6d05('0x20')](handleEntityNotFound(_0x34530c,null))[_0x6d05('0x20')](respondWithResult(_0x34530c,null))[_0x6d05('0x43')](handleError(_0x34530c,null));};exports['create']=function(_0x36f74c,_0x2c93e7){return db['UserProfileResource'][_0x6d05('0x44')](_0x36f74c[_0x6d05('0x45')],{})[_0x6d05('0x20')](respondWithResult(_0x2c93e7,0xc9))[_0x6d05('0x43')](handleError(_0x2c93e7,null));};exports[_0x6d05('0x1f')]=function(_0x33df21,_0x24dac0){if(_0x33df21[_0x6d05('0x45')]['id']){delete _0x33df21[_0x6d05('0x45')]['id'];}return db[_0x6d05('0x3b')][_0x6d05('0x46')]({'where':{'id':_0x33df21[_0x6d05('0x41')]['id']}})[_0x6d05('0x20')](handleEntityNotFound(_0x24dac0,null))[_0x6d05('0x20')](saveUpdates(_0x33df21[_0x6d05('0x45')],null))[_0x6d05('0x20')](respondWithResult(_0x24dac0,null))[_0x6d05('0x43')](handleError(_0x24dac0,null));};exports[_0x6d05('0x21')]=function(_0x354fc4,_0x2458a1){return db[_0x6d05('0x3b')]['find']({'where':{'id':_0x354fc4[_0x6d05('0x41')]['id']}})['then'](handleEntityNotFound(_0x2458a1,null))[_0x6d05('0x20')](removeEntity(_0x2458a1,null))['catch'](handleError(_0x2458a1,null));};exports[_0x6d05('0x47')]=function(_0x4814f7,_0x531d23){return db[_0x6d05('0x3b')][_0x6d05('0x47')]()['then'](respondWithResult(_0x531d23,null))[_0x6d05('0x43')](handleError(_0x531d23,null));};