04b4186ca199199f72992d29a62263ed1d12666d
[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 _0x1aa6=['sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','set','Content-Range','reject','update','then','destroy','get','CmContactHasItems','UserProfileResource','sendStatus','error','stack','name','send','index','CmContactHasItem','rawAttributes','type','key','query','filters','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','map','VIRTUAL','filter','merge','includeAll','include','rows','catch','params','intersection','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x30f07a,_0x98341){var _0xb38461=function(_0x7b287a){while(--_0x7b287a){_0x30f07a['push'](_0x30f07a['shift']());}};_0xb38461(++_0x98341);}(_0x1aa6,0xa1));var _0x61aa=function(_0x2ac71a,_0x1d2a02){_0x2ac71a=_0x2ac71a-0x0;var _0x3ee904=_0x1aa6[_0x2ac71a];return _0x3ee904;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x61aa('0x0'));var rp=require(_0x61aa('0x1'));var moment=require(_0x61aa('0x2'));var BPromise=require(_0x61aa('0x3'));var Mustache=require(_0x61aa('0x4'));var util=require(_0x61aa('0x5'));var path=require(_0x61aa('0x6'));var sox=require(_0x61aa('0x7'));var csv=require(_0x61aa('0x8'));var ejs=require(_0x61aa('0x9'));var fs=require('fs');var fs_extra=require(_0x61aa('0xa'));var _=require(_0x61aa('0xb'));var squel=require(_0x61aa('0xc'));var crypto=require(_0x61aa('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x61aa('0x8'));var querystring=require(_0x61aa('0xe'));var Papa=require(_0x61aa('0xf'));var Redis=require('ioredis');var authService=require(_0x61aa('0x10'));var qs=require(_0x61aa('0x11'));var as=require(_0x61aa('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x61aa('0x13'))(_0x61aa('0x14'));var utils=require(_0x61aa('0x15'));var config=require(_0x61aa('0x16'));var licenseUtil=require(_0x61aa('0x17'));var db=require(_0x61aa('0x18'))['db'];function respondWithStatusCode(_0xcd386f,_0x77114f){_0x77114f=_0x77114f||0xcc;return function(_0x44a375){if(_0x44a375){return _0xcd386f['sendStatus'](_0x77114f);}return _0xcd386f[_0x61aa('0x19')](_0x77114f)[_0x61aa('0x1a')]();};}function respondWithResult(_0x2313d4,_0xae4713){_0xae4713=_0xae4713||0xc8;return function(_0x3307aa){if(_0x3307aa){return _0x2313d4[_0x61aa('0x19')](_0xae4713)[_0x61aa('0x1b')](_0x3307aa);}};}function respondWithFilteredResult(_0xff4c4b,_0x152741){return function(_0x63cde4){if(_0x63cde4){var _0x202c99=typeof _0x152741[_0x61aa('0x1c')]==='undefined'&&typeof _0x152741['limit']===_0x61aa('0x1d');var _0x13a688=_0x63cde4['count'];var _0x591ba2=_0x202c99?0x0:_0x152741[_0x61aa('0x1c')];var _0x51f39a=_0x202c99?_0x63cde4[_0x61aa('0x1e')]:_0x152741[_0x61aa('0x1c')]+_0x152741['limit'];var _0x36dc91;if(_0x51f39a>=_0x13a688){_0x51f39a=_0x13a688;_0x36dc91=0xc8;}else{_0x36dc91=0xce;}_0xff4c4b[_0x61aa('0x19')](_0x36dc91);return _0xff4c4b[_0x61aa('0x1f')](_0x61aa('0x20'),_0x591ba2+'-'+_0x51f39a+'/'+_0x13a688)[_0x61aa('0x1b')](_0x63cde4);}return null;};}function patchUpdates(_0x39bc99){return function(_0xb740f8){try{jsonpatch['apply'](_0xb740f8,_0x39bc99,!![]);}catch(_0x1620a1){return BPromise[_0x61aa('0x21')](_0x1620a1);}return _0xb740f8['save']();};}function saveUpdates(_0x41ca55,_0x78e94b){return function(_0x1fd77a){if(_0x1fd77a){return _0x1fd77a[_0x61aa('0x22')](_0x41ca55)[_0x61aa('0x23')](function(_0x2cce7c){return _0x2cce7c;});}return null;};}function removeEntity(_0x59ec66,_0x3b052c){return function(_0x24363f){if(_0x24363f){return _0x24363f[_0x61aa('0x24')]()[_0x61aa('0x23')](function(){var _0x5f34cc=_0x24363f[_0x61aa('0x25')]({'plain':!![]});var _0x4e0974=_0x61aa('0x26');return db[_0x61aa('0x27')]['destroy']({'where':{'type':_0x4e0974,'resourceId':_0x5f34cc['id']}})[_0x61aa('0x23')](function(){return _0x24363f;});})[_0x61aa('0x23')](function(){_0x59ec66['status'](0xcc)[_0x61aa('0x1a')]();});}};}function handleEntityNotFound(_0x149de4,_0x3d0e64){return function(_0x449883){if(!_0x449883){_0x149de4[_0x61aa('0x28')](0x194);}return _0x449883;};}function handleError(_0x14ba4b,_0x3578c4){_0x3578c4=_0x3578c4||0x1f4;return function(_0x169278){logger[_0x61aa('0x29')](_0x169278[_0x61aa('0x2a')]);if(_0x169278[_0x61aa('0x2b')]){delete _0x169278[_0x61aa('0x2b')];}_0x14ba4b[_0x61aa('0x19')](_0x3578c4)[_0x61aa('0x2c')](_0x169278);};}exports[_0x61aa('0x2d')]=function(_0x4494c8,_0x5bea49){var _0x42b74b={},_0x1a5a91={},_0x50afa4={'count':0x0,'rows':[]};var _0xac3e74=_['map'](db[_0x61aa('0x2e')][_0x61aa('0x2f')],function(_0x237379){return{'name':_0x237379['fieldName'],'type':_0x237379[_0x61aa('0x30')][_0x61aa('0x31')]};});_0x1a5a91['model']=_['map'](_0xac3e74,_0x61aa('0x2b'));_0x1a5a91[_0x61aa('0x32')]=_['keys'](_0x4494c8['query']);_0x1a5a91[_0x61aa('0x33')]=_['intersection'](_0x1a5a91[_0x61aa('0x34')],_0x1a5a91[_0x61aa('0x32')]);_0x42b74b[_0x61aa('0x35')]=_['intersection'](_0x1a5a91['model'],qs[_0x61aa('0x36')](_0x4494c8[_0x61aa('0x32')]['fields']));_0x42b74b[_0x61aa('0x35')]=_0x42b74b[_0x61aa('0x35')][_0x61aa('0x37')]?_0x42b74b[_0x61aa('0x35')]:_0x1a5a91['model'];if(!_0x4494c8[_0x61aa('0x32')][_0x61aa('0x38')](_0x61aa('0x39'))){_0x42b74b[_0x61aa('0x3a')]=qs['limit'](_0x4494c8[_0x61aa('0x32')][_0x61aa('0x3a')]);_0x42b74b['offset']=qs[_0x61aa('0x1c')](_0x4494c8[_0x61aa('0x32')]['offset']);}_0x42b74b[_0x61aa('0x3b')]=qs['sort'](_0x4494c8[_0x61aa('0x32')][_0x61aa('0x3c')]);_0x42b74b[_0x61aa('0x3d')]=qs[_0x61aa('0x33')](_[_0x61aa('0x3e')](_0x4494c8['query'],_0x1a5a91[_0x61aa('0x33')]),_0xac3e74);if(_0x4494c8['query']['filter']){_0x42b74b[_0x61aa('0x3d')]=_['merge'](_0x42b74b[_0x61aa('0x3d')],{'$or':_[_0x61aa('0x3f')](_0xac3e74,function(_0xc0b185){if(_0xc0b185[_0x61aa('0x30')]!==_0x61aa('0x40')){var _0x450e5c={};_0x450e5c[_0xc0b185[_0x61aa('0x2b')]]={'$like':'%'+_0x4494c8[_0x61aa('0x32')][_0x61aa('0x41')]+'%'};return _0x450e5c;}})});}_0x42b74b=_[_0x61aa('0x42')]({},_0x42b74b,_0x4494c8['options']);var _0x334912={'where':_0x42b74b['where']};return db[_0x61aa('0x2e')][_0x61aa('0x1e')](_0x334912)[_0x61aa('0x23')](function(_0x4f79dc){_0x50afa4['count']=_0x4f79dc;if(_0x4494c8['query'][_0x61aa('0x43')]){_0x42b74b[_0x61aa('0x44')]=[{'all':!![]}];}return db['CmContactHasItem']['findAll'](_0x42b74b);})[_0x61aa('0x23')](function(_0x56c5ee){_0x50afa4[_0x61aa('0x45')]=_0x56c5ee;return _0x50afa4;})[_0x61aa('0x23')](respondWithFilteredResult(_0x5bea49,_0x42b74b))[_0x61aa('0x46')](handleError(_0x5bea49,null));};exports['show']=function(_0x1ba3af,_0x3779ea){var _0x3bf7a4={'raw':!![],'where':{'id':_0x1ba3af[_0x61aa('0x47')]['id']}},_0x25b5a2={};_0x25b5a2[_0x61aa('0x34')]=_['keys'](db[_0x61aa('0x2e')][_0x61aa('0x2f')]);_0x25b5a2[_0x61aa('0x32')]=_['keys'](_0x1ba3af['query']);_0x25b5a2[_0x61aa('0x33')]=_['intersection'](_0x25b5a2[_0x61aa('0x34')],_0x25b5a2[_0x61aa('0x32')]);_0x3bf7a4[_0x61aa('0x35')]=_[_0x61aa('0x48')](_0x25b5a2[_0x61aa('0x34')],qs[_0x61aa('0x36')](_0x1ba3af[_0x61aa('0x32')][_0x61aa('0x36')]));_0x3bf7a4[_0x61aa('0x35')]=_0x3bf7a4['attributes']['length']?_0x3bf7a4[_0x61aa('0x35')]:_0x25b5a2[_0x61aa('0x34')];if(_0x1ba3af[_0x61aa('0x32')][_0x61aa('0x43')]){_0x3bf7a4['include']=[{'all':!![]}];}_0x3bf7a4=_[_0x61aa('0x42')]({},_0x3bf7a4,_0x1ba3af[_0x61aa('0x49')]);return db[_0x61aa('0x2e')][_0x61aa('0x4a')](_0x3bf7a4)[_0x61aa('0x23')](handleEntityNotFound(_0x3779ea,null))['then'](respondWithResult(_0x3779ea,null))['catch'](handleError(_0x3779ea,null));};exports[_0x61aa('0x4b')]=function(_0x211fdf,_0x212586){return db[_0x61aa('0x2e')]['create'](_0x211fdf[_0x61aa('0x4c')],{})['then'](function(_0x1b9d36){var _0xf2d6e5=_0x211fdf[_0x61aa('0x4d')][_0x61aa('0x25')]({'plain':!![]});if(!_0xf2d6e5)throw new Error(_0x61aa('0x4e'));if(_0xf2d6e5[_0x61aa('0x4f')]===_0x61aa('0x4d')){var _0xf4e3da=_0x1b9d36['get']({'plain':!![]});var _0xe7ec55=_0x61aa('0x26');return db[_0x61aa('0x50')]['find']({'where':{'name':_0xe7ec55,'userProfileId':_0xf2d6e5[_0x61aa('0x51')]},'raw':!![]})[_0x61aa('0x23')](function(_0x5e57bd){if(_0x5e57bd&&_0x5e57bd[_0x61aa('0x52')]===0x0){return db[_0x61aa('0x27')][_0x61aa('0x4b')]({'name':_0xf4e3da[_0x61aa('0x2b')],'resourceId':_0xf4e3da['id'],'type':_0x5e57bd[_0x61aa('0x2b')],'sectionId':_0x5e57bd['id']},{})['then'](function(){return _0x1b9d36;});}else{return _0x1b9d36;}})[_0x61aa('0x46')](function(_0xafcfd7){logger[_0x61aa('0x29')](_0x61aa('0x53'),_0xafcfd7);throw _0xafcfd7;});}return _0x1b9d36;})['then'](respondWithResult(_0x212586,0xc9))[_0x61aa('0x46')](handleError(_0x212586,null));};exports['update']=function(_0x1b5926,_0x3c3182){if(_0x1b5926['body']['id']){delete _0x1b5926[_0x61aa('0x4c')]['id'];}return db[_0x61aa('0x2e')][_0x61aa('0x4a')]({'where':{'id':_0x1b5926[_0x61aa('0x47')]['id']}})['then'](handleEntityNotFound(_0x3c3182,null))[_0x61aa('0x23')](saveUpdates(_0x1b5926['body'],null))[_0x61aa('0x23')](respondWithResult(_0x3c3182,null))['catch'](handleError(_0x3c3182,null));};exports['destroy']=function(_0x31d440,_0x82d206){return db['CmContactHasItem']['find']({'where':{'id':_0x31d440[_0x61aa('0x47')]['id']}})[_0x61aa('0x23')](handleEntityNotFound(_0x82d206,null))[_0x61aa('0x23')](removeEntity(_0x82d206,null))[_0x61aa('0x46')](handleError(_0x82d206,null));};