Built motion from commit c738b9ac.|2.6.25
[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 _0x9c88=['Content-Range','apply','reject','update','then','get','destroy','error','name','index','map','CmContactHasItem','rawAttributes','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','CmContactHasItems','UserProfileSection','autoAssociation','UserProfileResource','body','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','limit','count'];(function(_0x48ed3a,_0xd90d91){var _0x527f33=function(_0x1c5e5c){while(--_0x1c5e5c){_0x48ed3a['push'](_0x48ed3a['shift']());}};_0x527f33(++_0xd90d91);}(_0x9c88,0xd1));var _0x89c8=function(_0x2d36a6,_0x2f8cd0){_0x2d36a6=_0x2d36a6-0x0;var _0x59cec0=_0x9c88[_0x2d36a6];return _0x59cec0;};'use strict';var emlformat=require(_0x89c8('0x0'));var rimraf=require(_0x89c8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x89c8('0x2'));var rp=require('request-promise');var moment=require(_0x89c8('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x89c8('0x4'));var util=require(_0x89c8('0x5'));var path=require(_0x89c8('0x6'));var sox=require(_0x89c8('0x7'));var csv=require(_0x89c8('0x8'));var ejs=require(_0x89c8('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x89c8('0xa'));var squel=require(_0x89c8('0xb'));var crypto=require(_0x89c8('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x89c8('0xd'));var Papa=require(_0x89c8('0xe'));var Redis=require(_0x89c8('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x89c8('0x10'));var hardwareService=require(_0x89c8('0x11'));var logger=require(_0x89c8('0x12'))(_0x89c8('0x13'));var utils=require(_0x89c8('0x14'));var config=require(_0x89c8('0x15'));var licenseUtil=require(_0x89c8('0x16'));var db=require(_0x89c8('0x17'))['db'];function respondWithStatusCode(_0x3b9a57,_0x427ca3){_0x427ca3=_0x427ca3||0xcc;return function(_0x20b682){if(_0x20b682){return _0x3b9a57['sendStatus'](_0x427ca3);}return _0x3b9a57['status'](_0x427ca3)[_0x89c8('0x18')]();};}function respondWithResult(_0x1596b0,_0x3604a4){_0x3604a4=_0x3604a4||0xc8;return function(_0x157afc){if(_0x157afc){return _0x1596b0[_0x89c8('0x19')](_0x3604a4)[_0x89c8('0x1a')](_0x157afc);}};}function respondWithFilteredResult(_0xe175a8,_0x4a7308){return function(_0x33cf31){if(_0x33cf31){var _0x2ae99d=typeof _0x4a7308[_0x89c8('0x1b')]===_0x89c8('0x1c')&&typeof _0x4a7308[_0x89c8('0x1d')]===_0x89c8('0x1c');var _0x24bca8=_0x33cf31[_0x89c8('0x1e')];var _0x15a702=_0x2ae99d?0x0:_0x4a7308[_0x89c8('0x1b')];var _0xada0b2=_0x2ae99d?_0x33cf31[_0x89c8('0x1e')]:_0x4a7308[_0x89c8('0x1b')]+_0x4a7308[_0x89c8('0x1d')];var _0x4e6683;if(_0xada0b2>=_0x24bca8){_0xada0b2=_0x24bca8;_0x4e6683=0xc8;}else{_0x4e6683=0xce;}_0xe175a8['status'](_0x4e6683);return _0xe175a8['set'](_0x89c8('0x1f'),_0x15a702+'-'+_0xada0b2+'/'+_0x24bca8)['json'](_0x33cf31);}return null;};}function patchUpdates(_0x21bc2f){return function(_0x485881){try{jsonpatch[_0x89c8('0x20')](_0x485881,_0x21bc2f,!![]);}catch(_0x2007ba){return BPromise[_0x89c8('0x21')](_0x2007ba);}return _0x485881['save']();};}function saveUpdates(_0x154ea9,_0x44c938){return function(_0x31c5b6){if(_0x31c5b6){return _0x31c5b6[_0x89c8('0x22')](_0x154ea9)[_0x89c8('0x23')](function(_0x5ddc71){return _0x5ddc71;});}return null;};}function removeEntity(_0x35b720,_0x4cc53c){return function(_0x2ff0cd){if(_0x2ff0cd){return _0x2ff0cd['destroy']()[_0x89c8('0x23')](function(){var _0x5b6edb=_0x2ff0cd[_0x89c8('0x24')]({'plain':!![]});var _0x50058c='CmContactHasItems';return db['UserProfileResource'][_0x89c8('0x25')]({'where':{'type':_0x50058c,'resourceId':_0x5b6edb['id']}})['then'](function(){return _0x2ff0cd;});})[_0x89c8('0x23')](function(){_0x35b720[_0x89c8('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1fbdd4,_0x3d5258){return function(_0x4f4e9f){if(!_0x4f4e9f){_0x1fbdd4['sendStatus'](0x194);}return _0x4f4e9f;};}function handleError(_0x4c5ba9,_0x1caedb){_0x1caedb=_0x1caedb||0x1f4;return function(_0x453d97){logger[_0x89c8('0x26')](_0x453d97['stack']);if(_0x453d97['name']){delete _0x453d97[_0x89c8('0x27')];}_0x4c5ba9[_0x89c8('0x19')](_0x1caedb)['send'](_0x453d97);};}exports[_0x89c8('0x28')]=function(_0x25bd11,_0x52f081){var _0x3f61d3={},_0x4098da={},_0xe1bd9c={'count':0x0,'rows':[]};var _0x2e9c21=_[_0x89c8('0x29')](db[_0x89c8('0x2a')][_0x89c8('0x2b')],function(_0x32ebce){return{'name':_0x32ebce['fieldName'],'type':_0x32ebce[_0x89c8('0x2c')][_0x89c8('0x2d')]};});_0x4098da[_0x89c8('0x2e')]=_['map'](_0x2e9c21,_0x89c8('0x27'));_0x4098da['query']=_['keys'](_0x25bd11[_0x89c8('0x2f')]);_0x4098da[_0x89c8('0x30')]=_[_0x89c8('0x31')](_0x4098da[_0x89c8('0x2e')],_0x4098da[_0x89c8('0x2f')]);_0x3f61d3['attributes']=_['intersection'](_0x4098da['model'],qs[_0x89c8('0x32')](_0x25bd11[_0x89c8('0x2f')]['fields']));_0x3f61d3[_0x89c8('0x33')]=_0x3f61d3[_0x89c8('0x33')]['length']?_0x3f61d3[_0x89c8('0x33')]:_0x4098da['model'];if(!_0x25bd11[_0x89c8('0x2f')][_0x89c8('0x34')](_0x89c8('0x35'))){_0x3f61d3[_0x89c8('0x1d')]=qs[_0x89c8('0x1d')](_0x25bd11['query']['limit']);_0x3f61d3[_0x89c8('0x1b')]=qs[_0x89c8('0x1b')](_0x25bd11[_0x89c8('0x2f')][_0x89c8('0x1b')]);}_0x3f61d3[_0x89c8('0x36')]=qs[_0x89c8('0x37')](_0x25bd11[_0x89c8('0x2f')]['sort']);_0x3f61d3[_0x89c8('0x38')]=qs[_0x89c8('0x30')](_[_0x89c8('0x39')](_0x25bd11[_0x89c8('0x2f')],_0x4098da[_0x89c8('0x30')]),_0x2e9c21);if(_0x25bd11['query'][_0x89c8('0x3a')]){_0x3f61d3[_0x89c8('0x38')]=_['merge'](_0x3f61d3[_0x89c8('0x38')],{'$or':_['map'](_0x2e9c21,function(_0x4d5924){if(_0x4d5924[_0x89c8('0x2c')]!=='VIRTUAL'){var _0x461b7b={};_0x461b7b[_0x4d5924['name']]={'$like':'%'+_0x25bd11[_0x89c8('0x2f')]['filter']+'%'};return _0x461b7b;}})});}_0x3f61d3=_[_0x89c8('0x3b')]({},_0x3f61d3,_0x25bd11[_0x89c8('0x3c')]);var _0x2385a6={'where':_0x3f61d3[_0x89c8('0x38')]};return db[_0x89c8('0x2a')][_0x89c8('0x1e')](_0x2385a6)['then'](function(_0x2aa079){_0xe1bd9c[_0x89c8('0x1e')]=_0x2aa079;if(_0x25bd11[_0x89c8('0x2f')][_0x89c8('0x3d')]){_0x3f61d3[_0x89c8('0x3e')]=[{'all':!![]}];}return db[_0x89c8('0x2a')][_0x89c8('0x3f')](_0x3f61d3);})[_0x89c8('0x23')](function(_0x7ff405){_0xe1bd9c[_0x89c8('0x40')]=_0x7ff405;return _0xe1bd9c;})['then'](respondWithFilteredResult(_0x52f081,_0x3f61d3))[_0x89c8('0x41')](handleError(_0x52f081,null));};exports[_0x89c8('0x42')]=function(_0x5012ef,_0x4945f6){var _0x1fb4e0={'raw':!![],'where':{'id':_0x5012ef[_0x89c8('0x43')]['id']}},_0x47b0bc={};_0x47b0bc[_0x89c8('0x2e')]=_[_0x89c8('0x44')](db[_0x89c8('0x2a')][_0x89c8('0x2b')]);_0x47b0bc[_0x89c8('0x2f')]=_[_0x89c8('0x44')](_0x5012ef[_0x89c8('0x2f')]);_0x47b0bc[_0x89c8('0x30')]=_['intersection'](_0x47b0bc[_0x89c8('0x2e')],_0x47b0bc[_0x89c8('0x2f')]);_0x1fb4e0[_0x89c8('0x33')]=_['intersection'](_0x47b0bc[_0x89c8('0x2e')],qs[_0x89c8('0x32')](_0x5012ef['query'][_0x89c8('0x32')]));_0x1fb4e0[_0x89c8('0x33')]=_0x1fb4e0[_0x89c8('0x33')][_0x89c8('0x45')]?_0x1fb4e0[_0x89c8('0x33')]:_0x47b0bc['model'];if(_0x5012ef[_0x89c8('0x2f')]['includeAll']){_0x1fb4e0[_0x89c8('0x3e')]=[{'all':!![]}];}_0x1fb4e0=_[_0x89c8('0x3b')]({},_0x1fb4e0,_0x5012ef['options']);return db[_0x89c8('0x2a')][_0x89c8('0x46')](_0x1fb4e0)[_0x89c8('0x23')](handleEntityNotFound(_0x4945f6,null))[_0x89c8('0x23')](respondWithResult(_0x4945f6,null))[_0x89c8('0x41')](handleError(_0x4945f6,null));};exports[_0x89c8('0x47')]=function(_0x2b1863,_0x4de047){return db[_0x89c8('0x2a')][_0x89c8('0x47')](_0x2b1863['body'],{})[_0x89c8('0x23')](function(_0x28bf56){var _0x2414da=_0x2b1863[_0x89c8('0x48')]['get']({'plain':!![]});if(!_0x2414da)throw new Error(_0x89c8('0x49'));if(_0x2414da[_0x89c8('0x4a')]==='user'){var _0x4b0ecc=_0x28bf56[_0x89c8('0x24')]({'plain':!![]});var _0xb8428f=_0x89c8('0x4b');return db[_0x89c8('0x4c')][_0x89c8('0x46')]({'where':{'name':_0xb8428f,'userProfileId':_0x2414da['userProfileId']},'raw':!![]})[_0x89c8('0x23')](function(_0x5587ed){if(_0x5587ed&&_0x5587ed[_0x89c8('0x4d')]===0x0){return db[_0x89c8('0x4e')][_0x89c8('0x47')]({'name':_0x4b0ecc[_0x89c8('0x27')],'resourceId':_0x4b0ecc['id'],'type':_0x5587ed['name'],'sectionId':_0x5587ed['id']},{})[_0x89c8('0x23')](function(){return _0x28bf56;});}else{return _0x28bf56;}})[_0x89c8('0x41')](function(_0x34dadd){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x34dadd);throw _0x34dadd;});}return _0x28bf56;})[_0x89c8('0x23')](respondWithResult(_0x4de047,0xc9))['catch'](handleError(_0x4de047,null));};exports['update']=function(_0x26533c,_0x25cbd2){if(_0x26533c[_0x89c8('0x4f')]['id']){delete _0x26533c[_0x89c8('0x4f')]['id'];}return db[_0x89c8('0x2a')][_0x89c8('0x46')]({'where':{'id':_0x26533c[_0x89c8('0x43')]['id']}})['then'](handleEntityNotFound(_0x25cbd2,null))[_0x89c8('0x23')](saveUpdates(_0x26533c[_0x89c8('0x4f')],null))[_0x89c8('0x23')](respondWithResult(_0x25cbd2,null))[_0x89c8('0x41')](handleError(_0x25cbd2,null));};exports[_0x89c8('0x25')]=function(_0x255fcd,_0x578a86){return db[_0x89c8('0x2a')][_0x89c8('0x46')]({'where':{'id':_0x255fcd[_0x89c8('0x43')]['id']}})[_0x89c8('0x23')](handleEntityNotFound(_0x578a86,null))[_0x89c8('0x23')](removeEntity(_0x578a86,null))['catch'](handleError(_0x578a86,null));};