7aa3b9e12badbc8202733fb292ac5507538a9d9d
[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 _0xf36a=['path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','count','set','Content-Range','json','apply','reject','save','update','then','destroy','name','send','index','map','UserProfileSection','fieldName','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','length','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util'];(function(_0x39096d,_0x51f8a0){var _0x13da4f=function(_0x11e6b2){while(--_0x11e6b2){_0x39096d['push'](_0x39096d['shift']());}};_0x13da4f(++_0x51f8a0);}(_0xf36a,0xe5));var _0xaf36=function(_0x4379a5,_0xb149c3){_0x4379a5=_0x4379a5-0x0;var _0x14e57e=_0xf36a[_0x4379a5];return _0x14e57e;};'use strict';var emlformat=require(_0xaf36('0x0'));var rimraf=require(_0xaf36('0x1'));var zipdir=require(_0xaf36('0x2'));var jsonpatch=require(_0xaf36('0x3'));var rp=require('request-promise');var moment=require(_0xaf36('0x4'));var BPromise=require(_0xaf36('0x5'));var Mustache=require(_0xaf36('0x6'));var util=require(_0xaf36('0x7'));var path=require(_0xaf36('0x8'));var sox=require(_0xaf36('0x9'));var csv=require('to-csv');var ejs=require(_0xaf36('0xa'));var fs=require('fs');var fs_extra=require(_0xaf36('0xb'));var _=require(_0xaf36('0xc'));var squel=require(_0xaf36('0xd'));var crypto=require(_0xaf36('0xe'));var jsforce=require(_0xaf36('0xf'));var deskjs=require(_0xaf36('0x10'));var toCsv=require(_0xaf36('0x11'));var querystring=require(_0xaf36('0x12'));var Papa=require(_0xaf36('0x13'));var Redis=require(_0xaf36('0x14'));var authService=require(_0xaf36('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0xaf36('0x16'));var hardwareService=require(_0xaf36('0x17'));var logger=require('../../config/logger')(_0xaf36('0x18'));var utils=require('../../config/utils');var config=require(_0xaf36('0x19'));var licenseUtil=require(_0xaf36('0x1a'));var db=require(_0xaf36('0x1b'))['db'];function respondWithStatusCode(_0x1ff94a,_0x43bcb3){_0x43bcb3=_0x43bcb3||0xcc;return function(_0x59b6ca){if(_0x59b6ca){return _0x1ff94a[_0xaf36('0x1c')](_0x43bcb3);}return _0x1ff94a[_0xaf36('0x1d')](_0x43bcb3)['end']();};}function respondWithResult(_0x5af241,_0x334c72){_0x334c72=_0x334c72||0xc8;return function(_0x113f60){if(_0x113f60){return _0x5af241['status'](_0x334c72)['json'](_0x113f60);}};}function respondWithFilteredResult(_0x3e61d4,_0x8e8c97){return function(_0x1d3b00){if(_0x1d3b00){var _0x5ccff0=typeof _0x8e8c97[_0xaf36('0x1e')]==='undefined'&&typeof _0x8e8c97['limit']===_0xaf36('0x1f');var _0x5f4ea3=_0x1d3b00[_0xaf36('0x20')];var _0xfa85bf=_0x5ccff0?0x0:_0x8e8c97[_0xaf36('0x1e')];var _0x157245=_0x5ccff0?_0x1d3b00[_0xaf36('0x20')]:_0x8e8c97[_0xaf36('0x1e')]+_0x8e8c97['limit'];var _0x5d48db;if(_0x157245>=_0x5f4ea3){_0x157245=_0x5f4ea3;_0x5d48db=0xc8;}else{_0x5d48db=0xce;}_0x3e61d4[_0xaf36('0x1d')](_0x5d48db);return _0x3e61d4[_0xaf36('0x21')](_0xaf36('0x22'),_0xfa85bf+'-'+_0x157245+'/'+_0x5f4ea3)[_0xaf36('0x23')](_0x1d3b00);}return null;};}function patchUpdates(_0x34611d){return function(_0xdc0b0b){try{jsonpatch[_0xaf36('0x24')](_0xdc0b0b,_0x34611d,!![]);}catch(_0x58c549){return BPromise[_0xaf36('0x25')](_0x58c549);}return _0xdc0b0b[_0xaf36('0x26')]();};}function saveUpdates(_0x3cc38d,_0x4c2ca6){return function(_0x4f9179){if(_0x4f9179){return _0x4f9179[_0xaf36('0x27')](_0x3cc38d)[_0xaf36('0x28')](function(_0x4e2e0f){return _0x4e2e0f;});}return null;};}function removeEntity(_0x578935,_0x20cdca){return function(_0x5b88ff){if(_0x5b88ff){return _0x5b88ff[_0xaf36('0x29')]()['then'](function(){_0x578935[_0xaf36('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4385d3,_0x5d7413){return function(_0x291787){if(!_0x291787){_0x4385d3[_0xaf36('0x1c')](0x194);}return _0x291787;};}function handleError(_0x13baca,_0x4872a1){_0x4872a1=_0x4872a1||0x1f4;return function(_0x5dc7d4){logger['error'](_0x5dc7d4['stack']);if(_0x5dc7d4[_0xaf36('0x2a')]){delete _0x5dc7d4[_0xaf36('0x2a')];}_0x13baca[_0xaf36('0x1d')](_0x4872a1)[_0xaf36('0x2b')](_0x5dc7d4);};}exports[_0xaf36('0x2c')]=function(_0x27fcbb,_0x2a3835){var _0x214562={},_0x43c74c={},_0x35a7bc={'count':0x0,'rows':[]};var _0x380546=_[_0xaf36('0x2d')](db[_0xaf36('0x2e')]['rawAttributes'],function(_0xb11bc9){return{'name':_0xb11bc9[_0xaf36('0x2f')],'type':_0xb11bc9[_0xaf36('0x30')][_0xaf36('0x31')]};});_0x43c74c[_0xaf36('0x32')]=_['map'](_0x380546,_0xaf36('0x2a'));_0x43c74c['query']=_['keys'](_0x27fcbb[_0xaf36('0x33')]);_0x43c74c[_0xaf36('0x34')]=_[_0xaf36('0x35')](_0x43c74c[_0xaf36('0x32')],_0x43c74c['query']);_0x214562['attributes']=_['intersection'](_0x43c74c[_0xaf36('0x32')],qs['fields'](_0x27fcbb[_0xaf36('0x33')][_0xaf36('0x36')]));_0x214562[_0xaf36('0x37')]=_0x214562[_0xaf36('0x37')]['length']?_0x214562[_0xaf36('0x37')]:_0x43c74c[_0xaf36('0x32')];if(!_0x27fcbb[_0xaf36('0x33')][_0xaf36('0x38')](_0xaf36('0x39'))){_0x214562[_0xaf36('0x3a')]=qs[_0xaf36('0x3a')](_0x27fcbb['query']['limit']);_0x214562[_0xaf36('0x1e')]=qs[_0xaf36('0x1e')](_0x27fcbb[_0xaf36('0x33')][_0xaf36('0x1e')]);}_0x214562[_0xaf36('0x3b')]=qs[_0xaf36('0x3c')](_0x27fcbb[_0xaf36('0x33')][_0xaf36('0x3c')]);_0x214562[_0xaf36('0x3d')]=qs[_0xaf36('0x34')](_['pick'](_0x27fcbb[_0xaf36('0x33')],_0x43c74c[_0xaf36('0x34')]),_0x380546);if(_0x27fcbb[_0xaf36('0x33')][_0xaf36('0x3e')]){_0x214562[_0xaf36('0x3d')]=_[_0xaf36('0x3f')](_0x214562[_0xaf36('0x3d')],{'$or':_[_0xaf36('0x2d')](_0x380546,function(_0x5123e5){if(_0x5123e5[_0xaf36('0x30')]!=='VIRTUAL'){var _0x1db7d2={};_0x1db7d2[_0x5123e5['name']]={'$like':'%'+_0x27fcbb[_0xaf36('0x33')][_0xaf36('0x3e')]+'%'};return _0x1db7d2;}})});}_0x214562=_['merge']({},_0x214562,_0x27fcbb[_0xaf36('0x40')]);var _0x29afe6={'where':_0x214562[_0xaf36('0x3d')]};return db['UserProfileSection'][_0xaf36('0x20')](_0x29afe6)[_0xaf36('0x28')](function(_0x2f620b){_0x35a7bc['count']=_0x2f620b;if(_0x27fcbb[_0xaf36('0x33')][_0xaf36('0x41')]){_0x214562[_0xaf36('0x42')]=[{'all':!![]}];}return db[_0xaf36('0x2e')][_0xaf36('0x43')](_0x214562);})['then'](function(_0x503730){_0x35a7bc[_0xaf36('0x44')]=_0x503730;return _0x35a7bc;})['then'](respondWithFilteredResult(_0x2a3835,_0x214562))[_0xaf36('0x45')](handleError(_0x2a3835,null));};exports[_0xaf36('0x46')]=function(_0xa8fa06,_0x57ac04){var _0x12a654={'raw':![],'where':{'id':_0xa8fa06[_0xaf36('0x47')]['id']}},_0x433e69={};_0x433e69[_0xaf36('0x32')]=_[_0xaf36('0x48')](db[_0xaf36('0x2e')][_0xaf36('0x49')]);_0x433e69[_0xaf36('0x33')]=_[_0xaf36('0x48')](_0xa8fa06[_0xaf36('0x33')]);_0x433e69[_0xaf36('0x34')]=_[_0xaf36('0x35')](_0x433e69[_0xaf36('0x32')],_0x433e69['query']);_0x12a654['attributes']=_[_0xaf36('0x35')](_0x433e69['model'],qs[_0xaf36('0x36')](_0xa8fa06['query'][_0xaf36('0x36')]));_0x12a654['attributes']=_0x12a654['attributes'][_0xaf36('0x4a')]?_0x12a654['attributes']:_0x433e69[_0xaf36('0x32')];if(_0xa8fa06[_0xaf36('0x33')][_0xaf36('0x41')]){_0x12a654[_0xaf36('0x42')]=[{'all':!![]}];}_0x12a654=_[_0xaf36('0x3f')]({},_0x12a654,_0xa8fa06['options']);return db[_0xaf36('0x2e')][_0xaf36('0x4b')](_0x12a654)[_0xaf36('0x28')](handleEntityNotFound(_0x57ac04,null))['then'](respondWithResult(_0x57ac04,null))[_0xaf36('0x45')](handleError(_0x57ac04,null));};exports[_0xaf36('0x4c')]=function(_0x3aeb2e,_0x3ffcee){return db['UserProfileSection'][_0xaf36('0x4c')](_0x3aeb2e[_0xaf36('0x4d')],{})[_0xaf36('0x28')](respondWithResult(_0x3ffcee,0xc9))[_0xaf36('0x45')](handleError(_0x3ffcee,null));};exports[_0xaf36('0x27')]=function(_0xa876ef,_0x540988){if(_0xa876ef['body']['id']){delete _0xa876ef[_0xaf36('0x4d')]['id'];}return db[_0xaf36('0x2e')][_0xaf36('0x4b')]({'where':{'id':_0xa876ef[_0xaf36('0x47')]['id']}})[_0xaf36('0x28')](handleEntityNotFound(_0x540988,null))[_0xaf36('0x28')](saveUpdates(_0xa876ef[_0xaf36('0x4d')],null))[_0xaf36('0x28')](respondWithResult(_0x540988,null))[_0xaf36('0x45')](handleError(_0x540988,null));};exports['destroy']=function(_0x21ccd4,_0x5c7db6){return db['UserProfileSection'][_0xaf36('0x4b')]({'where':{'id':_0x21ccd4[_0xaf36('0x47')]['id']}})[_0xaf36('0x28')](handleEntityNotFound(_0x5c7db6,null))[_0xaf36('0x28')](removeEntity(_0x5c7db6,null))[_0xaf36('0x45')](handleError(_0x5c7db6,null));};exports[_0xaf36('0x4e')]=function(_0x5eba55,_0x4c53da){return db[_0xaf36('0x2e')][_0xaf36('0x4e')]()['then'](respondWithResult(_0x4c53da,null))[_0xaf36('0x45')](handleError(_0x4c53da,null));};