6177d2bc6db8db295c2db4615eb54b9e357954b9
[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 _0x4dbc=['path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','end','error','stack','name','send','index','map','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','include','UserProfileSection','findAll','rows','catch','show','params','rawAttributes','intersection','find','body','describe','rimraf','fast-json-patch','moment','mustache','util'];(function(_0x151973,_0x5e1898){var _0xa8d689=function(_0x617a4){while(--_0x617a4){_0x151973['push'](_0x151973['shift']());}};_0xa8d689(++_0x5e1898);}(_0x4dbc,0xdf));var _0xc4db=function(_0x5f207b,_0x2bd4f2){_0x5f207b=_0x5f207b-0x0;var _0x4a1825=_0x4dbc[_0x5f207b];return _0x4a1825;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc4db('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc4db('0x1'));var rp=require('request-promise');var moment=require(_0xc4db('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xc4db('0x3'));var util=require(_0xc4db('0x4'));var path=require(_0xc4db('0x5'));var sox=require('sox');var csv=require(_0xc4db('0x6'));var ejs=require(_0xc4db('0x7'));var fs=require('fs');var fs_extra=require(_0xc4db('0x8'));var _=require(_0xc4db('0x9'));var squel=require(_0xc4db('0xa'));var crypto=require(_0xc4db('0xb'));var jsforce=require(_0xc4db('0xc'));var deskjs=require(_0xc4db('0xd'));var toCsv=require(_0xc4db('0x6'));var querystring=require('querystring');var Papa=require(_0xc4db('0xe'));var Redis=require(_0xc4db('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xc4db('0x10'));var as=require(_0xc4db('0x11'));var hardwareService=require(_0xc4db('0x12'));var logger=require('../../config/logger')(_0xc4db('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xc4db('0x14'));var db=require(_0xc4db('0x15'))['db'];function respondWithStatusCode(_0x51e3a9,_0xb8411){_0xb8411=_0xb8411||0xcc;return function(_0x536cf4){if(_0x536cf4){return _0x51e3a9[_0xc4db('0x16')](_0xb8411);}return _0x51e3a9[_0xc4db('0x17')](_0xb8411)['end']();};}function respondWithResult(_0x426cf1,_0x23d1ba){_0x23d1ba=_0x23d1ba||0xc8;return function(_0x77760f){if(_0x77760f){return _0x426cf1[_0xc4db('0x17')](_0x23d1ba)[_0xc4db('0x18')](_0x77760f);}};}function respondWithFilteredResult(_0x429202,_0x5f4d5f){return function(_0xa1b647){if(_0xa1b647){var _0x4cb707=typeof _0x5f4d5f[_0xc4db('0x19')]===_0xc4db('0x1a')&&typeof _0x5f4d5f[_0xc4db('0x1b')]==='undefined';var _0x155d0a=_0xa1b647[_0xc4db('0x1c')];var _0x5d6c54=_0x4cb707?0x0:_0x5f4d5f[_0xc4db('0x19')];var _0x55debe=_0x4cb707?_0xa1b647['count']:_0x5f4d5f[_0xc4db('0x19')]+_0x5f4d5f['limit'];var _0x36eec5;if(_0x55debe>=_0x155d0a){_0x55debe=_0x155d0a;_0x36eec5=0xc8;}else{_0x36eec5=0xce;}_0x429202[_0xc4db('0x17')](_0x36eec5);return _0x429202[_0xc4db('0x1d')](_0xc4db('0x1e'),_0x5d6c54+'-'+_0x55debe+'/'+_0x155d0a)[_0xc4db('0x18')](_0xa1b647);}return null;};}function patchUpdates(_0x3a5338){return function(_0x557598){try{jsonpatch[_0xc4db('0x1f')](_0x557598,_0x3a5338,!![]);}catch(_0x18082f){return BPromise[_0xc4db('0x20')](_0x18082f);}return _0x557598['save']();};}function saveUpdates(_0x374751,_0x436552){return function(_0x321699){if(_0x321699){return _0x321699[_0xc4db('0x21')](_0x374751)['then'](function(_0x384ac9){return _0x384ac9;});}return null;};}function removeEntity(_0x532654,_0x51f49c){return function(_0xc72442){if(_0xc72442){return _0xc72442[_0xc4db('0x22')]()['then'](function(){_0x532654[_0xc4db('0x17')](0xcc)[_0xc4db('0x23')]();});}};}function handleEntityNotFound(_0x319deb,_0x57021e){return function(_0x14891f){if(!_0x14891f){_0x319deb[_0xc4db('0x16')](0x194);}return _0x14891f;};}function handleError(_0xd8f9d2,_0x46921f){_0x46921f=_0x46921f||0x1f4;return function(_0x2c86d3){logger[_0xc4db('0x24')](_0x2c86d3[_0xc4db('0x25')]);if(_0x2c86d3[_0xc4db('0x26')]){delete _0x2c86d3[_0xc4db('0x26')];}_0xd8f9d2[_0xc4db('0x17')](_0x46921f)[_0xc4db('0x27')](_0x2c86d3);};}exports[_0xc4db('0x28')]=function(_0x2911e6,_0x20eccb){var _0x5c511c={},_0x28caca={},_0x1c508a={'count':0x0,'rows':[]};var _0x532e0a=_[_0xc4db('0x29')](db['UserProfileSection']['rawAttributes'],function(_0x56a7e0){return{'name':_0x56a7e0[_0xc4db('0x2a')],'type':_0x56a7e0[_0xc4db('0x2b')][_0xc4db('0x2c')]};});_0x28caca[_0xc4db('0x2d')]=_[_0xc4db('0x29')](_0x532e0a,_0xc4db('0x26'));_0x28caca[_0xc4db('0x2e')]=_[_0xc4db('0x2f')](_0x2911e6[_0xc4db('0x2e')]);_0x28caca[_0xc4db('0x30')]=_['intersection'](_0x28caca[_0xc4db('0x2d')],_0x28caca[_0xc4db('0x2e')]);_0x5c511c[_0xc4db('0x31')]=_['intersection'](_0x28caca[_0xc4db('0x2d')],qs['fields'](_0x2911e6[_0xc4db('0x2e')][_0xc4db('0x32')]));_0x5c511c[_0xc4db('0x31')]=_0x5c511c[_0xc4db('0x31')][_0xc4db('0x33')]?_0x5c511c[_0xc4db('0x31')]:_0x28caca[_0xc4db('0x2d')];if(!_0x2911e6['query'][_0xc4db('0x34')](_0xc4db('0x35'))){_0x5c511c[_0xc4db('0x1b')]=qs[_0xc4db('0x1b')](_0x2911e6[_0xc4db('0x2e')][_0xc4db('0x1b')]);_0x5c511c[_0xc4db('0x19')]=qs['offset'](_0x2911e6[_0xc4db('0x2e')][_0xc4db('0x19')]);}_0x5c511c[_0xc4db('0x36')]=qs[_0xc4db('0x37')](_0x2911e6[_0xc4db('0x2e')][_0xc4db('0x37')]);_0x5c511c[_0xc4db('0x38')]=qs[_0xc4db('0x30')](_[_0xc4db('0x39')](_0x2911e6[_0xc4db('0x2e')],_0x28caca[_0xc4db('0x30')]),_0x532e0a);if(_0x2911e6[_0xc4db('0x2e')][_0xc4db('0x3a')]){_0x5c511c[_0xc4db('0x38')]=_[_0xc4db('0x3b')](_0x5c511c[_0xc4db('0x38')],{'$or':_['map'](_0x532e0a,function(_0x3e847e){if(_0x3e847e['type']!==_0xc4db('0x3c')){var _0x3bfb5e={};_0x3bfb5e[_0x3e847e[_0xc4db('0x26')]]={'$like':'%'+_0x2911e6[_0xc4db('0x2e')][_0xc4db('0x3a')]+'%'};return _0x3bfb5e;}})});}_0x5c511c=_[_0xc4db('0x3b')]({},_0x5c511c,_0x2911e6[_0xc4db('0x3d')]);var _0x2e07c2={'where':_0x5c511c['where']};return db['UserProfileSection'][_0xc4db('0x1c')](_0x2e07c2)[_0xc4db('0x3e')](function(_0x19ef6d){_0x1c508a[_0xc4db('0x1c')]=_0x19ef6d;if(_0x2911e6[_0xc4db('0x2e')][_0xc4db('0x3f')]){_0x5c511c[_0xc4db('0x40')]=[{'all':!![]}];}return db[_0xc4db('0x41')][_0xc4db('0x42')](_0x5c511c);})['then'](function(_0x29b37e){_0x1c508a[_0xc4db('0x43')]=_0x29b37e;return _0x1c508a;})[_0xc4db('0x3e')](respondWithFilteredResult(_0x20eccb,_0x5c511c))[_0xc4db('0x44')](handleError(_0x20eccb,null));};exports[_0xc4db('0x45')]=function(_0x37e666,_0x4f2792){var _0x458443={'raw':![],'where':{'id':_0x37e666[_0xc4db('0x46')]['id']}},_0x5f5a0c={};_0x5f5a0c[_0xc4db('0x2d')]=_[_0xc4db('0x2f')](db[_0xc4db('0x41')][_0xc4db('0x47')]);_0x5f5a0c[_0xc4db('0x2e')]=_[_0xc4db('0x2f')](_0x37e666[_0xc4db('0x2e')]);_0x5f5a0c[_0xc4db('0x30')]=_[_0xc4db('0x48')](_0x5f5a0c['model'],_0x5f5a0c[_0xc4db('0x2e')]);_0x458443[_0xc4db('0x31')]=_[_0xc4db('0x48')](_0x5f5a0c[_0xc4db('0x2d')],qs[_0xc4db('0x32')](_0x37e666[_0xc4db('0x2e')][_0xc4db('0x32')]));_0x458443[_0xc4db('0x31')]=_0x458443[_0xc4db('0x31')][_0xc4db('0x33')]?_0x458443[_0xc4db('0x31')]:_0x5f5a0c[_0xc4db('0x2d')];if(_0x37e666['query'][_0xc4db('0x3f')]){_0x458443[_0xc4db('0x40')]=[{'all':!![]}];}_0x458443=_[_0xc4db('0x3b')]({},_0x458443,_0x37e666[_0xc4db('0x3d')]);return db[_0xc4db('0x41')][_0xc4db('0x49')](_0x458443)[_0xc4db('0x3e')](handleEntityNotFound(_0x4f2792,null))['then'](respondWithResult(_0x4f2792,null))['catch'](handleError(_0x4f2792,null));};exports['create']=function(_0x161896,_0xc0810c){return db[_0xc4db('0x41')]['create'](_0x161896[_0xc4db('0x4a')],{})['then'](respondWithResult(_0xc0810c,0xc9))[_0xc4db('0x44')](handleError(_0xc0810c,null));};exports[_0xc4db('0x21')]=function(_0xda726b,_0x53be89){if(_0xda726b['body']['id']){delete _0xda726b['body']['id'];}return db['UserProfileSection']['find']({'where':{'id':_0xda726b[_0xc4db('0x46')]['id']}})[_0xc4db('0x3e')](handleEntityNotFound(_0x53be89,null))[_0xc4db('0x3e')](saveUpdates(_0xda726b['body'],null))['then'](respondWithResult(_0x53be89,null))[_0xc4db('0x44')](handleError(_0x53be89,null));};exports[_0xc4db('0x22')]=function(_0x11d9d4,_0x481e2f){return db[_0xc4db('0x41')]['find']({'where':{'id':_0x11d9d4[_0xc4db('0x46')]['id']}})[_0xc4db('0x3e')](handleEntityNotFound(_0x481e2f,null))['then'](removeEntity(_0x481e2f,null))[_0xc4db('0x44')](handleError(_0x481e2f,null));};exports[_0xc4db('0x4b')]=function(_0x4859be,_0x1d6293){return db['UserProfileSection'][_0xc4db('0x4b')]()[_0xc4db('0x3e')](respondWithResult(_0x1d6293,null))[_0xc4db('0x44')](handleError(_0x1d6293,null));};