Built motion from commit 449495f6.|2.6.27
[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 _0xcf91=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','index','map','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','options','UserProfileSection','include','findAll','rows','catch','show','params','rawAttributes','includeAll','create','body','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra'];(function(_0x3df223,_0x1740fc){var _0x562d11=function(_0x343009){while(--_0x343009){_0x3df223['push'](_0x3df223['shift']());}};_0x562d11(++_0x1740fc);}(_0xcf91,0x132));var _0x1cf9=function(_0xe74a5,_0x1e1ddc){_0xe74a5=_0xe74a5-0x0;var _0x595ea1=_0xcf91[_0xe74a5];return _0x595ea1;};'use strict';var emlformat=require(_0x1cf9('0x0'));var rimraf=require(_0x1cf9('0x1'));var zipdir=require(_0x1cf9('0x2'));var jsonpatch=require(_0x1cf9('0x3'));var rp=require(_0x1cf9('0x4'));var moment=require(_0x1cf9('0x5'));var BPromise=require(_0x1cf9('0x6'));var Mustache=require(_0x1cf9('0x7'));var util=require(_0x1cf9('0x8'));var path=require(_0x1cf9('0x9'));var sox=require(_0x1cf9('0xa'));var csv=require(_0x1cf9('0xb'));var ejs=require(_0x1cf9('0xc'));var fs=require('fs');var fs_extra=require(_0x1cf9('0xd'));var _=require(_0x1cf9('0xe'));var squel=require(_0x1cf9('0xf'));var crypto=require(_0x1cf9('0x10'));var jsforce=require(_0x1cf9('0x11'));var deskjs=require(_0x1cf9('0x12'));var toCsv=require(_0x1cf9('0xb'));var querystring=require(_0x1cf9('0x13'));var Papa=require(_0x1cf9('0x14'));var Redis=require('ioredis');var authService=require(_0x1cf9('0x15'));var qs=require(_0x1cf9('0x16'));var as=require(_0x1cf9('0x17'));var hardwareService=require(_0x1cf9('0x18'));var logger=require('../../config/logger')('api');var utils=require(_0x1cf9('0x19'));var config=require(_0x1cf9('0x1a'));var licenseUtil=require(_0x1cf9('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3a8a59,_0x19ebf2){_0x19ebf2=_0x19ebf2||0xcc;return function(_0x4a08f4){if(_0x4a08f4){return _0x3a8a59[_0x1cf9('0x1c')](_0x19ebf2);}return _0x3a8a59[_0x1cf9('0x1d')](_0x19ebf2)[_0x1cf9('0x1e')]();};}function respondWithResult(_0x4e29be,_0x1aa290){_0x1aa290=_0x1aa290||0xc8;return function(_0x686545){if(_0x686545){return _0x4e29be['status'](_0x1aa290)[_0x1cf9('0x1f')](_0x686545);}};}function respondWithFilteredResult(_0x45696e,_0xf5cce5){return function(_0x522895){if(_0x522895){var _0x55da68=typeof _0xf5cce5[_0x1cf9('0x20')]==='undefined'&&typeof _0xf5cce5['limit']===_0x1cf9('0x21');var _0x284256=_0x522895[_0x1cf9('0x22')];var _0xab265c=_0x55da68?0x0:_0xf5cce5[_0x1cf9('0x20')];var _0x1830bc=_0x55da68?_0x522895[_0x1cf9('0x22')]:_0xf5cce5['offset']+_0xf5cce5[_0x1cf9('0x23')];var _0x2914a6;if(_0x1830bc>=_0x284256){_0x1830bc=_0x284256;_0x2914a6=0xc8;}else{_0x2914a6=0xce;}_0x45696e[_0x1cf9('0x1d')](_0x2914a6);return _0x45696e['set'](_0x1cf9('0x24'),_0xab265c+'-'+_0x1830bc+'/'+_0x284256)[_0x1cf9('0x1f')](_0x522895);}return null;};}function patchUpdates(_0x455a3e){return function(_0xea546b){try{jsonpatch[_0x1cf9('0x25')](_0xea546b,_0x455a3e,!![]);}catch(_0x3503ee){return BPromise[_0x1cf9('0x26')](_0x3503ee);}return _0xea546b['save']();};}function saveUpdates(_0x2fc7b7,_0x3d4840){return function(_0x2885c5){if(_0x2885c5){return _0x2885c5[_0x1cf9('0x27')](_0x2fc7b7)[_0x1cf9('0x28')](function(_0x11d039){return _0x11d039;});}return null;};}function removeEntity(_0x43b141,_0x1250a4){return function(_0x354013){if(_0x354013){return _0x354013[_0x1cf9('0x29')]()[_0x1cf9('0x28')](function(){_0x43b141[_0x1cf9('0x1d')](0xcc)[_0x1cf9('0x1e')]();});}};}function handleEntityNotFound(_0x2bc223,_0x323756){return function(_0x3172b6){if(!_0x3172b6){_0x2bc223[_0x1cf9('0x1c')](0x194);}return _0x3172b6;};}function handleError(_0x2de886,_0x62977e){_0x62977e=_0x62977e||0x1f4;return function(_0x34c1f0){logger[_0x1cf9('0x2a')](_0x34c1f0[_0x1cf9('0x2b')]);if(_0x34c1f0[_0x1cf9('0x2c')]){delete _0x34c1f0[_0x1cf9('0x2c')];}_0x2de886[_0x1cf9('0x1d')](_0x62977e)[_0x1cf9('0x2d')](_0x34c1f0);};}exports[_0x1cf9('0x2e')]=function(_0x23a668,_0x37d594){var _0x2f23bf={},_0x1a9737={},_0x4cbfec={'count':0x0,'rows':[]};var _0x55e7a2=_[_0x1cf9('0x2f')](db['UserProfileSection']['rawAttributes'],function(_0x5bd66d){return{'name':_0x5bd66d[_0x1cf9('0x30')],'type':_0x5bd66d[_0x1cf9('0x31')][_0x1cf9('0x32')]};});_0x1a9737[_0x1cf9('0x33')]=_['map'](_0x55e7a2,_0x1cf9('0x2c'));_0x1a9737[_0x1cf9('0x34')]=_[_0x1cf9('0x35')](_0x23a668[_0x1cf9('0x34')]);_0x1a9737['filters']=_[_0x1cf9('0x36')](_0x1a9737['model'],_0x1a9737[_0x1cf9('0x34')]);_0x2f23bf[_0x1cf9('0x37')]=_['intersection'](_0x1a9737[_0x1cf9('0x33')],qs[_0x1cf9('0x38')](_0x23a668[_0x1cf9('0x34')]['fields']));_0x2f23bf['attributes']=_0x2f23bf[_0x1cf9('0x37')][_0x1cf9('0x39')]?_0x2f23bf[_0x1cf9('0x37')]:_0x1a9737['model'];if(!_0x23a668[_0x1cf9('0x34')][_0x1cf9('0x3a')](_0x1cf9('0x3b'))){_0x2f23bf[_0x1cf9('0x23')]=qs[_0x1cf9('0x23')](_0x23a668['query'][_0x1cf9('0x23')]);_0x2f23bf['offset']=qs[_0x1cf9('0x20')](_0x23a668['query'][_0x1cf9('0x20')]);}_0x2f23bf['order']=qs[_0x1cf9('0x3c')](_0x23a668[_0x1cf9('0x34')][_0x1cf9('0x3c')]);_0x2f23bf[_0x1cf9('0x3d')]=qs[_0x1cf9('0x3e')](_[_0x1cf9('0x3f')](_0x23a668[_0x1cf9('0x34')],_0x1a9737[_0x1cf9('0x3e')]),_0x55e7a2);if(_0x23a668['query'][_0x1cf9('0x40')]){_0x2f23bf[_0x1cf9('0x3d')]=_['merge'](_0x2f23bf['where'],{'$or':_[_0x1cf9('0x2f')](_0x55e7a2,function(_0x4b6974){if(_0x4b6974[_0x1cf9('0x31')]!=='VIRTUAL'){var _0x142064={};_0x142064[_0x4b6974[_0x1cf9('0x2c')]]={'$like':'%'+_0x23a668[_0x1cf9('0x34')][_0x1cf9('0x40')]+'%'};return _0x142064;}})});}_0x2f23bf=_[_0x1cf9('0x41')]({},_0x2f23bf,_0x23a668[_0x1cf9('0x42')]);var _0x20d9ae={'where':_0x2f23bf[_0x1cf9('0x3d')]};return db[_0x1cf9('0x43')][_0x1cf9('0x22')](_0x20d9ae)[_0x1cf9('0x28')](function(_0x3d8638){_0x4cbfec[_0x1cf9('0x22')]=_0x3d8638;if(_0x23a668[_0x1cf9('0x34')]['includeAll']){_0x2f23bf[_0x1cf9('0x44')]=[{'all':!![]}];}return db[_0x1cf9('0x43')][_0x1cf9('0x45')](_0x2f23bf);})[_0x1cf9('0x28')](function(_0x31fbb0){_0x4cbfec[_0x1cf9('0x46')]=_0x31fbb0;return _0x4cbfec;})[_0x1cf9('0x28')](respondWithFilteredResult(_0x37d594,_0x2f23bf))[_0x1cf9('0x47')](handleError(_0x37d594,null));};exports[_0x1cf9('0x48')]=function(_0x302aa3,_0x261f0d){var _0x387524={'raw':![],'where':{'id':_0x302aa3[_0x1cf9('0x49')]['id']}},_0x30675a={};_0x30675a[_0x1cf9('0x33')]=_['keys'](db[_0x1cf9('0x43')][_0x1cf9('0x4a')]);_0x30675a[_0x1cf9('0x34')]=_[_0x1cf9('0x35')](_0x302aa3[_0x1cf9('0x34')]);_0x30675a['filters']=_[_0x1cf9('0x36')](_0x30675a[_0x1cf9('0x33')],_0x30675a[_0x1cf9('0x34')]);_0x387524[_0x1cf9('0x37')]=_[_0x1cf9('0x36')](_0x30675a[_0x1cf9('0x33')],qs[_0x1cf9('0x38')](_0x302aa3[_0x1cf9('0x34')][_0x1cf9('0x38')]));_0x387524[_0x1cf9('0x37')]=_0x387524[_0x1cf9('0x37')][_0x1cf9('0x39')]?_0x387524['attributes']:_0x30675a[_0x1cf9('0x33')];if(_0x302aa3[_0x1cf9('0x34')][_0x1cf9('0x4b')]){_0x387524[_0x1cf9('0x44')]=[{'all':!![]}];}_0x387524=_[_0x1cf9('0x41')]({},_0x387524,_0x302aa3[_0x1cf9('0x42')]);return db[_0x1cf9('0x43')]['find'](_0x387524)[_0x1cf9('0x28')](handleEntityNotFound(_0x261f0d,null))[_0x1cf9('0x28')](respondWithResult(_0x261f0d,null))[_0x1cf9('0x47')](handleError(_0x261f0d,null));};exports['create']=function(_0x48f598,_0x4b0c49){return db[_0x1cf9('0x43')][_0x1cf9('0x4c')](_0x48f598[_0x1cf9('0x4d')],{})['then'](respondWithResult(_0x4b0c49,0xc9))[_0x1cf9('0x47')](handleError(_0x4b0c49,null));};exports[_0x1cf9('0x27')]=function(_0x542518,_0x2cee3b){if(_0x542518[_0x1cf9('0x4d')]['id']){delete _0x542518[_0x1cf9('0x4d')]['id'];}return db['UserProfileSection'][_0x1cf9('0x4e')]({'where':{'id':_0x542518[_0x1cf9('0x49')]['id']}})['then'](handleEntityNotFound(_0x2cee3b,null))[_0x1cf9('0x28')](saveUpdates(_0x542518[_0x1cf9('0x4d')],null))['then'](respondWithResult(_0x2cee3b,null))[_0x1cf9('0x47')](handleError(_0x2cee3b,null));};exports[_0x1cf9('0x29')]=function(_0x40d95d,_0x5cfa79){return db[_0x1cf9('0x43')]['find']({'where':{'id':_0x40d95d[_0x1cf9('0x49')]['id']}})[_0x1cf9('0x28')](handleEntityNotFound(_0x5cfa79,null))['then'](removeEntity(_0x5cfa79,null))['catch'](handleError(_0x5cfa79,null));};exports['describe']=function(_0x226c9e,_0x37d69c){return db[_0x1cf9('0x43')][_0x1cf9('0x4f')]()['then'](respondWithResult(_0x37d69c,null))[_0x1cf9('0x47')](handleError(_0x37d69c,null));};