247d4dcc3cc2bf5d56c33a64740c8794a10c3a47
[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 _0xb7c8=['ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','UserProfileResource','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','includeAll','include','findAll','catch','show','params','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv'];(function(_0x558cd2,_0x26d4d8){var _0x1ff892=function(_0x34b171){while(--_0x34b171){_0x558cd2['push'](_0x558cd2['shift']());}};_0x1ff892(++_0x26d4d8);}(_0xb7c8,0x119));var _0x8b7c=function(_0x168eb8,_0x57f048){_0x168eb8=_0x168eb8-0x0;var _0x3ba2b5=_0xb7c8[_0x168eb8];return _0x3ba2b5;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8b7c('0x0'));var rimraf=require(_0x8b7c('0x1'));var zipdir=require(_0x8b7c('0x2'));var jsonpatch=require(_0x8b7c('0x3'));var rp=require(_0x8b7c('0x4'));var moment=require(_0x8b7c('0x5'));var BPromise=require(_0x8b7c('0x6'));var Mustache=require('mustache');var util=require(_0x8b7c('0x7'));var path=require(_0x8b7c('0x8'));var sox=require(_0x8b7c('0x9'));var csv=require(_0x8b7c('0xa'));var ejs=require(_0x8b7c('0xb'));var fs=require('fs');var _=require(_0x8b7c('0xc'));var squel=require(_0x8b7c('0xd'));var crypto=require(_0x8b7c('0xe'));var jsforce=require(_0x8b7c('0xf'));var deskjs=require(_0x8b7c('0x10'));var toCsv=require(_0x8b7c('0xa'));var querystring=require(_0x8b7c('0x11'));var Papa=require('papaparse');var Redis=require(_0x8b7c('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x8b7c('0x13'));var as=require(_0x8b7c('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8b7c('0x15'))(_0x8b7c('0x16'));var utils=require(_0x8b7c('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x8b7c('0x18'))['db'];function respondWithStatusCode(_0x33c5aa,_0x297c39){_0x297c39=_0x297c39||0xcc;return function(_0x282b87){if(_0x282b87){return _0x33c5aa[_0x8b7c('0x19')](_0x297c39);}return _0x33c5aa[_0x8b7c('0x1a')](_0x297c39)[_0x8b7c('0x1b')]();};}function respondWithResult(_0x56e02b,_0x2b60a7){_0x2b60a7=_0x2b60a7||0xc8;return function(_0x19c63e){if(_0x19c63e){return _0x56e02b[_0x8b7c('0x1a')](_0x2b60a7)['json'](_0x19c63e);}};}function respondWithFilteredResult(_0xd37a82,_0x4284a2){return function(_0x496bc0){if(_0x496bc0){var _0x3b8d62=_0x496bc0[_0x8b7c('0x1c')],_0xcc0fcc=_0x4284a2['offset'],_0x4262b5=_0x4284a2[_0x8b7c('0x1d')]+_0x4284a2[_0x8b7c('0x1e')],_0x1682fd;if(_0x4262b5>=_0x3b8d62){_0x4262b5=_0x3b8d62;_0x1682fd=0xc8;}else{_0x1682fd=0xce;}_0xd37a82[_0x8b7c('0x1a')](_0x1682fd);return _0xd37a82[_0x8b7c('0x1f')](_0x8b7c('0x20'),_0xcc0fcc+'-'+_0x4262b5+'/'+_0x3b8d62)['json'](_0x496bc0);}return null;};}function patchUpdates(_0x2c574b){return function(_0x2b0874){try{jsonpatch[_0x8b7c('0x21')](_0x2b0874,_0x2c574b,!![]);}catch(_0x13fa16){return BPromise[_0x8b7c('0x22')](_0x13fa16);}return _0x2b0874[_0x8b7c('0x23')]();};}function saveUpdates(_0x3f587b,_0xd0c3e6){return function(_0x108781){if(_0x108781){return _0x108781[_0x8b7c('0x24')](_0x3f587b)[_0x8b7c('0x25')](function(_0x1fe931){return _0x1fe931;});}return null;};}function removeEntity(_0x53451d,_0x4222ab){return function(_0x3186cd){if(_0x3186cd){return _0x3186cd[_0x8b7c('0x26')]()[_0x8b7c('0x25')](function(){_0x53451d[_0x8b7c('0x1a')](0xcc)[_0x8b7c('0x1b')]();});}};}function handleEntityNotFound(_0x2922a0,_0x3870b4){return function(_0x21d937){if(!_0x21d937){_0x2922a0[_0x8b7c('0x19')](0x194);}return _0x21d937;};}function handleError(_0x5e131c,_0x5269e5){_0x5269e5=_0x5269e5||0x1f4;return function(_0x2b318e){logger['error'](_0x2b318e[_0x8b7c('0x27')]);if(_0x2b318e[_0x8b7c('0x28')]){delete _0x2b318e[_0x8b7c('0x28')];}_0x5e131c[_0x8b7c('0x1a')](_0x5269e5)[_0x8b7c('0x29')](_0x2b318e);};}exports[_0x8b7c('0x2a')]=function(_0x58dc4a,_0x39d677){var _0x31390d={},_0x19c015={},_0x94a31e={'count':0x0,'rows':[]};var _0x305a40=_[_0x8b7c('0x2b')](db[_0x8b7c('0x2c')][_0x8b7c('0x2d')],function(_0x329998){return{'name':_0x329998[_0x8b7c('0x2e')],'type':_0x329998['type']['key']};});_0x19c015[_0x8b7c('0x2f')]=_[_0x8b7c('0x2b')](_0x305a40,_0x8b7c('0x28'));_0x19c015[_0x8b7c('0x30')]=_[_0x8b7c('0x31')](_0x58dc4a[_0x8b7c('0x30')]);_0x19c015[_0x8b7c('0x32')]=_[_0x8b7c('0x33')](_0x19c015[_0x8b7c('0x2f')],_0x19c015[_0x8b7c('0x30')]);_0x31390d['attributes']=_[_0x8b7c('0x33')](_0x19c015['model'],qs[_0x8b7c('0x34')](_0x58dc4a[_0x8b7c('0x30')]['fields']));_0x31390d[_0x8b7c('0x35')]=_0x31390d['attributes'][_0x8b7c('0x36')]?_0x31390d[_0x8b7c('0x35')]:_0x19c015[_0x8b7c('0x2f')];if(!_0x58dc4a[_0x8b7c('0x30')][_0x8b7c('0x37')](_0x8b7c('0x38'))){_0x31390d[_0x8b7c('0x1e')]=qs[_0x8b7c('0x1e')](_0x58dc4a[_0x8b7c('0x30')]['limit']);_0x31390d[_0x8b7c('0x1d')]=qs[_0x8b7c('0x1d')](_0x58dc4a['query']['offset']);}_0x31390d['order']=qs[_0x8b7c('0x39')](_0x58dc4a[_0x8b7c('0x30')]['sort']);_0x31390d[_0x8b7c('0x3a')]=qs[_0x8b7c('0x32')](_[_0x8b7c('0x3b')](_0x58dc4a[_0x8b7c('0x30')],_0x19c015['filters']),_0x305a40);if(_0x58dc4a[_0x8b7c('0x30')][_0x8b7c('0x3c')]){_0x31390d[_0x8b7c('0x3a')]=_['merge'](_0x31390d[_0x8b7c('0x3a')],{'$or':_[_0x8b7c('0x2b')](_0x305a40,function(_0x517dab){if(_0x517dab['type']!=='VIRTUAL'){var _0x240b19={};_0x240b19[_0x517dab[_0x8b7c('0x28')]]={'$like':'%'+_0x58dc4a[_0x8b7c('0x30')][_0x8b7c('0x3c')]+'%'};return _0x240b19;}})});}_0x31390d=_[_0x8b7c('0x3d')]({},_0x31390d,_0x58dc4a[_0x8b7c('0x3e')]);var _0x4830d7={'where':_0x31390d[_0x8b7c('0x3a')]};return db[_0x8b7c('0x2c')][_0x8b7c('0x1c')](_0x4830d7)[_0x8b7c('0x25')](function(_0x332f32){_0x94a31e[_0x8b7c('0x1c')]=_0x332f32;if(_0x58dc4a['query'][_0x8b7c('0x3f')]){_0x31390d[_0x8b7c('0x40')]=[{'all':!![]}];}return db[_0x8b7c('0x2c')][_0x8b7c('0x41')](_0x31390d);})[_0x8b7c('0x25')](function(_0x3252f9){_0x94a31e['rows']=_0x3252f9;return _0x94a31e;})['then'](respondWithFilteredResult(_0x39d677,_0x31390d))[_0x8b7c('0x42')](handleError(_0x39d677,null));};exports[_0x8b7c('0x43')]=function(_0x4ccebb,_0x50908c){var _0x1c9058={'raw':![],'where':{'id':_0x4ccebb[_0x8b7c('0x44')]['id']}},_0x3119be={};_0x3119be[_0x8b7c('0x2f')]=_[_0x8b7c('0x31')](db[_0x8b7c('0x2c')][_0x8b7c('0x2d')]);_0x3119be[_0x8b7c('0x30')]=_[_0x8b7c('0x31')](_0x4ccebb[_0x8b7c('0x30')]);_0x3119be[_0x8b7c('0x32')]=_[_0x8b7c('0x33')](_0x3119be['model'],_0x3119be[_0x8b7c('0x30')]);_0x1c9058[_0x8b7c('0x35')]=_[_0x8b7c('0x33')](_0x3119be[_0x8b7c('0x2f')],qs[_0x8b7c('0x34')](_0x4ccebb['query']['fields']));_0x1c9058[_0x8b7c('0x35')]=_0x1c9058[_0x8b7c('0x35')][_0x8b7c('0x36')]?_0x1c9058[_0x8b7c('0x35')]:_0x3119be[_0x8b7c('0x2f')];if(_0x4ccebb[_0x8b7c('0x30')]['includeAll']){_0x1c9058['include']=[{'all':!![]}];}_0x1c9058=_[_0x8b7c('0x3d')]({},_0x1c9058,_0x4ccebb[_0x8b7c('0x3e')]);return db['UserProfileResource'][_0x8b7c('0x45')](_0x1c9058)[_0x8b7c('0x25')](handleEntityNotFound(_0x50908c,null))[_0x8b7c('0x25')](respondWithResult(_0x50908c,null))['catch'](handleError(_0x50908c,null));};exports['create']=function(_0x3f8f14,_0x49a65a){return db[_0x8b7c('0x2c')][_0x8b7c('0x46')](_0x3f8f14[_0x8b7c('0x47')],{})[_0x8b7c('0x25')](respondWithResult(_0x49a65a,0xc9))[_0x8b7c('0x42')](handleError(_0x49a65a,null));};exports[_0x8b7c('0x24')]=function(_0x29aec5,_0x52e6f4){if(_0x29aec5[_0x8b7c('0x47')]['id']){delete _0x29aec5[_0x8b7c('0x47')]['id'];}return db[_0x8b7c('0x2c')][_0x8b7c('0x45')]({'where':{'id':_0x29aec5['params']['id']}})['then'](handleEntityNotFound(_0x52e6f4,null))['then'](saveUpdates(_0x29aec5[_0x8b7c('0x47')],null))[_0x8b7c('0x25')](respondWithResult(_0x52e6f4,null))[_0x8b7c('0x42')](handleError(_0x52e6f4,null));};exports['destroy']=function(_0x190192,_0xee770a){return db[_0x8b7c('0x2c')][_0x8b7c('0x45')]({'where':{'id':_0x190192[_0x8b7c('0x44')]['id']}})[_0x8b7c('0x25')](handleEntityNotFound(_0xee770a,null))['then'](removeEntity(_0xee770a,null))[_0x8b7c('0x42')](handleError(_0xee770a,null));};exports[_0x8b7c('0x48')]=function(_0x2e2ea8,_0x5d9307){return db[_0x8b7c('0x2c')][_0x8b7c('0x48')]()[_0x8b7c('0x25')](respondWithResult(_0x5d9307,null))[_0x8b7c('0x42')](handleError(_0x5d9307,null));};