da6efff4cc60d58346ac07dd4163ca7be67c9a78
[motion2.git] / server / api / userProfileResource / userProfileResource.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 _0x9b67=['type','key','model','map','keys','query','filters','intersection','fields','attributes','length','order','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','include','find','create','body','destroy','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','then','name','send','UserProfileResource','rawAttributes','fieldName'];(function(_0x393bd1,_0x45433a){var _0x1a8526=function(_0x25b431){while(--_0x25b431){_0x393bd1['push'](_0x393bd1['shift']());}};_0x1a8526(++_0x45433a);}(_0x9b67,0xf6));var _0x79b6=function(_0xa9a175,_0x4e691d){_0xa9a175=_0xa9a175-0x0;var _0x177538=_0x9b67[_0xa9a175];return _0x177538;};'use strict';var pdf=require(_0x79b6('0x0'));var emlformat=require(_0x79b6('0x1'));var rimraf=require(_0x79b6('0x2'));var zipdir=require(_0x79b6('0x3'));var jsonpatch=require(_0x79b6('0x4'));var rp=require('request-promise');var moment=require(_0x79b6('0x5'));var BPromise=require(_0x79b6('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x79b6('0x7'));var sox=require(_0x79b6('0x8'));var csv=require(_0x79b6('0x9'));var ejs=require(_0x79b6('0xa'));var fs=require('fs');var _=require(_0x79b6('0xb'));var squel=require(_0x79b6('0xc'));var crypto=require(_0x79b6('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x79b6('0xe'));var toCsv=require(_0x79b6('0x9'));var querystring=require(_0x79b6('0xf'));var Papa=require(_0x79b6('0x10'));var Redis=require(_0x79b6('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x79b6('0x12'));var as=require(_0x79b6('0x13'));var hardwareService=require(_0x79b6('0x14'));var logger=require(_0x79b6('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x79b6('0x16'));var db=require(_0x79b6('0x17'))['db'];function respondWithStatusCode(_0x303cfb,_0x526727){_0x526727=_0x526727||0xcc;return function(_0xc05a77){if(_0xc05a77){return _0x303cfb[_0x79b6('0x18')](_0x526727);}return _0x303cfb[_0x79b6('0x19')](_0x526727)[_0x79b6('0x1a')]();};}function respondWithResult(_0x3b0721,_0x40478d){_0x40478d=_0x40478d||0xc8;return function(_0x19d5b2){if(_0x19d5b2){return _0x3b0721[_0x79b6('0x19')](_0x40478d)[_0x79b6('0x1b')](_0x19d5b2);}};}function respondWithFilteredResult(_0x114d8c,_0x2ac966){return function(_0x3563cc){if(_0x3563cc){var _0x1e8bf1=_0x3563cc[_0x79b6('0x1c')],_0x4cf491=_0x2ac966[_0x79b6('0x1d')],_0x207bcc=_0x2ac966[_0x79b6('0x1d')]+_0x2ac966[_0x79b6('0x1e')],_0x2a75d5;if(_0x207bcc>=_0x1e8bf1){_0x207bcc=_0x1e8bf1;_0x2a75d5=0xc8;}else{_0x2a75d5=0xce;}_0x114d8c[_0x79b6('0x19')](_0x2a75d5);return _0x114d8c[_0x79b6('0x1f')](_0x79b6('0x20'),_0x4cf491+'-'+_0x207bcc+'/'+_0x1e8bf1)[_0x79b6('0x1b')](_0x3563cc);}return null;};}function patchUpdates(_0x323376){return function(_0xa1a29a){try{jsonpatch[_0x79b6('0x21')](_0xa1a29a,_0x323376,!![]);}catch(_0x52a70f){return BPromise[_0x79b6('0x22')](_0x52a70f);}return _0xa1a29a['save']();};}function saveUpdates(_0x22a9eb,_0x532e65){return function(_0x28b9c2){if(_0x28b9c2){return _0x28b9c2[_0x79b6('0x23')](_0x22a9eb)[_0x79b6('0x24')](function(_0x56ebf4){return _0x56ebf4;});}return null;};}function removeEntity(_0x46304b,_0x30dc0b){return function(_0x53208a){if(_0x53208a){return _0x53208a['destroy']()[_0x79b6('0x24')](function(){_0x46304b[_0x79b6('0x19')](0xcc)[_0x79b6('0x1a')]();});}};}function handleEntityNotFound(_0x268826,_0x3b2a2a){return function(_0x488102){if(!_0x488102){_0x268826[_0x79b6('0x18')](0x194);}return _0x488102;};}function handleError(_0x280e04,_0x17eff4){_0x17eff4=_0x17eff4||0x1f4;return function(_0x26dd86){logger['error'](_0x26dd86['stack']);if(_0x26dd86[_0x79b6('0x25')]){delete _0x26dd86[_0x79b6('0x25')];}_0x280e04[_0x79b6('0x19')](_0x17eff4)[_0x79b6('0x26')](_0x26dd86);};}exports['index']=function(_0x6f6ca1,_0x52574b){var _0x400542={},_0x2fd9b5={},_0x302596={'count':0x0,'rows':[]};var _0xe03d2=_['map'](db[_0x79b6('0x27')][_0x79b6('0x28')],function(_0x53b463){return{'name':_0x53b463[_0x79b6('0x29')],'type':_0x53b463[_0x79b6('0x2a')][_0x79b6('0x2b')]};});_0x2fd9b5[_0x79b6('0x2c')]=_[_0x79b6('0x2d')](_0xe03d2,_0x79b6('0x25'));_0x2fd9b5['query']=_[_0x79b6('0x2e')](_0x6f6ca1[_0x79b6('0x2f')]);_0x2fd9b5[_0x79b6('0x30')]=_[_0x79b6('0x31')](_0x2fd9b5[_0x79b6('0x2c')],_0x2fd9b5[_0x79b6('0x2f')]);_0x400542['attributes']=_[_0x79b6('0x31')](_0x2fd9b5[_0x79b6('0x2c')],qs[_0x79b6('0x32')](_0x6f6ca1['query']['fields']));_0x400542[_0x79b6('0x33')]=_0x400542[_0x79b6('0x33')][_0x79b6('0x34')]?_0x400542[_0x79b6('0x33')]:_0x2fd9b5[_0x79b6('0x2c')];if(!_0x6f6ca1[_0x79b6('0x2f')]['hasOwnProperty']('nolimit')){_0x400542[_0x79b6('0x1e')]=qs['limit'](_0x6f6ca1[_0x79b6('0x2f')]['limit']);_0x400542[_0x79b6('0x1d')]=qs[_0x79b6('0x1d')](_0x6f6ca1['query'][_0x79b6('0x1d')]);}_0x400542[_0x79b6('0x35')]=qs['sort'](_0x6f6ca1[_0x79b6('0x2f')]['sort']);_0x400542[_0x79b6('0x36')]=qs[_0x79b6('0x30')](_[_0x79b6('0x37')](_0x6f6ca1[_0x79b6('0x2f')],_0x2fd9b5[_0x79b6('0x30')]),_0xe03d2);if(_0x6f6ca1[_0x79b6('0x2f')][_0x79b6('0x38')]){_0x400542[_0x79b6('0x36')]=_[_0x79b6('0x39')](_0x400542[_0x79b6('0x36')],{'$or':_['map'](_0xe03d2,function(_0x5179ec){if(_0x5179ec['type']!==_0x79b6('0x3a')){var _0x324a04={};_0x324a04[_0x5179ec['name']]={'$like':'%'+_0x6f6ca1[_0x79b6('0x2f')]['filter']+'%'};return _0x324a04;}})});}_0x400542=_[_0x79b6('0x39')]({},_0x400542,_0x6f6ca1[_0x79b6('0x3b')]);var _0x26abad={'where':_0x400542['where']};return db[_0x79b6('0x27')]['count'](_0x26abad)[_0x79b6('0x24')](function(_0x1bba0d){_0x302596[_0x79b6('0x1c')]=_0x1bba0d;if(_0x6f6ca1[_0x79b6('0x2f')][_0x79b6('0x3c')]){_0x400542['include']=[{'all':!![]}];}return db['UserProfileResource'][_0x79b6('0x3d')](_0x400542);})['then'](function(_0x4037c8){_0x302596[_0x79b6('0x3e')]=_0x4037c8;return _0x302596;})[_0x79b6('0x24')](respondWithFilteredResult(_0x52574b,_0x400542))[_0x79b6('0x3f')](handleError(_0x52574b,null));};exports[_0x79b6('0x40')]=function(_0x376eb2,_0x475c8c){var _0x4a7f90={'raw':![],'where':{'id':_0x376eb2[_0x79b6('0x41')]['id']}},_0x109514={};_0x109514[_0x79b6('0x2c')]=_[_0x79b6('0x2e')](db['UserProfileResource'][_0x79b6('0x28')]);_0x109514['query']=_['keys'](_0x376eb2[_0x79b6('0x2f')]);_0x109514[_0x79b6('0x30')]=_[_0x79b6('0x31')](_0x109514[_0x79b6('0x2c')],_0x109514[_0x79b6('0x2f')]);_0x4a7f90[_0x79b6('0x33')]=_[_0x79b6('0x31')](_0x109514[_0x79b6('0x2c')],qs['fields'](_0x376eb2[_0x79b6('0x2f')]['fields']));_0x4a7f90['attributes']=_0x4a7f90[_0x79b6('0x33')][_0x79b6('0x34')]?_0x4a7f90[_0x79b6('0x33')]:_0x109514[_0x79b6('0x2c')];if(_0x376eb2[_0x79b6('0x2f')][_0x79b6('0x3c')]){_0x4a7f90[_0x79b6('0x42')]=[{'all':!![]}];}_0x4a7f90=_[_0x79b6('0x39')]({},_0x4a7f90,_0x376eb2[_0x79b6('0x3b')]);return db['UserProfileResource'][_0x79b6('0x43')](_0x4a7f90)[_0x79b6('0x24')](handleEntityNotFound(_0x475c8c,null))[_0x79b6('0x24')](respondWithResult(_0x475c8c,null))[_0x79b6('0x3f')](handleError(_0x475c8c,null));};exports[_0x79b6('0x44')]=function(_0x4f1344,_0x3e335e){return db[_0x79b6('0x27')]['create'](_0x4f1344['body'],{})[_0x79b6('0x24')](respondWithResult(_0x3e335e,0xc9))[_0x79b6('0x3f')](handleError(_0x3e335e,null));};exports[_0x79b6('0x23')]=function(_0xa0c396,_0x37f4b1){if(_0xa0c396[_0x79b6('0x45')]['id']){delete _0xa0c396[_0x79b6('0x45')]['id'];}return db[_0x79b6('0x27')][_0x79b6('0x43')]({'where':{'id':_0xa0c396[_0x79b6('0x41')]['id']}})[_0x79b6('0x24')](handleEntityNotFound(_0x37f4b1,null))[_0x79b6('0x24')](saveUpdates(_0xa0c396[_0x79b6('0x45')],null))[_0x79b6('0x24')](respondWithResult(_0x37f4b1,null))[_0x79b6('0x3f')](handleError(_0x37f4b1,null));};exports[_0x79b6('0x46')]=function(_0x26ab29,_0x14fa5c){return db[_0x79b6('0x27')]['find']({'where':{'id':_0x26ab29['params']['id']}})['then'](handleEntityNotFound(_0x14fa5c,null))['then'](removeEntity(_0x14fa5c,null))['catch'](handleError(_0x14fa5c,null));};exports[_0x79b6('0x47')]=function(_0xdaef8c,_0x23d4eb){return db[_0x79b6('0x27')][_0x79b6('0x47')]()[_0x79b6('0x24')](respondWithResult(_0x23d4eb,null))['catch'](handleError(_0x23d4eb,null));};