8ea52c196c532d50137d8cd50df4dcd4b4fa5e04
[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 _0x644d=['count','offset','Content-Range','apply','reject','update','then','destroy','CmContactHasItems','UserProfileResource','error','stack','name','send','fieldName','model','map','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','where','merge','type','VIRTUAL','filter','CmContactHasItem','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','options','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','rimraf','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit'];(function(_0x27290e,_0x408bc0){var _0x144c10=function(_0x511a85){while(--_0x511a85){_0x27290e['push'](_0x27290e['shift']());}};_0x144c10(++_0x408bc0);}(_0x644d,0x1e4));var _0xd644=function(_0x5ec365,_0x49930c){_0x5ec365=_0x5ec365-0x0;var _0xab187d=_0x644d[_0x5ec365];return _0xab187d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd644('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd644('0x1'));var rp=require(_0xd644('0x2'));var moment=require(_0xd644('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd644('0x4'));var util=require(_0xd644('0x5'));var path=require('path');var sox=require(_0xd644('0x6'));var csv=require(_0xd644('0x7'));var ejs=require(_0xd644('0x8'));var fs=require('fs');var fs_extra=require(_0xd644('0x9'));var _=require('lodash');var squel=require(_0xd644('0xa'));var crypto=require(_0xd644('0xb'));var jsforce=require(_0xd644('0xc'));var deskjs=require(_0xd644('0xd'));var toCsv=require('to-csv');var querystring=require(_0xd644('0xe'));var Papa=require(_0xd644('0xf'));var Redis=require(_0xd644('0x10'));var authService=require(_0xd644('0x11'));var qs=require(_0xd644('0x12'));var as=require(_0xd644('0x13'));var hardwareService=require(_0xd644('0x14'));var logger=require(_0xd644('0x15'))(_0xd644('0x16'));var utils=require('../../config/utils');var config=require(_0xd644('0x17'));var licenseUtil=require(_0xd644('0x18'));var db=require(_0xd644('0x19'))['db'];function respondWithStatusCode(_0x331e5a,_0x288c5e){_0x288c5e=_0x288c5e||0xcc;return function(_0x565a8b){if(_0x565a8b){return _0x331e5a[_0xd644('0x1a')](_0x288c5e);}return _0x331e5a[_0xd644('0x1b')](_0x288c5e)[_0xd644('0x1c')]();};}function respondWithResult(_0x13b78c,_0x42f84f){_0x42f84f=_0x42f84f||0xc8;return function(_0x3f5916){if(_0x3f5916){return _0x13b78c['status'](_0x42f84f)[_0xd644('0x1d')](_0x3f5916);}};}function respondWithFilteredResult(_0x3ebb63,_0x2fad47){return function(_0x194dac){if(_0x194dac){var _0x3ba3b1=typeof _0x2fad47['offset']===_0xd644('0x1e')&&typeof _0x2fad47[_0xd644('0x1f')]===_0xd644('0x1e');var _0x3952b2=_0x194dac[_0xd644('0x20')];var _0x5dcab4=_0x3ba3b1?0x0:_0x2fad47['offset'];var _0x389ba9=_0x3ba3b1?_0x194dac['count']:_0x2fad47[_0xd644('0x21')]+_0x2fad47[_0xd644('0x1f')];var _0x474593;if(_0x389ba9>=_0x3952b2){_0x389ba9=_0x3952b2;_0x474593=0xc8;}else{_0x474593=0xce;}_0x3ebb63[_0xd644('0x1b')](_0x474593);return _0x3ebb63['set'](_0xd644('0x22'),_0x5dcab4+'-'+_0x389ba9+'/'+_0x3952b2)[_0xd644('0x1d')](_0x194dac);}return null;};}function patchUpdates(_0x2db6ff){return function(_0x2b91cc){try{jsonpatch[_0xd644('0x23')](_0x2b91cc,_0x2db6ff,!![]);}catch(_0x133add){return BPromise[_0xd644('0x24')](_0x133add);}return _0x2b91cc['save']();};}function saveUpdates(_0x4c1ee0,_0x21430e){return function(_0x527db5){if(_0x527db5){return _0x527db5[_0xd644('0x25')](_0x4c1ee0)[_0xd644('0x26')](function(_0x264b9b){return _0x264b9b;});}return null;};}function removeEntity(_0x1d530f,_0xbc42b9){return function(_0x468241){if(_0x468241){return _0x468241[_0xd644('0x27')]()[_0xd644('0x26')](function(){var _0x2b3a24=_0x468241['get']({'plain':!![]});var _0x407f29=_0xd644('0x28');return db[_0xd644('0x29')][_0xd644('0x27')]({'where':{'type':_0x407f29,'resourceId':_0x2b3a24['id']}})[_0xd644('0x26')](function(){return _0x468241;});})[_0xd644('0x26')](function(){_0x1d530f[_0xd644('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5648b7,_0x23dd98){return function(_0xb3b285){if(!_0xb3b285){_0x5648b7['sendStatus'](0x194);}return _0xb3b285;};}function handleError(_0xd1bc3c,_0x1d5727){_0x1d5727=_0x1d5727||0x1f4;return function(_0x20fa6f){logger[_0xd644('0x2a')](_0x20fa6f[_0xd644('0x2b')]);if(_0x20fa6f['name']){delete _0x20fa6f[_0xd644('0x2c')];}_0xd1bc3c['status'](_0x1d5727)[_0xd644('0x2d')](_0x20fa6f);};}exports['index']=function(_0x478032,_0x521073){var _0x1059ca={},_0x721f95={},_0x1b5088={'count':0x0,'rows':[]};var _0x51bfe7=_['map'](db['CmContactHasItem']['rawAttributes'],function(_0x3ce452){return{'name':_0x3ce452[_0xd644('0x2e')],'type':_0x3ce452['type']['key']};});_0x721f95[_0xd644('0x2f')]=_[_0xd644('0x30')](_0x51bfe7,_0xd644('0x2c'));_0x721f95[_0xd644('0x31')]=_['keys'](_0x478032[_0xd644('0x31')]);_0x721f95['filters']=_[_0xd644('0x32')](_0x721f95[_0xd644('0x2f')],_0x721f95[_0xd644('0x31')]);_0x1059ca[_0xd644('0x33')]=_[_0xd644('0x32')](_0x721f95[_0xd644('0x2f')],qs[_0xd644('0x34')](_0x478032['query'][_0xd644('0x34')]));_0x1059ca[_0xd644('0x33')]=_0x1059ca['attributes'][_0xd644('0x35')]?_0x1059ca[_0xd644('0x33')]:_0x721f95[_0xd644('0x2f')];if(!_0x478032['query'][_0xd644('0x36')](_0xd644('0x37'))){_0x1059ca[_0xd644('0x1f')]=qs[_0xd644('0x1f')](_0x478032[_0xd644('0x31')][_0xd644('0x1f')]);_0x1059ca['offset']=qs[_0xd644('0x21')](_0x478032[_0xd644('0x31')][_0xd644('0x21')]);}_0x1059ca[_0xd644('0x38')]=qs[_0xd644('0x39')](_0x478032[_0xd644('0x31')]['sort']);_0x1059ca['where']=qs[_0xd644('0x3a')](_[_0xd644('0x3b')](_0x478032[_0xd644('0x31')],_0x721f95[_0xd644('0x3a')]),_0x51bfe7);if(_0x478032[_0xd644('0x31')]['filter']){_0x1059ca[_0xd644('0x3c')]=_[_0xd644('0x3d')](_0x1059ca[_0xd644('0x3c')],{'$or':_[_0xd644('0x30')](_0x51bfe7,function(_0x5d458c){if(_0x5d458c[_0xd644('0x3e')]!==_0xd644('0x3f')){var _0x37baee={};_0x37baee[_0x5d458c[_0xd644('0x2c')]]={'$like':'%'+_0x478032[_0xd644('0x31')][_0xd644('0x40')]+'%'};return _0x37baee;}})});}_0x1059ca=_[_0xd644('0x3d')]({},_0x1059ca,_0x478032['options']);var _0x3b2f72={'where':_0x1059ca[_0xd644('0x3c')]};return db[_0xd644('0x41')][_0xd644('0x20')](_0x3b2f72)[_0xd644('0x26')](function(_0x4728b7){_0x1b5088[_0xd644('0x20')]=_0x4728b7;if(_0x478032[_0xd644('0x31')][_0xd644('0x42')]){_0x1059ca[_0xd644('0x43')]=[{'all':!![]}];}return db[_0xd644('0x41')][_0xd644('0x44')](_0x1059ca);})[_0xd644('0x26')](function(_0x4431c3){_0x1b5088[_0xd644('0x45')]=_0x4431c3;return _0x1b5088;})['then'](respondWithFilteredResult(_0x521073,_0x1059ca))[_0xd644('0x46')](handleError(_0x521073,null));};exports[_0xd644('0x47')]=function(_0x20e843,_0x5a4455){var _0x546238={'raw':!![],'where':{'id':_0x20e843[_0xd644('0x48')]['id']}},_0x409809={};_0x409809[_0xd644('0x2f')]=_[_0xd644('0x49')](db[_0xd644('0x41')][_0xd644('0x4a')]);_0x409809[_0xd644('0x31')]=_[_0xd644('0x49')](_0x20e843[_0xd644('0x31')]);_0x409809[_0xd644('0x3a')]=_['intersection'](_0x409809[_0xd644('0x2f')],_0x409809['query']);_0x546238[_0xd644('0x33')]=_[_0xd644('0x32')](_0x409809[_0xd644('0x2f')],qs[_0xd644('0x34')](_0x20e843[_0xd644('0x31')][_0xd644('0x34')]));_0x546238[_0xd644('0x33')]=_0x546238['attributes'][_0xd644('0x35')]?_0x546238[_0xd644('0x33')]:_0x409809['model'];if(_0x20e843[_0xd644('0x31')][_0xd644('0x42')]){_0x546238['include']=[{'all':!![]}];}_0x546238=_[_0xd644('0x3d')]({},_0x546238,_0x20e843[_0xd644('0x4b')]);return db[_0xd644('0x41')][_0xd644('0x4c')](_0x546238)['then'](handleEntityNotFound(_0x5a4455,null))[_0xd644('0x26')](respondWithResult(_0x5a4455,null))[_0xd644('0x46')](handleError(_0x5a4455,null));};exports[_0xd644('0x4d')]=function(_0x344feb,_0x30f324){return db[_0xd644('0x41')]['create'](_0x344feb[_0xd644('0x4e')],{})['then'](function(_0x86caf1){var _0x117156=_0x344feb[_0xd644('0x4f')][_0xd644('0x50')]({'plain':!![]});if(!_0x117156)throw new Error(_0xd644('0x51'));if(_0x117156['role']===_0xd644('0x4f')){var _0x255ea9=_0x86caf1['get']({'plain':!![]});var _0x45cbf8=_0xd644('0x28');return db[_0xd644('0x52')][_0xd644('0x4c')]({'where':{'name':_0x45cbf8,'userProfileId':_0x117156[_0xd644('0x53')]},'raw':!![]})[_0xd644('0x26')](function(_0xbf3095){if(_0xbf3095&&_0xbf3095[_0xd644('0x54')]===0x0){return db[_0xd644('0x29')][_0xd644('0x4d')]({'name':_0x255ea9['name'],'resourceId':_0x255ea9['id'],'type':_0xbf3095[_0xd644('0x2c')],'sectionId':_0xbf3095['id']},{})[_0xd644('0x26')](function(){return _0x86caf1;});}else{return _0x86caf1;}})['catch'](function(_0x52e34a){logger[_0xd644('0x2a')](_0xd644('0x55'),_0x52e34a);throw _0x52e34a;});}return _0x86caf1;})[_0xd644('0x26')](respondWithResult(_0x30f324,0xc9))['catch'](handleError(_0x30f324,null));};exports['update']=function(_0x550955,_0x584bf3){if(_0x550955[_0xd644('0x4e')]['id']){delete _0x550955[_0xd644('0x4e')]['id'];}return db[_0xd644('0x41')][_0xd644('0x4c')]({'where':{'id':_0x550955['params']['id']}})['then'](handleEntityNotFound(_0x584bf3,null))[_0xd644('0x26')](saveUpdates(_0x550955['body'],null))[_0xd644('0x26')](respondWithResult(_0x584bf3,null))['catch'](handleError(_0x584bf3,null));};exports[_0xd644('0x27')]=function(_0x3aab13,_0x236d8b){return db[_0xd644('0x41')]['find']({'where':{'id':_0x3aab13[_0xd644('0x48')]['id']}})['then'](handleEntityNotFound(_0x236d8b,null))[_0xd644('0x26')](removeEntity(_0x236d8b,null))[_0xd644('0x46')](handleError(_0x236d8b,null));};