a153b1ff0b646bfcfddf684edf3836daed4c2ea7
[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 _0x5a46=['rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','count','includeAll','include','findAll','catch','params','length','find','create','body','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','save','update','then','error','stack','name','send','index','map','UserProfileSection'];(function(_0x3ce3c,_0x319337){var _0x55a2c9=function(_0x1568d0){while(--_0x1568d0){_0x3ce3c['push'](_0x3ce3c['shift']());}};_0x55a2c9(++_0x319337);}(_0x5a46,0xe2));var _0x65a4=function(_0x5f57a3,_0x59bc9e){_0x5f57a3=_0x5f57a3-0x0;var _0x2bc8d8=_0x5a46[_0x5f57a3];return _0x2bc8d8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x65a4('0x0'));var zipdir=require(_0x65a4('0x1'));var jsonpatch=require(_0x65a4('0x2'));var rp=require('request-promise');var moment=require(_0x65a4('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x65a4('0x4'));var util=require(_0x65a4('0x5'));var path=require(_0x65a4('0x6'));var sox=require('sox');var csv=require(_0x65a4('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x65a4('0x8'));var squel=require(_0x65a4('0x9'));var crypto=require(_0x65a4('0xa'));var jsforce=require(_0x65a4('0xb'));var deskjs=require(_0x65a4('0xc'));var toCsv=require(_0x65a4('0x7'));var querystring=require(_0x65a4('0xd'));var Papa=require(_0x65a4('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x65a4('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x65a4('0x10'));var logger=require(_0x65a4('0x11'))(_0x65a4('0x12'));var utils=require(_0x65a4('0x13'));var config=require(_0x65a4('0x14'));var licenseUtil=require(_0x65a4('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x42be1d,_0x2438be){_0x2438be=_0x2438be||0xcc;return function(_0x38f64c){if(_0x38f64c){return _0x42be1d[_0x65a4('0x16')](_0x2438be);}return _0x42be1d[_0x65a4('0x17')](_0x2438be)[_0x65a4('0x18')]();};}function respondWithResult(_0x36dc0f,_0x1e8245){_0x1e8245=_0x1e8245||0xc8;return function(_0x5127aa){if(_0x5127aa){return _0x36dc0f['status'](_0x1e8245)[_0x65a4('0x19')](_0x5127aa);}};}function respondWithFilteredResult(_0x1d3db3,_0x221b95){return function(_0x313447){if(_0x313447){var _0x1d4225=_0x313447['count'],_0x46cd5a=_0x221b95[_0x65a4('0x1a')],_0x219ccb=_0x221b95[_0x65a4('0x1a')]+_0x221b95[_0x65a4('0x1b')],_0x559388;if(_0x219ccb>=_0x1d4225){_0x219ccb=_0x1d4225;_0x559388=0xc8;}else{_0x559388=0xce;}_0x1d3db3['status'](_0x559388);return _0x1d3db3['set']('Content-Range',_0x46cd5a+'-'+_0x219ccb+'/'+_0x1d4225)['json'](_0x313447);}return null;};}function patchUpdates(_0x29e72c){return function(_0x46d92d){try{jsonpatch['apply'](_0x46d92d,_0x29e72c,!![]);}catch(_0x5e82d5){return BPromise['reject'](_0x5e82d5);}return _0x46d92d[_0x65a4('0x1c')]();};}function saveUpdates(_0x23ce57,_0x39acc6){return function(_0x411d54){if(_0x411d54){return _0x411d54[_0x65a4('0x1d')](_0x23ce57)[_0x65a4('0x1e')](function(_0x55ba70){return _0x55ba70;});}return null;};}function removeEntity(_0x590f02,_0x233fab){return function(_0x3addbf){if(_0x3addbf){return _0x3addbf['destroy']()['then'](function(){_0x590f02[_0x65a4('0x17')](0xcc)[_0x65a4('0x18')]();});}};}function handleEntityNotFound(_0x19b8d1,_0x477e24){return function(_0x21a673){if(!_0x21a673){_0x19b8d1[_0x65a4('0x16')](0x194);}return _0x21a673;};}function handleError(_0xac655d,_0x321192){_0x321192=_0x321192||0x1f4;return function(_0x15be0a){logger[_0x65a4('0x1f')](_0x15be0a[_0x65a4('0x20')]);if(_0x15be0a[_0x65a4('0x21')]){delete _0x15be0a[_0x65a4('0x21')];}_0xac655d[_0x65a4('0x17')](_0x321192)[_0x65a4('0x22')](_0x15be0a);};}exports[_0x65a4('0x23')]=function(_0xc29b3c,_0x5e0c54){var _0x3b1443={},_0x194ef1={},_0x28fe2a={'count':0x0,'rows':[]};var _0x59a774=_[_0x65a4('0x24')](db[_0x65a4('0x25')][_0x65a4('0x26')],function(_0x20a731){return{'name':_0x20a731['fieldName'],'type':_0x20a731[_0x65a4('0x27')][_0x65a4('0x28')]};});_0x194ef1[_0x65a4('0x29')]=_[_0x65a4('0x24')](_0x59a774,_0x65a4('0x21'));_0x194ef1[_0x65a4('0x2a')]=_[_0x65a4('0x2b')](_0xc29b3c['query']);_0x194ef1[_0x65a4('0x2c')]=_['intersection'](_0x194ef1[_0x65a4('0x29')],_0x194ef1[_0x65a4('0x2a')]);_0x3b1443['attributes']=_[_0x65a4('0x2d')](_0x194ef1['model'],qs[_0x65a4('0x2e')](_0xc29b3c[_0x65a4('0x2a')][_0x65a4('0x2e')]));_0x3b1443[_0x65a4('0x2f')]=_0x3b1443[_0x65a4('0x2f')]['length']?_0x3b1443[_0x65a4('0x2f')]:_0x194ef1[_0x65a4('0x29')];if(!_0xc29b3c[_0x65a4('0x2a')][_0x65a4('0x30')](_0x65a4('0x31'))){_0x3b1443[_0x65a4('0x1b')]=qs[_0x65a4('0x1b')](_0xc29b3c[_0x65a4('0x2a')][_0x65a4('0x1b')]);_0x3b1443['offset']=qs[_0x65a4('0x1a')](_0xc29b3c[_0x65a4('0x2a')]['offset']);}_0x3b1443[_0x65a4('0x32')]=qs[_0x65a4('0x33')](_0xc29b3c[_0x65a4('0x2a')][_0x65a4('0x33')]);_0x3b1443[_0x65a4('0x34')]=qs['filters'](_['pick'](_0xc29b3c[_0x65a4('0x2a')],_0x194ef1[_0x65a4('0x2c')]),_0x59a774);if(_0xc29b3c['query'][_0x65a4('0x35')]){_0x3b1443[_0x65a4('0x34')]=_[_0x65a4('0x36')](_0x3b1443[_0x65a4('0x34')],{'$or':_['map'](_0x59a774,function(_0x1308b6){if(_0x1308b6[_0x65a4('0x27')]!=='VIRTUAL'){var _0x314718={};_0x314718[_0x1308b6['name']]={'$like':'%'+_0xc29b3c[_0x65a4('0x2a')]['filter']+'%'};return _0x314718;}})});}_0x3b1443=_[_0x65a4('0x36')]({},_0x3b1443,_0xc29b3c[_0x65a4('0x37')]);var _0x7e2df0={'where':_0x3b1443[_0x65a4('0x34')]};return db[_0x65a4('0x25')][_0x65a4('0x38')](_0x7e2df0)[_0x65a4('0x1e')](function(_0x182bd8){_0x28fe2a['count']=_0x182bd8;if(_0xc29b3c['query'][_0x65a4('0x39')]){_0x3b1443[_0x65a4('0x3a')]=[{'all':!![]}];}return db[_0x65a4('0x25')][_0x65a4('0x3b')](_0x3b1443);})[_0x65a4('0x1e')](function(_0x3bb08d){_0x28fe2a['rows']=_0x3bb08d;return _0x28fe2a;})['then'](respondWithFilteredResult(_0x5e0c54,_0x3b1443))[_0x65a4('0x3c')](handleError(_0x5e0c54,null));};exports['show']=function(_0x3ece30,_0x2ba3e2){var _0x6120bb={'raw':![],'where':{'id':_0x3ece30[_0x65a4('0x3d')]['id']}},_0x267208={};_0x267208[_0x65a4('0x29')]=_['keys'](db['UserProfileSection'][_0x65a4('0x26')]);_0x267208[_0x65a4('0x2a')]=_['keys'](_0x3ece30[_0x65a4('0x2a')]);_0x267208['filters']=_['intersection'](_0x267208[_0x65a4('0x29')],_0x267208[_0x65a4('0x2a')]);_0x6120bb[_0x65a4('0x2f')]=_[_0x65a4('0x2d')](_0x267208['model'],qs[_0x65a4('0x2e')](_0x3ece30[_0x65a4('0x2a')][_0x65a4('0x2e')]));_0x6120bb['attributes']=_0x6120bb[_0x65a4('0x2f')][_0x65a4('0x3e')]?_0x6120bb[_0x65a4('0x2f')]:_0x267208['model'];if(_0x3ece30['query'][_0x65a4('0x39')]){_0x6120bb[_0x65a4('0x3a')]=[{'all':!![]}];}_0x6120bb=_[_0x65a4('0x36')]({},_0x6120bb,_0x3ece30['options']);return db[_0x65a4('0x25')][_0x65a4('0x3f')](_0x6120bb)[_0x65a4('0x1e')](handleEntityNotFound(_0x2ba3e2,null))[_0x65a4('0x1e')](respondWithResult(_0x2ba3e2,null))[_0x65a4('0x3c')](handleError(_0x2ba3e2,null));};exports[_0x65a4('0x40')]=function(_0x53f401,_0x5bcd2b){return db[_0x65a4('0x25')][_0x65a4('0x40')](_0x53f401[_0x65a4('0x41')],{})[_0x65a4('0x1e')](respondWithResult(_0x5bcd2b,0xc9))[_0x65a4('0x3c')](handleError(_0x5bcd2b,null));};exports[_0x65a4('0x1d')]=function(_0x4d0246,_0x470ba2){if(_0x4d0246[_0x65a4('0x41')]['id']){delete _0x4d0246['body']['id'];}return db[_0x65a4('0x25')][_0x65a4('0x3f')]({'where':{'id':_0x4d0246['params']['id']}})[_0x65a4('0x1e')](handleEntityNotFound(_0x470ba2,null))['then'](saveUpdates(_0x4d0246[_0x65a4('0x41')],null))[_0x65a4('0x1e')](respondWithResult(_0x470ba2,null))[_0x65a4('0x3c')](handleError(_0x470ba2,null));};exports['destroy']=function(_0x26ac27,_0x138c78){return db[_0x65a4('0x25')][_0x65a4('0x3f')]({'where':{'id':_0x26ac27['params']['id']}})[_0x65a4('0x1e')](handleEntityNotFound(_0x138c78,null))['then'](removeEntity(_0x138c78,null))[_0x65a4('0x3c')](handleError(_0x138c78,null));};exports['describe']=function(_0x29d5cd,_0x5cce29){return db['UserProfileSection']['describe']()[_0x65a4('0x1e')](respondWithResult(_0x5cce29,null))[_0x65a4('0x3c')](handleError(_0x5cce29,null));};