1bf14b332f951ce875d232cd6350e8de4a28db99
[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 _0xce86=['includeAll','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','rimraf','zip-dir','request-promise','moment','mustache','util','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','destroy','then','CmContactHasItems','UserProfileResource','sendStatus','name','send','index','map','CmContactHasItem','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','sort','where','filters','filter','merge','VIRTUAL','options','findAll','rows','catch','show','params','length'];(function(_0x3f1424,_0x4d8feb){var _0x17ee9d=function(_0x4aa943){while(--_0x4aa943){_0x3f1424['push'](_0x3f1424['shift']());}};_0x17ee9d(++_0x4d8feb);}(_0xce86,0x19e));var _0x6ce8=function(_0x44d869,_0x49425f){_0x44d869=_0x44d869-0x0;var _0x1ed521=_0xce86[_0x44d869];return _0x1ed521;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6ce8('0x0'));var zipdir=require(_0x6ce8('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6ce8('0x2'));var moment=require(_0x6ce8('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x6ce8('0x4'));var util=require(_0x6ce8('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x6ce8('0x6'));var ejs=require(_0x6ce8('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x6ce8('0x8'));var crypto=require(_0x6ce8('0x9'));var jsforce=require(_0x6ce8('0xa'));var deskjs=require(_0x6ce8('0xb'));var toCsv=require(_0x6ce8('0x6'));var querystring=require(_0x6ce8('0xc'));var Papa=require('papaparse');var Redis=require(_0x6ce8('0xd'));var authService=require(_0x6ce8('0xe'));var qs=require(_0x6ce8('0xf'));var as=require(_0x6ce8('0x10'));var hardwareService=require(_0x6ce8('0x11'));var logger=require(_0x6ce8('0x12'))(_0x6ce8('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6ce8('0x14'))['db'];function respondWithStatusCode(_0x3aad23,_0x56f021){_0x56f021=_0x56f021||0xcc;return function(_0x5212ed){if(_0x5212ed){return _0x3aad23['sendStatus'](_0x56f021);}return _0x3aad23['status'](_0x56f021)[_0x6ce8('0x15')]();};}function respondWithResult(_0x38eb91,_0x4805fb){_0x4805fb=_0x4805fb||0xc8;return function(_0x2f42c7){if(_0x2f42c7){return _0x38eb91[_0x6ce8('0x16')](_0x4805fb)[_0x6ce8('0x17')](_0x2f42c7);}};}function respondWithFilteredResult(_0x587ded,_0x55b0be){return function(_0x196379){if(_0x196379){var _0x17fe72=typeof _0x55b0be[_0x6ce8('0x18')]===_0x6ce8('0x19')&&typeof _0x55b0be[_0x6ce8('0x1a')]===_0x6ce8('0x19');var _0x2ba27d=_0x196379[_0x6ce8('0x1b')];var _0x37615a=_0x17fe72?0x0:_0x55b0be[_0x6ce8('0x18')];var _0x5aa3b1=_0x17fe72?_0x196379[_0x6ce8('0x1b')]:_0x55b0be[_0x6ce8('0x18')]+_0x55b0be['limit'];var _0x3b4769;if(_0x5aa3b1>=_0x2ba27d){_0x5aa3b1=_0x2ba27d;_0x3b4769=0xc8;}else{_0x3b4769=0xce;}_0x587ded[_0x6ce8('0x16')](_0x3b4769);return _0x587ded['set'](_0x6ce8('0x1c'),_0x37615a+'-'+_0x5aa3b1+'/'+_0x2ba27d)[_0x6ce8('0x17')](_0x196379);}return null;};}function patchUpdates(_0x1e2fce){return function(_0x1081f7){try{jsonpatch[_0x6ce8('0x1d')](_0x1081f7,_0x1e2fce,!![]);}catch(_0x1bd5c1){return BPromise[_0x6ce8('0x1e')](_0x1bd5c1);}return _0x1081f7[_0x6ce8('0x1f')]();};}function saveUpdates(_0x5191ce,_0xfa7c4e){return function(_0x21a81d){if(_0x21a81d){return _0x21a81d[_0x6ce8('0x20')](_0x5191ce)['then'](function(_0x33a43a){return _0x33a43a;});}return null;};}function removeEntity(_0x47c6bf,_0x10297e){return function(_0x9bd003){if(_0x9bd003){return _0x9bd003[_0x6ce8('0x21')]()[_0x6ce8('0x22')](function(){var _0xd7c87e=_0x9bd003['get']({'plain':!![]});var _0x203974=_0x6ce8('0x23');return db[_0x6ce8('0x24')][_0x6ce8('0x21')]({'where':{'type':_0x203974,'resourceId':_0xd7c87e['id']}})[_0x6ce8('0x22')](function(){return _0x9bd003;});})[_0x6ce8('0x22')](function(){_0x47c6bf[_0x6ce8('0x16')](0xcc)[_0x6ce8('0x15')]();});}};}function handleEntityNotFound(_0x44b94b,_0x438320){return function(_0x101a3f){if(!_0x101a3f){_0x44b94b[_0x6ce8('0x25')](0x194);}return _0x101a3f;};}function handleError(_0x3b8c7b,_0x4f2b58){_0x4f2b58=_0x4f2b58||0x1f4;return function(_0x49abfc){logger['error'](_0x49abfc['stack']);if(_0x49abfc[_0x6ce8('0x26')]){delete _0x49abfc['name'];}_0x3b8c7b[_0x6ce8('0x16')](_0x4f2b58)[_0x6ce8('0x27')](_0x49abfc);};}exports[_0x6ce8('0x28')]=function(_0x53b71e,_0x398277){var _0x92bd57={},_0x2e26cb={},_0x2269ad={'count':0x0,'rows':[]};var _0x34ef43=_[_0x6ce8('0x29')](db[_0x6ce8('0x2a')][_0x6ce8('0x2b')],function(_0x5148aa){return{'name':_0x5148aa[_0x6ce8('0x2c')],'type':_0x5148aa[_0x6ce8('0x2d')][_0x6ce8('0x2e')]};});_0x2e26cb[_0x6ce8('0x2f')]=_[_0x6ce8('0x29')](_0x34ef43,'name');_0x2e26cb[_0x6ce8('0x30')]=_[_0x6ce8('0x31')](_0x53b71e[_0x6ce8('0x30')]);_0x2e26cb['filters']=_[_0x6ce8('0x32')](_0x2e26cb[_0x6ce8('0x2f')],_0x2e26cb[_0x6ce8('0x30')]);_0x92bd57['attributes']=_[_0x6ce8('0x32')](_0x2e26cb[_0x6ce8('0x2f')],qs[_0x6ce8('0x33')](_0x53b71e[_0x6ce8('0x30')][_0x6ce8('0x33')]));_0x92bd57[_0x6ce8('0x34')]=_0x92bd57[_0x6ce8('0x34')]['length']?_0x92bd57['attributes']:_0x2e26cb[_0x6ce8('0x2f')];if(!_0x53b71e[_0x6ce8('0x30')]['hasOwnProperty']('nolimit')){_0x92bd57[_0x6ce8('0x1a')]=qs['limit'](_0x53b71e[_0x6ce8('0x30')]['limit']);_0x92bd57[_0x6ce8('0x18')]=qs['offset'](_0x53b71e[_0x6ce8('0x30')][_0x6ce8('0x18')]);}_0x92bd57['order']=qs[_0x6ce8('0x35')](_0x53b71e[_0x6ce8('0x30')][_0x6ce8('0x35')]);_0x92bd57[_0x6ce8('0x36')]=qs[_0x6ce8('0x37')](_['pick'](_0x53b71e[_0x6ce8('0x30')],_0x2e26cb['filters']),_0x34ef43);if(_0x53b71e['query'][_0x6ce8('0x38')]){_0x92bd57[_0x6ce8('0x36')]=_[_0x6ce8('0x39')](_0x92bd57[_0x6ce8('0x36')],{'$or':_[_0x6ce8('0x29')](_0x34ef43,function(_0x54f918){if(_0x54f918[_0x6ce8('0x2d')]!==_0x6ce8('0x3a')){var _0x5af37b={};_0x5af37b[_0x54f918[_0x6ce8('0x26')]]={'$like':'%'+_0x53b71e[_0x6ce8('0x30')][_0x6ce8('0x38')]+'%'};return _0x5af37b;}})});}_0x92bd57=_[_0x6ce8('0x39')]({},_0x92bd57,_0x53b71e[_0x6ce8('0x3b')]);var _0x327bfd={'where':_0x92bd57[_0x6ce8('0x36')]};return db[_0x6ce8('0x2a')][_0x6ce8('0x1b')](_0x327bfd)[_0x6ce8('0x22')](function(_0x41aaf1){_0x2269ad[_0x6ce8('0x1b')]=_0x41aaf1;if(_0x53b71e[_0x6ce8('0x30')]['includeAll']){_0x92bd57['include']=[{'all':!![]}];}return db['CmContactHasItem'][_0x6ce8('0x3c')](_0x92bd57);})['then'](function(_0x24053b){_0x2269ad[_0x6ce8('0x3d')]=_0x24053b;return _0x2269ad;})['then'](respondWithFilteredResult(_0x398277,_0x92bd57))[_0x6ce8('0x3e')](handleError(_0x398277,null));};exports[_0x6ce8('0x3f')]=function(_0x4492c2,_0xd8dc40){var _0x26b1eb={'raw':!![],'where':{'id':_0x4492c2[_0x6ce8('0x40')]['id']}},_0x418e42={};_0x418e42[_0x6ce8('0x2f')]=_[_0x6ce8('0x31')](db[_0x6ce8('0x2a')][_0x6ce8('0x2b')]);_0x418e42[_0x6ce8('0x30')]=_[_0x6ce8('0x31')](_0x4492c2['query']);_0x418e42[_0x6ce8('0x37')]=_['intersection'](_0x418e42[_0x6ce8('0x2f')],_0x418e42['query']);_0x26b1eb['attributes']=_[_0x6ce8('0x32')](_0x418e42[_0x6ce8('0x2f')],qs[_0x6ce8('0x33')](_0x4492c2['query'][_0x6ce8('0x33')]));_0x26b1eb['attributes']=_0x26b1eb['attributes'][_0x6ce8('0x41')]?_0x26b1eb[_0x6ce8('0x34')]:_0x418e42[_0x6ce8('0x2f')];if(_0x4492c2['query'][_0x6ce8('0x42')]){_0x26b1eb[_0x6ce8('0x43')]=[{'all':!![]}];}_0x26b1eb=_[_0x6ce8('0x39')]({},_0x26b1eb,_0x4492c2[_0x6ce8('0x3b')]);return db[_0x6ce8('0x2a')][_0x6ce8('0x44')](_0x26b1eb)['then'](handleEntityNotFound(_0xd8dc40,null))['then'](respondWithResult(_0xd8dc40,null))[_0x6ce8('0x3e')](handleError(_0xd8dc40,null));};exports[_0x6ce8('0x45')]=function(_0x2db612,_0x8ed7a0){return db['CmContactHasItem'][_0x6ce8('0x45')](_0x2db612['body'],{})[_0x6ce8('0x22')](function(_0x4f353e){var _0x53cf2a=_0x2db612[_0x6ce8('0x46')]['get']({'plain':!![]});if(!_0x53cf2a)throw new Error(_0x6ce8('0x47'));if(_0x53cf2a[_0x6ce8('0x48')]==='user'){var _0x6de5ab=_0x4f353e[_0x6ce8('0x49')]({'plain':!![]});var _0x4edc27=_0x6ce8('0x23');return db[_0x6ce8('0x4a')][_0x6ce8('0x44')]({'where':{'name':_0x4edc27,'userProfileId':_0x53cf2a[_0x6ce8('0x4b')]},'raw':!![]})[_0x6ce8('0x22')](function(_0x180326){if(_0x180326&&_0x180326[_0x6ce8('0x4c')]===0x0){return db[_0x6ce8('0x24')][_0x6ce8('0x45')]({'name':_0x6de5ab['name'],'resourceId':_0x6de5ab['id'],'type':_0x180326['name'],'sectionId':_0x180326['id']},{})[_0x6ce8('0x22')](function(){return _0x4f353e;});}else{return _0x4f353e;}})['catch'](function(_0x5f8f3f){logger[_0x6ce8('0x4d')](_0x6ce8('0x4e'),_0x5f8f3f);throw _0x5f8f3f;});}return _0x4f353e;})[_0x6ce8('0x22')](respondWithResult(_0x8ed7a0,0xc9))['catch'](handleError(_0x8ed7a0,null));};exports[_0x6ce8('0x20')]=function(_0x71c684,_0x355833){if(_0x71c684[_0x6ce8('0x4f')]['id']){delete _0x71c684[_0x6ce8('0x4f')]['id'];}return db['CmContactHasItem'][_0x6ce8('0x44')]({'where':{'id':_0x71c684['params']['id']}})[_0x6ce8('0x22')](handleEntityNotFound(_0x355833,null))['then'](saveUpdates(_0x71c684['body'],null))['then'](respondWithResult(_0x355833,null))['catch'](handleError(_0x355833,null));};exports[_0x6ce8('0x21')]=function(_0x151a33,_0x3f287f){return db['CmContactHasItem'][_0x6ce8('0x44')]({'where':{'id':_0x151a33[_0x6ce8('0x40')]['id']}})[_0x6ce8('0x22')](handleEntityNotFound(_0x3f287f,null))[_0x6ce8('0x22')](removeEntity(_0x3f287f,null))['catch'](handleError(_0x3f287f,null));};