Built motion from commit d5e4af8c.|2.6.23
[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 _0x2c6a=['ejs','fs-extra','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','apply','reject','save','update','then','destroy','error','name','send','UserProfileSection','rawAttributes','fieldName','key','model','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','pick','filter','type','VIRTUAL','merge','includeAll','include','findAll','rows','catch','show','params','create','body','find','describe','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv'];(function(_0x3485f8,_0x1b66cf){var _0x1fbba7=function(_0x135b73){while(--_0x135b73){_0x3485f8['push'](_0x3485f8['shift']());}};_0x1fbba7(++_0x1b66cf);}(_0x2c6a,0x19d));var _0xa2c6=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x2c6a[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xa2c6('0x0'));var rp=require(_0xa2c6('0x1'));var moment=require(_0xa2c6('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xa2c6('0x3'));var util=require('util');var path=require(_0xa2c6('0x4'));var sox=require(_0xa2c6('0x5'));var csv=require(_0xa2c6('0x6'));var ejs=require(_0xa2c6('0x7'));var fs=require('fs');var fs_extra=require(_0xa2c6('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xa2c6('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xa2c6('0xa'));var toCsv=require(_0xa2c6('0x6'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xa2c6('0xb'));var authService=require(_0xa2c6('0xc'));var qs=require(_0xa2c6('0xd'));var as=require(_0xa2c6('0xe'));var hardwareService=require(_0xa2c6('0xf'));var logger=require(_0xa2c6('0x10'))(_0xa2c6('0x11'));var utils=require(_0xa2c6('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xa2c6('0x13'));var db=require(_0xa2c6('0x14'))['db'];function respondWithStatusCode(_0x15b22b,_0x53bcdf){_0x53bcdf=_0x53bcdf||0xcc;return function(_0x568650){if(_0x568650){return _0x15b22b[_0xa2c6('0x15')](_0x53bcdf);}return _0x15b22b[_0xa2c6('0x16')](_0x53bcdf)[_0xa2c6('0x17')]();};}function respondWithResult(_0x537669,_0x2bcbbc){_0x2bcbbc=_0x2bcbbc||0xc8;return function(_0x6f0194){if(_0x6f0194){return _0x537669[_0xa2c6('0x16')](_0x2bcbbc)['json'](_0x6f0194);}};}function respondWithFilteredResult(_0x2a57ba,_0x980819){return function(_0x250247){if(_0x250247){var _0x21977d=typeof _0x980819[_0xa2c6('0x18')]==='undefined'&&typeof _0x980819[_0xa2c6('0x19')]===_0xa2c6('0x1a');var _0x4bf326=_0x250247[_0xa2c6('0x1b')];var _0x38aa52=_0x21977d?0x0:_0x980819['offset'];var _0x36a31f=_0x21977d?_0x250247[_0xa2c6('0x1b')]:_0x980819['offset']+_0x980819['limit'];var _0x5d24f0;if(_0x36a31f>=_0x4bf326){_0x36a31f=_0x4bf326;_0x5d24f0=0xc8;}else{_0x5d24f0=0xce;}_0x2a57ba['status'](_0x5d24f0);return _0x2a57ba['set']('Content-Range',_0x38aa52+'-'+_0x36a31f+'/'+_0x4bf326)['json'](_0x250247);}return null;};}function patchUpdates(_0x4f40a4){return function(_0x422e3e){try{jsonpatch[_0xa2c6('0x1c')](_0x422e3e,_0x4f40a4,!![]);}catch(_0x4e8572){return BPromise[_0xa2c6('0x1d')](_0x4e8572);}return _0x422e3e[_0xa2c6('0x1e')]();};}function saveUpdates(_0x840a9d,_0x32115d){return function(_0x2eb185){if(_0x2eb185){return _0x2eb185[_0xa2c6('0x1f')](_0x840a9d)[_0xa2c6('0x20')](function(_0x14f511){return _0x14f511;});}return null;};}function removeEntity(_0x30a90e,_0x3dc44b){return function(_0x6b8281){if(_0x6b8281){return _0x6b8281[_0xa2c6('0x21')]()[_0xa2c6('0x20')](function(){_0x30a90e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4fe2c4,_0x3eb4c7){return function(_0x4ea0b7){if(!_0x4ea0b7){_0x4fe2c4[_0xa2c6('0x15')](0x194);}return _0x4ea0b7;};}function handleError(_0x51cc74,_0x2c89cd){_0x2c89cd=_0x2c89cd||0x1f4;return function(_0x92ddde){logger[_0xa2c6('0x22')](_0x92ddde['stack']);if(_0x92ddde[_0xa2c6('0x23')]){delete _0x92ddde[_0xa2c6('0x23')];}_0x51cc74[_0xa2c6('0x16')](_0x2c89cd)[_0xa2c6('0x24')](_0x92ddde);};}exports['index']=function(_0x358e83,_0x5a59fe){var _0x38ca2a={},_0x5388f7={},_0x216c27={'count':0x0,'rows':[]};var _0x5b3301=_['map'](db[_0xa2c6('0x25')][_0xa2c6('0x26')],function(_0xb2e2c8){return{'name':_0xb2e2c8[_0xa2c6('0x27')],'type':_0xb2e2c8['type'][_0xa2c6('0x28')]};});_0x5388f7[_0xa2c6('0x29')]=_[_0xa2c6('0x2a')](_0x5b3301,_0xa2c6('0x23'));_0x5388f7[_0xa2c6('0x2b')]=_[_0xa2c6('0x2c')](_0x358e83['query']);_0x5388f7['filters']=_[_0xa2c6('0x2d')](_0x5388f7[_0xa2c6('0x29')],_0x5388f7[_0xa2c6('0x2b')]);_0x38ca2a['attributes']=_['intersection'](_0x5388f7[_0xa2c6('0x29')],qs[_0xa2c6('0x2e')](_0x358e83[_0xa2c6('0x2b')][_0xa2c6('0x2e')]));_0x38ca2a[_0xa2c6('0x2f')]=_0x38ca2a['attributes'][_0xa2c6('0x30')]?_0x38ca2a[_0xa2c6('0x2f')]:_0x5388f7[_0xa2c6('0x29')];if(!_0x358e83['query'][_0xa2c6('0x31')]('nolimit')){_0x38ca2a[_0xa2c6('0x19')]=qs['limit'](_0x358e83['query'][_0xa2c6('0x19')]);_0x38ca2a['offset']=qs[_0xa2c6('0x18')](_0x358e83[_0xa2c6('0x2b')][_0xa2c6('0x18')]);}_0x38ca2a[_0xa2c6('0x32')]=qs[_0xa2c6('0x33')](_0x358e83[_0xa2c6('0x2b')][_0xa2c6('0x33')]);_0x38ca2a[_0xa2c6('0x34')]=qs[_0xa2c6('0x35')](_[_0xa2c6('0x36')](_0x358e83[_0xa2c6('0x2b')],_0x5388f7[_0xa2c6('0x35')]),_0x5b3301);if(_0x358e83[_0xa2c6('0x2b')][_0xa2c6('0x37')]){_0x38ca2a['where']=_['merge'](_0x38ca2a[_0xa2c6('0x34')],{'$or':_[_0xa2c6('0x2a')](_0x5b3301,function(_0x3d4e8c){if(_0x3d4e8c[_0xa2c6('0x38')]!==_0xa2c6('0x39')){var _0x302b7f={};_0x302b7f[_0x3d4e8c[_0xa2c6('0x23')]]={'$like':'%'+_0x358e83[_0xa2c6('0x2b')][_0xa2c6('0x37')]+'%'};return _0x302b7f;}})});}_0x38ca2a=_[_0xa2c6('0x3a')]({},_0x38ca2a,_0x358e83['options']);var _0x158688={'where':_0x38ca2a[_0xa2c6('0x34')]};return db['UserProfileSection'][_0xa2c6('0x1b')](_0x158688)['then'](function(_0x2d9c7a){_0x216c27[_0xa2c6('0x1b')]=_0x2d9c7a;if(_0x358e83[_0xa2c6('0x2b')][_0xa2c6('0x3b')]){_0x38ca2a[_0xa2c6('0x3c')]=[{'all':!![]}];}return db[_0xa2c6('0x25')][_0xa2c6('0x3d')](_0x38ca2a);})['then'](function(_0x536b54){_0x216c27[_0xa2c6('0x3e')]=_0x536b54;return _0x216c27;})['then'](respondWithFilteredResult(_0x5a59fe,_0x38ca2a))[_0xa2c6('0x3f')](handleError(_0x5a59fe,null));};exports[_0xa2c6('0x40')]=function(_0x4427a9,_0x2d53ad){var _0x85ba54={'raw':![],'where':{'id':_0x4427a9[_0xa2c6('0x41')]['id']}},_0x2f88ac={};_0x2f88ac[_0xa2c6('0x29')]=_['keys'](db[_0xa2c6('0x25')][_0xa2c6('0x26')]);_0x2f88ac[_0xa2c6('0x2b')]=_['keys'](_0x4427a9[_0xa2c6('0x2b')]);_0x2f88ac[_0xa2c6('0x35')]=_['intersection'](_0x2f88ac[_0xa2c6('0x29')],_0x2f88ac[_0xa2c6('0x2b')]);_0x85ba54[_0xa2c6('0x2f')]=_[_0xa2c6('0x2d')](_0x2f88ac[_0xa2c6('0x29')],qs[_0xa2c6('0x2e')](_0x4427a9[_0xa2c6('0x2b')][_0xa2c6('0x2e')]));_0x85ba54[_0xa2c6('0x2f')]=_0x85ba54[_0xa2c6('0x2f')][_0xa2c6('0x30')]?_0x85ba54[_0xa2c6('0x2f')]:_0x2f88ac[_0xa2c6('0x29')];if(_0x4427a9[_0xa2c6('0x2b')][_0xa2c6('0x3b')]){_0x85ba54[_0xa2c6('0x3c')]=[{'all':!![]}];}_0x85ba54=_[_0xa2c6('0x3a')]({},_0x85ba54,_0x4427a9['options']);return db['UserProfileSection']['find'](_0x85ba54)[_0xa2c6('0x20')](handleEntityNotFound(_0x2d53ad,null))['then'](respondWithResult(_0x2d53ad,null))[_0xa2c6('0x3f')](handleError(_0x2d53ad,null));};exports[_0xa2c6('0x42')]=function(_0x42dcbe,_0x4280e3){return db[_0xa2c6('0x25')][_0xa2c6('0x42')](_0x42dcbe[_0xa2c6('0x43')],{})[_0xa2c6('0x20')](respondWithResult(_0x4280e3,0xc9))[_0xa2c6('0x3f')](handleError(_0x4280e3,null));};exports['update']=function(_0x283dd9,_0xcb8377){if(_0x283dd9[_0xa2c6('0x43')]['id']){delete _0x283dd9[_0xa2c6('0x43')]['id'];}return db[_0xa2c6('0x25')][_0xa2c6('0x44')]({'where':{'id':_0x283dd9[_0xa2c6('0x41')]['id']}})[_0xa2c6('0x20')](handleEntityNotFound(_0xcb8377,null))['then'](saveUpdates(_0x283dd9[_0xa2c6('0x43')],null))[_0xa2c6('0x20')](respondWithResult(_0xcb8377,null))[_0xa2c6('0x3f')](handleError(_0xcb8377,null));};exports[_0xa2c6('0x21')]=function(_0x208bef,_0x1a39c7){return db[_0xa2c6('0x25')][_0xa2c6('0x44')]({'where':{'id':_0x208bef[_0xa2c6('0x41')]['id']}})[_0xa2c6('0x20')](handleEntityNotFound(_0x1a39c7,null))[_0xa2c6('0x20')](removeEntity(_0x1a39c7,null))['catch'](handleError(_0x1a39c7,null));};exports[_0xa2c6('0x45')]=function(_0x5dbb57,_0x2bfda6){return db[_0xa2c6('0x25')][_0xa2c6('0x45')]()['then'](respondWithResult(_0x2bfda6,null))[_0xa2c6('0x3f')](handleError(_0x2bfda6,null));};