b3c3797db88f451b489a9f6843bb229d66019028
[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 _0x5913=['zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','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','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','save','update','destroy','error','stack','index','map','rawAttributes','fieldName','type','model','name','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','filter','merge','UserProfileSection','includeAll','include','findAll','then','rows','catch','show','keys','options','create','body','find','params','describe','eml-format'];(function(_0x397e5f,_0x454c8f){var _0x5302b8=function(_0x1a29ef){while(--_0x1a29ef){_0x397e5f['push'](_0x397e5f['shift']());}};_0x5302b8(++_0x454c8f);}(_0x5913,0xe9));var _0x3591=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5913[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x3591('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3591('0x1'));var jsonpatch=require(_0x3591('0x2'));var rp=require(_0x3591('0x3'));var moment=require(_0x3591('0x4'));var BPromise=require(_0x3591('0x5'));var Mustache=require(_0x3591('0x6'));var util=require(_0x3591('0x7'));var path=require(_0x3591('0x8'));var sox=require('sox');var csv=require(_0x3591('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3591('0xa'));var _=require(_0x3591('0xb'));var squel=require(_0x3591('0xc'));var crypto=require(_0x3591('0xd'));var jsforce=require(_0x3591('0xe'));var deskjs=require(_0x3591('0xf'));var toCsv=require(_0x3591('0x9'));var querystring=require(_0x3591('0x10'));var Papa=require(_0x3591('0x11'));var Redis=require(_0x3591('0x12'));var authService=require(_0x3591('0x13'));var qs=require(_0x3591('0x14'));var as=require(_0x3591('0x15'));var hardwareService=require(_0x3591('0x16'));var logger=require(_0x3591('0x17'))(_0x3591('0x18'));var utils=require(_0x3591('0x19'));var config=require(_0x3591('0x1a'));var licenseUtil=require(_0x3591('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x221f92,_0x456f69){_0x456f69=_0x456f69||0xcc;return function(_0x1ac2c9){if(_0x1ac2c9){return _0x221f92[_0x3591('0x1c')](_0x456f69);}return _0x221f92[_0x3591('0x1d')](_0x456f69)[_0x3591('0x1e')]();};}function respondWithResult(_0x443fec,_0x147587){_0x147587=_0x147587||0xc8;return function(_0x18cdb5){if(_0x18cdb5){return _0x443fec['status'](_0x147587)[_0x3591('0x1f')](_0x18cdb5);}};}function respondWithFilteredResult(_0x28bb77,_0x3e507d){return function(_0x2cdcb3){if(_0x2cdcb3){var _0x330697=typeof _0x3e507d['offset']===_0x3591('0x20')&&typeof _0x3e507d[_0x3591('0x21')]===_0x3591('0x20');var _0x50da65=_0x2cdcb3[_0x3591('0x22')];var _0x4e36f2=_0x330697?0x0:_0x3e507d[_0x3591('0x23')];var _0x42e705=_0x330697?_0x2cdcb3[_0x3591('0x22')]:_0x3e507d[_0x3591('0x23')]+_0x3e507d[_0x3591('0x21')];var _0x168ecc;if(_0x42e705>=_0x50da65){_0x42e705=_0x50da65;_0x168ecc=0xc8;}else{_0x168ecc=0xce;}_0x28bb77['status'](_0x168ecc);return _0x28bb77['set'](_0x3591('0x24'),_0x4e36f2+'-'+_0x42e705+'/'+_0x50da65)[_0x3591('0x1f')](_0x2cdcb3);}return null;};}function patchUpdates(_0x5b704e){return function(_0x3f65cf){try{jsonpatch[_0x3591('0x25')](_0x3f65cf,_0x5b704e,!![]);}catch(_0x28d5c5){return BPromise[_0x3591('0x26')](_0x28d5c5);}return _0x3f65cf[_0x3591('0x27')]();};}function saveUpdates(_0x4a047c,_0x2f40a7){return function(_0x4da203){if(_0x4da203){return _0x4da203[_0x3591('0x28')](_0x4a047c)['then'](function(_0x343073){return _0x343073;});}return null;};}function removeEntity(_0x4f70de,_0x295691){return function(_0x17fcf9){if(_0x17fcf9){return _0x17fcf9[_0x3591('0x29')]()['then'](function(){_0x4f70de['status'](0xcc)[_0x3591('0x1e')]();});}};}function handleEntityNotFound(_0x3f2fab,_0x227730){return function(_0x5e4771){if(!_0x5e4771){_0x3f2fab[_0x3591('0x1c')](0x194);}return _0x5e4771;};}function handleError(_0xebb1c3,_0x5982e5){_0x5982e5=_0x5982e5||0x1f4;return function(_0x3d1dbd){logger[_0x3591('0x2a')](_0x3d1dbd[_0x3591('0x2b')]);if(_0x3d1dbd['name']){delete _0x3d1dbd['name'];}_0xebb1c3[_0x3591('0x1d')](_0x5982e5)['send'](_0x3d1dbd);};}exports[_0x3591('0x2c')]=function(_0x49fdaa,_0x45fa73){var _0x3ec2b4={},_0x36d65a={},_0x2c43ad={'count':0x0,'rows':[]};var _0x3ba1bd=_[_0x3591('0x2d')](db['UserProfileSection'][_0x3591('0x2e')],function(_0x1ea438){return{'name':_0x1ea438[_0x3591('0x2f')],'type':_0x1ea438[_0x3591('0x30')]['key']};});_0x36d65a[_0x3591('0x31')]=_[_0x3591('0x2d')](_0x3ba1bd,_0x3591('0x32'));_0x36d65a[_0x3591('0x33')]=_['keys'](_0x49fdaa[_0x3591('0x33')]);_0x36d65a[_0x3591('0x34')]=_[_0x3591('0x35')](_0x36d65a[_0x3591('0x31')],_0x36d65a['query']);_0x3ec2b4[_0x3591('0x36')]=_[_0x3591('0x35')](_0x36d65a[_0x3591('0x31')],qs[_0x3591('0x37')](_0x49fdaa['query'][_0x3591('0x37')]));_0x3ec2b4['attributes']=_0x3ec2b4[_0x3591('0x36')][_0x3591('0x38')]?_0x3ec2b4[_0x3591('0x36')]:_0x36d65a[_0x3591('0x31')];if(!_0x49fdaa[_0x3591('0x33')]['hasOwnProperty'](_0x3591('0x39'))){_0x3ec2b4[_0x3591('0x21')]=qs['limit'](_0x49fdaa[_0x3591('0x33')][_0x3591('0x21')]);_0x3ec2b4['offset']=qs[_0x3591('0x23')](_0x49fdaa['query'][_0x3591('0x23')]);}_0x3ec2b4[_0x3591('0x3a')]=qs[_0x3591('0x3b')](_0x49fdaa[_0x3591('0x33')][_0x3591('0x3b')]);_0x3ec2b4[_0x3591('0x3c')]=qs[_0x3591('0x34')](_['pick'](_0x49fdaa['query'],_0x36d65a[_0x3591('0x34')]),_0x3ba1bd);if(_0x49fdaa[_0x3591('0x33')][_0x3591('0x3d')]){_0x3ec2b4[_0x3591('0x3c')]=_[_0x3591('0x3e')](_0x3ec2b4[_0x3591('0x3c')],{'$or':_[_0x3591('0x2d')](_0x3ba1bd,function(_0x155538){if(_0x155538[_0x3591('0x30')]!=='VIRTUAL'){var _0xa70c20={};_0xa70c20[_0x155538['name']]={'$like':'%'+_0x49fdaa['query'][_0x3591('0x3d')]+'%'};return _0xa70c20;}})});}_0x3ec2b4=_['merge']({},_0x3ec2b4,_0x49fdaa['options']);var _0x1fa79f={'where':_0x3ec2b4['where']};return db[_0x3591('0x3f')][_0x3591('0x22')](_0x1fa79f)['then'](function(_0x566b85){_0x2c43ad[_0x3591('0x22')]=_0x566b85;if(_0x49fdaa[_0x3591('0x33')][_0x3591('0x40')]){_0x3ec2b4[_0x3591('0x41')]=[{'all':!![]}];}return db[_0x3591('0x3f')][_0x3591('0x42')](_0x3ec2b4);})[_0x3591('0x43')](function(_0x2e8fb2){_0x2c43ad[_0x3591('0x44')]=_0x2e8fb2;return _0x2c43ad;})[_0x3591('0x43')](respondWithFilteredResult(_0x45fa73,_0x3ec2b4))[_0x3591('0x45')](handleError(_0x45fa73,null));};exports[_0x3591('0x46')]=function(_0x333507,_0x58cd5e){var _0x1beceb={'raw':![],'where':{'id':_0x333507['params']['id']}},_0x26f5b8={};_0x26f5b8[_0x3591('0x31')]=_[_0x3591('0x47')](db[_0x3591('0x3f')][_0x3591('0x2e')]);_0x26f5b8['query']=_['keys'](_0x333507[_0x3591('0x33')]);_0x26f5b8[_0x3591('0x34')]=_[_0x3591('0x35')](_0x26f5b8[_0x3591('0x31')],_0x26f5b8[_0x3591('0x33')]);_0x1beceb[_0x3591('0x36')]=_[_0x3591('0x35')](_0x26f5b8['model'],qs[_0x3591('0x37')](_0x333507[_0x3591('0x33')][_0x3591('0x37')]));_0x1beceb[_0x3591('0x36')]=_0x1beceb['attributes'][_0x3591('0x38')]?_0x1beceb[_0x3591('0x36')]:_0x26f5b8[_0x3591('0x31')];if(_0x333507[_0x3591('0x33')][_0x3591('0x40')]){_0x1beceb[_0x3591('0x41')]=[{'all':!![]}];}_0x1beceb=_['merge']({},_0x1beceb,_0x333507[_0x3591('0x48')]);return db[_0x3591('0x3f')]['find'](_0x1beceb)['then'](handleEntityNotFound(_0x58cd5e,null))[_0x3591('0x43')](respondWithResult(_0x58cd5e,null))[_0x3591('0x45')](handleError(_0x58cd5e,null));};exports[_0x3591('0x49')]=function(_0x4e8e62,_0x24b4f7){return db[_0x3591('0x3f')][_0x3591('0x49')](_0x4e8e62[_0x3591('0x4a')],{})[_0x3591('0x43')](respondWithResult(_0x24b4f7,0xc9))[_0x3591('0x45')](handleError(_0x24b4f7,null));};exports[_0x3591('0x28')]=function(_0x2a828f,_0x126d0e){if(_0x2a828f[_0x3591('0x4a')]['id']){delete _0x2a828f[_0x3591('0x4a')]['id'];}return db[_0x3591('0x3f')][_0x3591('0x4b')]({'where':{'id':_0x2a828f['params']['id']}})[_0x3591('0x43')](handleEntityNotFound(_0x126d0e,null))['then'](saveUpdates(_0x2a828f[_0x3591('0x4a')],null))['then'](respondWithResult(_0x126d0e,null))['catch'](handleError(_0x126d0e,null));};exports[_0x3591('0x29')]=function(_0x9481e2,_0x237bb5){return db['UserProfileSection'][_0x3591('0x4b')]({'where':{'id':_0x9481e2[_0x3591('0x4c')]['id']}})[_0x3591('0x43')](handleEntityNotFound(_0x237bb5,null))[_0x3591('0x43')](removeEntity(_0x237bb5,null))[_0x3591('0x45')](handleError(_0x237bb5,null));};exports[_0x3591('0x4d')]=function(_0x86c299,_0xbc4153){return db[_0x3591('0x3f')][_0x3591('0x4d')]()[_0x3591('0x43')](respondWithResult(_0xbc4153,null))[_0x3591('0x45')](handleError(_0xbc4153,null));};