e52aea3e2598be528bd1fd4286f81184146000d3
[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 _0x6580=['type','VIRTUAL','findAll','catch','params','keys','fields','attributes','includeAll','options','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','ejs','fs-extra','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','send','index','UserProfileSection','rawAttributes','fieldName','key','query','filters','intersection','model','length','sort','pick','filter','where','merge','map'];(function(_0x186a51,_0x497845){var _0x3b248d=function(_0x2c3776){while(--_0x2c3776){_0x186a51['push'](_0x186a51['shift']());}};_0x3b248d(++_0x497845);}(_0x6580,0xa8));var _0x0658=function(_0x448775,_0x2fdb89){_0x448775=_0x448775-0x0;var _0x546e15=_0x6580[_0x448775];return _0x546e15;};'use strict';var emlformat=require(_0x0658('0x0'));var rimraf=require(_0x0658('0x1'));var zipdir=require(_0x0658('0x2'));var jsonpatch=require(_0x0658('0x3'));var rp=require(_0x0658('0x4'));var moment=require(_0x0658('0x5'));var BPromise=require(_0x0658('0x6'));var Mustache=require('mustache');var util=require(_0x0658('0x7'));var path=require(_0x0658('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x0658('0x9'));var fs=require('fs');var fs_extra=require(_0x0658('0xa'));var _=require(_0x0658('0xb'));var squel=require('squel');var crypto=require(_0x0658('0xc'));var jsforce=require(_0x0658('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x0658('0xe'));var querystring=require(_0x0658('0xf'));var Papa=require(_0x0658('0x10'));var Redis=require(_0x0658('0x11'));var authService=require(_0x0658('0x12'));var qs=require(_0x0658('0x13'));var as=require(_0x0658('0x14'));var hardwareService=require(_0x0658('0x15'));var logger=require(_0x0658('0x16'))(_0x0658('0x17'));var utils=require(_0x0658('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x0658('0x19'));var db=require(_0x0658('0x1a'))['db'];function respondWithStatusCode(_0x4c39b2,_0x19ff8e){_0x19ff8e=_0x19ff8e||0xcc;return function(_0x14c87a){if(_0x14c87a){return _0x4c39b2[_0x0658('0x1b')](_0x19ff8e);}return _0x4c39b2['status'](_0x19ff8e)[_0x0658('0x1c')]();};}function respondWithResult(_0x20a314,_0x32f84c){_0x32f84c=_0x32f84c||0xc8;return function(_0x5189f9){if(_0x5189f9){return _0x20a314[_0x0658('0x1d')](_0x32f84c)['json'](_0x5189f9);}};}function respondWithFilteredResult(_0x4ec9da,_0x52185f){return function(_0x19199f){if(_0x19199f){var _0x242f6=typeof _0x52185f[_0x0658('0x1e')]===_0x0658('0x1f')&&typeof _0x52185f[_0x0658('0x20')]===_0x0658('0x1f');var _0x5d2e4b=_0x19199f[_0x0658('0x21')];var _0xac9e7a=_0x242f6?0x0:_0x52185f[_0x0658('0x1e')];var _0x444691=_0x242f6?_0x19199f['count']:_0x52185f['offset']+_0x52185f['limit'];var _0x4eaf38;if(_0x444691>=_0x5d2e4b){_0x444691=_0x5d2e4b;_0x4eaf38=0xc8;}else{_0x4eaf38=0xce;}_0x4ec9da[_0x0658('0x1d')](_0x4eaf38);return _0x4ec9da[_0x0658('0x22')](_0x0658('0x23'),_0xac9e7a+'-'+_0x444691+'/'+_0x5d2e4b)[_0x0658('0x24')](_0x19199f);}return null;};}function patchUpdates(_0x2d3a02){return function(_0x3df7cb){try{jsonpatch[_0x0658('0x25')](_0x3df7cb,_0x2d3a02,!![]);}catch(_0xe6ad40){return BPromise[_0x0658('0x26')](_0xe6ad40);}return _0x3df7cb[_0x0658('0x27')]();};}function saveUpdates(_0x5922fe,_0x2ec1df){return function(_0x32a738){if(_0x32a738){return _0x32a738[_0x0658('0x28')](_0x5922fe)[_0x0658('0x29')](function(_0x293da6){return _0x293da6;});}return null;};}function removeEntity(_0x46370d,_0x5f5bcf){return function(_0x4afcd1){if(_0x4afcd1){return _0x4afcd1[_0x0658('0x2a')]()[_0x0658('0x29')](function(){_0x46370d['status'](0xcc)[_0x0658('0x1c')]();});}};}function handleEntityNotFound(_0x49adae,_0x40f72a){return function(_0xb7f278){if(!_0xb7f278){_0x49adae[_0x0658('0x1b')](0x194);}return _0xb7f278;};}function handleError(_0x431c6b,_0x6199){_0x6199=_0x6199||0x1f4;return function(_0x4b80a7){logger[_0x0658('0x2b')](_0x4b80a7[_0x0658('0x2c')]);if(_0x4b80a7['name']){delete _0x4b80a7[_0x0658('0x2d')];}_0x431c6b[_0x0658('0x1d')](_0x6199)[_0x0658('0x2e')](_0x4b80a7);};}exports[_0x0658('0x2f')]=function(_0x65d9bd,_0x145b50){var _0x285b4e={},_0x2a7f78={},_0x58899c={'count':0x0,'rows':[]};var _0x1a5a72=_['map'](db[_0x0658('0x30')][_0x0658('0x31')],function(_0x5c4f58){return{'name':_0x5c4f58[_0x0658('0x32')],'type':_0x5c4f58['type'][_0x0658('0x33')]};});_0x2a7f78['model']=_['map'](_0x1a5a72,_0x0658('0x2d'));_0x2a7f78[_0x0658('0x34')]=_['keys'](_0x65d9bd[_0x0658('0x34')]);_0x2a7f78[_0x0658('0x35')]=_[_0x0658('0x36')](_0x2a7f78['model'],_0x2a7f78[_0x0658('0x34')]);_0x285b4e['attributes']=_['intersection'](_0x2a7f78[_0x0658('0x37')],qs['fields'](_0x65d9bd[_0x0658('0x34')]['fields']));_0x285b4e['attributes']=_0x285b4e['attributes'][_0x0658('0x38')]?_0x285b4e['attributes']:_0x2a7f78[_0x0658('0x37')];if(!_0x65d9bd[_0x0658('0x34')]['hasOwnProperty']('nolimit')){_0x285b4e['limit']=qs[_0x0658('0x20')](_0x65d9bd[_0x0658('0x34')][_0x0658('0x20')]);_0x285b4e[_0x0658('0x1e')]=qs['offset'](_0x65d9bd[_0x0658('0x34')][_0x0658('0x1e')]);}_0x285b4e['order']=qs['sort'](_0x65d9bd[_0x0658('0x34')][_0x0658('0x39')]);_0x285b4e['where']=qs[_0x0658('0x35')](_[_0x0658('0x3a')](_0x65d9bd['query'],_0x2a7f78[_0x0658('0x35')]),_0x1a5a72);if(_0x65d9bd[_0x0658('0x34')][_0x0658('0x3b')]){_0x285b4e[_0x0658('0x3c')]=_[_0x0658('0x3d')](_0x285b4e['where'],{'$or':_[_0x0658('0x3e')](_0x1a5a72,function(_0x1ad08e){if(_0x1ad08e[_0x0658('0x3f')]!==_0x0658('0x40')){var _0x2ba698={};_0x2ba698[_0x1ad08e[_0x0658('0x2d')]]={'$like':'%'+_0x65d9bd[_0x0658('0x34')][_0x0658('0x3b')]+'%'};return _0x2ba698;}})});}_0x285b4e=_[_0x0658('0x3d')]({},_0x285b4e,_0x65d9bd['options']);var _0x193493={'where':_0x285b4e[_0x0658('0x3c')]};return db[_0x0658('0x30')][_0x0658('0x21')](_0x193493)['then'](function(_0x11b218){_0x58899c[_0x0658('0x21')]=_0x11b218;if(_0x65d9bd[_0x0658('0x34')]['includeAll']){_0x285b4e['include']=[{'all':!![]}];}return db[_0x0658('0x30')][_0x0658('0x41')](_0x285b4e);})[_0x0658('0x29')](function(_0x2c1456){_0x58899c['rows']=_0x2c1456;return _0x58899c;})[_0x0658('0x29')](respondWithFilteredResult(_0x145b50,_0x285b4e))[_0x0658('0x42')](handleError(_0x145b50,null));};exports['show']=function(_0x333a91,_0x34969d){var _0x543aff={'raw':![],'where':{'id':_0x333a91[_0x0658('0x43')]['id']}},_0x180093={};_0x180093['model']=_[_0x0658('0x44')](db[_0x0658('0x30')][_0x0658('0x31')]);_0x180093[_0x0658('0x34')]=_[_0x0658('0x44')](_0x333a91[_0x0658('0x34')]);_0x180093[_0x0658('0x35')]=_['intersection'](_0x180093[_0x0658('0x37')],_0x180093[_0x0658('0x34')]);_0x543aff['attributes']=_[_0x0658('0x36')](_0x180093[_0x0658('0x37')],qs[_0x0658('0x45')](_0x333a91[_0x0658('0x34')]['fields']));_0x543aff[_0x0658('0x46')]=_0x543aff[_0x0658('0x46')][_0x0658('0x38')]?_0x543aff[_0x0658('0x46')]:_0x180093[_0x0658('0x37')];if(_0x333a91['query'][_0x0658('0x47')]){_0x543aff['include']=[{'all':!![]}];}_0x543aff=_[_0x0658('0x3d')]({},_0x543aff,_0x333a91[_0x0658('0x48')]);return db[_0x0658('0x30')][_0x0658('0x49')](_0x543aff)[_0x0658('0x29')](handleEntityNotFound(_0x34969d,null))[_0x0658('0x29')](respondWithResult(_0x34969d,null))[_0x0658('0x42')](handleError(_0x34969d,null));};exports[_0x0658('0x4a')]=function(_0x59595c,_0x1bc453){return db[_0x0658('0x30')][_0x0658('0x4a')](_0x59595c[_0x0658('0x4b')],{})[_0x0658('0x29')](respondWithResult(_0x1bc453,0xc9))[_0x0658('0x42')](handleError(_0x1bc453,null));};exports[_0x0658('0x28')]=function(_0x15a5db,_0x3683b2){if(_0x15a5db[_0x0658('0x4b')]['id']){delete _0x15a5db[_0x0658('0x4b')]['id'];}return db[_0x0658('0x30')][_0x0658('0x49')]({'where':{'id':_0x15a5db[_0x0658('0x43')]['id']}})[_0x0658('0x29')](handleEntityNotFound(_0x3683b2,null))[_0x0658('0x29')](saveUpdates(_0x15a5db[_0x0658('0x4b')],null))[_0x0658('0x29')](respondWithResult(_0x3683b2,null))[_0x0658('0x42')](handleError(_0x3683b2,null));};exports[_0x0658('0x2a')]=function(_0x56bc0c,_0x185c0b){return db[_0x0658('0x30')]['find']({'where':{'id':_0x56bc0c[_0x0658('0x43')]['id']}})['then'](handleEntityNotFound(_0x185c0b,null))[_0x0658('0x29')](removeEntity(_0x185c0b,null))[_0x0658('0x42')](handleError(_0x185c0b,null));};exports['describe']=function(_0x467ff6,_0x5b133d){return db[_0x0658('0x30')][_0x0658('0x4c')]()['then'](respondWithResult(_0x5b133d,null))[_0x0658('0x42')](handleError(_0x5b133d,null));};