Built motion from commit da617fac.|2.6.6
[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 _0x5818=['../../config/logger','api','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','Content-Range','apply','reject','update','destroy','then','CmContactHasItems','end','stack','name','send','index','map','CmContactHasItem','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','params','length','find','create','body','user','get','role','UserProfileSection','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','zip-dir','request-promise','bluebird','mustache','util','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x542ce8,_0x475277){var _0x2409eb=function(_0x1c1e37){while(--_0x1c1e37){_0x542ce8['push'](_0x542ce8['shift']());}};_0x2409eb(++_0x475277);}(_0x5818,0x17c));var _0x8581=function(_0xfb02b5,_0x39bc2b){_0xfb02b5=_0xfb02b5-0x0;var _0x22ba3e=_0x5818[_0xfb02b5];return _0x22ba3e;};'use strict';var emlformat=require(_0x8581('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8581('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8581('0x2'));var moment=require('moment');var BPromise=require(_0x8581('0x3'));var Mustache=require(_0x8581('0x4'));var util=require(_0x8581('0x5'));var path=require('path');var sox=require(_0x8581('0x6'));var csv=require(_0x8581('0x7'));var ejs=require(_0x8581('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8581('0x9'));var crypto=require(_0x8581('0xa'));var jsforce=require(_0x8581('0xb'));var deskjs=require(_0x8581('0xc'));var toCsv=require('to-csv');var querystring=require(_0x8581('0xd'));var Papa=require(_0x8581('0xe'));var Redis=require(_0x8581('0xf'));var authService=require(_0x8581('0x10'));var qs=require(_0x8581('0x11'));var as=require(_0x8581('0x12'));var hardwareService=require(_0x8581('0x13'));var logger=require(_0x8581('0x14'))(_0x8581('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x8581('0x16'));var db=require(_0x8581('0x17'))['db'];function respondWithStatusCode(_0x41d78,_0x4079f2){_0x4079f2=_0x4079f2||0xcc;return function(_0x3e5027){if(_0x3e5027){return _0x41d78['sendStatus'](_0x4079f2);}return _0x41d78[_0x8581('0x18')](_0x4079f2)['end']();};}function respondWithResult(_0x1c0f35,_0x514eac){_0x514eac=_0x514eac||0xc8;return function(_0x5089c1){if(_0x5089c1){return _0x1c0f35[_0x8581('0x18')](_0x514eac)[_0x8581('0x19')](_0x5089c1);}};}function respondWithFilteredResult(_0x34a22f,_0x364fda){return function(_0x29aabe){if(_0x29aabe){var _0x272577=typeof _0x364fda[_0x8581('0x1a')]===_0x8581('0x1b')&&typeof _0x364fda[_0x8581('0x1c')]===_0x8581('0x1b');var _0x1d5eb5=_0x29aabe[_0x8581('0x1d')];var _0x5e50bf=_0x272577?0x0:_0x364fda['offset'];var _0x82a457=_0x272577?_0x29aabe[_0x8581('0x1d')]:_0x364fda[_0x8581('0x1a')]+_0x364fda[_0x8581('0x1c')];var _0x5690b0;if(_0x82a457>=_0x1d5eb5){_0x82a457=_0x1d5eb5;_0x5690b0=0xc8;}else{_0x5690b0=0xce;}_0x34a22f[_0x8581('0x18')](_0x5690b0);return _0x34a22f['set'](_0x8581('0x1e'),_0x5e50bf+'-'+_0x82a457+'/'+_0x1d5eb5)['json'](_0x29aabe);}return null;};}function patchUpdates(_0x2071b3){return function(_0x19eee8){try{jsonpatch[_0x8581('0x1f')](_0x19eee8,_0x2071b3,!![]);}catch(_0x124c2e){return BPromise[_0x8581('0x20')](_0x124c2e);}return _0x19eee8['save']();};}function saveUpdates(_0x20f966,_0x4d58b1){return function(_0x3b20b8){if(_0x3b20b8){return _0x3b20b8[_0x8581('0x21')](_0x20f966)['then'](function(_0x2f29a9){return _0x2f29a9;});}return null;};}function removeEntity(_0x2214fd,_0x646dce){return function(_0xbc2a02){if(_0xbc2a02){return _0xbc2a02[_0x8581('0x22')]()[_0x8581('0x23')](function(){var _0x2b8d3e=_0xbc2a02['get']({'plain':!![]});var _0x22be52=_0x8581('0x24');return db['UserProfileResource'][_0x8581('0x22')]({'where':{'type':_0x22be52,'resourceId':_0x2b8d3e['id']}})[_0x8581('0x23')](function(){return _0xbc2a02;});})[_0x8581('0x23')](function(){_0x2214fd[_0x8581('0x18')](0xcc)[_0x8581('0x25')]();});}};}function handleEntityNotFound(_0x328927,_0x2b91fc){return function(_0x529350){if(!_0x529350){_0x328927['sendStatus'](0x194);}return _0x529350;};}function handleError(_0xe57245,_0x5b67d7){_0x5b67d7=_0x5b67d7||0x1f4;return function(_0x5dd9b7){logger['error'](_0x5dd9b7[_0x8581('0x26')]);if(_0x5dd9b7[_0x8581('0x27')]){delete _0x5dd9b7['name'];}_0xe57245[_0x8581('0x18')](_0x5b67d7)[_0x8581('0x28')](_0x5dd9b7);};}exports[_0x8581('0x29')]=function(_0x54f6d4,_0x50e7ac){var _0x1d9765={},_0x53ad47={},_0x5763ba={'count':0x0,'rows':[]};var _0x331b35=_[_0x8581('0x2a')](db[_0x8581('0x2b')][_0x8581('0x2c')],function(_0x5e62ee){return{'name':_0x5e62ee[_0x8581('0x2d')],'type':_0x5e62ee[_0x8581('0x2e')][_0x8581('0x2f')]};});_0x53ad47[_0x8581('0x30')]=_[_0x8581('0x2a')](_0x331b35,_0x8581('0x27'));_0x53ad47[_0x8581('0x31')]=_[_0x8581('0x32')](_0x54f6d4[_0x8581('0x31')]);_0x53ad47[_0x8581('0x33')]=_['intersection'](_0x53ad47[_0x8581('0x30')],_0x53ad47[_0x8581('0x31')]);_0x1d9765['attributes']=_[_0x8581('0x34')](_0x53ad47[_0x8581('0x30')],qs[_0x8581('0x35')](_0x54f6d4[_0x8581('0x31')][_0x8581('0x35')]));_0x1d9765[_0x8581('0x36')]=_0x1d9765[_0x8581('0x36')]['length']?_0x1d9765[_0x8581('0x36')]:_0x53ad47[_0x8581('0x30')];if(!_0x54f6d4[_0x8581('0x31')][_0x8581('0x37')](_0x8581('0x38'))){_0x1d9765[_0x8581('0x1c')]=qs['limit'](_0x54f6d4['query'][_0x8581('0x1c')]);_0x1d9765['offset']=qs[_0x8581('0x1a')](_0x54f6d4['query'][_0x8581('0x1a')]);}_0x1d9765['order']=qs['sort'](_0x54f6d4[_0x8581('0x31')][_0x8581('0x39')]);_0x1d9765[_0x8581('0x3a')]=qs['filters'](_[_0x8581('0x3b')](_0x54f6d4['query'],_0x53ad47[_0x8581('0x33')]),_0x331b35);if(_0x54f6d4[_0x8581('0x31')][_0x8581('0x3c')]){_0x1d9765[_0x8581('0x3a')]=_[_0x8581('0x3d')](_0x1d9765['where'],{'$or':_[_0x8581('0x2a')](_0x331b35,function(_0x15ce0f){if(_0x15ce0f[_0x8581('0x2e')]!==_0x8581('0x3e')){var _0x537d51={};_0x537d51[_0x15ce0f[_0x8581('0x27')]]={'$like':'%'+_0x54f6d4[_0x8581('0x31')]['filter']+'%'};return _0x537d51;}})});}_0x1d9765=_['merge']({},_0x1d9765,_0x54f6d4[_0x8581('0x3f')]);var _0x5a5a16={'where':_0x1d9765[_0x8581('0x3a')]};return db[_0x8581('0x2b')][_0x8581('0x1d')](_0x5a5a16)[_0x8581('0x23')](function(_0x5ef9ee){_0x5763ba[_0x8581('0x1d')]=_0x5ef9ee;if(_0x54f6d4[_0x8581('0x31')][_0x8581('0x40')]){_0x1d9765[_0x8581('0x41')]=[{'all':!![]}];}return db[_0x8581('0x2b')][_0x8581('0x42')](_0x1d9765);})[_0x8581('0x23')](function(_0x15ac53){_0x5763ba['rows']=_0x15ac53;return _0x5763ba;})['then'](respondWithFilteredResult(_0x50e7ac,_0x1d9765))[_0x8581('0x43')](handleError(_0x50e7ac,null));};exports['show']=function(_0x5efe1f,_0x2d20c5){var _0x54f4db={'raw':!![],'where':{'id':_0x5efe1f[_0x8581('0x44')]['id']}},_0x3476bf={};_0x3476bf[_0x8581('0x30')]=_['keys'](db[_0x8581('0x2b')][_0x8581('0x2c')]);_0x3476bf[_0x8581('0x31')]=_[_0x8581('0x32')](_0x5efe1f[_0x8581('0x31')]);_0x3476bf[_0x8581('0x33')]=_[_0x8581('0x34')](_0x3476bf[_0x8581('0x30')],_0x3476bf[_0x8581('0x31')]);_0x54f4db[_0x8581('0x36')]=_[_0x8581('0x34')](_0x3476bf[_0x8581('0x30')],qs['fields'](_0x5efe1f[_0x8581('0x31')][_0x8581('0x35')]));_0x54f4db['attributes']=_0x54f4db[_0x8581('0x36')][_0x8581('0x45')]?_0x54f4db[_0x8581('0x36')]:_0x3476bf[_0x8581('0x30')];if(_0x5efe1f[_0x8581('0x31')][_0x8581('0x40')]){_0x54f4db[_0x8581('0x41')]=[{'all':!![]}];}_0x54f4db=_[_0x8581('0x3d')]({},_0x54f4db,_0x5efe1f[_0x8581('0x3f')]);return db[_0x8581('0x2b')][_0x8581('0x46')](_0x54f4db)['then'](handleEntityNotFound(_0x2d20c5,null))[_0x8581('0x23')](respondWithResult(_0x2d20c5,null))[_0x8581('0x43')](handleError(_0x2d20c5,null));};exports['create']=function(_0x1a7b25,_0x79b66d){return db[_0x8581('0x2b')][_0x8581('0x47')](_0x1a7b25[_0x8581('0x48')],{})[_0x8581('0x23')](function(_0x4106f1){var _0x1abaf6=_0x1a7b25[_0x8581('0x49')][_0x8581('0x4a')]({'plain':!![]});if(!_0x1abaf6)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1abaf6[_0x8581('0x4b')]==='user'){var _0x1ee88c=_0x4106f1[_0x8581('0x4a')]({'plain':!![]});var _0x5c934a='CmContactHasItems';return db[_0x8581('0x4c')][_0x8581('0x46')]({'where':{'name':_0x5c934a,'userProfileId':_0x1abaf6[_0x8581('0x4d')]},'raw':!![]})[_0x8581('0x23')](function(_0x46505a){if(_0x46505a&&_0x46505a['autoAssociation']===0x0){return db['UserProfileResource'][_0x8581('0x47')]({'name':_0x1ee88c[_0x8581('0x27')],'resourceId':_0x1ee88c['id'],'type':_0x46505a[_0x8581('0x27')],'sectionId':_0x46505a['id']},{})[_0x8581('0x23')](function(){return _0x4106f1;});}else{return _0x4106f1;}})[_0x8581('0x43')](function(_0x332231){logger[_0x8581('0x4e')](_0x8581('0x4f'),_0x332231);throw _0x332231;});}return _0x4106f1;})['then'](respondWithResult(_0x79b66d,0xc9))[_0x8581('0x43')](handleError(_0x79b66d,null));};exports['update']=function(_0x2c9c5b,_0x2cda50){if(_0x2c9c5b[_0x8581('0x48')]['id']){delete _0x2c9c5b['body']['id'];}return db['CmContactHasItem'][_0x8581('0x46')]({'where':{'id':_0x2c9c5b[_0x8581('0x44')]['id']}})[_0x8581('0x23')](handleEntityNotFound(_0x2cda50,null))[_0x8581('0x23')](saveUpdates(_0x2c9c5b[_0x8581('0x48')],null))['then'](respondWithResult(_0x2cda50,null))['catch'](handleError(_0x2cda50,null));};exports['destroy']=function(_0x8e4ef8,_0x4af0d9){return db['CmContactHasItem']['find']({'where':{'id':_0x8e4ef8[_0x8581('0x44')]['id']}})[_0x8581('0x23')](handleEntityNotFound(_0x4af0d9,null))[_0x8581('0x23')](removeEntity(_0x4af0d9,null))[_0x8581('0x43')](handleError(_0x4af0d9,null));};