Built motion from commit 616d3211.|2.6.4
[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 _0x6c50=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','destroy','then','get','CmContactHasItems','UserProfileResource','end','error','stack','name','send','index','map','CmContactHasItem','rawAttributes','fieldName','keys','query','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','findAll','rows','catch','show','params','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','crypto','desk.js','to-csv','querystring','../../components/auth/service'];(function(_0x1f136d,_0x61f668){var _0x10c8b7=function(_0x1fbfc1){while(--_0x1fbfc1){_0x1f136d['push'](_0x1f136d['shift']());}};_0x10c8b7(++_0x61f668);}(_0x6c50,0x9c));var _0x06c5=function(_0x4a6435,_0x5a73ae){_0x4a6435=_0x4a6435-0x0;var _0x48680a=_0x6c50[_0x4a6435];return _0x48680a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x06c5('0x0'));var zipdir=require(_0x06c5('0x1'));var jsonpatch=require(_0x06c5('0x2'));var rp=require(_0x06c5('0x3'));var moment=require(_0x06c5('0x4'));var BPromise=require(_0x06c5('0x5'));var Mustache=require(_0x06c5('0x6'));var util=require(_0x06c5('0x7'));var path=require(_0x06c5('0x8'));var sox=require(_0x06c5('0x9'));var csv=require('to-csv');var ejs=require(_0x06c5('0xa'));var fs=require('fs');var fs_extra=require(_0x06c5('0xb'));var _=require('lodash');var squel=require(_0x06c5('0xc'));var crypto=require(_0x06c5('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x06c5('0xe'));var toCsv=require(_0x06c5('0xf'));var querystring=require(_0x06c5('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x06c5('0x11'));var qs=require(_0x06c5('0x12'));var as=require(_0x06c5('0x13'));var hardwareService=require(_0x06c5('0x14'));var logger=require(_0x06c5('0x15'))('api');var utils=require(_0x06c5('0x16'));var config=require(_0x06c5('0x17'));var licenseUtil=require(_0x06c5('0x18'));var db=require(_0x06c5('0x19'))['db'];function respondWithStatusCode(_0x446ab6,_0x95e1e0){_0x95e1e0=_0x95e1e0||0xcc;return function(_0x4961b0){if(_0x4961b0){return _0x446ab6[_0x06c5('0x1a')](_0x95e1e0);}return _0x446ab6[_0x06c5('0x1b')](_0x95e1e0)['end']();};}function respondWithResult(_0x43c8e8,_0x5a672d){_0x5a672d=_0x5a672d||0xc8;return function(_0x2aa679){if(_0x2aa679){return _0x43c8e8[_0x06c5('0x1b')](_0x5a672d)[_0x06c5('0x1c')](_0x2aa679);}};}function respondWithFilteredResult(_0x3bd737,_0x3c2e45){return function(_0x4b7426){if(_0x4b7426){var _0x418f03=typeof _0x3c2e45[_0x06c5('0x1d')]==='undefined'&&typeof _0x3c2e45[_0x06c5('0x1e')]===_0x06c5('0x1f');var _0x30a2fe=_0x4b7426['count'];var _0x7d28dc=_0x418f03?0x0:_0x3c2e45[_0x06c5('0x1d')];var _0x2c9bea=_0x418f03?_0x4b7426[_0x06c5('0x20')]:_0x3c2e45[_0x06c5('0x1d')]+_0x3c2e45['limit'];var _0xf8a9c8;if(_0x2c9bea>=_0x30a2fe){_0x2c9bea=_0x30a2fe;_0xf8a9c8=0xc8;}else{_0xf8a9c8=0xce;}_0x3bd737[_0x06c5('0x1b')](_0xf8a9c8);return _0x3bd737[_0x06c5('0x21')](_0x06c5('0x22'),_0x7d28dc+'-'+_0x2c9bea+'/'+_0x30a2fe)['json'](_0x4b7426);}return null;};}function patchUpdates(_0x4cd239){return function(_0x506c27){try{jsonpatch[_0x06c5('0x23')](_0x506c27,_0x4cd239,!![]);}catch(_0xa67440){return BPromise[_0x06c5('0x24')](_0xa67440);}return _0x506c27[_0x06c5('0x25')]();};}function saveUpdates(_0x2f67ff,_0x1f5154){return function(_0x45859d){if(_0x45859d){return _0x45859d[_0x06c5('0x26')](_0x2f67ff)['then'](function(_0x181d73){return _0x181d73;});}return null;};}function removeEntity(_0x4edafc,_0xd6efea){return function(_0x3c9757){if(_0x3c9757){return _0x3c9757[_0x06c5('0x27')]()[_0x06c5('0x28')](function(){var _0x20a95f=_0x3c9757[_0x06c5('0x29')]({'plain':!![]});var _0x284b0c=_0x06c5('0x2a');return db[_0x06c5('0x2b')]['destroy']({'where':{'type':_0x284b0c,'resourceId':_0x20a95f['id']}})['then'](function(){return _0x3c9757;});})['then'](function(){_0x4edafc['status'](0xcc)[_0x06c5('0x2c')]();});}};}function handleEntityNotFound(_0x16f530,_0x134c78){return function(_0xafcb01){if(!_0xafcb01){_0x16f530[_0x06c5('0x1a')](0x194);}return _0xafcb01;};}function handleError(_0x44a5d1,_0x3dd6a4){_0x3dd6a4=_0x3dd6a4||0x1f4;return function(_0x41ca05){logger[_0x06c5('0x2d')](_0x41ca05[_0x06c5('0x2e')]);if(_0x41ca05[_0x06c5('0x2f')]){delete _0x41ca05[_0x06c5('0x2f')];}_0x44a5d1[_0x06c5('0x1b')](_0x3dd6a4)[_0x06c5('0x30')](_0x41ca05);};}exports[_0x06c5('0x31')]=function(_0x4c4083,_0x8dcd03){var _0x576fab={},_0x19446c={},_0x28f3ce={'count':0x0,'rows':[]};var _0x5855ff=_[_0x06c5('0x32')](db[_0x06c5('0x33')][_0x06c5('0x34')],function(_0x5a00ec){return{'name':_0x5a00ec[_0x06c5('0x35')],'type':_0x5a00ec['type']['key']};});_0x19446c['model']=_[_0x06c5('0x32')](_0x5855ff,_0x06c5('0x2f'));_0x19446c['query']=_[_0x06c5('0x36')](_0x4c4083[_0x06c5('0x37')]);_0x19446c[_0x06c5('0x38')]=_[_0x06c5('0x39')](_0x19446c[_0x06c5('0x3a')],_0x19446c[_0x06c5('0x37')]);_0x576fab['attributes']=_[_0x06c5('0x39')](_0x19446c[_0x06c5('0x3a')],qs[_0x06c5('0x3b')](_0x4c4083[_0x06c5('0x37')][_0x06c5('0x3b')]));_0x576fab[_0x06c5('0x3c')]=_0x576fab[_0x06c5('0x3c')][_0x06c5('0x3d')]?_0x576fab[_0x06c5('0x3c')]:_0x19446c['model'];if(!_0x4c4083['query'][_0x06c5('0x3e')](_0x06c5('0x3f'))){_0x576fab[_0x06c5('0x1e')]=qs[_0x06c5('0x1e')](_0x4c4083[_0x06c5('0x37')][_0x06c5('0x1e')]);_0x576fab[_0x06c5('0x1d')]=qs[_0x06c5('0x1d')](_0x4c4083[_0x06c5('0x37')][_0x06c5('0x1d')]);}_0x576fab[_0x06c5('0x40')]=qs['sort'](_0x4c4083[_0x06c5('0x37')][_0x06c5('0x41')]);_0x576fab[_0x06c5('0x42')]=qs['filters'](_[_0x06c5('0x43')](_0x4c4083['query'],_0x19446c[_0x06c5('0x38')]),_0x5855ff);if(_0x4c4083[_0x06c5('0x37')][_0x06c5('0x44')]){_0x576fab[_0x06c5('0x42')]=_[_0x06c5('0x45')](_0x576fab[_0x06c5('0x42')],{'$or':_[_0x06c5('0x32')](_0x5855ff,function(_0x30a2c7){if(_0x30a2c7[_0x06c5('0x46')]!==_0x06c5('0x47')){var _0xedbad4={};_0xedbad4[_0x30a2c7[_0x06c5('0x2f')]]={'$like':'%'+_0x4c4083[_0x06c5('0x37')][_0x06c5('0x44')]+'%'};return _0xedbad4;}})});}_0x576fab=_[_0x06c5('0x45')]({},_0x576fab,_0x4c4083[_0x06c5('0x48')]);var _0x4935cb={'where':_0x576fab[_0x06c5('0x42')]};return db[_0x06c5('0x33')][_0x06c5('0x20')](_0x4935cb)[_0x06c5('0x28')](function(_0x513bc3){_0x28f3ce[_0x06c5('0x20')]=_0x513bc3;if(_0x4c4083[_0x06c5('0x37')]['includeAll']){_0x576fab['include']=[{'all':!![]}];}return db[_0x06c5('0x33')][_0x06c5('0x49')](_0x576fab);})['then'](function(_0x16ce64){_0x28f3ce[_0x06c5('0x4a')]=_0x16ce64;return _0x28f3ce;})[_0x06c5('0x28')](respondWithFilteredResult(_0x8dcd03,_0x576fab))[_0x06c5('0x4b')](handleError(_0x8dcd03,null));};exports[_0x06c5('0x4c')]=function(_0x5c9857,_0x5e7e84){var _0x314927={'raw':!![],'where':{'id':_0x5c9857[_0x06c5('0x4d')]['id']}},_0x52be13={};_0x52be13[_0x06c5('0x3a')]=_[_0x06c5('0x36')](db[_0x06c5('0x33')][_0x06c5('0x34')]);_0x52be13[_0x06c5('0x37')]=_['keys'](_0x5c9857['query']);_0x52be13[_0x06c5('0x38')]=_[_0x06c5('0x39')](_0x52be13[_0x06c5('0x3a')],_0x52be13[_0x06c5('0x37')]);_0x314927[_0x06c5('0x3c')]=_[_0x06c5('0x39')](_0x52be13[_0x06c5('0x3a')],qs[_0x06c5('0x3b')](_0x5c9857['query'][_0x06c5('0x3b')]));_0x314927[_0x06c5('0x3c')]=_0x314927[_0x06c5('0x3c')][_0x06c5('0x3d')]?_0x314927[_0x06c5('0x3c')]:_0x52be13[_0x06c5('0x3a')];if(_0x5c9857['query']['includeAll']){_0x314927[_0x06c5('0x4e')]=[{'all':!![]}];}_0x314927=_[_0x06c5('0x45')]({},_0x314927,_0x5c9857['options']);return db['CmContactHasItem'][_0x06c5('0x4f')](_0x314927)[_0x06c5('0x28')](handleEntityNotFound(_0x5e7e84,null))[_0x06c5('0x28')](respondWithResult(_0x5e7e84,null))[_0x06c5('0x4b')](handleError(_0x5e7e84,null));};exports[_0x06c5('0x50')]=function(_0x4c862d,_0x1c3b52){return db[_0x06c5('0x33')][_0x06c5('0x50')](_0x4c862d['body'],{})[_0x06c5('0x28')](function(_0x3e8e7f){var _0xa8c404=_0x4c862d[_0x06c5('0x51')][_0x06c5('0x29')]({'plain':!![]});if(!_0xa8c404)throw new Error(_0x06c5('0x52'));if(_0xa8c404[_0x06c5('0x53')]==='user'){var _0x1ef2d7=_0x3e8e7f[_0x06c5('0x29')]({'plain':!![]});var _0x2c2948='CmContactHasItems';return db[_0x06c5('0x54')]['find']({'where':{'name':_0x2c2948,'userProfileId':_0xa8c404['userProfileId']},'raw':!![]})[_0x06c5('0x28')](function(_0x2b13e4){if(_0x2b13e4&&_0x2b13e4[_0x06c5('0x55')]===0x0){return db['UserProfileResource']['create']({'name':_0x1ef2d7['name'],'resourceId':_0x1ef2d7['id'],'type':_0x2b13e4[_0x06c5('0x2f')],'sectionId':_0x2b13e4['id']},{})[_0x06c5('0x28')](function(){return _0x3e8e7f;});}else{return _0x3e8e7f;}})[_0x06c5('0x4b')](function(_0x3b37eb){logger[_0x06c5('0x2d')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3b37eb);throw _0x3b37eb;});}return _0x3e8e7f;})[_0x06c5('0x28')](respondWithResult(_0x1c3b52,0xc9))['catch'](handleError(_0x1c3b52,null));};exports[_0x06c5('0x26')]=function(_0x1c6fd1,_0x2493ea){if(_0x1c6fd1[_0x06c5('0x56')]['id']){delete _0x1c6fd1[_0x06c5('0x56')]['id'];}return db['CmContactHasItem'][_0x06c5('0x4f')]({'where':{'id':_0x1c6fd1[_0x06c5('0x4d')]['id']}})[_0x06c5('0x28')](handleEntityNotFound(_0x2493ea,null))[_0x06c5('0x28')](saveUpdates(_0x1c6fd1[_0x06c5('0x56')],null))[_0x06c5('0x28')](respondWithResult(_0x2493ea,null))[_0x06c5('0x4b')](handleError(_0x2493ea,null));};exports['destroy']=function(_0x42dfc1,_0x2831fe){return db[_0x06c5('0x33')][_0x06c5('0x4f')]({'where':{'id':_0x42dfc1[_0x06c5('0x4d')]['id']}})[_0x06c5('0x28')](handleEntityNotFound(_0x2831fe,null))[_0x06c5('0x28')](removeEntity(_0x2831fe,null))[_0x06c5('0x4b')](handleError(_0x2831fe,null));};