e08b3a63ab9afd782298df1688443f0090d0290c
[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 _0xf4d2=['eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','set','Content-Range','apply','update','then','end','sendStatus','error','stack','name','send','merge','body','contact','message','interaction','account','index','UserProfileResource','rawAttributes','type','key','map','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','VIRTUAL','includeAll','findAll','rows','catch','params','keys','include','options','find','describe'];(function(_0x12f9e6,_0x2e62cd){var _0x5e52f3=function(_0x571c3e){while(--_0x571c3e){_0x12f9e6['push'](_0x12f9e6['shift']());}};_0x5e52f3(++_0x2e62cd);}(_0xf4d2,0x130));var _0x2f4d=function(_0xd7eade,_0x262f45){_0xd7eade=_0xd7eade-0x0;var _0x53f017=_0xf4d2[_0xd7eade];return _0x53f017;};'use strict';var emlformat=require(_0x2f4d('0x0'));var rimraf=require(_0x2f4d('0x1'));var zipdir=require(_0x2f4d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2f4d('0x3'));var moment=require(_0x2f4d('0x4'));var BPromise=require(_0x2f4d('0x5'));var Mustache=require(_0x2f4d('0x6'));var util=require(_0x2f4d('0x7'));var path=require(_0x2f4d('0x8'));var sox=require(_0x2f4d('0x9'));var csv=require('to-csv');var ejs=require(_0x2f4d('0xa'));var fs=require('fs');var fs_extra=require(_0x2f4d('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2f4d('0xc'));var deskjs=require(_0x2f4d('0xd'));var toCsv=require('to-csv');var querystring=require(_0x2f4d('0xe'));var Papa=require(_0x2f4d('0xf'));var Redis=require(_0x2f4d('0x10'));var authService=require(_0x2f4d('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2f4d('0x12'));var logger=require('../../config/logger')(_0x2f4d('0x13'));var utils=require(_0x2f4d('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x2f4d('0x15'));var db=require(_0x2f4d('0x16'))['db'];function respondWithStatusCode(_0x4cc30c,_0x6d3403){_0x6d3403=_0x6d3403||0xcc;return function(_0x200ff2){if(_0x200ff2){return _0x4cc30c['sendStatus'](_0x6d3403);}return _0x4cc30c['status'](_0x6d3403)['end']();};}function respondWithResult(_0x56151e,_0x2bbace){_0x2bbace=_0x2bbace||0xc8;return function(_0x4c6574){if(_0x4c6574){return _0x56151e[_0x2f4d('0x17')](_0x2bbace)[_0x2f4d('0x18')](_0x4c6574);}};}function respondWithFilteredResult(_0x160655,_0x555b0b){return function(_0x2960c0){if(_0x2960c0){var _0x560652=typeof _0x555b0b[_0x2f4d('0x19')]===_0x2f4d('0x1a')&&typeof _0x555b0b[_0x2f4d('0x1b')]===_0x2f4d('0x1a');var _0xabea10=_0x2960c0[_0x2f4d('0x1c')];var _0x52985e=_0x560652?0x0:_0x555b0b[_0x2f4d('0x19')];var _0x8c5204=_0x560652?_0x2960c0['count']:_0x555b0b[_0x2f4d('0x19')]+_0x555b0b['limit'];var _0x34fb43;if(_0x8c5204>=_0xabea10){_0x8c5204=_0xabea10;_0x34fb43=0xc8;}else{_0x34fb43=0xce;}_0x160655[_0x2f4d('0x17')](_0x34fb43);return _0x160655[_0x2f4d('0x1d')](_0x2f4d('0x1e'),_0x52985e+'-'+_0x8c5204+'/'+_0xabea10)['json'](_0x2960c0);}return null;};}function patchUpdates(_0x5100c8){return function(_0x8179a7){try{jsonpatch[_0x2f4d('0x1f')](_0x8179a7,_0x5100c8,!![]);}catch(_0x4fda7f){return BPromise['reject'](_0x4fda7f);}return _0x8179a7['save']();};}function saveUpdates(_0xf9df37,_0x313ce6){return function(_0x315ded){if(_0x315ded){return _0x315ded[_0x2f4d('0x20')](_0xf9df37)[_0x2f4d('0x21')](function(_0x3ddea8){return _0x3ddea8;});}return null;};}function removeEntity(_0x34b83a,_0x58dcd5){return function(_0x26ffe9){if(_0x26ffe9){return _0x26ffe9['destroy']()[_0x2f4d('0x21')](function(){_0x34b83a[_0x2f4d('0x17')](0xcc)[_0x2f4d('0x22')]();});}};}function handleEntityNotFound(_0x45b364,_0x56bcc7){return function(_0xf1051e){if(!_0xf1051e){_0x45b364[_0x2f4d('0x23')](0x194);}return _0xf1051e;};}function handleError(_0x47a725,_0x25f7eb){_0x25f7eb=_0x25f7eb||0x1f4;return function(_0x145755){logger[_0x2f4d('0x24')](_0x145755[_0x2f4d('0x25')]);if(_0x145755['name']){delete _0x145755[_0x2f4d('0x26')];}_0x47a725['status'](_0x25f7eb)[_0x2f4d('0x27')](_0x145755);};}function getMustacheRender(_0x3f3ca8,_0x582511){return Mustache['render'](_0x3f3ca8,_[_0x2f4d('0x28')](_0x582511[_0x2f4d('0x29')],{'contact':_0x582511[_0x2f4d('0x2a')],'message':_0x582511[_0x2f4d('0x2b')],'agent':_0x582511['agent'],'interaction':_0x582511[_0x2f4d('0x2c')],'account':_0x582511[_0x2f4d('0x2d')]}))||'';}exports[_0x2f4d('0x2e')]=function(_0x5e112e,_0x43f4de){var _0x2859eb={},_0x4f6e0f={},_0x507f25={'count':0x0,'rows':[]};var _0x4aaadb=_['map'](db[_0x2f4d('0x2f')][_0x2f4d('0x30')],function(_0x1c7957){return{'name':_0x1c7957['fieldName'],'type':_0x1c7957[_0x2f4d('0x31')][_0x2f4d('0x32')]};});_0x4f6e0f['model']=_[_0x2f4d('0x33')](_0x4aaadb,_0x2f4d('0x26'));_0x4f6e0f[_0x2f4d('0x34')]=_['keys'](_0x5e112e[_0x2f4d('0x34')]);_0x4f6e0f[_0x2f4d('0x35')]=_[_0x2f4d('0x36')](_0x4f6e0f[_0x2f4d('0x37')],_0x4f6e0f[_0x2f4d('0x34')]);_0x2859eb[_0x2f4d('0x38')]=_[_0x2f4d('0x36')](_0x4f6e0f['model'],qs[_0x2f4d('0x39')](_0x5e112e[_0x2f4d('0x34')][_0x2f4d('0x39')]));_0x2859eb[_0x2f4d('0x38')]=_0x2859eb['attributes'][_0x2f4d('0x3a')]?_0x2859eb['attributes']:_0x4f6e0f['model'];if(!_0x5e112e[_0x2f4d('0x34')][_0x2f4d('0x3b')](_0x2f4d('0x3c'))){_0x2859eb['limit']=qs[_0x2f4d('0x1b')](_0x5e112e[_0x2f4d('0x34')][_0x2f4d('0x1b')]);_0x2859eb[_0x2f4d('0x19')]=qs[_0x2f4d('0x19')](_0x5e112e['query'][_0x2f4d('0x19')]);}_0x2859eb['order']=qs[_0x2f4d('0x3d')](_0x5e112e[_0x2f4d('0x34')]['sort']);_0x2859eb['where']=qs[_0x2f4d('0x35')](_[_0x2f4d('0x3e')](_0x5e112e[_0x2f4d('0x34')],_0x4f6e0f[_0x2f4d('0x35')]),_0x4aaadb);if(_0x5e112e[_0x2f4d('0x34')][_0x2f4d('0x3f')]){_0x2859eb[_0x2f4d('0x40')]=_[_0x2f4d('0x28')](_0x2859eb['where'],{'$or':_['map'](_0x4aaadb,function(_0x3b1429){if(_0x3b1429[_0x2f4d('0x31')]!==_0x2f4d('0x41')){var _0x267003={};_0x267003[_0x3b1429[_0x2f4d('0x26')]]={'$like':'%'+_0x5e112e['query'][_0x2f4d('0x3f')]+'%'};return _0x267003;}})});}_0x2859eb=_[_0x2f4d('0x28')]({},_0x2859eb,_0x5e112e['options']);var _0x4d8abb={'where':_0x2859eb['where']};return db[_0x2f4d('0x2f')][_0x2f4d('0x1c')](_0x4d8abb)[_0x2f4d('0x21')](function(_0x446fb1){_0x507f25[_0x2f4d('0x1c')]=_0x446fb1;if(_0x5e112e[_0x2f4d('0x34')][_0x2f4d('0x42')]){_0x2859eb['include']=[{'all':!![]}];}return db[_0x2f4d('0x2f')][_0x2f4d('0x43')](_0x2859eb);})[_0x2f4d('0x21')](function(_0x203a25){_0x507f25[_0x2f4d('0x44')]=_0x203a25;return _0x507f25;})[_0x2f4d('0x21')](respondWithFilteredResult(_0x43f4de,_0x2859eb))[_0x2f4d('0x45')](handleError(_0x43f4de,null));};exports['show']=function(_0x2697d5,_0x5d127c){var _0x14c779={'raw':![],'where':{'id':_0x2697d5[_0x2f4d('0x46')]['id']}},_0x3c59be={};_0x3c59be['model']=_[_0x2f4d('0x47')](db[_0x2f4d('0x2f')][_0x2f4d('0x30')]);_0x3c59be['query']=_[_0x2f4d('0x47')](_0x2697d5[_0x2f4d('0x34')]);_0x3c59be[_0x2f4d('0x35')]=_[_0x2f4d('0x36')](_0x3c59be[_0x2f4d('0x37')],_0x3c59be[_0x2f4d('0x34')]);_0x14c779[_0x2f4d('0x38')]=_[_0x2f4d('0x36')](_0x3c59be['model'],qs[_0x2f4d('0x39')](_0x2697d5[_0x2f4d('0x34')][_0x2f4d('0x39')]));_0x14c779[_0x2f4d('0x38')]=_0x14c779[_0x2f4d('0x38')][_0x2f4d('0x3a')]?_0x14c779[_0x2f4d('0x38')]:_0x3c59be[_0x2f4d('0x37')];if(_0x2697d5[_0x2f4d('0x34')][_0x2f4d('0x42')]){_0x14c779[_0x2f4d('0x48')]=[{'all':!![]}];}_0x14c779=_[_0x2f4d('0x28')]({},_0x14c779,_0x2697d5[_0x2f4d('0x49')]);return db[_0x2f4d('0x2f')]['find'](_0x14c779)['then'](handleEntityNotFound(_0x5d127c,null))[_0x2f4d('0x21')](respondWithResult(_0x5d127c,null))['catch'](handleError(_0x5d127c,null));};exports['create']=function(_0xf990b5,_0x565a61){return db[_0x2f4d('0x2f')]['create'](_0xf990b5[_0x2f4d('0x29')],{})['then'](respondWithResult(_0x565a61,0xc9))['catch'](handleError(_0x565a61,null));};exports['update']=function(_0x4770cf,_0x35bb0c){if(_0x4770cf[_0x2f4d('0x29')]['id']){delete _0x4770cf[_0x2f4d('0x29')]['id'];}return db[_0x2f4d('0x2f')]['find']({'where':{'id':_0x4770cf[_0x2f4d('0x46')]['id']}})[_0x2f4d('0x21')](handleEntityNotFound(_0x35bb0c,null))[_0x2f4d('0x21')](saveUpdates(_0x4770cf[_0x2f4d('0x29')],null))[_0x2f4d('0x21')](respondWithResult(_0x35bb0c,null))['catch'](handleError(_0x35bb0c,null));};exports['destroy']=function(_0x339ccd,_0x3f217c){return db[_0x2f4d('0x2f')][_0x2f4d('0x4a')]({'where':{'id':_0x339ccd[_0x2f4d('0x46')]['id']}})[_0x2f4d('0x21')](handleEntityNotFound(_0x3f217c,null))['then'](removeEntity(_0x3f217c,null))[_0x2f4d('0x45')](handleError(_0x3f217c,null));};exports[_0x2f4d('0x4b')]=function(_0x3453a3,_0x14042f){return db[_0x2f4d('0x2f')][_0x2f4d('0x4b')]()[_0x2f4d('0x21')](respondWithResult(_0x14042f,null))[_0x2f4d('0x45')](handleError(_0x14042f,null));};