4fe86c2e344c1d955dbfa16c0906a18cc9e17a30
[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 _0xd6d9=['includeAll','include','options','find','create','body','describe','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','index','map','rawAttributes','fieldName','type','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','filter','UserProfileSection','findAll','rows','catch','show','params','filters','intersection'];(function(_0x2fc8be,_0x2be401){var _0x24dc73=function(_0x108a15){while(--_0x108a15){_0x2fc8be['push'](_0x2fc8be['shift']());}};_0x24dc73(++_0x2be401);}(_0xd6d9,0x16a));var _0x9d6d=function(_0x14363e,_0x4f0e0d){_0x14363e=_0x14363e-0x0;var _0x17c56d=_0xd6d9[_0x14363e];return _0x17c56d;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9d6d('0x0'));var rimraf=require(_0x9d6d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9d6d('0x2'));var rp=require('request-promise');var moment=require(_0x9d6d('0x3'));var BPromise=require(_0x9d6d('0x4'));var Mustache=require(_0x9d6d('0x5'));var util=require(_0x9d6d('0x6'));var path=require('path');var sox=require(_0x9d6d('0x7'));var csv=require(_0x9d6d('0x8'));var ejs=require(_0x9d6d('0x9'));var fs=require('fs');var _=require(_0x9d6d('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9d6d('0xb'));var deskjs=require(_0x9d6d('0xc'));var toCsv=require(_0x9d6d('0x8'));var querystring=require(_0x9d6d('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x9d6d('0xe'));var qs=require(_0x9d6d('0xf'));var as=require(_0x9d6d('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9d6d('0x11'))('api');var utils=require('../../config/utils');var config=require(_0x9d6d('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2c23ad,_0xce3e4){_0xce3e4=_0xce3e4||0xcc;return function(_0x575f97){if(_0x575f97){return _0x2c23ad[_0x9d6d('0x13')](_0xce3e4);}return _0x2c23ad[_0x9d6d('0x14')](_0xce3e4)[_0x9d6d('0x15')]();};}function respondWithResult(_0x288047,_0x61b81e){_0x61b81e=_0x61b81e||0xc8;return function(_0x3714cb){if(_0x3714cb){return _0x288047['status'](_0x61b81e)[_0x9d6d('0x16')](_0x3714cb);}};}function respondWithFilteredResult(_0x2a082e,_0x55a4d1){return function(_0x3c472d){if(_0x3c472d){var _0xd94a86=_0x3c472d[_0x9d6d('0x17')],_0x5202c6=_0x55a4d1[_0x9d6d('0x18')],_0x5c727b=_0x55a4d1[_0x9d6d('0x18')]+_0x55a4d1[_0x9d6d('0x19')],_0x3847cd;if(_0x5c727b>=_0xd94a86){_0x5c727b=_0xd94a86;_0x3847cd=0xc8;}else{_0x3847cd=0xce;}_0x2a082e[_0x9d6d('0x14')](_0x3847cd);return _0x2a082e[_0x9d6d('0x1a')](_0x9d6d('0x1b'),_0x5202c6+'-'+_0x5c727b+'/'+_0xd94a86)[_0x9d6d('0x16')](_0x3c472d);}return null;};}function patchUpdates(_0x3f1765){return function(_0x25091e){try{jsonpatch[_0x9d6d('0x1c')](_0x25091e,_0x3f1765,!![]);}catch(_0x10a0e7){return BPromise[_0x9d6d('0x1d')](_0x10a0e7);}return _0x25091e[_0x9d6d('0x1e')]();};}function saveUpdates(_0x4ad943,_0x25d555){return function(_0x5f82bb){if(_0x5f82bb){return _0x5f82bb[_0x9d6d('0x1f')](_0x4ad943)[_0x9d6d('0x20')](function(_0x4dac46){return _0x4dac46;});}return null;};}function removeEntity(_0x359384,_0x49f12f){return function(_0x2626f8){if(_0x2626f8){return _0x2626f8[_0x9d6d('0x21')]()[_0x9d6d('0x20')](function(){_0x359384[_0x9d6d('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3d1548,_0x28461c){return function(_0x5e6cc3){if(!_0x5e6cc3){_0x3d1548[_0x9d6d('0x13')](0x194);}return _0x5e6cc3;};}function handleError(_0x247815,_0x1b010a){_0x1b010a=_0x1b010a||0x1f4;return function(_0x45d8e8){logger[_0x9d6d('0x22')](_0x45d8e8[_0x9d6d('0x23')]);if(_0x45d8e8[_0x9d6d('0x24')]){delete _0x45d8e8['name'];}_0x247815[_0x9d6d('0x14')](_0x1b010a)['send'](_0x45d8e8);};}exports[_0x9d6d('0x25')]=function(_0x47d723,_0x4054d3){var _0x206e0={},_0x259467={},_0x189934={'count':0x0,'rows':[]};var _0x2c76f2=_[_0x9d6d('0x26')](db['UserProfileSection'][_0x9d6d('0x27')],function(_0x52e0e3){return{'name':_0x52e0e3[_0x9d6d('0x28')],'type':_0x52e0e3[_0x9d6d('0x29')]['key']};});_0x259467[_0x9d6d('0x2a')]=_[_0x9d6d('0x26')](_0x2c76f2,_0x9d6d('0x24'));_0x259467[_0x9d6d('0x2b')]=_[_0x9d6d('0x2c')](_0x47d723[_0x9d6d('0x2b')]);_0x259467['filters']=_['intersection'](_0x259467[_0x9d6d('0x2a')],_0x259467[_0x9d6d('0x2b')]);_0x206e0[_0x9d6d('0x2d')]=_['intersection'](_0x259467[_0x9d6d('0x2a')],qs[_0x9d6d('0x2e')](_0x47d723[_0x9d6d('0x2b')][_0x9d6d('0x2e')]));_0x206e0['attributes']=_0x206e0[_0x9d6d('0x2d')][_0x9d6d('0x2f')]?_0x206e0[_0x9d6d('0x2d')]:_0x259467['model'];if(!_0x47d723['query'][_0x9d6d('0x30')](_0x9d6d('0x31'))){_0x206e0[_0x9d6d('0x19')]=qs[_0x9d6d('0x19')](_0x47d723[_0x9d6d('0x2b')][_0x9d6d('0x19')]);_0x206e0[_0x9d6d('0x18')]=qs[_0x9d6d('0x18')](_0x47d723[_0x9d6d('0x2b')][_0x9d6d('0x18')]);}_0x206e0['order']=qs['sort'](_0x47d723[_0x9d6d('0x2b')][_0x9d6d('0x32')]);_0x206e0[_0x9d6d('0x33')]=qs['filters'](_[_0x9d6d('0x34')](_0x47d723['query'],_0x259467['filters']),_0x2c76f2);if(_0x47d723['query']['filter']){_0x206e0['where']=_[_0x9d6d('0x35')](_0x206e0['where'],{'$or':_[_0x9d6d('0x26')](_0x2c76f2,function(_0xe47952){if(_0xe47952[_0x9d6d('0x29')]!==_0x9d6d('0x36')){var _0x39653={};_0x39653[_0xe47952['name']]={'$like':'%'+_0x47d723[_0x9d6d('0x2b')][_0x9d6d('0x37')]+'%'};return _0x39653;}})});}_0x206e0=_[_0x9d6d('0x35')]({},_0x206e0,_0x47d723['options']);var _0x45223c={'where':_0x206e0[_0x9d6d('0x33')]};return db['UserProfileSection']['count'](_0x45223c)[_0x9d6d('0x20')](function(_0x31f880){_0x189934[_0x9d6d('0x17')]=_0x31f880;if(_0x47d723[_0x9d6d('0x2b')]['includeAll']){_0x206e0['include']=[{'all':!![]}];}return db[_0x9d6d('0x38')][_0x9d6d('0x39')](_0x206e0);})['then'](function(_0x8490d2){_0x189934[_0x9d6d('0x3a')]=_0x8490d2;return _0x189934;})[_0x9d6d('0x20')](respondWithFilteredResult(_0x4054d3,_0x206e0))[_0x9d6d('0x3b')](handleError(_0x4054d3,null));};exports[_0x9d6d('0x3c')]=function(_0x91dddb,_0x1dbfd7){var _0x8268eb={'raw':![],'where':{'id':_0x91dddb[_0x9d6d('0x3d')]['id']}},_0x451419={};_0x451419[_0x9d6d('0x2a')]=_[_0x9d6d('0x2c')](db[_0x9d6d('0x38')]['rawAttributes']);_0x451419['query']=_[_0x9d6d('0x2c')](_0x91dddb[_0x9d6d('0x2b')]);_0x451419[_0x9d6d('0x3e')]=_['intersection'](_0x451419['model'],_0x451419[_0x9d6d('0x2b')]);_0x8268eb[_0x9d6d('0x2d')]=_[_0x9d6d('0x3f')](_0x451419[_0x9d6d('0x2a')],qs[_0x9d6d('0x2e')](_0x91dddb[_0x9d6d('0x2b')][_0x9d6d('0x2e')]));_0x8268eb[_0x9d6d('0x2d')]=_0x8268eb[_0x9d6d('0x2d')][_0x9d6d('0x2f')]?_0x8268eb[_0x9d6d('0x2d')]:_0x451419[_0x9d6d('0x2a')];if(_0x91dddb[_0x9d6d('0x2b')][_0x9d6d('0x40')]){_0x8268eb[_0x9d6d('0x41')]=[{'all':!![]}];}_0x8268eb=_[_0x9d6d('0x35')]({},_0x8268eb,_0x91dddb[_0x9d6d('0x42')]);return db[_0x9d6d('0x38')][_0x9d6d('0x43')](_0x8268eb)[_0x9d6d('0x20')](handleEntityNotFound(_0x1dbfd7,null))[_0x9d6d('0x20')](respondWithResult(_0x1dbfd7,null))['catch'](handleError(_0x1dbfd7,null));};exports[_0x9d6d('0x44')]=function(_0x3f6c65,_0x1a71de){return db['UserProfileSection']['create'](_0x3f6c65[_0x9d6d('0x45')],{})[_0x9d6d('0x20')](respondWithResult(_0x1a71de,0xc9))['catch'](handleError(_0x1a71de,null));};exports['update']=function(_0x15714e,_0x1cad4a){if(_0x15714e[_0x9d6d('0x45')]['id']){delete _0x15714e[_0x9d6d('0x45')]['id'];}return db[_0x9d6d('0x38')]['find']({'where':{'id':_0x15714e['params']['id']}})[_0x9d6d('0x20')](handleEntityNotFound(_0x1cad4a,null))[_0x9d6d('0x20')](saveUpdates(_0x15714e['body'],null))[_0x9d6d('0x20')](respondWithResult(_0x1cad4a,null))[_0x9d6d('0x3b')](handleError(_0x1cad4a,null));};exports[_0x9d6d('0x21')]=function(_0x15d4e1,_0x3055a9){return db[_0x9d6d('0x38')][_0x9d6d('0x43')]({'where':{'id':_0x15d4e1['params']['id']}})['then'](handleEntityNotFound(_0x3055a9,null))[_0x9d6d('0x20')](removeEntity(_0x3055a9,null))[_0x9d6d('0x3b')](handleError(_0x3055a9,null));};exports[_0x9d6d('0x46')]=function(_0x332733,_0x289376){return db[_0x9d6d('0x38')][_0x9d6d('0x46')]()[_0x9d6d('0x20')](respondWithResult(_0x289376,null))[_0x9d6d('0x3b')](handleError(_0x289376,null));};