9d734ad6e4c495ed7d871639d590da9d0036ec30
[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 _0xeff1=['fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','limit','undefined','offset','set','Content-Range','apply','reject','update','then','sendStatus','error','stack','send','index','UserProfileSection','fieldName','type','key','model','name','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','map','VIRTUAL','merge','options','count','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','destroy','describe','rimraf','zip-dir'];(function(_0x2f751b,_0x1b082){var _0xe89c=function(_0x3aba4a){while(--_0x3aba4a){_0x2f751b['push'](_0x2f751b['shift']());}};_0xe89c(++_0x1b082);}(_0xeff1,0xa2));var _0x1eff=function(_0x1f6f84,_0x2bab55){_0x1f6f84=_0x1f6f84-0x0;var _0x177f40=_0xeff1[_0x1f6f84];return _0x177f40;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1eff('0x0'));var zipdir=require(_0x1eff('0x1'));var jsonpatch=require(_0x1eff('0x2'));var rp=require(_0x1eff('0x3'));var moment=require(_0x1eff('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x1eff('0x5'));var util=require(_0x1eff('0x6'));var path=require(_0x1eff('0x7'));var sox=require(_0x1eff('0x8'));var csv=require(_0x1eff('0x9'));var ejs=require(_0x1eff('0xa'));var fs=require('fs');var fs_extra=require(_0x1eff('0xb'));var _=require(_0x1eff('0xc'));var squel=require(_0x1eff('0xd'));var crypto=require(_0x1eff('0xe'));var jsforce=require(_0x1eff('0xf'));var deskjs=require(_0x1eff('0x10'));var toCsv=require(_0x1eff('0x9'));var querystring=require(_0x1eff('0x11'));var Papa=require('papaparse');var Redis=require(_0x1eff('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x1eff('0x13'));var hardwareService=require(_0x1eff('0x14'));var logger=require(_0x1eff('0x15'))(_0x1eff('0x16'));var utils=require(_0x1eff('0x17'));var config=require(_0x1eff('0x18'));var licenseUtil=require(_0x1eff('0x19'));var db=require(_0x1eff('0x1a'))['db'];function respondWithStatusCode(_0x5804c6,_0x5e60a5){_0x5e60a5=_0x5e60a5||0xcc;return function(_0x73219f){if(_0x73219f){return _0x5804c6['sendStatus'](_0x5e60a5);}return _0x5804c6[_0x1eff('0x1b')](_0x5e60a5)[_0x1eff('0x1c')]();};}function respondWithResult(_0x3b5d42,_0x43b70f){_0x43b70f=_0x43b70f||0xc8;return function(_0x2d1c89){if(_0x2d1c89){return _0x3b5d42[_0x1eff('0x1b')](_0x43b70f)[_0x1eff('0x1d')](_0x2d1c89);}};}function respondWithFilteredResult(_0x24fc8c,_0x56dfde){return function(_0x252020){if(_0x252020){var _0x37a7f6=typeof _0x56dfde['offset']==='undefined'&&typeof _0x56dfde[_0x1eff('0x1e')]===_0x1eff('0x1f');var _0x42727d=_0x252020['count'];var _0x63b58e=_0x37a7f6?0x0:_0x56dfde[_0x1eff('0x20')];var _0x2fec0c=_0x37a7f6?_0x252020['count']:_0x56dfde[_0x1eff('0x20')]+_0x56dfde[_0x1eff('0x1e')];var _0x77d4ee;if(_0x2fec0c>=_0x42727d){_0x2fec0c=_0x42727d;_0x77d4ee=0xc8;}else{_0x77d4ee=0xce;}_0x24fc8c[_0x1eff('0x1b')](_0x77d4ee);return _0x24fc8c[_0x1eff('0x21')](_0x1eff('0x22'),_0x63b58e+'-'+_0x2fec0c+'/'+_0x42727d)[_0x1eff('0x1d')](_0x252020);}return null;};}function patchUpdates(_0x2c3843){return function(_0x2e905b){try{jsonpatch[_0x1eff('0x23')](_0x2e905b,_0x2c3843,!![]);}catch(_0x51f07a){return BPromise[_0x1eff('0x24')](_0x51f07a);}return _0x2e905b['save']();};}function saveUpdates(_0x1f7191,_0x7ee66e){return function(_0x412231){if(_0x412231){return _0x412231[_0x1eff('0x25')](_0x1f7191)['then'](function(_0x3c69d6){return _0x3c69d6;});}return null;};}function removeEntity(_0x224584,_0xbd0ca8){return function(_0x24103b){if(_0x24103b){return _0x24103b['destroy']()[_0x1eff('0x26')](function(){_0x224584['status'](0xcc)[_0x1eff('0x1c')]();});}};}function handleEntityNotFound(_0x5eaa24,_0x24acd2){return function(_0x370d12){if(!_0x370d12){_0x5eaa24[_0x1eff('0x27')](0x194);}return _0x370d12;};}function handleError(_0x1b565e,_0x4cb138){_0x4cb138=_0x4cb138||0x1f4;return function(_0x47b752){logger[_0x1eff('0x28')](_0x47b752[_0x1eff('0x29')]);if(_0x47b752['name']){delete _0x47b752['name'];}_0x1b565e[_0x1eff('0x1b')](_0x4cb138)[_0x1eff('0x2a')](_0x47b752);};}exports[_0x1eff('0x2b')]=function(_0x1cea31,_0x5e1601){var _0x2e4f0e={},_0x308714={},_0x50940f={'count':0x0,'rows':[]};var _0x4e0747=_['map'](db[_0x1eff('0x2c')]['rawAttributes'],function(_0x1ddadc){return{'name':_0x1ddadc[_0x1eff('0x2d')],'type':_0x1ddadc[_0x1eff('0x2e')][_0x1eff('0x2f')]};});_0x308714[_0x1eff('0x30')]=_['map'](_0x4e0747,_0x1eff('0x31'));_0x308714[_0x1eff('0x32')]=_[_0x1eff('0x33')](_0x1cea31[_0x1eff('0x32')]);_0x308714['filters']=_[_0x1eff('0x34')](_0x308714[_0x1eff('0x30')],_0x308714[_0x1eff('0x32')]);_0x2e4f0e[_0x1eff('0x35')]=_[_0x1eff('0x34')](_0x308714[_0x1eff('0x30')],qs[_0x1eff('0x36')](_0x1cea31['query']['fields']));_0x2e4f0e[_0x1eff('0x35')]=_0x2e4f0e['attributes'][_0x1eff('0x37')]?_0x2e4f0e[_0x1eff('0x35')]:_0x308714[_0x1eff('0x30')];if(!_0x1cea31[_0x1eff('0x32')][_0x1eff('0x38')](_0x1eff('0x39'))){_0x2e4f0e[_0x1eff('0x1e')]=qs['limit'](_0x1cea31[_0x1eff('0x32')][_0x1eff('0x1e')]);_0x2e4f0e[_0x1eff('0x20')]=qs[_0x1eff('0x20')](_0x1cea31[_0x1eff('0x32')][_0x1eff('0x20')]);}_0x2e4f0e[_0x1eff('0x3a')]=qs['sort'](_0x1cea31['query'][_0x1eff('0x3b')]);_0x2e4f0e[_0x1eff('0x3c')]=qs[_0x1eff('0x3d')](_[_0x1eff('0x3e')](_0x1cea31['query'],_0x308714[_0x1eff('0x3d')]),_0x4e0747);if(_0x1cea31['query'][_0x1eff('0x3f')]){_0x2e4f0e[_0x1eff('0x3c')]=_['merge'](_0x2e4f0e['where'],{'$or':_[_0x1eff('0x40')](_0x4e0747,function(_0x2a580d){if(_0x2a580d[_0x1eff('0x2e')]!==_0x1eff('0x41')){var _0x313f3d={};_0x313f3d[_0x2a580d[_0x1eff('0x31')]]={'$like':'%'+_0x1cea31[_0x1eff('0x32')][_0x1eff('0x3f')]+'%'};return _0x313f3d;}})});}_0x2e4f0e=_[_0x1eff('0x42')]({},_0x2e4f0e,_0x1cea31[_0x1eff('0x43')]);var _0x516ed9={'where':_0x2e4f0e[_0x1eff('0x3c')]};return db[_0x1eff('0x2c')][_0x1eff('0x44')](_0x516ed9)['then'](function(_0xb528a4){_0x50940f['count']=_0xb528a4;if(_0x1cea31[_0x1eff('0x32')][_0x1eff('0x45')]){_0x2e4f0e[_0x1eff('0x46')]=[{'all':!![]}];}return db[_0x1eff('0x2c')][_0x1eff('0x47')](_0x2e4f0e);})[_0x1eff('0x26')](function(_0x6dcb2c){_0x50940f[_0x1eff('0x48')]=_0x6dcb2c;return _0x50940f;})[_0x1eff('0x26')](respondWithFilteredResult(_0x5e1601,_0x2e4f0e))[_0x1eff('0x49')](handleError(_0x5e1601,null));};exports[_0x1eff('0x4a')]=function(_0x356365,_0x4c710b){var _0xa71fb1={'raw':![],'where':{'id':_0x356365[_0x1eff('0x4b')]['id']}},_0x154e29={};_0x154e29[_0x1eff('0x30')]=_[_0x1eff('0x33')](db[_0x1eff('0x2c')][_0x1eff('0x4c')]);_0x154e29[_0x1eff('0x32')]=_[_0x1eff('0x33')](_0x356365['query']);_0x154e29[_0x1eff('0x3d')]=_['intersection'](_0x154e29[_0x1eff('0x30')],_0x154e29[_0x1eff('0x32')]);_0xa71fb1[_0x1eff('0x35')]=_[_0x1eff('0x34')](_0x154e29[_0x1eff('0x30')],qs[_0x1eff('0x36')](_0x356365[_0x1eff('0x32')]['fields']));_0xa71fb1[_0x1eff('0x35')]=_0xa71fb1[_0x1eff('0x35')][_0x1eff('0x37')]?_0xa71fb1[_0x1eff('0x35')]:_0x154e29[_0x1eff('0x30')];if(_0x356365[_0x1eff('0x32')][_0x1eff('0x45')]){_0xa71fb1[_0x1eff('0x46')]=[{'all':!![]}];}_0xa71fb1=_[_0x1eff('0x42')]({},_0xa71fb1,_0x356365[_0x1eff('0x43')]);return db[_0x1eff('0x2c')][_0x1eff('0x4d')](_0xa71fb1)[_0x1eff('0x26')](handleEntityNotFound(_0x4c710b,null))[_0x1eff('0x26')](respondWithResult(_0x4c710b,null))['catch'](handleError(_0x4c710b,null));};exports['create']=function(_0x2d7bfa,_0xf97d5b){return db[_0x1eff('0x2c')][_0x1eff('0x4e')](_0x2d7bfa[_0x1eff('0x4f')],{})['then'](respondWithResult(_0xf97d5b,0xc9))[_0x1eff('0x49')](handleError(_0xf97d5b,null));};exports['update']=function(_0x20cc0e,_0x2d6392){if(_0x20cc0e[_0x1eff('0x4f')]['id']){delete _0x20cc0e['body']['id'];}return db[_0x1eff('0x2c')][_0x1eff('0x4d')]({'where':{'id':_0x20cc0e[_0x1eff('0x4b')]['id']}})['then'](handleEntityNotFound(_0x2d6392,null))[_0x1eff('0x26')](saveUpdates(_0x20cc0e[_0x1eff('0x4f')],null))[_0x1eff('0x26')](respondWithResult(_0x2d6392,null))['catch'](handleError(_0x2d6392,null));};exports[_0x1eff('0x50')]=function(_0x5332f5,_0xb3a063){return db[_0x1eff('0x2c')][_0x1eff('0x4d')]({'where':{'id':_0x5332f5[_0x1eff('0x4b')]['id']}})[_0x1eff('0x26')](handleEntityNotFound(_0xb3a063,null))[_0x1eff('0x26')](removeEntity(_0xb3a063,null))[_0x1eff('0x49')](handleError(_0xb3a063,null));};exports['describe']=function(_0x2f59c9,_0xa465d){return db[_0x1eff('0x2c')][_0x1eff('0x51')]()[_0x1eff('0x26')](respondWithResult(_0xa465d,null))['catch'](handleError(_0xa465d,null));};