6a2b0d7ec820e0f2951bf04f241faa80669eec01
[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 _0x2cfd=['body','eml-format','rimraf','util','path','to-csv','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','reject','save','then','destroy','get','UserProfileResource','error','stack','name','send','index','map','CmContactHasItem','fieldName','type','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','create','user','role','CmContactHasItems','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update'];(function(_0x29419e,_0x2ea72d){var _0x24cfec=function(_0x3ec868){while(--_0x3ec868){_0x29419e['push'](_0x29419e['shift']());}};_0x24cfec(++_0x2ea72d);}(_0x2cfd,0x1d5));var _0xd2cf=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x2cfd[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require(_0xd2cf('0x0'));var rimraf=require(_0xd2cf('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xd2cf('0x2'));var path=require(_0xd2cf('0x3'));var sox=require('sox');var csv=require(_0xd2cf('0x4'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd2cf('0x5'));var _=require('lodash');var squel=require(_0xd2cf('0x6'));var crypto=require(_0xd2cf('0x7'));var jsforce=require(_0xd2cf('0x8'));var deskjs=require('desk.js');var toCsv=require(_0xd2cf('0x4'));var querystring=require('querystring');var Papa=require(_0xd2cf('0x9'));var Redis=require(_0xd2cf('0xa'));var authService=require(_0xd2cf('0xb'));var qs=require(_0xd2cf('0xc'));var as=require(_0xd2cf('0xd'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd2cf('0xe'))(_0xd2cf('0xf'));var utils=require(_0xd2cf('0x10'));var config=require(_0xd2cf('0x11'));var licenseUtil=require(_0xd2cf('0x12'));var db=require(_0xd2cf('0x13'))['db'];function respondWithStatusCode(_0xe380e0,_0x34a5c6){_0x34a5c6=_0x34a5c6||0xcc;return function(_0x5d1cbf){if(_0x5d1cbf){return _0xe380e0[_0xd2cf('0x14')](_0x34a5c6);}return _0xe380e0[_0xd2cf('0x15')](_0x34a5c6)[_0xd2cf('0x16')]();};}function respondWithResult(_0x142405,_0x2eb26a){_0x2eb26a=_0x2eb26a||0xc8;return function(_0x192fb8){if(_0x192fb8){return _0x142405[_0xd2cf('0x15')](_0x2eb26a)[_0xd2cf('0x17')](_0x192fb8);}};}function respondWithFilteredResult(_0x497d39,_0x1f5a55){return function(_0x4575b2){if(_0x4575b2){var _0xbdef8b=typeof _0x1f5a55[_0xd2cf('0x18')]==='undefined'&&typeof _0x1f5a55['limit']===_0xd2cf('0x19');var _0x155bf7=_0x4575b2[_0xd2cf('0x1a')];var _0x447dce=_0xbdef8b?0x0:_0x1f5a55[_0xd2cf('0x18')];var _0x576f5c=_0xbdef8b?_0x4575b2[_0xd2cf('0x1a')]:_0x1f5a55[_0xd2cf('0x18')]+_0x1f5a55[_0xd2cf('0x1b')];var _0x4b24dd;if(_0x576f5c>=_0x155bf7){_0x576f5c=_0x155bf7;_0x4b24dd=0xc8;}else{_0x4b24dd=0xce;}_0x497d39[_0xd2cf('0x15')](_0x4b24dd);return _0x497d39['set']('Content-Range',_0x447dce+'-'+_0x576f5c+'/'+_0x155bf7)[_0xd2cf('0x17')](_0x4575b2);}return null;};}function patchUpdates(_0x361f07){return function(_0x18ecd4){try{jsonpatch['apply'](_0x18ecd4,_0x361f07,!![]);}catch(_0xba209f){return BPromise[_0xd2cf('0x1c')](_0xba209f);}return _0x18ecd4[_0xd2cf('0x1d')]();};}function saveUpdates(_0x5a3bc0,_0x414616){return function(_0x27ac12){if(_0x27ac12){return _0x27ac12['update'](_0x5a3bc0)[_0xd2cf('0x1e')](function(_0x1d6e12){return _0x1d6e12;});}return null;};}function removeEntity(_0x56ec65,_0x7ef1f7){return function(_0xd7f3cf){if(_0xd7f3cf){return _0xd7f3cf[_0xd2cf('0x1f')]()[_0xd2cf('0x1e')](function(){var _0x34053b=_0xd7f3cf[_0xd2cf('0x20')]({'plain':!![]});var _0x308c4b='CmContactHasItems';return db[_0xd2cf('0x21')]['destroy']({'where':{'type':_0x308c4b,'resourceId':_0x34053b['id']}})['then'](function(){return _0xd7f3cf;});})[_0xd2cf('0x1e')](function(){_0x56ec65[_0xd2cf('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x465faf,_0xc7bbd5){return function(_0xeac8a){if(!_0xeac8a){_0x465faf[_0xd2cf('0x14')](0x194);}return _0xeac8a;};}function handleError(_0x5638b5,_0x41e50f){_0x41e50f=_0x41e50f||0x1f4;return function(_0x451c45){logger[_0xd2cf('0x22')](_0x451c45[_0xd2cf('0x23')]);if(_0x451c45[_0xd2cf('0x24')]){delete _0x451c45[_0xd2cf('0x24')];}_0x5638b5[_0xd2cf('0x15')](_0x41e50f)[_0xd2cf('0x25')](_0x451c45);};}exports[_0xd2cf('0x26')]=function(_0x304eae,_0x4e9cf6){var _0x7d0144={},_0x116b61={},_0x783ea8={'count':0x0,'rows':[]};var _0x49d4e3=_[_0xd2cf('0x27')](db[_0xd2cf('0x28')]['rawAttributes'],function(_0x1741a3){return{'name':_0x1741a3[_0xd2cf('0x29')],'type':_0x1741a3[_0xd2cf('0x2a')][_0xd2cf('0x2b')]};});_0x116b61[_0xd2cf('0x2c')]=_[_0xd2cf('0x27')](_0x49d4e3,_0xd2cf('0x24'));_0x116b61[_0xd2cf('0x2d')]=_[_0xd2cf('0x2e')](_0x304eae['query']);_0x116b61['filters']=_['intersection'](_0x116b61[_0xd2cf('0x2c')],_0x116b61[_0xd2cf('0x2d')]);_0x7d0144['attributes']=_[_0xd2cf('0x2f')](_0x116b61[_0xd2cf('0x2c')],qs['fields'](_0x304eae[_0xd2cf('0x2d')][_0xd2cf('0x30')]));_0x7d0144[_0xd2cf('0x31')]=_0x7d0144['attributes'][_0xd2cf('0x32')]?_0x7d0144[_0xd2cf('0x31')]:_0x116b61[_0xd2cf('0x2c')];if(!_0x304eae[_0xd2cf('0x2d')][_0xd2cf('0x33')]('nolimit')){_0x7d0144[_0xd2cf('0x1b')]=qs[_0xd2cf('0x1b')](_0x304eae[_0xd2cf('0x2d')][_0xd2cf('0x1b')]);_0x7d0144[_0xd2cf('0x18')]=qs[_0xd2cf('0x18')](_0x304eae['query'][_0xd2cf('0x18')]);}_0x7d0144[_0xd2cf('0x34')]=qs[_0xd2cf('0x35')](_0x304eae['query'][_0xd2cf('0x35')]);_0x7d0144[_0xd2cf('0x36')]=qs[_0xd2cf('0x37')](_[_0xd2cf('0x38')](_0x304eae['query'],_0x116b61[_0xd2cf('0x37')]),_0x49d4e3);if(_0x304eae[_0xd2cf('0x2d')][_0xd2cf('0x39')]){_0x7d0144[_0xd2cf('0x36')]=_[_0xd2cf('0x3a')](_0x7d0144[_0xd2cf('0x36')],{'$or':_[_0xd2cf('0x27')](_0x49d4e3,function(_0x9c5dea){if(_0x9c5dea[_0xd2cf('0x2a')]!==_0xd2cf('0x3b')){var _0x36642b={};_0x36642b[_0x9c5dea[_0xd2cf('0x24')]]={'$like':'%'+_0x304eae[_0xd2cf('0x2d')][_0xd2cf('0x39')]+'%'};return _0x36642b;}})});}_0x7d0144=_[_0xd2cf('0x3a')]({},_0x7d0144,_0x304eae[_0xd2cf('0x3c')]);var _0x5c2d45={'where':_0x7d0144[_0xd2cf('0x36')]};return db[_0xd2cf('0x28')][_0xd2cf('0x1a')](_0x5c2d45)[_0xd2cf('0x1e')](function(_0x3c4ced){_0x783ea8[_0xd2cf('0x1a')]=_0x3c4ced;if(_0x304eae['query'][_0xd2cf('0x3d')]){_0x7d0144[_0xd2cf('0x3e')]=[{'all':!![]}];}return db['CmContactHasItem'][_0xd2cf('0x3f')](_0x7d0144);})[_0xd2cf('0x1e')](function(_0x3f4dab){_0x783ea8[_0xd2cf('0x40')]=_0x3f4dab;return _0x783ea8;})[_0xd2cf('0x1e')](respondWithFilteredResult(_0x4e9cf6,_0x7d0144))[_0xd2cf('0x41')](handleError(_0x4e9cf6,null));};exports[_0xd2cf('0x42')]=function(_0xe0b9b2,_0x143174){var _0x579e35={'raw':!![],'where':{'id':_0xe0b9b2[_0xd2cf('0x43')]['id']}},_0x2d6d2c={};_0x2d6d2c[_0xd2cf('0x2c')]=_[_0xd2cf('0x2e')](db[_0xd2cf('0x28')]['rawAttributes']);_0x2d6d2c['query']=_[_0xd2cf('0x2e')](_0xe0b9b2['query']);_0x2d6d2c[_0xd2cf('0x37')]=_[_0xd2cf('0x2f')](_0x2d6d2c['model'],_0x2d6d2c['query']);_0x579e35[_0xd2cf('0x31')]=_[_0xd2cf('0x2f')](_0x2d6d2c['model'],qs[_0xd2cf('0x30')](_0xe0b9b2[_0xd2cf('0x2d')][_0xd2cf('0x30')]));_0x579e35[_0xd2cf('0x31')]=_0x579e35[_0xd2cf('0x31')][_0xd2cf('0x32')]?_0x579e35[_0xd2cf('0x31')]:_0x2d6d2c['model'];if(_0xe0b9b2[_0xd2cf('0x2d')][_0xd2cf('0x3d')]){_0x579e35[_0xd2cf('0x3e')]=[{'all':!![]}];}_0x579e35=_[_0xd2cf('0x3a')]({},_0x579e35,_0xe0b9b2[_0xd2cf('0x3c')]);return db[_0xd2cf('0x28')]['find'](_0x579e35)[_0xd2cf('0x1e')](handleEntityNotFound(_0x143174,null))['then'](respondWithResult(_0x143174,null))['catch'](handleError(_0x143174,null));};exports[_0xd2cf('0x44')]=function(_0x314667,_0x11ce38){return db[_0xd2cf('0x28')][_0xd2cf('0x44')](_0x314667['body'],{})[_0xd2cf('0x1e')](function(_0x2cce90){var _0x3cc5e3=_0x314667[_0xd2cf('0x45')]['get']({'plain':!![]});if(!_0x3cc5e3)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3cc5e3[_0xd2cf('0x46')]==='user'){var _0x277ef1=_0x2cce90['get']({'plain':!![]});var _0x29b84d=_0xd2cf('0x47');return db['UserProfileSection'][_0xd2cf('0x48')]({'where':{'name':_0x29b84d,'userProfileId':_0x3cc5e3[_0xd2cf('0x49')]},'raw':!![]})[_0xd2cf('0x1e')](function(_0x5c8561){if(_0x5c8561&&_0x5c8561[_0xd2cf('0x4a')]===0x0){return db['UserProfileResource'][_0xd2cf('0x44')]({'name':_0x277ef1[_0xd2cf('0x24')],'resourceId':_0x277ef1['id'],'type':_0x5c8561['name'],'sectionId':_0x5c8561['id']},{})['then'](function(){return _0x2cce90;});}else{return _0x2cce90;}})[_0xd2cf('0x41')](function(_0x170d7a){logger['error'](_0xd2cf('0x4b'),_0x170d7a);throw _0x170d7a;});}return _0x2cce90;})[_0xd2cf('0x1e')](respondWithResult(_0x11ce38,0xc9))[_0xd2cf('0x41')](handleError(_0x11ce38,null));};exports[_0xd2cf('0x4c')]=function(_0x1e3dd0,_0x18fde9){if(_0x1e3dd0[_0xd2cf('0x4d')]['id']){delete _0x1e3dd0[_0xd2cf('0x4d')]['id'];}return db[_0xd2cf('0x28')][_0xd2cf('0x48')]({'where':{'id':_0x1e3dd0[_0xd2cf('0x43')]['id']}})['then'](handleEntityNotFound(_0x18fde9,null))[_0xd2cf('0x1e')](saveUpdates(_0x1e3dd0['body'],null))[_0xd2cf('0x1e')](respondWithResult(_0x18fde9,null))[_0xd2cf('0x41')](handleError(_0x18fde9,null));};exports[_0xd2cf('0x1f')]=function(_0x342cab,_0x36ab93){return db[_0xd2cf('0x28')][_0xd2cf('0x48')]({'where':{'id':_0x342cab[_0xd2cf('0x43')]['id']}})['then'](handleEntityNotFound(_0x36ab93,null))[_0xd2cf('0x1e')](removeEntity(_0x36ab93,null))[_0xd2cf('0x41')](handleError(_0x36ab93,null));};