e91426af98abcf724b91a8100d869f483a2f115f
[motion2.git] / server / api / userProfileSection / userProfileSection.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 _0xcb5b=['sort','where','pick','filter','merge','options','UserProfileSection','includeAll','include','catch','params','find','create','body','describe','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','error','stack','name','send','index','rawAttributes','type','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order'];(function(_0x42d9e9,_0x4113fc){var _0x5116a9=function(_0x15ccd1){while(--_0x15ccd1){_0x42d9e9['push'](_0x42d9e9['shift']());}};_0x5116a9(++_0x4113fc);}(_0xcb5b,0x12f));var _0xbcb5=function(_0x1519b9,_0x2119ff){_0x1519b9=_0x1519b9-0x0;var _0x1272dc=_0xcb5b[_0x1519b9];return _0x1272dc;};'use strict';var emlformat=require(_0xbcb5('0x0'));var rimraf=require(_0xbcb5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbcb5('0x2'));var rp=require('request-promise');var moment=require(_0xbcb5('0x3'));var BPromise=require(_0xbcb5('0x4'));var Mustache=require(_0xbcb5('0x5'));var util=require(_0xbcb5('0x6'));var path=require(_0xbcb5('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xbcb5('0x8'));var fs=require('fs');var fs_extra=require(_0xbcb5('0x9'));var _=require(_0xbcb5('0xa'));var squel=require(_0xbcb5('0xb'));var crypto=require(_0xbcb5('0xc'));var jsforce=require(_0xbcb5('0xd'));var deskjs=require(_0xbcb5('0xe'));var toCsv=require('to-csv');var querystring=require(_0xbcb5('0xf'));var Papa=require(_0xbcb5('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xbcb5('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbcb5('0x12'));var logger=require('../../config/logger')(_0xbcb5('0x13'));var utils=require(_0xbcb5('0x14'));var config=require(_0xbcb5('0x15'));var licenseUtil=require(_0xbcb5('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x154cf5,_0x31bdab){_0x31bdab=_0x31bdab||0xcc;return function(_0x2f8cb0){if(_0x2f8cb0){return _0x154cf5[_0xbcb5('0x17')](_0x31bdab);}return _0x154cf5[_0xbcb5('0x18')](_0x31bdab)[_0xbcb5('0x19')]();};}function respondWithResult(_0x5e0530,_0x559f06){_0x559f06=_0x559f06||0xc8;return function(_0x1e64b6){if(_0x1e64b6){return _0x5e0530['status'](_0x559f06)[_0xbcb5('0x1a')](_0x1e64b6);}};}function respondWithFilteredResult(_0x38e001,_0x33af48){return function(_0x5d98cd){if(_0x5d98cd){var _0x5c8fcd=typeof _0x33af48[_0xbcb5('0x1b')]===_0xbcb5('0x1c')&&typeof _0x33af48[_0xbcb5('0x1d')]===_0xbcb5('0x1c');var _0x13601e=_0x5d98cd[_0xbcb5('0x1e')];var _0x1bbfe6=_0x5c8fcd?0x0:_0x33af48[_0xbcb5('0x1b')];var _0x4bab88=_0x5c8fcd?_0x5d98cd['count']:_0x33af48[_0xbcb5('0x1b')]+_0x33af48['limit'];var _0x2d7e9a;if(_0x4bab88>=_0x13601e){_0x4bab88=_0x13601e;_0x2d7e9a=0xc8;}else{_0x2d7e9a=0xce;}_0x38e001[_0xbcb5('0x18')](_0x2d7e9a);return _0x38e001[_0xbcb5('0x1f')]('Content-Range',_0x1bbfe6+'-'+_0x4bab88+'/'+_0x13601e)[_0xbcb5('0x1a')](_0x5d98cd);}return null;};}function patchUpdates(_0x96aad6){return function(_0x10e81e){try{jsonpatch[_0xbcb5('0x20')](_0x10e81e,_0x96aad6,!![]);}catch(_0x250d65){return BPromise[_0xbcb5('0x21')](_0x250d65);}return _0x10e81e[_0xbcb5('0x22')]();};}function saveUpdates(_0x4c8c1e,_0x56e94f){return function(_0x3f6134){if(_0x3f6134){return _0x3f6134[_0xbcb5('0x23')](_0x4c8c1e)[_0xbcb5('0x24')](function(_0x3f2309){return _0x3f2309;});}return null;};}function removeEntity(_0x581143,_0x3de841){return function(_0x73b9c3){if(_0x73b9c3){return _0x73b9c3[_0xbcb5('0x25')]()[_0xbcb5('0x24')](function(){_0x581143[_0xbcb5('0x18')](0xcc)[_0xbcb5('0x19')]();});}};}function handleEntityNotFound(_0x518cc8,_0x2b9ccc){return function(_0x32e49c){if(!_0x32e49c){_0x518cc8[_0xbcb5('0x17')](0x194);}return _0x32e49c;};}function handleError(_0x3faa52,_0x5ef914){_0x5ef914=_0x5ef914||0x1f4;return function(_0x3a0529){logger[_0xbcb5('0x26')](_0x3a0529[_0xbcb5('0x27')]);if(_0x3a0529['name']){delete _0x3a0529[_0xbcb5('0x28')];}_0x3faa52[_0xbcb5('0x18')](_0x5ef914)[_0xbcb5('0x29')](_0x3a0529);};}exports[_0xbcb5('0x2a')]=function(_0x4efca8,_0x2047d9){var _0x3a4f9a={},_0x23b7fb={},_0xe724ec={'count':0x0,'rows':[]};var _0x223577=_['map'](db['UserProfileSection'][_0xbcb5('0x2b')],function(_0x44e50b){return{'name':_0x44e50b['fieldName'],'type':_0x44e50b[_0xbcb5('0x2c')]['key']};});_0x23b7fb[_0xbcb5('0x2d')]=_[_0xbcb5('0x2e')](_0x223577,_0xbcb5('0x28'));_0x23b7fb[_0xbcb5('0x2f')]=_[_0xbcb5('0x30')](_0x4efca8[_0xbcb5('0x2f')]);_0x23b7fb[_0xbcb5('0x31')]=_['intersection'](_0x23b7fb[_0xbcb5('0x2d')],_0x23b7fb[_0xbcb5('0x2f')]);_0x3a4f9a['attributes']=_[_0xbcb5('0x32')](_0x23b7fb['model'],qs['fields'](_0x4efca8['query'][_0xbcb5('0x33')]));_0x3a4f9a[_0xbcb5('0x34')]=_0x3a4f9a[_0xbcb5('0x34')][_0xbcb5('0x35')]?_0x3a4f9a[_0xbcb5('0x34')]:_0x23b7fb[_0xbcb5('0x2d')];if(!_0x4efca8[_0xbcb5('0x2f')][_0xbcb5('0x36')](_0xbcb5('0x37'))){_0x3a4f9a[_0xbcb5('0x1d')]=qs['limit'](_0x4efca8['query']['limit']);_0x3a4f9a[_0xbcb5('0x1b')]=qs[_0xbcb5('0x1b')](_0x4efca8[_0xbcb5('0x2f')]['offset']);}_0x3a4f9a[_0xbcb5('0x38')]=qs[_0xbcb5('0x39')](_0x4efca8[_0xbcb5('0x2f')][_0xbcb5('0x39')]);_0x3a4f9a[_0xbcb5('0x3a')]=qs[_0xbcb5('0x31')](_[_0xbcb5('0x3b')](_0x4efca8[_0xbcb5('0x2f')],_0x23b7fb['filters']),_0x223577);if(_0x4efca8[_0xbcb5('0x2f')][_0xbcb5('0x3c')]){_0x3a4f9a[_0xbcb5('0x3a')]=_['merge'](_0x3a4f9a[_0xbcb5('0x3a')],{'$or':_[_0xbcb5('0x2e')](_0x223577,function(_0x598c8c){if(_0x598c8c[_0xbcb5('0x2c')]!=='VIRTUAL'){var _0x5b9173={};_0x5b9173[_0x598c8c[_0xbcb5('0x28')]]={'$like':'%'+_0x4efca8['query'][_0xbcb5('0x3c')]+'%'};return _0x5b9173;}})});}_0x3a4f9a=_[_0xbcb5('0x3d')]({},_0x3a4f9a,_0x4efca8[_0xbcb5('0x3e')]);var _0x95ba9e={'where':_0x3a4f9a[_0xbcb5('0x3a')]};return db[_0xbcb5('0x3f')]['count'](_0x95ba9e)[_0xbcb5('0x24')](function(_0x20294e){_0xe724ec[_0xbcb5('0x1e')]=_0x20294e;if(_0x4efca8[_0xbcb5('0x2f')][_0xbcb5('0x40')]){_0x3a4f9a[_0xbcb5('0x41')]=[{'all':!![]}];}return db['UserProfileSection']['findAll'](_0x3a4f9a);})['then'](function(_0x212361){_0xe724ec['rows']=_0x212361;return _0xe724ec;})['then'](respondWithFilteredResult(_0x2047d9,_0x3a4f9a))[_0xbcb5('0x42')](handleError(_0x2047d9,null));};exports['show']=function(_0x4268b5,_0x3cd1c8){var _0x510e73={'raw':![],'where':{'id':_0x4268b5[_0xbcb5('0x43')]['id']}},_0x199316={};_0x199316[_0xbcb5('0x2d')]=_[_0xbcb5('0x30')](db[_0xbcb5('0x3f')][_0xbcb5('0x2b')]);_0x199316[_0xbcb5('0x2f')]=_[_0xbcb5('0x30')](_0x4268b5['query']);_0x199316['filters']=_[_0xbcb5('0x32')](_0x199316[_0xbcb5('0x2d')],_0x199316['query']);_0x510e73[_0xbcb5('0x34')]=_[_0xbcb5('0x32')](_0x199316[_0xbcb5('0x2d')],qs[_0xbcb5('0x33')](_0x4268b5[_0xbcb5('0x2f')][_0xbcb5('0x33')]));_0x510e73['attributes']=_0x510e73[_0xbcb5('0x34')][_0xbcb5('0x35')]?_0x510e73[_0xbcb5('0x34')]:_0x199316['model'];if(_0x4268b5[_0xbcb5('0x2f')][_0xbcb5('0x40')]){_0x510e73[_0xbcb5('0x41')]=[{'all':!![]}];}_0x510e73=_[_0xbcb5('0x3d')]({},_0x510e73,_0x4268b5[_0xbcb5('0x3e')]);return db['UserProfileSection'][_0xbcb5('0x44')](_0x510e73)['then'](handleEntityNotFound(_0x3cd1c8,null))[_0xbcb5('0x24')](respondWithResult(_0x3cd1c8,null))[_0xbcb5('0x42')](handleError(_0x3cd1c8,null));};exports[_0xbcb5('0x45')]=function(_0xa22dd6,_0xab1f0e){return db['UserProfileSection']['create'](_0xa22dd6['body'],{})['then'](respondWithResult(_0xab1f0e,0xc9))[_0xbcb5('0x42')](handleError(_0xab1f0e,null));};exports[_0xbcb5('0x23')]=function(_0x1c2240,_0x2f2057){if(_0x1c2240[_0xbcb5('0x46')]['id']){delete _0x1c2240['body']['id'];}return db[_0xbcb5('0x3f')][_0xbcb5('0x44')]({'where':{'id':_0x1c2240['params']['id']}})['then'](handleEntityNotFound(_0x2f2057,null))['then'](saveUpdates(_0x1c2240[_0xbcb5('0x46')],null))[_0xbcb5('0x24')](respondWithResult(_0x2f2057,null))[_0xbcb5('0x42')](handleError(_0x2f2057,null));};exports[_0xbcb5('0x25')]=function(_0x2279a4,_0x117b2e){return db[_0xbcb5('0x3f')]['find']({'where':{'id':_0x2279a4['params']['id']}})[_0xbcb5('0x24')](handleEntityNotFound(_0x117b2e,null))[_0xbcb5('0x24')](removeEntity(_0x117b2e,null))['catch'](handleError(_0x117b2e,null));};exports['describe']=function(_0x2a0d1b,_0x58b053){return db[_0xbcb5('0x3f')][_0xbcb5('0x47')]()[_0xbcb5('0x24')](respondWithResult(_0x58b053,null))[_0xbcb5('0x42')](handleError(_0x58b053,null));};