da8d354b8582389aa1eb8994e7f980e007fbd7fb
[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 _0x6d8b=['model','attributes','length','hasOwnProperty','nolimit','order','sort','where','merge','filter','options','include','findAll','rows','show','keys','rawAttributes','fields','includeAll','find','catch','create','body','update','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','status','undefined','limit','count','offset','Content-Range','json','apply','save','then','end','error','name','send','index','map','UserProfileSection','fieldName','type','key','query','filters','intersection'];(function(_0x179b53,_0x31f6fe){var _0x38a146=function(_0x33f0c2){while(--_0x33f0c2){_0x179b53['push'](_0x179b53['shift']());}};_0x38a146(++_0x31f6fe);}(_0x6d8b,0x65));var _0xb6d8=function(_0x6c0d82,_0x47073a){_0x6c0d82=_0x6c0d82-0x0;var _0x3cabda=_0x6d8b[_0x6c0d82];return _0x3cabda;};'use strict';var emlformat=require(_0xb6d8('0x0'));var rimraf=require(_0xb6d8('0x1'));var zipdir=require(_0xb6d8('0x2'));var jsonpatch=require(_0xb6d8('0x3'));var rp=require(_0xb6d8('0x4'));var moment=require(_0xb6d8('0x5'));var BPromise=require(_0xb6d8('0x6'));var Mustache=require(_0xb6d8('0x7'));var util=require(_0xb6d8('0x8'));var path=require(_0xb6d8('0x9'));var sox=require(_0xb6d8('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb6d8('0xb'));var _=require(_0xb6d8('0xc'));var squel=require(_0xb6d8('0xd'));var crypto=require('crypto');var jsforce=require(_0xb6d8('0xe'));var deskjs=require(_0xb6d8('0xf'));var toCsv=require(_0xb6d8('0x10'));var querystring=require(_0xb6d8('0x11'));var Papa=require(_0xb6d8('0x12'));var Redis=require('ioredis');var authService=require(_0xb6d8('0x13'));var qs=require(_0xb6d8('0x14'));var as=require(_0xb6d8('0x15'));var hardwareService=require(_0xb6d8('0x16'));var logger=require(_0xb6d8('0x17'))('api');var utils=require('../../config/utils');var config=require(_0xb6d8('0x18'));var licenseUtil=require(_0xb6d8('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5e5daf,_0x1ea619){_0x1ea619=_0x1ea619||0xcc;return function(_0x44b0d3){if(_0x44b0d3){return _0x5e5daf['sendStatus'](_0x1ea619);}return _0x5e5daf[_0xb6d8('0x1a')](_0x1ea619)['end']();};}function respondWithResult(_0x4a821f,_0x3be2d2){_0x3be2d2=_0x3be2d2||0xc8;return function(_0x5b4693){if(_0x5b4693){return _0x4a821f['status'](_0x3be2d2)['json'](_0x5b4693);}};}function respondWithFilteredResult(_0x41aaec,_0x2aba75){return function(_0x4b7618){if(_0x4b7618){var _0x121a05=typeof _0x2aba75['offset']===_0xb6d8('0x1b')&&typeof _0x2aba75[_0xb6d8('0x1c')]===_0xb6d8('0x1b');var _0x249aad=_0x4b7618[_0xb6d8('0x1d')];var _0xa6dee7=_0x121a05?0x0:_0x2aba75[_0xb6d8('0x1e')];var _0x272ed2=_0x121a05?_0x4b7618[_0xb6d8('0x1d')]:_0x2aba75[_0xb6d8('0x1e')]+_0x2aba75[_0xb6d8('0x1c')];var _0x9c6553;if(_0x272ed2>=_0x249aad){_0x272ed2=_0x249aad;_0x9c6553=0xc8;}else{_0x9c6553=0xce;}_0x41aaec[_0xb6d8('0x1a')](_0x9c6553);return _0x41aaec['set'](_0xb6d8('0x1f'),_0xa6dee7+'-'+_0x272ed2+'/'+_0x249aad)[_0xb6d8('0x20')](_0x4b7618);}return null;};}function patchUpdates(_0x1d1012){return function(_0x39c130){try{jsonpatch[_0xb6d8('0x21')](_0x39c130,_0x1d1012,!![]);}catch(_0x21dfd3){return BPromise['reject'](_0x21dfd3);}return _0x39c130[_0xb6d8('0x22')]();};}function saveUpdates(_0x425bd6,_0x3dd504){return function(_0x4ab191){if(_0x4ab191){return _0x4ab191['update'](_0x425bd6)[_0xb6d8('0x23')](function(_0x4d9a18){return _0x4d9a18;});}return null;};}function removeEntity(_0x316e0f,_0x3672da){return function(_0x58e2fa){if(_0x58e2fa){return _0x58e2fa['destroy']()[_0xb6d8('0x23')](function(){_0x316e0f['status'](0xcc)[_0xb6d8('0x24')]();});}};}function handleEntityNotFound(_0x24e516,_0x5d64d2){return function(_0x56b782){if(!_0x56b782){_0x24e516['sendStatus'](0x194);}return _0x56b782;};}function handleError(_0x375901,_0x43310b){_0x43310b=_0x43310b||0x1f4;return function(_0x57f5ff){logger[_0xb6d8('0x25')](_0x57f5ff['stack']);if(_0x57f5ff[_0xb6d8('0x26')]){delete _0x57f5ff[_0xb6d8('0x26')];}_0x375901[_0xb6d8('0x1a')](_0x43310b)[_0xb6d8('0x27')](_0x57f5ff);};}exports[_0xb6d8('0x28')]=function(_0x4bea6b,_0x5d2467){var _0x351188={},_0x3d272f={},_0x1d0254={'count':0x0,'rows':[]};var _0x2c9707=_[_0xb6d8('0x29')](db[_0xb6d8('0x2a')]['rawAttributes'],function(_0x4aac0b){return{'name':_0x4aac0b[_0xb6d8('0x2b')],'type':_0x4aac0b[_0xb6d8('0x2c')][_0xb6d8('0x2d')]};});_0x3d272f['model']=_[_0xb6d8('0x29')](_0x2c9707,_0xb6d8('0x26'));_0x3d272f[_0xb6d8('0x2e')]=_['keys'](_0x4bea6b[_0xb6d8('0x2e')]);_0x3d272f[_0xb6d8('0x2f')]=_[_0xb6d8('0x30')](_0x3d272f[_0xb6d8('0x31')],_0x3d272f['query']);_0x351188[_0xb6d8('0x32')]=_['intersection'](_0x3d272f[_0xb6d8('0x31')],qs['fields'](_0x4bea6b['query']['fields']));_0x351188[_0xb6d8('0x32')]=_0x351188['attributes'][_0xb6d8('0x33')]?_0x351188['attributes']:_0x3d272f[_0xb6d8('0x31')];if(!_0x4bea6b[_0xb6d8('0x2e')][_0xb6d8('0x34')](_0xb6d8('0x35'))){_0x351188[_0xb6d8('0x1c')]=qs[_0xb6d8('0x1c')](_0x4bea6b['query'][_0xb6d8('0x1c')]);_0x351188[_0xb6d8('0x1e')]=qs['offset'](_0x4bea6b[_0xb6d8('0x2e')][_0xb6d8('0x1e')]);}_0x351188[_0xb6d8('0x36')]=qs[_0xb6d8('0x37')](_0x4bea6b[_0xb6d8('0x2e')][_0xb6d8('0x37')]);_0x351188[_0xb6d8('0x38')]=qs['filters'](_['pick'](_0x4bea6b[_0xb6d8('0x2e')],_0x3d272f[_0xb6d8('0x2f')]),_0x2c9707);if(_0x4bea6b['query']['filter']){_0x351188[_0xb6d8('0x38')]=_[_0xb6d8('0x39')](_0x351188['where'],{'$or':_[_0xb6d8('0x29')](_0x2c9707,function(_0x167aeb){if(_0x167aeb[_0xb6d8('0x2c')]!=='VIRTUAL'){var _0x191096={};_0x191096[_0x167aeb[_0xb6d8('0x26')]]={'$like':'%'+_0x4bea6b[_0xb6d8('0x2e')][_0xb6d8('0x3a')]+'%'};return _0x191096;}})});}_0x351188=_['merge']({},_0x351188,_0x4bea6b[_0xb6d8('0x3b')]);var _0x4e6f13={'where':_0x351188[_0xb6d8('0x38')]};return db[_0xb6d8('0x2a')][_0xb6d8('0x1d')](_0x4e6f13)[_0xb6d8('0x23')](function(_0x1a3dda){_0x1d0254[_0xb6d8('0x1d')]=_0x1a3dda;if(_0x4bea6b['query']['includeAll']){_0x351188[_0xb6d8('0x3c')]=[{'all':!![]}];}return db[_0xb6d8('0x2a')][_0xb6d8('0x3d')](_0x351188);})[_0xb6d8('0x23')](function(_0x46aecf){_0x1d0254[_0xb6d8('0x3e')]=_0x46aecf;return _0x1d0254;})[_0xb6d8('0x23')](respondWithFilteredResult(_0x5d2467,_0x351188))['catch'](handleError(_0x5d2467,null));};exports[_0xb6d8('0x3f')]=function(_0x69899,_0x326694){var _0x25f772={'raw':![],'where':{'id':_0x69899['params']['id']}},_0x10218a={};_0x10218a['model']=_[_0xb6d8('0x40')](db['UserProfileSection'][_0xb6d8('0x41')]);_0x10218a['query']=_['keys'](_0x69899[_0xb6d8('0x2e')]);_0x10218a[_0xb6d8('0x2f')]=_[_0xb6d8('0x30')](_0x10218a[_0xb6d8('0x31')],_0x10218a[_0xb6d8('0x2e')]);_0x25f772['attributes']=_['intersection'](_0x10218a['model'],qs['fields'](_0x69899[_0xb6d8('0x2e')][_0xb6d8('0x42')]));_0x25f772[_0xb6d8('0x32')]=_0x25f772['attributes']['length']?_0x25f772[_0xb6d8('0x32')]:_0x10218a['model'];if(_0x69899['query'][_0xb6d8('0x43')]){_0x25f772[_0xb6d8('0x3c')]=[{'all':!![]}];}_0x25f772=_['merge']({},_0x25f772,_0x69899[_0xb6d8('0x3b')]);return db[_0xb6d8('0x2a')][_0xb6d8('0x44')](_0x25f772)[_0xb6d8('0x23')](handleEntityNotFound(_0x326694,null))[_0xb6d8('0x23')](respondWithResult(_0x326694,null))[_0xb6d8('0x45')](handleError(_0x326694,null));};exports[_0xb6d8('0x46')]=function(_0x24be48,_0x1047c9){return db['UserProfileSection'][_0xb6d8('0x46')](_0x24be48[_0xb6d8('0x47')],{})['then'](respondWithResult(_0x1047c9,0xc9))[_0xb6d8('0x45')](handleError(_0x1047c9,null));};exports[_0xb6d8('0x48')]=function(_0x395eb0,_0x3701d2){if(_0x395eb0['body']['id']){delete _0x395eb0[_0xb6d8('0x47')]['id'];}return db[_0xb6d8('0x2a')]['find']({'where':{'id':_0x395eb0['params']['id']}})[_0xb6d8('0x23')](handleEntityNotFound(_0x3701d2,null))[_0xb6d8('0x23')](saveUpdates(_0x395eb0[_0xb6d8('0x47')],null))['then'](respondWithResult(_0x3701d2,null))['catch'](handleError(_0x3701d2,null));};exports[_0xb6d8('0x49')]=function(_0x25c1c8,_0x56aed0){return db['UserProfileSection'][_0xb6d8('0x44')]({'where':{'id':_0x25c1c8['params']['id']}})[_0xb6d8('0x23')](handleEntityNotFound(_0x56aed0,null))[_0xb6d8('0x23')](removeEntity(_0x56aed0,null))['catch'](handleError(_0x56aed0,null));};exports[_0xb6d8('0x4a')]=function(_0x1d0feb,_0x12108f){return db[_0xb6d8('0x2a')][_0xb6d8('0x4a')]()[_0xb6d8('0x23')](respondWithResult(_0x12108f,null))[_0xb6d8('0x45')](handleError(_0x12108f,null));};