Built motion from commit e02f907f.|2.6.14
[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 _0x131e=['../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','count','apply','reject','save','then','get','CmContactHasItems','UserProfileResource','error','stack','name','send','index','map','CmContactHasItem','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','catch','show','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','body','destroy','params','eml-format','rimraf','fast-json-patch','moment','mustache','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x3a115e,_0x3dac39){var _0x1b7e61=function(_0x393180){while(--_0x393180){_0x3a115e['push'](_0x3a115e['shift']());}};_0x1b7e61(++_0x3dac39);}(_0x131e,0x1c4));var _0xe131=function(_0x274464,_0x228be1){_0x274464=_0x274464-0x0;var _0x2c7c26=_0x131e[_0x274464];return _0x2c7c26;};'use strict';var emlformat=require(_0xe131('0x0'));var rimraf=require(_0xe131('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe131('0x2'));var rp=require('request-promise');var moment=require(_0xe131('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xe131('0x4'));var util=require('util');var path=require(_0xe131('0x5'));var sox=require('sox');var csv=require(_0xe131('0x6'));var ejs=require(_0xe131('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe131('0x8'));var squel=require('squel');var crypto=require(_0xe131('0x9'));var jsforce=require(_0xe131('0xa'));var deskjs=require(_0xe131('0xb'));var toCsv=require(_0xe131('0x6'));var querystring=require(_0xe131('0xc'));var Papa=require(_0xe131('0xd'));var Redis=require(_0xe131('0xe'));var authService=require(_0xe131('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xe131('0x10'));var hardwareService=require(_0xe131('0x11'));var logger=require('../../config/logger')(_0xe131('0x12'));var utils=require(_0xe131('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xe131('0x14'));var db=require(_0xe131('0x15'))['db'];function respondWithStatusCode(_0x1b6ef7,_0x4489e7){_0x4489e7=_0x4489e7||0xcc;return function(_0x5aac36){if(_0x5aac36){return _0x1b6ef7[_0xe131('0x16')](_0x4489e7);}return _0x1b6ef7[_0xe131('0x17')](_0x4489e7)[_0xe131('0x18')]();};}function respondWithResult(_0x13f7bd,_0x273a34){_0x273a34=_0x273a34||0xc8;return function(_0x104ac6){if(_0x104ac6){return _0x13f7bd[_0xe131('0x17')](_0x273a34)[_0xe131('0x19')](_0x104ac6);}};}function respondWithFilteredResult(_0x49b51f,_0x96b11d){return function(_0x4a6847){if(_0x4a6847){var _0x1974e3=typeof _0x96b11d[_0xe131('0x1a')]==='undefined'&&typeof _0x96b11d[_0xe131('0x1b')]==='undefined';var _0x3e8fdd=_0x4a6847[_0xe131('0x1c')];var _0x5cf4b4=_0x1974e3?0x0:_0x96b11d[_0xe131('0x1a')];var _0x3000d0=_0x1974e3?_0x4a6847[_0xe131('0x1c')]:_0x96b11d[_0xe131('0x1a')]+_0x96b11d[_0xe131('0x1b')];var _0x17521d;if(_0x3000d0>=_0x3e8fdd){_0x3000d0=_0x3e8fdd;_0x17521d=0xc8;}else{_0x17521d=0xce;}_0x49b51f[_0xe131('0x17')](_0x17521d);return _0x49b51f['set']('Content-Range',_0x5cf4b4+'-'+_0x3000d0+'/'+_0x3e8fdd)[_0xe131('0x19')](_0x4a6847);}return null;};}function patchUpdates(_0x177489){return function(_0x58476b){try{jsonpatch[_0xe131('0x1d')](_0x58476b,_0x177489,!![]);}catch(_0x1568e3){return BPromise[_0xe131('0x1e')](_0x1568e3);}return _0x58476b[_0xe131('0x1f')]();};}function saveUpdates(_0x563468,_0x4af9ad){return function(_0x176053){if(_0x176053){return _0x176053['update'](_0x563468)[_0xe131('0x20')](function(_0x4d67a7){return _0x4d67a7;});}return null;};}function removeEntity(_0x1fae2a,_0x117e61){return function(_0xd09ebe){if(_0xd09ebe){return _0xd09ebe['destroy']()[_0xe131('0x20')](function(){var _0x38fc1d=_0xd09ebe[_0xe131('0x21')]({'plain':!![]});var _0x17fd28=_0xe131('0x22');return db[_0xe131('0x23')]['destroy']({'where':{'type':_0x17fd28,'resourceId':_0x38fc1d['id']}})['then'](function(){return _0xd09ebe;});})[_0xe131('0x20')](function(){_0x1fae2a[_0xe131('0x17')](0xcc)[_0xe131('0x18')]();});}};}function handleEntityNotFound(_0x3b6c91,_0x203ecf){return function(_0x35dc41){if(!_0x35dc41){_0x3b6c91[_0xe131('0x16')](0x194);}return _0x35dc41;};}function handleError(_0x17e072,_0x2a283){_0x2a283=_0x2a283||0x1f4;return function(_0x2630e4){logger[_0xe131('0x24')](_0x2630e4[_0xe131('0x25')]);if(_0x2630e4[_0xe131('0x26')]){delete _0x2630e4[_0xe131('0x26')];}_0x17e072[_0xe131('0x17')](_0x2a283)[_0xe131('0x27')](_0x2630e4);};}exports[_0xe131('0x28')]=function(_0x4d5fee,_0x3f56dc){var _0x371ac0={},_0x40d523={},_0x33289e={'count':0x0,'rows':[]};var _0x254532=_[_0xe131('0x29')](db[_0xe131('0x2a')][_0xe131('0x2b')],function(_0x3e5484){return{'name':_0x3e5484[_0xe131('0x2c')],'type':_0x3e5484[_0xe131('0x2d')]['key']};});_0x40d523[_0xe131('0x2e')]=_['map'](_0x254532,_0xe131('0x26'));_0x40d523[_0xe131('0x2f')]=_[_0xe131('0x30')](_0x4d5fee[_0xe131('0x2f')]);_0x40d523[_0xe131('0x31')]=_[_0xe131('0x32')](_0x40d523['model'],_0x40d523[_0xe131('0x2f')]);_0x371ac0['attributes']=_[_0xe131('0x32')](_0x40d523[_0xe131('0x2e')],qs['fields'](_0x4d5fee[_0xe131('0x2f')][_0xe131('0x33')]));_0x371ac0[_0xe131('0x34')]=_0x371ac0[_0xe131('0x34')][_0xe131('0x35')]?_0x371ac0[_0xe131('0x34')]:_0x40d523[_0xe131('0x2e')];if(!_0x4d5fee[_0xe131('0x2f')]['hasOwnProperty']('nolimit')){_0x371ac0[_0xe131('0x1b')]=qs[_0xe131('0x1b')](_0x4d5fee[_0xe131('0x2f')][_0xe131('0x1b')]);_0x371ac0['offset']=qs[_0xe131('0x1a')](_0x4d5fee[_0xe131('0x2f')][_0xe131('0x1a')]);}_0x371ac0[_0xe131('0x36')]=qs[_0xe131('0x37')](_0x4d5fee[_0xe131('0x2f')]['sort']);_0x371ac0[_0xe131('0x38')]=qs[_0xe131('0x31')](_[_0xe131('0x39')](_0x4d5fee[_0xe131('0x2f')],_0x40d523[_0xe131('0x31')]),_0x254532);if(_0x4d5fee[_0xe131('0x2f')][_0xe131('0x3a')]){_0x371ac0[_0xe131('0x38')]=_[_0xe131('0x3b')](_0x371ac0[_0xe131('0x38')],{'$or':_[_0xe131('0x29')](_0x254532,function(_0x7150cf){if(_0x7150cf[_0xe131('0x2d')]!==_0xe131('0x3c')){var _0x45ebdd={};_0x45ebdd[_0x7150cf['name']]={'$like':'%'+_0x4d5fee['query'][_0xe131('0x3a')]+'%'};return _0x45ebdd;}})});}_0x371ac0=_['merge']({},_0x371ac0,_0x4d5fee['options']);var _0x156869={'where':_0x371ac0[_0xe131('0x38')]};return db[_0xe131('0x2a')][_0xe131('0x1c')](_0x156869)[_0xe131('0x20')](function(_0x10b20e){_0x33289e[_0xe131('0x1c')]=_0x10b20e;if(_0x4d5fee[_0xe131('0x2f')][_0xe131('0x3d')]){_0x371ac0[_0xe131('0x3e')]=[{'all':!![]}];}return db['CmContactHasItem']['findAll'](_0x371ac0);})[_0xe131('0x20')](function(_0x240fe5){_0x33289e[_0xe131('0x3f')]=_0x240fe5;return _0x33289e;})[_0xe131('0x20')](respondWithFilteredResult(_0x3f56dc,_0x371ac0))[_0xe131('0x40')](handleError(_0x3f56dc,null));};exports[_0xe131('0x41')]=function(_0x46c2ad,_0x8f3a41){var _0x2ba63f={'raw':!![],'where':{'id':_0x46c2ad['params']['id']}},_0x266907={};_0x266907['model']=_['keys'](db['CmContactHasItem'][_0xe131('0x2b')]);_0x266907[_0xe131('0x2f')]=_[_0xe131('0x30')](_0x46c2ad['query']);_0x266907[_0xe131('0x31')]=_[_0xe131('0x32')](_0x266907['model'],_0x266907[_0xe131('0x2f')]);_0x2ba63f[_0xe131('0x34')]=_[_0xe131('0x32')](_0x266907[_0xe131('0x2e')],qs[_0xe131('0x33')](_0x46c2ad[_0xe131('0x2f')][_0xe131('0x33')]));_0x2ba63f[_0xe131('0x34')]=_0x2ba63f[_0xe131('0x34')][_0xe131('0x35')]?_0x2ba63f[_0xe131('0x34')]:_0x266907['model'];if(_0x46c2ad[_0xe131('0x2f')][_0xe131('0x3d')]){_0x2ba63f[_0xe131('0x3e')]=[{'all':!![]}];}_0x2ba63f=_[_0xe131('0x3b')]({},_0x2ba63f,_0x46c2ad[_0xe131('0x42')]);return db['CmContactHasItem'][_0xe131('0x43')](_0x2ba63f)[_0xe131('0x20')](handleEntityNotFound(_0x8f3a41,null))[_0xe131('0x20')](respondWithResult(_0x8f3a41,null))['catch'](handleError(_0x8f3a41,null));};exports['create']=function(_0x3b4ebe,_0x578803){return db[_0xe131('0x2a')][_0xe131('0x44')](_0x3b4ebe['body'],{})[_0xe131('0x20')](function(_0x20d38e){var _0x1a15d5=_0x3b4ebe[_0xe131('0x45')]['get']({'plain':!![]});if(!_0x1a15d5)throw new Error(_0xe131('0x46'));if(_0x1a15d5[_0xe131('0x47')]===_0xe131('0x45')){var _0xb788e8=_0x20d38e[_0xe131('0x21')]({'plain':!![]});var _0x464e70=_0xe131('0x22');return db[_0xe131('0x48')][_0xe131('0x43')]({'where':{'name':_0x464e70,'userProfileId':_0x1a15d5[_0xe131('0x49')]},'raw':!![]})[_0xe131('0x20')](function(_0x150f3a){if(_0x150f3a&&_0x150f3a[_0xe131('0x4a')]===0x0){return db[_0xe131('0x23')][_0xe131('0x44')]({'name':_0xb788e8[_0xe131('0x26')],'resourceId':_0xb788e8['id'],'type':_0x150f3a['name'],'sectionId':_0x150f3a['id']},{})[_0xe131('0x20')](function(){return _0x20d38e;});}else{return _0x20d38e;}})['catch'](function(_0xa89b45){logger[_0xe131('0x24')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xa89b45);throw _0xa89b45;});}return _0x20d38e;})['then'](respondWithResult(_0x578803,0xc9))[_0xe131('0x40')](handleError(_0x578803,null));};exports['update']=function(_0x15d6ff,_0x814c78){if(_0x15d6ff[_0xe131('0x4b')]['id']){delete _0x15d6ff[_0xe131('0x4b')]['id'];}return db[_0xe131('0x2a')]['find']({'where':{'id':_0x15d6ff['params']['id']}})['then'](handleEntityNotFound(_0x814c78,null))[_0xe131('0x20')](saveUpdates(_0x15d6ff['body'],null))[_0xe131('0x20')](respondWithResult(_0x814c78,null))[_0xe131('0x40')](handleError(_0x814c78,null));};exports[_0xe131('0x4c')]=function(_0x299873,_0x99c44a){return db[_0xe131('0x2a')][_0xe131('0x43')]({'where':{'id':_0x299873[_0xe131('0x4d')]['id']}})[_0xe131('0x20')](handleEntityNotFound(_0x99c44a,null))['then'](removeEntity(_0x99c44a,null))[_0xe131('0x40')](handleError(_0x99c44a,null));};