faf03a33abd3c5ee5133fdcdaf7f75a2671add2e
[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 _0x90d0=['nolimit','limit','order','sort','where','filters','pick','filter','VIRTUAL','options','includeAll','include','findAll','rows','show','params','rawAttributes','merge','create','body','user','get','role','UserProfileSection','find','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','offset','undefined','count','set','Content-Range','json','apply','reject','save','update','CmContactHasItems','UserProfileResource','then','end','error','stack','name','send','map','CmContactHasItem','fieldName','type','model','keys','intersection','query','attributes','fields','length','hasOwnProperty'];(function(_0x21353c,_0x2ea587){var _0xa99120=function(_0x557f33){while(--_0x557f33){_0x21353c['push'](_0x21353c['shift']());}};_0xa99120(++_0x2ea587);}(_0x90d0,0x16d));var _0x090d=function(_0x388679,_0x502313){_0x388679=_0x388679-0x0;var _0x3392fa=_0x90d0[_0x388679];return _0x3392fa;};'use strict';var emlformat=require(_0x090d('0x0'));var rimraf=require(_0x090d('0x1'));var zipdir=require(_0x090d('0x2'));var jsonpatch=require(_0x090d('0x3'));var rp=require(_0x090d('0x4'));var moment=require(_0x090d('0x5'));var BPromise=require(_0x090d('0x6'));var Mustache=require(_0x090d('0x7'));var util=require(_0x090d('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x090d('0x9'));var ejs=require(_0x090d('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x090d('0xb'));var crypto=require(_0x090d('0xc'));var jsforce=require(_0x090d('0xd'));var deskjs=require(_0x090d('0xe'));var toCsv=require(_0x090d('0x9'));var querystring=require(_0x090d('0xf'));var Papa=require(_0x090d('0x10'));var Redis=require('ioredis');var authService=require(_0x090d('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x090d('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x090d('0x13'))(_0x090d('0x14'));var utils=require('../../config/utils');var config=require(_0x090d('0x15'));var licenseUtil=require(_0x090d('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x433499,_0x36e32e){_0x36e32e=_0x36e32e||0xcc;return function(_0x3cdf4a){if(_0x3cdf4a){return _0x433499[_0x090d('0x17')](_0x36e32e);}return _0x433499[_0x090d('0x18')](_0x36e32e)['end']();};}function respondWithResult(_0x453312,_0x467a5a){_0x467a5a=_0x467a5a||0xc8;return function(_0x5d9bcc){if(_0x5d9bcc){return _0x453312[_0x090d('0x18')](_0x467a5a)['json'](_0x5d9bcc);}};}function respondWithFilteredResult(_0x5f3324,_0x42318f){return function(_0x48bd33){if(_0x48bd33){var _0x60700e=typeof _0x42318f[_0x090d('0x19')]===_0x090d('0x1a')&&typeof _0x42318f['limit']===_0x090d('0x1a');var _0x1bf233=_0x48bd33[_0x090d('0x1b')];var _0x436fc9=_0x60700e?0x0:_0x42318f[_0x090d('0x19')];var _0x201291=_0x60700e?_0x48bd33['count']:_0x42318f[_0x090d('0x19')]+_0x42318f['limit'];var _0x11b9ee;if(_0x201291>=_0x1bf233){_0x201291=_0x1bf233;_0x11b9ee=0xc8;}else{_0x11b9ee=0xce;}_0x5f3324[_0x090d('0x18')](_0x11b9ee);return _0x5f3324[_0x090d('0x1c')](_0x090d('0x1d'),_0x436fc9+'-'+_0x201291+'/'+_0x1bf233)[_0x090d('0x1e')](_0x48bd33);}return null;};}function patchUpdates(_0x12094c){return function(_0x50a976){try{jsonpatch[_0x090d('0x1f')](_0x50a976,_0x12094c,!![]);}catch(_0x592e1e){return BPromise[_0x090d('0x20')](_0x592e1e);}return _0x50a976[_0x090d('0x21')]();};}function saveUpdates(_0x28ce22,_0x3b872f){return function(_0x4fae88){if(_0x4fae88){return _0x4fae88[_0x090d('0x22')](_0x28ce22)['then'](function(_0xdf0b9c){return _0xdf0b9c;});}return null;};}function removeEntity(_0x3f0590,_0x7ede2b){return function(_0x3c8320){if(_0x3c8320){return _0x3c8320['destroy']()['then'](function(){var _0x9e500e=_0x3c8320['get']({'plain':!![]});var _0x58d9d6=_0x090d('0x23');return db[_0x090d('0x24')]['destroy']({'where':{'type':_0x58d9d6,'resourceId':_0x9e500e['id']}})['then'](function(){return _0x3c8320;});})[_0x090d('0x25')](function(){_0x3f0590[_0x090d('0x18')](0xcc)[_0x090d('0x26')]();});}};}function handleEntityNotFound(_0x2105b9,_0x4c0626){return function(_0x59630c){if(!_0x59630c){_0x2105b9[_0x090d('0x17')](0x194);}return _0x59630c;};}function handleError(_0x2518ff,_0x3f4a3d){_0x3f4a3d=_0x3f4a3d||0x1f4;return function(_0x5dbfc0){logger[_0x090d('0x27')](_0x5dbfc0[_0x090d('0x28')]);if(_0x5dbfc0[_0x090d('0x29')]){delete _0x5dbfc0[_0x090d('0x29')];}_0x2518ff[_0x090d('0x18')](_0x3f4a3d)[_0x090d('0x2a')](_0x5dbfc0);};}exports['index']=function(_0x2ab248,_0x1021d1){var _0x635b06={},_0x2dd06c={},_0x4abaef={'count':0x0,'rows':[]};var _0x5464ef=_[_0x090d('0x2b')](db[_0x090d('0x2c')]['rawAttributes'],function(_0x3a4cbf){return{'name':_0x3a4cbf[_0x090d('0x2d')],'type':_0x3a4cbf[_0x090d('0x2e')]['key']};});_0x2dd06c[_0x090d('0x2f')]=_[_0x090d('0x2b')](_0x5464ef,'name');_0x2dd06c['query']=_[_0x090d('0x30')](_0x2ab248['query']);_0x2dd06c['filters']=_[_0x090d('0x31')](_0x2dd06c[_0x090d('0x2f')],_0x2dd06c[_0x090d('0x32')]);_0x635b06[_0x090d('0x33')]=_[_0x090d('0x31')](_0x2dd06c[_0x090d('0x2f')],qs[_0x090d('0x34')](_0x2ab248[_0x090d('0x32')][_0x090d('0x34')]));_0x635b06['attributes']=_0x635b06[_0x090d('0x33')][_0x090d('0x35')]?_0x635b06[_0x090d('0x33')]:_0x2dd06c[_0x090d('0x2f')];if(!_0x2ab248[_0x090d('0x32')][_0x090d('0x36')](_0x090d('0x37'))){_0x635b06[_0x090d('0x38')]=qs['limit'](_0x2ab248['query'][_0x090d('0x38')]);_0x635b06[_0x090d('0x19')]=qs['offset'](_0x2ab248[_0x090d('0x32')][_0x090d('0x19')]);}_0x635b06[_0x090d('0x39')]=qs[_0x090d('0x3a')](_0x2ab248[_0x090d('0x32')][_0x090d('0x3a')]);_0x635b06[_0x090d('0x3b')]=qs[_0x090d('0x3c')](_[_0x090d('0x3d')](_0x2ab248[_0x090d('0x32')],_0x2dd06c[_0x090d('0x3c')]),_0x5464ef);if(_0x2ab248['query'][_0x090d('0x3e')]){_0x635b06['where']=_['merge'](_0x635b06[_0x090d('0x3b')],{'$or':_['map'](_0x5464ef,function(_0xfaf975){if(_0xfaf975[_0x090d('0x2e')]!==_0x090d('0x3f')){var _0x357373={};_0x357373[_0xfaf975[_0x090d('0x29')]]={'$like':'%'+_0x2ab248[_0x090d('0x32')]['filter']+'%'};return _0x357373;}})});}_0x635b06=_['merge']({},_0x635b06,_0x2ab248[_0x090d('0x40')]);var _0x206875={'where':_0x635b06[_0x090d('0x3b')]};return db[_0x090d('0x2c')][_0x090d('0x1b')](_0x206875)['then'](function(_0x1cbebc){_0x4abaef['count']=_0x1cbebc;if(_0x2ab248['query'][_0x090d('0x41')]){_0x635b06[_0x090d('0x42')]=[{'all':!![]}];}return db[_0x090d('0x2c')][_0x090d('0x43')](_0x635b06);})[_0x090d('0x25')](function(_0x44f325){_0x4abaef[_0x090d('0x44')]=_0x44f325;return _0x4abaef;})['then'](respondWithFilteredResult(_0x1021d1,_0x635b06))['catch'](handleError(_0x1021d1,null));};exports[_0x090d('0x45')]=function(_0x4a5e25,_0x535ed6){var _0x4be306={'raw':!![],'where':{'id':_0x4a5e25[_0x090d('0x46')]['id']}},_0x4c291a={};_0x4c291a[_0x090d('0x2f')]=_[_0x090d('0x30')](db[_0x090d('0x2c')][_0x090d('0x47')]);_0x4c291a[_0x090d('0x32')]=_[_0x090d('0x30')](_0x4a5e25[_0x090d('0x32')]);_0x4c291a[_0x090d('0x3c')]=_[_0x090d('0x31')](_0x4c291a[_0x090d('0x2f')],_0x4c291a['query']);_0x4be306[_0x090d('0x33')]=_['intersection'](_0x4c291a[_0x090d('0x2f')],qs['fields'](_0x4a5e25['query'][_0x090d('0x34')]));_0x4be306[_0x090d('0x33')]=_0x4be306[_0x090d('0x33')][_0x090d('0x35')]?_0x4be306[_0x090d('0x33')]:_0x4c291a['model'];if(_0x4a5e25[_0x090d('0x32')][_0x090d('0x41')]){_0x4be306['include']=[{'all':!![]}];}_0x4be306=_[_0x090d('0x48')]({},_0x4be306,_0x4a5e25[_0x090d('0x40')]);return db[_0x090d('0x2c')]['find'](_0x4be306)[_0x090d('0x25')](handleEntityNotFound(_0x535ed6,null))[_0x090d('0x25')](respondWithResult(_0x535ed6,null))['catch'](handleError(_0x535ed6,null));};exports[_0x090d('0x49')]=function(_0x489221,_0x9c2ee0){return db[_0x090d('0x2c')][_0x090d('0x49')](_0x489221[_0x090d('0x4a')],{})[_0x090d('0x25')](function(_0x2621c1){var _0x3e90b2=_0x489221[_0x090d('0x4b')][_0x090d('0x4c')]({'plain':!![]});if(!_0x3e90b2)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3e90b2[_0x090d('0x4d')]===_0x090d('0x4b')){var _0x12cb7e=_0x2621c1['get']({'plain':!![]});var _0x13a05d=_0x090d('0x23');return db[_0x090d('0x4e')][_0x090d('0x4f')]({'where':{'name':_0x13a05d,'userProfileId':_0x3e90b2[_0x090d('0x50')]},'raw':!![]})[_0x090d('0x25')](function(_0x4dc75b){if(_0x4dc75b&&_0x4dc75b[_0x090d('0x51')]===0x0){return db[_0x090d('0x24')][_0x090d('0x49')]({'name':_0x12cb7e[_0x090d('0x29')],'resourceId':_0x12cb7e['id'],'type':_0x4dc75b['name'],'sectionId':_0x4dc75b['id']},{})[_0x090d('0x25')](function(){return _0x2621c1;});}else{return _0x2621c1;}})[_0x090d('0x52')](function(_0x341706){logger['error'](_0x090d('0x53'),_0x341706);throw _0x341706;});}return _0x2621c1;})[_0x090d('0x25')](respondWithResult(_0x9c2ee0,0xc9))[_0x090d('0x52')](handleError(_0x9c2ee0,null));};exports[_0x090d('0x22')]=function(_0x338826,_0x2d0fdc){if(_0x338826[_0x090d('0x4a')]['id']){delete _0x338826[_0x090d('0x4a')]['id'];}return db[_0x090d('0x2c')][_0x090d('0x4f')]({'where':{'id':_0x338826['params']['id']}})['then'](handleEntityNotFound(_0x2d0fdc,null))[_0x090d('0x25')](saveUpdates(_0x338826[_0x090d('0x4a')],null))[_0x090d('0x25')](respondWithResult(_0x2d0fdc,null))[_0x090d('0x52')](handleError(_0x2d0fdc,null));};exports['destroy']=function(_0x29a43a,_0x30af61){return db[_0x090d('0x2c')][_0x090d('0x4f')]({'where':{'id':_0x29a43a['params']['id']}})[_0x090d('0x25')](handleEntityNotFound(_0x30af61,null))['then'](removeEntity(_0x30af61,null))[_0x090d('0x52')](handleError(_0x30af61,null));};