977638bb4c5ed9fc5bef54fce719144c6a24ed42
[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 _0x9ad4=['error','stack','name','send','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','UserProfileSection','includeAll','include','findAll','rows','catch','show','find','create','body','params','describe','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','reject','save','update','then','destroy'];(function(_0x3f0476,_0x450e5e){var _0x298fd3=function(_0xb4d48d){while(--_0xb4d48d){_0x3f0476['push'](_0x3f0476['shift']());}};_0x298fd3(++_0x450e5e);}(_0x9ad4,0x199));var _0x49ad=function(_0x27ad3e,_0x15f1a8){_0x27ad3e=_0x27ad3e-0x0;var _0x1777bd=_0x9ad4[_0x27ad3e];return _0x1777bd;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x49ad('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x49ad('0x1'));var moment=require(_0x49ad('0x2'));var BPromise=require(_0x49ad('0x3'));var Mustache=require('mustache');var util=require(_0x49ad('0x4'));var path=require(_0x49ad('0x5'));var sox=require(_0x49ad('0x6'));var csv=require(_0x49ad('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x49ad('0x8'));var _=require('lodash');var squel=require(_0x49ad('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x49ad('0xa'));var toCsv=require(_0x49ad('0x7'));var querystring=require('querystring');var Papa=require(_0x49ad('0xb'));var Redis=require(_0x49ad('0xc'));var authService=require(_0x49ad('0xd'));var qs=require(_0x49ad('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x49ad('0xf'));var logger=require(_0x49ad('0x10'))(_0x49ad('0x11'));var utils=require('../../config/utils');var config=require(_0x49ad('0x12'));var licenseUtil=require(_0x49ad('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1d50a9,_0x58f36d){_0x58f36d=_0x58f36d||0xcc;return function(_0x56d2a5){if(_0x56d2a5){return _0x1d50a9[_0x49ad('0x14')](_0x58f36d);}return _0x1d50a9[_0x49ad('0x15')](_0x58f36d)[_0x49ad('0x16')]();};}function respondWithResult(_0x48dd2a,_0xa50451){_0xa50451=_0xa50451||0xc8;return function(_0x51692e){if(_0x51692e){return _0x48dd2a[_0x49ad('0x15')](_0xa50451)[_0x49ad('0x17')](_0x51692e);}};}function respondWithFilteredResult(_0x4ab8f3,_0x2f7015){return function(_0x42cc16){if(_0x42cc16){var _0x122873=typeof _0x2f7015[_0x49ad('0x18')]==='undefined'&&typeof _0x2f7015[_0x49ad('0x19')]===_0x49ad('0x1a');var _0x3d9023=_0x42cc16[_0x49ad('0x1b')];var _0x296939=_0x122873?0x0:_0x2f7015['offset'];var _0x2d272a=_0x122873?_0x42cc16['count']:_0x2f7015[_0x49ad('0x18')]+_0x2f7015[_0x49ad('0x19')];var _0x38d422;if(_0x2d272a>=_0x3d9023){_0x2d272a=_0x3d9023;_0x38d422=0xc8;}else{_0x38d422=0xce;}_0x4ab8f3[_0x49ad('0x15')](_0x38d422);return _0x4ab8f3[_0x49ad('0x1c')](_0x49ad('0x1d'),_0x296939+'-'+_0x2d272a+'/'+_0x3d9023)[_0x49ad('0x17')](_0x42cc16);}return null;};}function patchUpdates(_0x39763f){return function(_0x2c3ea5){try{jsonpatch['apply'](_0x2c3ea5,_0x39763f,!![]);}catch(_0x1abc17){return BPromise[_0x49ad('0x1e')](_0x1abc17);}return _0x2c3ea5[_0x49ad('0x1f')]();};}function saveUpdates(_0x46caea,_0xf2b4d2){return function(_0x58b190){if(_0x58b190){return _0x58b190[_0x49ad('0x20')](_0x46caea)[_0x49ad('0x21')](function(_0xe4e81a){return _0xe4e81a;});}return null;};}function removeEntity(_0xb29248,_0x271ce8){return function(_0x5a797b){if(_0x5a797b){return _0x5a797b[_0x49ad('0x22')]()[_0x49ad('0x21')](function(){_0xb29248[_0x49ad('0x15')](0xcc)[_0x49ad('0x16')]();});}};}function handleEntityNotFound(_0x4be036,_0x4ad3ff){return function(_0x327280){if(!_0x327280){_0x4be036[_0x49ad('0x14')](0x194);}return _0x327280;};}function handleError(_0x219562,_0x1b5446){_0x1b5446=_0x1b5446||0x1f4;return function(_0x2f44d2){logger[_0x49ad('0x23')](_0x2f44d2[_0x49ad('0x24')]);if(_0x2f44d2[_0x49ad('0x25')]){delete _0x2f44d2[_0x49ad('0x25')];}_0x219562[_0x49ad('0x15')](_0x1b5446)[_0x49ad('0x26')](_0x2f44d2);};}exports['index']=function(_0x2dc847,_0x5262bc){var _0x1b3593={},_0x2077d0={},_0x219604={'count':0x0,'rows':[]};var _0x431cfc=_['map'](db['UserProfileSection'][_0x49ad('0x27')],function(_0x2cfe41){return{'name':_0x2cfe41[_0x49ad('0x28')],'type':_0x2cfe41[_0x49ad('0x29')][_0x49ad('0x2a')]};});_0x2077d0['model']=_[_0x49ad('0x2b')](_0x431cfc,_0x49ad('0x25'));_0x2077d0[_0x49ad('0x2c')]=_[_0x49ad('0x2d')](_0x2dc847[_0x49ad('0x2c')]);_0x2077d0[_0x49ad('0x2e')]=_[_0x49ad('0x2f')](_0x2077d0['model'],_0x2077d0[_0x49ad('0x2c')]);_0x1b3593[_0x49ad('0x30')]=_[_0x49ad('0x2f')](_0x2077d0[_0x49ad('0x31')],qs[_0x49ad('0x32')](_0x2dc847['query'][_0x49ad('0x32')]));_0x1b3593[_0x49ad('0x30')]=_0x1b3593['attributes'][_0x49ad('0x33')]?_0x1b3593['attributes']:_0x2077d0['model'];if(!_0x2dc847[_0x49ad('0x2c')][_0x49ad('0x34')](_0x49ad('0x35'))){_0x1b3593[_0x49ad('0x19')]=qs[_0x49ad('0x19')](_0x2dc847['query']['limit']);_0x1b3593[_0x49ad('0x18')]=qs[_0x49ad('0x18')](_0x2dc847['query'][_0x49ad('0x18')]);}_0x1b3593[_0x49ad('0x36')]=qs[_0x49ad('0x37')](_0x2dc847[_0x49ad('0x2c')]['sort']);_0x1b3593[_0x49ad('0x38')]=qs[_0x49ad('0x2e')](_[_0x49ad('0x39')](_0x2dc847[_0x49ad('0x2c')],_0x2077d0[_0x49ad('0x2e')]),_0x431cfc);if(_0x2dc847['query'][_0x49ad('0x3a')]){_0x1b3593[_0x49ad('0x38')]=_[_0x49ad('0x3b')](_0x1b3593[_0x49ad('0x38')],{'$or':_[_0x49ad('0x2b')](_0x431cfc,function(_0x4e61b3){if(_0x4e61b3[_0x49ad('0x29')]!==_0x49ad('0x3c')){var _0x51fda3={};_0x51fda3[_0x4e61b3[_0x49ad('0x25')]]={'$like':'%'+_0x2dc847['query'][_0x49ad('0x3a')]+'%'};return _0x51fda3;}})});}_0x1b3593=_[_0x49ad('0x3b')]({},_0x1b3593,_0x2dc847[_0x49ad('0x3d')]);var _0x359719={'where':_0x1b3593[_0x49ad('0x38')]};return db[_0x49ad('0x3e')]['count'](_0x359719)[_0x49ad('0x21')](function(_0x13f198){_0x219604[_0x49ad('0x1b')]=_0x13f198;if(_0x2dc847[_0x49ad('0x2c')][_0x49ad('0x3f')]){_0x1b3593[_0x49ad('0x40')]=[{'all':!![]}];}return db[_0x49ad('0x3e')][_0x49ad('0x41')](_0x1b3593);})[_0x49ad('0x21')](function(_0x1666eb){_0x219604[_0x49ad('0x42')]=_0x1666eb;return _0x219604;})['then'](respondWithFilteredResult(_0x5262bc,_0x1b3593))[_0x49ad('0x43')](handleError(_0x5262bc,null));};exports[_0x49ad('0x44')]=function(_0x3cfd0b,_0x2e82bc){var _0x19782e={'raw':![],'where':{'id':_0x3cfd0b['params']['id']}},_0x5cbcb1={};_0x5cbcb1[_0x49ad('0x31')]=_['keys'](db[_0x49ad('0x3e')][_0x49ad('0x27')]);_0x5cbcb1['query']=_[_0x49ad('0x2d')](_0x3cfd0b[_0x49ad('0x2c')]);_0x5cbcb1['filters']=_[_0x49ad('0x2f')](_0x5cbcb1['model'],_0x5cbcb1[_0x49ad('0x2c')]);_0x19782e['attributes']=_[_0x49ad('0x2f')](_0x5cbcb1['model'],qs[_0x49ad('0x32')](_0x3cfd0b[_0x49ad('0x2c')][_0x49ad('0x32')]));_0x19782e['attributes']=_0x19782e[_0x49ad('0x30')][_0x49ad('0x33')]?_0x19782e[_0x49ad('0x30')]:_0x5cbcb1[_0x49ad('0x31')];if(_0x3cfd0b['query']['includeAll']){_0x19782e[_0x49ad('0x40')]=[{'all':!![]}];}_0x19782e=_[_0x49ad('0x3b')]({},_0x19782e,_0x3cfd0b[_0x49ad('0x3d')]);return db[_0x49ad('0x3e')][_0x49ad('0x45')](_0x19782e)[_0x49ad('0x21')](handleEntityNotFound(_0x2e82bc,null))['then'](respondWithResult(_0x2e82bc,null))['catch'](handleError(_0x2e82bc,null));};exports[_0x49ad('0x46')]=function(_0x580063,_0x2da400){return db[_0x49ad('0x3e')][_0x49ad('0x46')](_0x580063[_0x49ad('0x47')],{})[_0x49ad('0x21')](respondWithResult(_0x2da400,0xc9))[_0x49ad('0x43')](handleError(_0x2da400,null));};exports[_0x49ad('0x20')]=function(_0x5c7020,_0x24a6d6){if(_0x5c7020[_0x49ad('0x47')]['id']){delete _0x5c7020[_0x49ad('0x47')]['id'];}return db['UserProfileSection']['find']({'where':{'id':_0x5c7020[_0x49ad('0x48')]['id']}})[_0x49ad('0x21')](handleEntityNotFound(_0x24a6d6,null))['then'](saveUpdates(_0x5c7020[_0x49ad('0x47')],null))['then'](respondWithResult(_0x24a6d6,null))[_0x49ad('0x43')](handleError(_0x24a6d6,null));};exports[_0x49ad('0x22')]=function(_0x58ad00,_0x38915e){return db[_0x49ad('0x3e')]['find']({'where':{'id':_0x58ad00[_0x49ad('0x48')]['id']}})['then'](handleEntityNotFound(_0x38915e,null))[_0x49ad('0x21')](removeEntity(_0x38915e,null))['catch'](handleError(_0x38915e,null));};exports[_0x49ad('0x49')]=function(_0x1f6852,_0x2005f7){return db['UserProfileSection']['describe']()[_0x49ad('0x21')](respondWithResult(_0x2005f7,null))[_0x49ad('0x43')](handleError(_0x2005f7,null));};