a5f613a6a588efd86ae610c90a90cf413fec5772
[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 _0x0ff1=['order','sort','where','pick','filter','VIRTUAL','merge','options','then','includeAll','include','findAll','show','params','keys','rawAttributes','intersection','catch','create','body','find','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','set','json','apply','reject','update','destroy','error','stack','name','send','index','map','UserProfileSection','fieldName','type','key','model','query','filters','attributes','fields','length','hasOwnProperty','nolimit'];(function(_0xfd365,_0x48553f){var _0x16cadd=function(_0x188d83){while(--_0x188d83){_0xfd365['push'](_0xfd365['shift']());}};_0x16cadd(++_0x48553f);}(_0x0ff1,0xb8));var _0x10ff=function(_0x4450b1,_0x214ace){_0x4450b1=_0x4450b1-0x0;var _0x399b0b=_0x0ff1[_0x4450b1];return _0x399b0b;};'use strict';var emlformat=require(_0x10ff('0x0'));var rimraf=require(_0x10ff('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x10ff('0x2'));var rp=require(_0x10ff('0x3'));var moment=require(_0x10ff('0x4'));var BPromise=require(_0x10ff('0x5'));var Mustache=require(_0x10ff('0x6'));var util=require(_0x10ff('0x7'));var path=require(_0x10ff('0x8'));var sox=require(_0x10ff('0x9'));var csv=require(_0x10ff('0xa'));var ejs=require(_0x10ff('0xb'));var fs=require('fs');var fs_extra=require(_0x10ff('0xc'));var _=require(_0x10ff('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x10ff('0xe'));var toCsv=require(_0x10ff('0xa'));var querystring=require(_0x10ff('0xf'));var Papa=require(_0x10ff('0x10'));var Redis=require(_0x10ff('0x11'));var authService=require(_0x10ff('0x12'));var qs=require(_0x10ff('0x13'));var as=require(_0x10ff('0x14'));var hardwareService=require(_0x10ff('0x15'));var logger=require(_0x10ff('0x16'))(_0x10ff('0x17'));var utils=require(_0x10ff('0x18'));var config=require(_0x10ff('0x19'));var licenseUtil=require(_0x10ff('0x1a'));var db=require(_0x10ff('0x1b'))['db'];function respondWithStatusCode(_0x5d4697,_0x4597cd){_0x4597cd=_0x4597cd||0xcc;return function(_0x474fe9){if(_0x474fe9){return _0x5d4697[_0x10ff('0x1c')](_0x4597cd);}return _0x5d4697['status'](_0x4597cd)[_0x10ff('0x1d')]();};}function respondWithResult(_0x118613,_0x30843a){_0x30843a=_0x30843a||0xc8;return function(_0x786e58){if(_0x786e58){return _0x118613[_0x10ff('0x1e')](_0x30843a)['json'](_0x786e58);}};}function respondWithFilteredResult(_0x1dfc23,_0x518429){return function(_0x26794e){if(_0x26794e){var _0x3d826d=typeof _0x518429[_0x10ff('0x1f')]===_0x10ff('0x20')&&typeof _0x518429[_0x10ff('0x21')]===_0x10ff('0x20');var _0x5425ff=_0x26794e[_0x10ff('0x22')];var _0x2c49e3=_0x3d826d?0x0:_0x518429[_0x10ff('0x1f')];var _0x704912=_0x3d826d?_0x26794e['count']:_0x518429[_0x10ff('0x1f')]+_0x518429[_0x10ff('0x21')];var _0x21339b;if(_0x704912>=_0x5425ff){_0x704912=_0x5425ff;_0x21339b=0xc8;}else{_0x21339b=0xce;}_0x1dfc23[_0x10ff('0x1e')](_0x21339b);return _0x1dfc23[_0x10ff('0x23')]('Content-Range',_0x2c49e3+'-'+_0x704912+'/'+_0x5425ff)[_0x10ff('0x24')](_0x26794e);}return null;};}function patchUpdates(_0x4a7ead){return function(_0x4ca235){try{jsonpatch[_0x10ff('0x25')](_0x4ca235,_0x4a7ead,!![]);}catch(_0xe10585){return BPromise[_0x10ff('0x26')](_0xe10585);}return _0x4ca235['save']();};}function saveUpdates(_0x2c7a84,_0x338170){return function(_0x23f1f0){if(_0x23f1f0){return _0x23f1f0[_0x10ff('0x27')](_0x2c7a84)['then'](function(_0x167ba2){return _0x167ba2;});}return null;};}function removeEntity(_0x1890ba,_0x1c06e4){return function(_0x192898){if(_0x192898){return _0x192898[_0x10ff('0x28')]()['then'](function(){_0x1890ba[_0x10ff('0x1e')](0xcc)[_0x10ff('0x1d')]();});}};}function handleEntityNotFound(_0x279dad,_0x4bad20){return function(_0x571a1b){if(!_0x571a1b){_0x279dad[_0x10ff('0x1c')](0x194);}return _0x571a1b;};}function handleError(_0x33a43e,_0x2e42f1){_0x2e42f1=_0x2e42f1||0x1f4;return function(_0xb836da){logger[_0x10ff('0x29')](_0xb836da[_0x10ff('0x2a')]);if(_0xb836da['name']){delete _0xb836da[_0x10ff('0x2b')];}_0x33a43e[_0x10ff('0x1e')](_0x2e42f1)[_0x10ff('0x2c')](_0xb836da);};}exports[_0x10ff('0x2d')]=function(_0x4d5119,_0x43e0a8){var _0x5c2235={},_0x57572c={},_0x293a9c={'count':0x0,'rows':[]};var _0x285975=_[_0x10ff('0x2e')](db[_0x10ff('0x2f')]['rawAttributes'],function(_0x3ff91a){return{'name':_0x3ff91a[_0x10ff('0x30')],'type':_0x3ff91a[_0x10ff('0x31')][_0x10ff('0x32')]};});_0x57572c[_0x10ff('0x33')]=_[_0x10ff('0x2e')](_0x285975,_0x10ff('0x2b'));_0x57572c[_0x10ff('0x34')]=_['keys'](_0x4d5119[_0x10ff('0x34')]);_0x57572c[_0x10ff('0x35')]=_['intersection'](_0x57572c[_0x10ff('0x33')],_0x57572c[_0x10ff('0x34')]);_0x5c2235[_0x10ff('0x36')]=_['intersection'](_0x57572c[_0x10ff('0x33')],qs[_0x10ff('0x37')](_0x4d5119[_0x10ff('0x34')][_0x10ff('0x37')]));_0x5c2235[_0x10ff('0x36')]=_0x5c2235[_0x10ff('0x36')][_0x10ff('0x38')]?_0x5c2235[_0x10ff('0x36')]:_0x57572c[_0x10ff('0x33')];if(!_0x4d5119['query'][_0x10ff('0x39')](_0x10ff('0x3a'))){_0x5c2235[_0x10ff('0x21')]=qs[_0x10ff('0x21')](_0x4d5119[_0x10ff('0x34')][_0x10ff('0x21')]);_0x5c2235[_0x10ff('0x1f')]=qs[_0x10ff('0x1f')](_0x4d5119[_0x10ff('0x34')][_0x10ff('0x1f')]);}_0x5c2235[_0x10ff('0x3b')]=qs['sort'](_0x4d5119['query'][_0x10ff('0x3c')]);_0x5c2235[_0x10ff('0x3d')]=qs[_0x10ff('0x35')](_[_0x10ff('0x3e')](_0x4d5119['query'],_0x57572c['filters']),_0x285975);if(_0x4d5119[_0x10ff('0x34')][_0x10ff('0x3f')]){_0x5c2235['where']=_['merge'](_0x5c2235[_0x10ff('0x3d')],{'$or':_[_0x10ff('0x2e')](_0x285975,function(_0x1d30db){if(_0x1d30db[_0x10ff('0x31')]!==_0x10ff('0x40')){var _0x56a882={};_0x56a882[_0x1d30db[_0x10ff('0x2b')]]={'$like':'%'+_0x4d5119[_0x10ff('0x34')][_0x10ff('0x3f')]+'%'};return _0x56a882;}})});}_0x5c2235=_[_0x10ff('0x41')]({},_0x5c2235,_0x4d5119[_0x10ff('0x42')]);var _0x24ed8c={'where':_0x5c2235['where']};return db['UserProfileSection'][_0x10ff('0x22')](_0x24ed8c)[_0x10ff('0x43')](function(_0x14870f){_0x293a9c[_0x10ff('0x22')]=_0x14870f;if(_0x4d5119[_0x10ff('0x34')][_0x10ff('0x44')]){_0x5c2235[_0x10ff('0x45')]=[{'all':!![]}];}return db[_0x10ff('0x2f')][_0x10ff('0x46')](_0x5c2235);})['then'](function(_0x97f593){_0x293a9c['rows']=_0x97f593;return _0x293a9c;})[_0x10ff('0x43')](respondWithFilteredResult(_0x43e0a8,_0x5c2235))['catch'](handleError(_0x43e0a8,null));};exports[_0x10ff('0x47')]=function(_0x4a8d81,_0x462f8a){var _0x4695ff={'raw':![],'where':{'id':_0x4a8d81[_0x10ff('0x48')]['id']}},_0x15f29d={};_0x15f29d[_0x10ff('0x33')]=_[_0x10ff('0x49')](db['UserProfileSection'][_0x10ff('0x4a')]);_0x15f29d[_0x10ff('0x34')]=_[_0x10ff('0x49')](_0x4a8d81[_0x10ff('0x34')]);_0x15f29d['filters']=_[_0x10ff('0x4b')](_0x15f29d[_0x10ff('0x33')],_0x15f29d[_0x10ff('0x34')]);_0x4695ff[_0x10ff('0x36')]=_[_0x10ff('0x4b')](_0x15f29d[_0x10ff('0x33')],qs['fields'](_0x4a8d81[_0x10ff('0x34')][_0x10ff('0x37')]));_0x4695ff[_0x10ff('0x36')]=_0x4695ff[_0x10ff('0x36')][_0x10ff('0x38')]?_0x4695ff[_0x10ff('0x36')]:_0x15f29d[_0x10ff('0x33')];if(_0x4a8d81['query'][_0x10ff('0x44')]){_0x4695ff[_0x10ff('0x45')]=[{'all':!![]}];}_0x4695ff=_[_0x10ff('0x41')]({},_0x4695ff,_0x4a8d81[_0x10ff('0x42')]);return db[_0x10ff('0x2f')]['find'](_0x4695ff)['then'](handleEntityNotFound(_0x462f8a,null))['then'](respondWithResult(_0x462f8a,null))[_0x10ff('0x4c')](handleError(_0x462f8a,null));};exports[_0x10ff('0x4d')]=function(_0x3d1012,_0x51e38b){return db[_0x10ff('0x2f')]['create'](_0x3d1012[_0x10ff('0x4e')],{})[_0x10ff('0x43')](respondWithResult(_0x51e38b,0xc9))[_0x10ff('0x4c')](handleError(_0x51e38b,null));};exports['update']=function(_0x282a7d,_0x58f503){if(_0x282a7d[_0x10ff('0x4e')]['id']){delete _0x282a7d[_0x10ff('0x4e')]['id'];}return db[_0x10ff('0x2f')][_0x10ff('0x4f')]({'where':{'id':_0x282a7d[_0x10ff('0x48')]['id']}})[_0x10ff('0x43')](handleEntityNotFound(_0x58f503,null))[_0x10ff('0x43')](saveUpdates(_0x282a7d[_0x10ff('0x4e')],null))[_0x10ff('0x43')](respondWithResult(_0x58f503,null))[_0x10ff('0x4c')](handleError(_0x58f503,null));};exports[_0x10ff('0x28')]=function(_0x95dd83,_0x5be6e9){return db[_0x10ff('0x2f')][_0x10ff('0x4f')]({'where':{'id':_0x95dd83[_0x10ff('0x48')]['id']}})[_0x10ff('0x43')](handleEntityNotFound(_0x5be6e9,null))[_0x10ff('0x43')](removeEntity(_0x5be6e9,null))[_0x10ff('0x4c')](handleError(_0x5be6e9,null));};exports['describe']=function(_0x31b937,_0x2bde30){return db[_0x10ff('0x2f')][_0x10ff('0x50')]()[_0x10ff('0x43')](respondWithResult(_0x2bde30,null))[_0x10ff('0x4c')](handleError(_0x2bde30,null));};