c8607deb884c16338ed3827975f5f6281dd3c8d5
[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 _0xd08b=['error','name','send','index','UserProfileSection','rawAttributes','fieldName','type','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','includeAll','rows','include','find','catch','create','body','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','count','limit','set','save','update','then','destroy','sendStatus'];(function(_0x58ca82,_0x4f469c){var _0x477987=function(_0x89cf00){while(--_0x89cf00){_0x58ca82['push'](_0x58ca82['shift']());}};_0x477987(++_0x4f469c);}(_0xd08b,0x1e4));var _0xbd08=function(_0x43139e,_0x762629){_0x43139e=_0x43139e-0x0;var _0x2bc838=_0xd08b[_0x43139e];return _0x2bc838;};'use strict';var emlformat=require(_0xbd08('0x0'));var rimraf=require(_0xbd08('0x1'));var zipdir=require(_0xbd08('0x2'));var jsonpatch=require(_0xbd08('0x3'));var rp=require(_0xbd08('0x4'));var moment=require(_0xbd08('0x5'));var BPromise=require(_0xbd08('0x6'));var Mustache=require(_0xbd08('0x7'));var util=require(_0xbd08('0x8'));var path=require(_0xbd08('0x9'));var sox=require(_0xbd08('0xa'));var csv=require(_0xbd08('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbd08('0xc'));var _=require(_0xbd08('0xd'));var squel=require(_0xbd08('0xe'));var crypto=require(_0xbd08('0xf'));var jsforce=require(_0xbd08('0x10'));var deskjs=require(_0xbd08('0x11'));var toCsv=require(_0xbd08('0xb'));var querystring=require(_0xbd08('0x12'));var Papa=require(_0xbd08('0x13'));var Redis=require('ioredis');var authService=require(_0xbd08('0x14'));var qs=require(_0xbd08('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbd08('0x16'));var logger=require(_0xbd08('0x17'))('api');var utils=require(_0xbd08('0x18'));var config=require(_0xbd08('0x19'));var licenseUtil=require(_0xbd08('0x1a'));var db=require(_0xbd08('0x1b'))['db'];function respondWithStatusCode(_0x56b368,_0x3c0563){_0x3c0563=_0x3c0563||0xcc;return function(_0x304341){if(_0x304341){return _0x56b368['sendStatus'](_0x3c0563);}return _0x56b368['status'](_0x3c0563)[_0xbd08('0x1c')]();};}function respondWithResult(_0x2d820b,_0x56f97b){_0x56f97b=_0x56f97b||0xc8;return function(_0x172e18){if(_0x172e18){return _0x2d820b[_0xbd08('0x1d')](_0x56f97b)[_0xbd08('0x1e')](_0x172e18);}};}function respondWithFilteredResult(_0x12334f,_0x430e4b){return function(_0x478162){if(_0x478162){var _0x46592e=typeof _0x430e4b[_0xbd08('0x1f')]===_0xbd08('0x20')&&typeof _0x430e4b['limit']==='undefined';var _0xc77f1c=_0x478162[_0xbd08('0x21')];var _0x2f0dde=_0x46592e?0x0:_0x430e4b['offset'];var _0x4e80d5=_0x46592e?_0x478162[_0xbd08('0x21')]:_0x430e4b[_0xbd08('0x1f')]+_0x430e4b[_0xbd08('0x22')];var _0x3c2b30;if(_0x4e80d5>=_0xc77f1c){_0x4e80d5=_0xc77f1c;_0x3c2b30=0xc8;}else{_0x3c2b30=0xce;}_0x12334f[_0xbd08('0x1d')](_0x3c2b30);return _0x12334f[_0xbd08('0x23')]('Content-Range',_0x2f0dde+'-'+_0x4e80d5+'/'+_0xc77f1c)[_0xbd08('0x1e')](_0x478162);}return null;};}function patchUpdates(_0x20c687){return function(_0x340ff5){try{jsonpatch['apply'](_0x340ff5,_0x20c687,!![]);}catch(_0x1ca2dd){return BPromise['reject'](_0x1ca2dd);}return _0x340ff5[_0xbd08('0x24')]();};}function saveUpdates(_0xc7ba03,_0x133389){return function(_0x319b81){if(_0x319b81){return _0x319b81[_0xbd08('0x25')](_0xc7ba03)[_0xbd08('0x26')](function(_0x5903db){return _0x5903db;});}return null;};}function removeEntity(_0x1a084b,_0x5db7b6){return function(_0x1d9ee8){if(_0x1d9ee8){return _0x1d9ee8[_0xbd08('0x27')]()[_0xbd08('0x26')](function(){_0x1a084b[_0xbd08('0x1d')](0xcc)[_0xbd08('0x1c')]();});}};}function handleEntityNotFound(_0x3c4e63,_0xa8a771){return function(_0x4810bd){if(!_0x4810bd){_0x3c4e63[_0xbd08('0x28')](0x194);}return _0x4810bd;};}function handleError(_0x5525a2,_0x30df5b){_0x30df5b=_0x30df5b||0x1f4;return function(_0x24a714){logger[_0xbd08('0x29')](_0x24a714['stack']);if(_0x24a714['name']){delete _0x24a714[_0xbd08('0x2a')];}_0x5525a2['status'](_0x30df5b)[_0xbd08('0x2b')](_0x24a714);};}exports[_0xbd08('0x2c')]=function(_0x191445,_0xf4a7b7){var _0x50c3da={},_0x279bce={},_0x2f909b={'count':0x0,'rows':[]};var _0x2640b6=_['map'](db[_0xbd08('0x2d')][_0xbd08('0x2e')],function(_0x3dea2e){return{'name':_0x3dea2e[_0xbd08('0x2f')],'type':_0x3dea2e[_0xbd08('0x30')]['key']};});_0x279bce[_0xbd08('0x31')]=_[_0xbd08('0x32')](_0x2640b6,_0xbd08('0x2a'));_0x279bce['query']=_[_0xbd08('0x33')](_0x191445[_0xbd08('0x34')]);_0x279bce[_0xbd08('0x35')]=_[_0xbd08('0x36')](_0x279bce[_0xbd08('0x31')],_0x279bce[_0xbd08('0x34')]);_0x50c3da[_0xbd08('0x37')]=_[_0xbd08('0x36')](_0x279bce[_0xbd08('0x31')],qs[_0xbd08('0x38')](_0x191445[_0xbd08('0x34')][_0xbd08('0x38')]));_0x50c3da[_0xbd08('0x37')]=_0x50c3da[_0xbd08('0x37')][_0xbd08('0x39')]?_0x50c3da[_0xbd08('0x37')]:_0x279bce[_0xbd08('0x31')];if(!_0x191445['query'][_0xbd08('0x3a')]('nolimit')){_0x50c3da[_0xbd08('0x22')]=qs[_0xbd08('0x22')](_0x191445[_0xbd08('0x34')]['limit']);_0x50c3da[_0xbd08('0x1f')]=qs[_0xbd08('0x1f')](_0x191445[_0xbd08('0x34')]['offset']);}_0x50c3da[_0xbd08('0x3b')]=qs[_0xbd08('0x3c')](_0x191445[_0xbd08('0x34')][_0xbd08('0x3c')]);_0x50c3da[_0xbd08('0x3d')]=qs['filters'](_[_0xbd08('0x3e')](_0x191445[_0xbd08('0x34')],_0x279bce[_0xbd08('0x35')]),_0x2640b6);if(_0x191445[_0xbd08('0x34')][_0xbd08('0x3f')]){_0x50c3da[_0xbd08('0x3d')]=_[_0xbd08('0x40')](_0x50c3da['where'],{'$or':_[_0xbd08('0x32')](_0x2640b6,function(_0x2a09b2){if(_0x2a09b2[_0xbd08('0x30')]!=='VIRTUAL'){var _0xd836d2={};_0xd836d2[_0x2a09b2[_0xbd08('0x2a')]]={'$like':'%'+_0x191445[_0xbd08('0x34')][_0xbd08('0x3f')]+'%'};return _0xd836d2;}})});}_0x50c3da=_[_0xbd08('0x40')]({},_0x50c3da,_0x191445[_0xbd08('0x41')]);var _0x26d7b5={'where':_0x50c3da['where']};return db[_0xbd08('0x2d')]['count'](_0x26d7b5)[_0xbd08('0x26')](function(_0x17456c){_0x2f909b[_0xbd08('0x21')]=_0x17456c;if(_0x191445['query'][_0xbd08('0x42')]){_0x50c3da['include']=[{'all':!![]}];}return db[_0xbd08('0x2d')]['findAll'](_0x50c3da);})[_0xbd08('0x26')](function(_0x1337de){_0x2f909b[_0xbd08('0x43')]=_0x1337de;return _0x2f909b;})[_0xbd08('0x26')](respondWithFilteredResult(_0xf4a7b7,_0x50c3da))['catch'](handleError(_0xf4a7b7,null));};exports['show']=function(_0x412871,_0xc4a908){var _0x462fbe={'raw':![],'where':{'id':_0x412871['params']['id']}},_0x6e9f2c={};_0x6e9f2c[_0xbd08('0x31')]=_['keys'](db['UserProfileSection'][_0xbd08('0x2e')]);_0x6e9f2c['query']=_[_0xbd08('0x33')](_0x412871['query']);_0x6e9f2c[_0xbd08('0x35')]=_[_0xbd08('0x36')](_0x6e9f2c[_0xbd08('0x31')],_0x6e9f2c['query']);_0x462fbe[_0xbd08('0x37')]=_[_0xbd08('0x36')](_0x6e9f2c[_0xbd08('0x31')],qs[_0xbd08('0x38')](_0x412871[_0xbd08('0x34')][_0xbd08('0x38')]));_0x462fbe[_0xbd08('0x37')]=_0x462fbe[_0xbd08('0x37')][_0xbd08('0x39')]?_0x462fbe[_0xbd08('0x37')]:_0x6e9f2c[_0xbd08('0x31')];if(_0x412871['query'][_0xbd08('0x42')]){_0x462fbe[_0xbd08('0x44')]=[{'all':!![]}];}_0x462fbe=_['merge']({},_0x462fbe,_0x412871[_0xbd08('0x41')]);return db[_0xbd08('0x2d')][_0xbd08('0x45')](_0x462fbe)[_0xbd08('0x26')](handleEntityNotFound(_0xc4a908,null))[_0xbd08('0x26')](respondWithResult(_0xc4a908,null))[_0xbd08('0x46')](handleError(_0xc4a908,null));};exports[_0xbd08('0x47')]=function(_0x5ef6cc,_0x49f9c1){return db[_0xbd08('0x2d')][_0xbd08('0x47')](_0x5ef6cc[_0xbd08('0x48')],{})[_0xbd08('0x26')](respondWithResult(_0x49f9c1,0xc9))[_0xbd08('0x46')](handleError(_0x49f9c1,null));};exports[_0xbd08('0x25')]=function(_0x39421c,_0x5900b6){if(_0x39421c['body']['id']){delete _0x39421c['body']['id'];}return db[_0xbd08('0x2d')][_0xbd08('0x45')]({'where':{'id':_0x39421c[_0xbd08('0x49')]['id']}})[_0xbd08('0x26')](handleEntityNotFound(_0x5900b6,null))[_0xbd08('0x26')](saveUpdates(_0x39421c[_0xbd08('0x48')],null))[_0xbd08('0x26')](respondWithResult(_0x5900b6,null))['catch'](handleError(_0x5900b6,null));};exports[_0xbd08('0x27')]=function(_0x1c0942,_0x4a4b5b){return db[_0xbd08('0x2d')][_0xbd08('0x45')]({'where':{'id':_0x1c0942['params']['id']}})[_0xbd08('0x26')](handleEntityNotFound(_0x4a4b5b,null))['then'](removeEntity(_0x4a4b5b,null))['catch'](handleError(_0x4a4b5b,null));};exports[_0xbd08('0x4a')]=function(_0x3409a0,_0x52d248){return db[_0xbd08('0x2d')]['describe']()[_0xbd08('0x26')](respondWithResult(_0x52d248,null))[_0xbd08('0x46')](handleError(_0x52d248,null));};