978115b6faef036d043e2d9e50b70500aa5f39c2
[motion2.git] / server / api / cmContactHasItem / cmContactHasItem.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 _0xfdf6=['../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','then','get','UserProfileResource','destroy','stack','name','send','index','CmContactHasItem','rawAttributes','key','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','type','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','keys','merge','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','CmContactHasItems','UserProfileSection','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x1f18e1,_0x215f36){var _0x5e4c2d=function(_0x532e11){while(--_0x532e11){_0x1f18e1['push'](_0x1f18e1['shift']());}};_0x5e4c2d(++_0x215f36);}(_0xfdf6,0x1ee));var _0x6fdf=function(_0x552231,_0x4aa28b){_0x552231=_0x552231-0x0;var _0x1401c2=_0xfdf6[_0x552231];return _0x1401c2;};'use strict';var emlformat=require(_0x6fdf('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6fdf('0x1'));var jsonpatch=require(_0x6fdf('0x2'));var rp=require(_0x6fdf('0x3'));var moment=require('moment');var BPromise=require(_0x6fdf('0x4'));var Mustache=require(_0x6fdf('0x5'));var util=require(_0x6fdf('0x6'));var path=require(_0x6fdf('0x7'));var sox=require('sox');var csv=require(_0x6fdf('0x8'));var ejs=require(_0x6fdf('0x9'));var fs=require('fs');var fs_extra=require(_0x6fdf('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x6fdf('0xb'));var jsforce=require(_0x6fdf('0xc'));var deskjs=require(_0x6fdf('0xd'));var toCsv=require(_0x6fdf('0x8'));var querystring=require('querystring');var Papa=require(_0x6fdf('0xe'));var Redis=require(_0x6fdf('0xf'));var authService=require(_0x6fdf('0x10'));var qs=require(_0x6fdf('0x11'));var as=require(_0x6fdf('0x12'));var hardwareService=require(_0x6fdf('0x13'));var logger=require(_0x6fdf('0x14'))(_0x6fdf('0x15'));var utils=require(_0x6fdf('0x16'));var config=require(_0x6fdf('0x17'));var licenseUtil=require(_0x6fdf('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x346865,_0x2c7c52){_0x2c7c52=_0x2c7c52||0xcc;return function(_0x5d1ecb){if(_0x5d1ecb){return _0x346865[_0x6fdf('0x19')](_0x2c7c52);}return _0x346865[_0x6fdf('0x1a')](_0x2c7c52)['end']();};}function respondWithResult(_0x55a694,_0x3e083c){_0x3e083c=_0x3e083c||0xc8;return function(_0x3ca8e8){if(_0x3ca8e8){return _0x55a694[_0x6fdf('0x1a')](_0x3e083c)[_0x6fdf('0x1b')](_0x3ca8e8);}};}function respondWithFilteredResult(_0x2308a8,_0x301a25){return function(_0x2e1f7a){if(_0x2e1f7a){var _0x1774f8=typeof _0x301a25[_0x6fdf('0x1c')]==='undefined'&&typeof _0x301a25[_0x6fdf('0x1d')]===_0x6fdf('0x1e');var _0x4403a6=_0x2e1f7a[_0x6fdf('0x1f')];var _0x290692=_0x1774f8?0x0:_0x301a25['offset'];var _0x26398b=_0x1774f8?_0x2e1f7a[_0x6fdf('0x1f')]:_0x301a25[_0x6fdf('0x1c')]+_0x301a25[_0x6fdf('0x1d')];var _0x1c0a4f;if(_0x26398b>=_0x4403a6){_0x26398b=_0x4403a6;_0x1c0a4f=0xc8;}else{_0x1c0a4f=0xce;}_0x2308a8['status'](_0x1c0a4f);return _0x2308a8[_0x6fdf('0x20')](_0x6fdf('0x21'),_0x290692+'-'+_0x26398b+'/'+_0x4403a6)[_0x6fdf('0x1b')](_0x2e1f7a);}return null;};}function patchUpdates(_0x19050e){return function(_0x559393){try{jsonpatch[_0x6fdf('0x22')](_0x559393,_0x19050e,!![]);}catch(_0x2e6620){return BPromise['reject'](_0x2e6620);}return _0x559393[_0x6fdf('0x23')]();};}function saveUpdates(_0x59ad9f,_0x598683){return function(_0xa1e0ae){if(_0xa1e0ae){return _0xa1e0ae[_0x6fdf('0x24')](_0x59ad9f)[_0x6fdf('0x25')](function(_0x4f0f50){return _0x4f0f50;});}return null;};}function removeEntity(_0x91784f,_0x137d20){return function(_0x1f3cba){if(_0x1f3cba){return _0x1f3cba['destroy']()['then'](function(){var _0x10be4e=_0x1f3cba[_0x6fdf('0x26')]({'plain':!![]});var _0x27fa92='CmContactHasItems';return db[_0x6fdf('0x27')][_0x6fdf('0x28')]({'where':{'type':_0x27fa92,'resourceId':_0x10be4e['id']}})[_0x6fdf('0x25')](function(){return _0x1f3cba;});})[_0x6fdf('0x25')](function(){_0x91784f[_0x6fdf('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe72643,_0x4d7c6d){return function(_0x5c782f){if(!_0x5c782f){_0xe72643[_0x6fdf('0x19')](0x194);}return _0x5c782f;};}function handleError(_0x14636b,_0x57a9bc){_0x57a9bc=_0x57a9bc||0x1f4;return function(_0x4caf4f){logger['error'](_0x4caf4f[_0x6fdf('0x29')]);if(_0x4caf4f[_0x6fdf('0x2a')]){delete _0x4caf4f[_0x6fdf('0x2a')];}_0x14636b[_0x6fdf('0x1a')](_0x57a9bc)[_0x6fdf('0x2b')](_0x4caf4f);};}exports[_0x6fdf('0x2c')]=function(_0x1773ba,_0xb0cf43){var _0x5ec3cb={},_0x2ebb19={},_0x518d03={'count':0x0,'rows':[]};var _0x2c2993=_['map'](db[_0x6fdf('0x2d')][_0x6fdf('0x2e')],function(_0x2dfcf9){return{'name':_0x2dfcf9['fieldName'],'type':_0x2dfcf9['type'][_0x6fdf('0x2f')]};});_0x2ebb19[_0x6fdf('0x30')]=_[_0x6fdf('0x31')](_0x2c2993,_0x6fdf('0x2a'));_0x2ebb19['query']=_['keys'](_0x1773ba[_0x6fdf('0x32')]);_0x2ebb19[_0x6fdf('0x33')]=_[_0x6fdf('0x34')](_0x2ebb19[_0x6fdf('0x30')],_0x2ebb19[_0x6fdf('0x32')]);_0x5ec3cb['attributes']=_['intersection'](_0x2ebb19[_0x6fdf('0x30')],qs[_0x6fdf('0x35')](_0x1773ba['query'][_0x6fdf('0x35')]));_0x5ec3cb[_0x6fdf('0x36')]=_0x5ec3cb['attributes'][_0x6fdf('0x37')]?_0x5ec3cb[_0x6fdf('0x36')]:_0x2ebb19[_0x6fdf('0x30')];if(!_0x1773ba[_0x6fdf('0x32')][_0x6fdf('0x38')](_0x6fdf('0x39'))){_0x5ec3cb[_0x6fdf('0x1d')]=qs[_0x6fdf('0x1d')](_0x1773ba['query'][_0x6fdf('0x1d')]);_0x5ec3cb[_0x6fdf('0x1c')]=qs[_0x6fdf('0x1c')](_0x1773ba['query'][_0x6fdf('0x1c')]);}_0x5ec3cb[_0x6fdf('0x3a')]=qs[_0x6fdf('0x3b')](_0x1773ba['query'][_0x6fdf('0x3b')]);_0x5ec3cb[_0x6fdf('0x3c')]=qs[_0x6fdf('0x33')](_[_0x6fdf('0x3d')](_0x1773ba[_0x6fdf('0x32')],_0x2ebb19[_0x6fdf('0x33')]),_0x2c2993);if(_0x1773ba[_0x6fdf('0x32')]['filter']){_0x5ec3cb[_0x6fdf('0x3c')]=_['merge'](_0x5ec3cb[_0x6fdf('0x3c')],{'$or':_[_0x6fdf('0x31')](_0x2c2993,function(_0x43df70){if(_0x43df70[_0x6fdf('0x3e')]!==_0x6fdf('0x3f')){var _0x263f26={};_0x263f26[_0x43df70[_0x6fdf('0x2a')]]={'$like':'%'+_0x1773ba[_0x6fdf('0x32')][_0x6fdf('0x40')]+'%'};return _0x263f26;}})});}_0x5ec3cb=_['merge']({},_0x5ec3cb,_0x1773ba['options']);var _0x3c0ffd={'where':_0x5ec3cb[_0x6fdf('0x3c')]};return db[_0x6fdf('0x2d')][_0x6fdf('0x1f')](_0x3c0ffd)[_0x6fdf('0x25')](function(_0x4869e2){_0x518d03['count']=_0x4869e2;if(_0x1773ba[_0x6fdf('0x32')][_0x6fdf('0x41')]){_0x5ec3cb[_0x6fdf('0x42')]=[{'all':!![]}];}return db[_0x6fdf('0x2d')][_0x6fdf('0x43')](_0x5ec3cb);})[_0x6fdf('0x25')](function(_0x3c405a){_0x518d03[_0x6fdf('0x44')]=_0x3c405a;return _0x518d03;})['then'](respondWithFilteredResult(_0xb0cf43,_0x5ec3cb))[_0x6fdf('0x45')](handleError(_0xb0cf43,null));};exports[_0x6fdf('0x46')]=function(_0x18461c,_0xd54017){var _0xfc8c54={'raw':!![],'where':{'id':_0x18461c[_0x6fdf('0x47')]['id']}},_0x1114d6={};_0x1114d6[_0x6fdf('0x30')]=_[_0x6fdf('0x48')](db['CmContactHasItem']['rawAttributes']);_0x1114d6[_0x6fdf('0x32')]=_[_0x6fdf('0x48')](_0x18461c['query']);_0x1114d6[_0x6fdf('0x33')]=_[_0x6fdf('0x34')](_0x1114d6[_0x6fdf('0x30')],_0x1114d6[_0x6fdf('0x32')]);_0xfc8c54[_0x6fdf('0x36')]=_[_0x6fdf('0x34')](_0x1114d6[_0x6fdf('0x30')],qs[_0x6fdf('0x35')](_0x18461c['query'][_0x6fdf('0x35')]));_0xfc8c54[_0x6fdf('0x36')]=_0xfc8c54[_0x6fdf('0x36')][_0x6fdf('0x37')]?_0xfc8c54['attributes']:_0x1114d6[_0x6fdf('0x30')];if(_0x18461c[_0x6fdf('0x32')][_0x6fdf('0x41')]){_0xfc8c54[_0x6fdf('0x42')]=[{'all':!![]}];}_0xfc8c54=_[_0x6fdf('0x49')]({},_0xfc8c54,_0x18461c[_0x6fdf('0x4a')]);return db[_0x6fdf('0x2d')]['find'](_0xfc8c54)['then'](handleEntityNotFound(_0xd54017,null))[_0x6fdf('0x25')](respondWithResult(_0xd54017,null))['catch'](handleError(_0xd54017,null));};exports[_0x6fdf('0x4b')]=function(_0x32f928,_0x51e8c9){return db['CmContactHasItem'][_0x6fdf('0x4b')](_0x32f928[_0x6fdf('0x4c')],{})[_0x6fdf('0x25')](function(_0x2c5a51){var _0x428230=_0x32f928[_0x6fdf('0x4d')][_0x6fdf('0x26')]({'plain':!![]});if(!_0x428230)throw new Error(_0x6fdf('0x4e'));if(_0x428230[_0x6fdf('0x4f')]===_0x6fdf('0x4d')){var _0x337bf8=_0x2c5a51[_0x6fdf('0x26')]({'plain':!![]});var _0x27a40a=_0x6fdf('0x50');return db[_0x6fdf('0x51')]['find']({'where':{'name':_0x27a40a,'userProfileId':_0x428230[_0x6fdf('0x52')]},'raw':!![]})[_0x6fdf('0x25')](function(_0x38dc50){if(_0x38dc50&&_0x38dc50['autoAssociation']===0x0){return db['UserProfileResource'][_0x6fdf('0x4b')]({'name':_0x337bf8[_0x6fdf('0x2a')],'resourceId':_0x337bf8['id'],'type':_0x38dc50['name'],'sectionId':_0x38dc50['id']},{})[_0x6fdf('0x25')](function(){return _0x2c5a51;});}else{return _0x2c5a51;}})['catch'](function(_0x2bda48){logger[_0x6fdf('0x53')](_0x6fdf('0x54'),_0x2bda48);throw _0x2bda48;});}return _0x2c5a51;})[_0x6fdf('0x25')](respondWithResult(_0x51e8c9,0xc9))[_0x6fdf('0x45')](handleError(_0x51e8c9,null));};exports['update']=function(_0x3eb642,_0x32b387){if(_0x3eb642[_0x6fdf('0x4c')]['id']){delete _0x3eb642[_0x6fdf('0x4c')]['id'];}return db['CmContactHasItem'][_0x6fdf('0x55')]({'where':{'id':_0x3eb642[_0x6fdf('0x47')]['id']}})[_0x6fdf('0x25')](handleEntityNotFound(_0x32b387,null))[_0x6fdf('0x25')](saveUpdates(_0x3eb642[_0x6fdf('0x4c')],null))['then'](respondWithResult(_0x32b387,null))[_0x6fdf('0x45')](handleError(_0x32b387,null));};exports[_0x6fdf('0x28')]=function(_0x390cfe,_0x40308c){return db[_0x6fdf('0x2d')][_0x6fdf('0x55')]({'where':{'id':_0x390cfe[_0x6fdf('0x47')]['id']}})[_0x6fdf('0x25')](handleEntityNotFound(_0x40308c,null))[_0x6fdf('0x25')](removeEntity(_0x40308c,null))[_0x6fdf('0x45')](handleError(_0x40308c,null));};