48f109337d7d2c87bdb4d993cdc1f729de944598
[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 _0x11d3=['filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','rawAttributes','catch','create','body','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','end','sendStatus','error','stack','name','send','index','map','UserProfileSection','type','key','model','query','keys'];(function(_0x754ab4,_0x56daa7){var _0x34079a=function(_0x295ec1){while(--_0x295ec1){_0x754ab4['push'](_0x754ab4['shift']());}};_0x34079a(++_0x56daa7);}(_0x11d3,0x1ee));var _0x311d=function(_0x4159bc,_0x13aa41){_0x4159bc=_0x4159bc-0x0;var _0x536069=_0x11d3[_0x4159bc];return _0x536069;};'use strict';var emlformat=require(_0x311d('0x0'));var rimraf=require(_0x311d('0x1'));var zipdir=require(_0x311d('0x2'));var jsonpatch=require(_0x311d('0x3'));var rp=require('request-promise');var moment=require(_0x311d('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x311d('0x5'));var util=require(_0x311d('0x6'));var path=require(_0x311d('0x7'));var sox=require(_0x311d('0x8'));var csv=require(_0x311d('0x9'));var ejs=require(_0x311d('0xa'));var fs=require('fs');var fs_extra=require(_0x311d('0xb'));var _=require('lodash');var squel=require(_0x311d('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x311d('0xd'));var toCsv=require('to-csv');var querystring=require(_0x311d('0xe'));var Papa=require('papaparse');var Redis=require(_0x311d('0xf'));var authService=require(_0x311d('0x10'));var qs=require(_0x311d('0x11'));var as=require(_0x311d('0x12'));var hardwareService=require(_0x311d('0x13'));var logger=require(_0x311d('0x14'))('api');var utils=require(_0x311d('0x15'));var config=require(_0x311d('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x311d('0x17'))['db'];function respondWithStatusCode(_0x3330bb,_0x1f2760){_0x1f2760=_0x1f2760||0xcc;return function(_0x24bdc0){if(_0x24bdc0){return _0x3330bb['sendStatus'](_0x1f2760);}return _0x3330bb['status'](_0x1f2760)['end']();};}function respondWithResult(_0xbaff7d,_0x110dfe){_0x110dfe=_0x110dfe||0xc8;return function(_0x35ce04){if(_0x35ce04){return _0xbaff7d[_0x311d('0x18')](_0x110dfe)[_0x311d('0x19')](_0x35ce04);}};}function respondWithFilteredResult(_0x13f1c1,_0x342068){return function(_0x138a89){if(_0x138a89){var _0x3910a1=typeof _0x342068['offset']===_0x311d('0x1a')&&typeof _0x342068[_0x311d('0x1b')]===_0x311d('0x1a');var _0x352b32=_0x138a89[_0x311d('0x1c')];var _0x3cb266=_0x3910a1?0x0:_0x342068['offset'];var _0xd7b2b9=_0x3910a1?_0x138a89[_0x311d('0x1c')]:_0x342068[_0x311d('0x1d')]+_0x342068[_0x311d('0x1b')];var _0x5c6e8b;if(_0xd7b2b9>=_0x352b32){_0xd7b2b9=_0x352b32;_0x5c6e8b=0xc8;}else{_0x5c6e8b=0xce;}_0x13f1c1['status'](_0x5c6e8b);return _0x13f1c1[_0x311d('0x1e')](_0x311d('0x1f'),_0x3cb266+'-'+_0xd7b2b9+'/'+_0x352b32)[_0x311d('0x19')](_0x138a89);}return null;};}function patchUpdates(_0x2fee45){return function(_0x40eab1){try{jsonpatch[_0x311d('0x20')](_0x40eab1,_0x2fee45,!![]);}catch(_0x2c90d1){return BPromise[_0x311d('0x21')](_0x2c90d1);}return _0x40eab1[_0x311d('0x22')]();};}function saveUpdates(_0x410653,_0x111bde){return function(_0x18674b){if(_0x18674b){return _0x18674b[_0x311d('0x23')](_0x410653)[_0x311d('0x24')](function(_0x1e5ac1){return _0x1e5ac1;});}return null;};}function removeEntity(_0xf54c83,_0x1ea599){return function(_0x3a8383){if(_0x3a8383){return _0x3a8383[_0x311d('0x25')]()[_0x311d('0x24')](function(){_0xf54c83['status'](0xcc)[_0x311d('0x26')]();});}};}function handleEntityNotFound(_0x42a0f8,_0x1c7576){return function(_0x3cf905){if(!_0x3cf905){_0x42a0f8[_0x311d('0x27')](0x194);}return _0x3cf905;};}function handleError(_0x6b21dd,_0x18f555){_0x18f555=_0x18f555||0x1f4;return function(_0x1f7240){logger[_0x311d('0x28')](_0x1f7240[_0x311d('0x29')]);if(_0x1f7240[_0x311d('0x2a')]){delete _0x1f7240[_0x311d('0x2a')];}_0x6b21dd[_0x311d('0x18')](_0x18f555)[_0x311d('0x2b')](_0x1f7240);};}exports[_0x311d('0x2c')]=function(_0x5c3068,_0x52c5fb){var _0xe934fb={},_0x36001e={},_0x5a4bd3={'count':0x0,'rows':[]};var _0x25a902=_[_0x311d('0x2d')](db[_0x311d('0x2e')]['rawAttributes'],function(_0x2a0b61){return{'name':_0x2a0b61['fieldName'],'type':_0x2a0b61[_0x311d('0x2f')][_0x311d('0x30')]};});_0x36001e[_0x311d('0x31')]=_[_0x311d('0x2d')](_0x25a902,_0x311d('0x2a'));_0x36001e[_0x311d('0x32')]=_[_0x311d('0x33')](_0x5c3068[_0x311d('0x32')]);_0x36001e[_0x311d('0x34')]=_['intersection'](_0x36001e[_0x311d('0x31')],_0x36001e['query']);_0xe934fb[_0x311d('0x35')]=_[_0x311d('0x36')](_0x36001e[_0x311d('0x31')],qs[_0x311d('0x37')](_0x5c3068[_0x311d('0x32')]['fields']));_0xe934fb[_0x311d('0x35')]=_0xe934fb['attributes'][_0x311d('0x38')]?_0xe934fb[_0x311d('0x35')]:_0x36001e[_0x311d('0x31')];if(!_0x5c3068[_0x311d('0x32')][_0x311d('0x39')](_0x311d('0x3a'))){_0xe934fb[_0x311d('0x1b')]=qs[_0x311d('0x1b')](_0x5c3068['query']['limit']);_0xe934fb[_0x311d('0x1d')]=qs[_0x311d('0x1d')](_0x5c3068[_0x311d('0x32')][_0x311d('0x1d')]);}_0xe934fb['order']=qs[_0x311d('0x3b')](_0x5c3068[_0x311d('0x32')][_0x311d('0x3b')]);_0xe934fb[_0x311d('0x3c')]=qs[_0x311d('0x34')](_[_0x311d('0x3d')](_0x5c3068[_0x311d('0x32')],_0x36001e['filters']),_0x25a902);if(_0x5c3068[_0x311d('0x32')][_0x311d('0x3e')]){_0xe934fb['where']=_[_0x311d('0x3f')](_0xe934fb[_0x311d('0x3c')],{'$or':_[_0x311d('0x2d')](_0x25a902,function(_0x1f423d){if(_0x1f423d[_0x311d('0x2f')]!==_0x311d('0x40')){var _0x2f7148={};_0x2f7148[_0x1f423d['name']]={'$like':'%'+_0x5c3068[_0x311d('0x32')][_0x311d('0x3e')]+'%'};return _0x2f7148;}})});}_0xe934fb=_[_0x311d('0x3f')]({},_0xe934fb,_0x5c3068[_0x311d('0x41')]);var _0x163349={'where':_0xe934fb[_0x311d('0x3c')]};return db[_0x311d('0x2e')][_0x311d('0x1c')](_0x163349)[_0x311d('0x24')](function(_0x3bb945){_0x5a4bd3[_0x311d('0x1c')]=_0x3bb945;if(_0x5c3068[_0x311d('0x32')][_0x311d('0x42')]){_0xe934fb[_0x311d('0x43')]=[{'all':!![]}];}return db['UserProfileSection'][_0x311d('0x44')](_0xe934fb);})[_0x311d('0x24')](function(_0x5c5412){_0x5a4bd3[_0x311d('0x45')]=_0x5c5412;return _0x5a4bd3;})[_0x311d('0x24')](respondWithFilteredResult(_0x52c5fb,_0xe934fb))['catch'](handleError(_0x52c5fb,null));};exports[_0x311d('0x46')]=function(_0x48672c,_0x43f47b){var _0x377771={'raw':![],'where':{'id':_0x48672c[_0x311d('0x47')]['id']}},_0x3ef367={};_0x3ef367[_0x311d('0x31')]=_[_0x311d('0x33')](db['UserProfileSection'][_0x311d('0x48')]);_0x3ef367['query']=_[_0x311d('0x33')](_0x48672c[_0x311d('0x32')]);_0x3ef367[_0x311d('0x34')]=_[_0x311d('0x36')](_0x3ef367[_0x311d('0x31')],_0x3ef367[_0x311d('0x32')]);_0x377771[_0x311d('0x35')]=_[_0x311d('0x36')](_0x3ef367[_0x311d('0x31')],qs[_0x311d('0x37')](_0x48672c[_0x311d('0x32')][_0x311d('0x37')]));_0x377771[_0x311d('0x35')]=_0x377771[_0x311d('0x35')][_0x311d('0x38')]?_0x377771['attributes']:_0x3ef367[_0x311d('0x31')];if(_0x48672c[_0x311d('0x32')]['includeAll']){_0x377771['include']=[{'all':!![]}];}_0x377771=_[_0x311d('0x3f')]({},_0x377771,_0x48672c[_0x311d('0x41')]);return db[_0x311d('0x2e')]['find'](_0x377771)[_0x311d('0x24')](handleEntityNotFound(_0x43f47b,null))[_0x311d('0x24')](respondWithResult(_0x43f47b,null))[_0x311d('0x49')](handleError(_0x43f47b,null));};exports['create']=function(_0x201e48,_0x564bc6){return db[_0x311d('0x2e')][_0x311d('0x4a')](_0x201e48[_0x311d('0x4b')],{})[_0x311d('0x24')](respondWithResult(_0x564bc6,0xc9))[_0x311d('0x49')](handleError(_0x564bc6,null));};exports['update']=function(_0x13fea4,_0x5e179d){if(_0x13fea4['body']['id']){delete _0x13fea4[_0x311d('0x4b')]['id'];}return db[_0x311d('0x2e')][_0x311d('0x4c')]({'where':{'id':_0x13fea4[_0x311d('0x47')]['id']}})[_0x311d('0x24')](handleEntityNotFound(_0x5e179d,null))[_0x311d('0x24')](saveUpdates(_0x13fea4[_0x311d('0x4b')],null))[_0x311d('0x24')](respondWithResult(_0x5e179d,null))['catch'](handleError(_0x5e179d,null));};exports[_0x311d('0x25')]=function(_0x587608,_0x58b110){return db[_0x311d('0x2e')][_0x311d('0x4c')]({'where':{'id':_0x587608[_0x311d('0x47')]['id']}})['then'](handleEntityNotFound(_0x58b110,null))[_0x311d('0x24')](removeEntity(_0x58b110,null))['catch'](handleError(_0x58b110,null));};exports[_0x311d('0x4d')]=function(_0x333e0d,_0x30a9c3){return db[_0x311d('0x2e')]['describe']()[_0x311d('0x24')](respondWithResult(_0x30a9c3,null))[_0x311d('0x49')](handleError(_0x30a9c3,null));};