Built motion from commit 9e1399f3.|2.5.37
[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 _0x19ed=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','name','index','map','UserProfileSection','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','options','include','findAll','catch','show','params','rawAttributes','length','body','find','describe','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api'];(function(_0x4b0db6,_0xeb372c){var _0x313ee6=function(_0x37e514){while(--_0x37e514){_0x4b0db6['push'](_0x4b0db6['shift']());}};_0x313ee6(++_0xeb372c);}(_0x19ed,0xc5));var _0xd19e=function(_0x39909d,_0x11017e){_0x39909d=_0x39909d-0x0;var _0x2e9b17=_0x19ed[_0x39909d];return _0x2e9b17;};'use strict';var emlformat=require(_0xd19e('0x0'));var rimraf=require(_0xd19e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd19e('0x2'));var rp=require('request-promise');var moment=require(_0xd19e('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd19e('0x4'));var util=require(_0xd19e('0x5'));var path=require(_0xd19e('0x6'));var sox=require(_0xd19e('0x7'));var csv=require(_0xd19e('0x8'));var ejs=require(_0xd19e('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xd19e('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xd19e('0x8'));var querystring=require(_0xd19e('0xb'));var Papa=require(_0xd19e('0xc'));var Redis=require(_0xd19e('0xd'));var authService=require(_0xd19e('0xe'));var qs=require(_0xd19e('0xf'));var as=require(_0xd19e('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd19e('0x11'))(_0xd19e('0x12'));var utils=require(_0xd19e('0x13'));var config=require(_0xd19e('0x14'));var licenseUtil=require(_0xd19e('0x15'));var db=require(_0xd19e('0x16'))['db'];function respondWithStatusCode(_0x158d1d,_0x5a21e1){_0x5a21e1=_0x5a21e1||0xcc;return function(_0x2bf969){if(_0x2bf969){return _0x158d1d['sendStatus'](_0x5a21e1);}return _0x158d1d[_0xd19e('0x17')](_0x5a21e1)[_0xd19e('0x18')]();};}function respondWithResult(_0x54b80c,_0x232854){_0x232854=_0x232854||0xc8;return function(_0x558c9d){if(_0x558c9d){return _0x54b80c[_0xd19e('0x17')](_0x232854)[_0xd19e('0x19')](_0x558c9d);}};}function respondWithFilteredResult(_0x3d8360,_0x315418){return function(_0x4e10fc){if(_0x4e10fc){var _0x3c6bb2=typeof _0x315418[_0xd19e('0x1a')]===_0xd19e('0x1b')&&typeof _0x315418['limit']==='undefined';var _0x3ab49e=_0x4e10fc['count'];var _0x5f3cd4=_0x3c6bb2?0x0:_0x315418[_0xd19e('0x1a')];var _0x45b581=_0x3c6bb2?_0x4e10fc[_0xd19e('0x1c')]:_0x315418[_0xd19e('0x1a')]+_0x315418[_0xd19e('0x1d')];var _0x47f9de;if(_0x45b581>=_0x3ab49e){_0x45b581=_0x3ab49e;_0x47f9de=0xc8;}else{_0x47f9de=0xce;}_0x3d8360['status'](_0x47f9de);return _0x3d8360[_0xd19e('0x1e')](_0xd19e('0x1f'),_0x5f3cd4+'-'+_0x45b581+'/'+_0x3ab49e)[_0xd19e('0x19')](_0x4e10fc);}return null;};}function patchUpdates(_0x242965){return function(_0x5001d8){try{jsonpatch[_0xd19e('0x20')](_0x5001d8,_0x242965,!![]);}catch(_0x57f977){return BPromise[_0xd19e('0x21')](_0x57f977);}return _0x5001d8[_0xd19e('0x22')]();};}function saveUpdates(_0x591cbb,_0x46a65d){return function(_0x315c17){if(_0x315c17){return _0x315c17[_0xd19e('0x23')](_0x591cbb)[_0xd19e('0x24')](function(_0x101a2d){return _0x101a2d;});}return null;};}function removeEntity(_0x443d79,_0x71af41){return function(_0x53fcd1){if(_0x53fcd1){return _0x53fcd1[_0xd19e('0x25')]()[_0xd19e('0x24')](function(){_0x443d79[_0xd19e('0x17')](0xcc)[_0xd19e('0x18')]();});}};}function handleEntityNotFound(_0x5b30ef,_0x28e59d){return function(_0x1f1086){if(!_0x1f1086){_0x5b30ef[_0xd19e('0x26')](0x194);}return _0x1f1086;};}function handleError(_0x56c942,_0x368d12){_0x368d12=_0x368d12||0x1f4;return function(_0x56960c){logger['error'](_0x56960c[_0xd19e('0x27')]);if(_0x56960c[_0xd19e('0x28')]){delete _0x56960c[_0xd19e('0x28')];}_0x56c942[_0xd19e('0x17')](_0x368d12)['send'](_0x56960c);};}exports[_0xd19e('0x29')]=function(_0x1edb98,_0x53d0e8){var _0x40b253={},_0x5e9979={},_0x3f425c={'count':0x0,'rows':[]};var _0x239b01=_[_0xd19e('0x2a')](db[_0xd19e('0x2b')]['rawAttributes'],function(_0x2e50f9){return{'name':_0x2e50f9[_0xd19e('0x2c')],'type':_0x2e50f9[_0xd19e('0x2d')][_0xd19e('0x2e')]};});_0x5e9979[_0xd19e('0x2f')]=_[_0xd19e('0x2a')](_0x239b01,_0xd19e('0x28'));_0x5e9979[_0xd19e('0x30')]=_[_0xd19e('0x31')](_0x1edb98[_0xd19e('0x30')]);_0x5e9979[_0xd19e('0x32')]=_[_0xd19e('0x33')](_0x5e9979[_0xd19e('0x2f')],_0x5e9979[_0xd19e('0x30')]);_0x40b253[_0xd19e('0x34')]=_[_0xd19e('0x33')](_0x5e9979[_0xd19e('0x2f')],qs[_0xd19e('0x35')](_0x1edb98['query'][_0xd19e('0x35')]));_0x40b253['attributes']=_0x40b253['attributes']['length']?_0x40b253[_0xd19e('0x34')]:_0x5e9979[_0xd19e('0x2f')];if(!_0x1edb98[_0xd19e('0x30')][_0xd19e('0x36')](_0xd19e('0x37'))){_0x40b253['limit']=qs[_0xd19e('0x1d')](_0x1edb98['query'][_0xd19e('0x1d')]);_0x40b253[_0xd19e('0x1a')]=qs['offset'](_0x1edb98[_0xd19e('0x30')]['offset']);}_0x40b253['order']=qs[_0xd19e('0x38')](_0x1edb98[_0xd19e('0x30')]['sort']);_0x40b253[_0xd19e('0x39')]=qs[_0xd19e('0x32')](_[_0xd19e('0x3a')](_0x1edb98[_0xd19e('0x30')],_0x5e9979[_0xd19e('0x32')]),_0x239b01);if(_0x1edb98['query']['filter']){_0x40b253[_0xd19e('0x39')]=_[_0xd19e('0x3b')](_0x40b253[_0xd19e('0x39')],{'$or':_[_0xd19e('0x2a')](_0x239b01,function(_0x2e3716){if(_0x2e3716[_0xd19e('0x2d')]!==_0xd19e('0x3c')){var _0x544509={};_0x544509[_0x2e3716['name']]={'$like':'%'+_0x1edb98[_0xd19e('0x30')]['filter']+'%'};return _0x544509;}})});}_0x40b253=_[_0xd19e('0x3b')]({},_0x40b253,_0x1edb98[_0xd19e('0x3d')]);var _0x3c45c0={'where':_0x40b253['where']};return db[_0xd19e('0x2b')][_0xd19e('0x1c')](_0x3c45c0)['then'](function(_0x57ecb8){_0x3f425c[_0xd19e('0x1c')]=_0x57ecb8;if(_0x1edb98['query']['includeAll']){_0x40b253[_0xd19e('0x3e')]=[{'all':!![]}];}return db[_0xd19e('0x2b')][_0xd19e('0x3f')](_0x40b253);})[_0xd19e('0x24')](function(_0x23a163){_0x3f425c['rows']=_0x23a163;return _0x3f425c;})[_0xd19e('0x24')](respondWithFilteredResult(_0x53d0e8,_0x40b253))[_0xd19e('0x40')](handleError(_0x53d0e8,null));};exports[_0xd19e('0x41')]=function(_0x30f02c,_0x2d9e82){var _0x79b11f={'raw':![],'where':{'id':_0x30f02c[_0xd19e('0x42')]['id']}},_0x9d0a74={};_0x9d0a74[_0xd19e('0x2f')]=_['keys'](db['UserProfileSection'][_0xd19e('0x43')]);_0x9d0a74['query']=_['keys'](_0x30f02c['query']);_0x9d0a74[_0xd19e('0x32')]=_['intersection'](_0x9d0a74[_0xd19e('0x2f')],_0x9d0a74[_0xd19e('0x30')]);_0x79b11f[_0xd19e('0x34')]=_[_0xd19e('0x33')](_0x9d0a74[_0xd19e('0x2f')],qs['fields'](_0x30f02c[_0xd19e('0x30')][_0xd19e('0x35')]));_0x79b11f[_0xd19e('0x34')]=_0x79b11f[_0xd19e('0x34')][_0xd19e('0x44')]?_0x79b11f[_0xd19e('0x34')]:_0x9d0a74['model'];if(_0x30f02c[_0xd19e('0x30')]['includeAll']){_0x79b11f['include']=[{'all':!![]}];}_0x79b11f=_[_0xd19e('0x3b')]({},_0x79b11f,_0x30f02c[_0xd19e('0x3d')]);return db[_0xd19e('0x2b')]['find'](_0x79b11f)[_0xd19e('0x24')](handleEntityNotFound(_0x2d9e82,null))['then'](respondWithResult(_0x2d9e82,null))[_0xd19e('0x40')](handleError(_0x2d9e82,null));};exports['create']=function(_0x11577b,_0xfa2683){return db['UserProfileSection']['create'](_0x11577b[_0xd19e('0x45')],{})['then'](respondWithResult(_0xfa2683,0xc9))[_0xd19e('0x40')](handleError(_0xfa2683,null));};exports[_0xd19e('0x23')]=function(_0x2bb368,_0x33ad4c){if(_0x2bb368[_0xd19e('0x45')]['id']){delete _0x2bb368[_0xd19e('0x45')]['id'];}return db[_0xd19e('0x2b')][_0xd19e('0x46')]({'where':{'id':_0x2bb368['params']['id']}})[_0xd19e('0x24')](handleEntityNotFound(_0x33ad4c,null))[_0xd19e('0x24')](saveUpdates(_0x2bb368[_0xd19e('0x45')],null))[_0xd19e('0x24')](respondWithResult(_0x33ad4c,null))['catch'](handleError(_0x33ad4c,null));};exports[_0xd19e('0x25')]=function(_0x38b8f6,_0x157aa9){return db[_0xd19e('0x2b')][_0xd19e('0x46')]({'where':{'id':_0x38b8f6[_0xd19e('0x42')]['id']}})[_0xd19e('0x24')](handleEntityNotFound(_0x157aa9,null))[_0xd19e('0x24')](removeEntity(_0x157aa9,null))['catch'](handleError(_0x157aa9,null));};exports['describe']=function(_0x399d12,_0x8bf387){return db[_0xd19e('0x2b')][_0xd19e('0x47')]()[_0xd19e('0x24')](respondWithResult(_0x8bf387,null))[_0xd19e('0x40')](handleError(_0x8bf387,null));};