4630602301dbe732debb45ee7ef7567d061800fb
[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 _0x0c2d=['pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','catch','keys','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','Content-Range','reject','update','then','get','CmContactHasItems','UserProfileResource','destroy','error','name','send','index','map','CmContactHasItem','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort'];(function(_0xf911e5,_0x2909ee){var _0x26e8f4=function(_0x331ede){while(--_0x331ede){_0xf911e5['push'](_0xf911e5['shift']());}};_0x26e8f4(++_0x2909ee);}(_0x0c2d,0xc2));var _0xd0c2=function(_0x3bcea3,_0x269a0e){_0x3bcea3=_0x3bcea3-0x0;var _0x49ad68=_0x0c2d[_0x3bcea3];return _0x49ad68;};'use strict';var emlformat=require(_0xd0c2('0x0'));var rimraf=require(_0xd0c2('0x1'));var zipdir=require(_0xd0c2('0x2'));var jsonpatch=require(_0xd0c2('0x3'));var rp=require(_0xd0c2('0x4'));var moment=require(_0xd0c2('0x5'));var BPromise=require(_0xd0c2('0x6'));var Mustache=require('mustache');var util=require(_0xd0c2('0x7'));var path=require(_0xd0c2('0x8'));var sox=require(_0xd0c2('0x9'));var csv=require(_0xd0c2('0xa'));var ejs=require(_0xd0c2('0xb'));var fs=require('fs');var fs_extra=require(_0xd0c2('0xc'));var _=require(_0xd0c2('0xd'));var squel=require(_0xd0c2('0xe'));var crypto=require('crypto');var jsforce=require(_0xd0c2('0xf'));var deskjs=require(_0xd0c2('0x10'));var toCsv=require(_0xd0c2('0xa'));var querystring=require(_0xd0c2('0x11'));var Papa=require(_0xd0c2('0x12'));var Redis=require(_0xd0c2('0x13'));var authService=require(_0xd0c2('0x14'));var qs=require(_0xd0c2('0x15'));var as=require(_0xd0c2('0x16'));var hardwareService=require(_0xd0c2('0x17'));var logger=require(_0xd0c2('0x18'))(_0xd0c2('0x19'));var utils=require(_0xd0c2('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0xd0c2('0x1b'));var db=require(_0xd0c2('0x1c'))['db'];function respondWithStatusCode(_0x1ef7ab,_0x12a1e6){_0x12a1e6=_0x12a1e6||0xcc;return function(_0x46a4b5){if(_0x46a4b5){return _0x1ef7ab[_0xd0c2('0x1d')](_0x12a1e6);}return _0x1ef7ab[_0xd0c2('0x1e')](_0x12a1e6)['end']();};}function respondWithResult(_0x83c523,_0x411d16){_0x411d16=_0x411d16||0xc8;return function(_0x31fe41){if(_0x31fe41){return _0x83c523[_0xd0c2('0x1e')](_0x411d16)['json'](_0x31fe41);}};}function respondWithFilteredResult(_0x398f9e,_0xad1aa0){return function(_0x4aa1e6){if(_0x4aa1e6){var _0x411497=typeof _0xad1aa0[_0xd0c2('0x1f')]===_0xd0c2('0x20')&&typeof _0xad1aa0[_0xd0c2('0x21')]===_0xd0c2('0x20');var _0x21efa6=_0x4aa1e6[_0xd0c2('0x22')];var _0x43b0b3=_0x411497?0x0:_0xad1aa0[_0xd0c2('0x1f')];var _0x5535ec=_0x411497?_0x4aa1e6['count']:_0xad1aa0[_0xd0c2('0x1f')]+_0xad1aa0[_0xd0c2('0x21')];var _0x561cdd;if(_0x5535ec>=_0x21efa6){_0x5535ec=_0x21efa6;_0x561cdd=0xc8;}else{_0x561cdd=0xce;}_0x398f9e[_0xd0c2('0x1e')](_0x561cdd);return _0x398f9e[_0xd0c2('0x23')](_0xd0c2('0x24'),_0x43b0b3+'-'+_0x5535ec+'/'+_0x21efa6)['json'](_0x4aa1e6);}return null;};}function patchUpdates(_0x2e7a74){return function(_0x465db1){try{jsonpatch['apply'](_0x465db1,_0x2e7a74,!![]);}catch(_0x20ed14){return BPromise[_0xd0c2('0x25')](_0x20ed14);}return _0x465db1['save']();};}function saveUpdates(_0x59ca20,_0x4751d7){return function(_0xc151c){if(_0xc151c){return _0xc151c[_0xd0c2('0x26')](_0x59ca20)[_0xd0c2('0x27')](function(_0xe4dc9c){return _0xe4dc9c;});}return null;};}function removeEntity(_0x44b20c,_0x21c518){return function(_0x35da17){if(_0x35da17){return _0x35da17['destroy']()[_0xd0c2('0x27')](function(){var _0x4fd0bf=_0x35da17[_0xd0c2('0x28')]({'plain':!![]});var _0x457cd3=_0xd0c2('0x29');return db[_0xd0c2('0x2a')][_0xd0c2('0x2b')]({'where':{'type':_0x457cd3,'resourceId':_0x4fd0bf['id']}})[_0xd0c2('0x27')](function(){return _0x35da17;});})[_0xd0c2('0x27')](function(){_0x44b20c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5531d4,_0xb1c23b){return function(_0x49d7e3){if(!_0x49d7e3){_0x5531d4[_0xd0c2('0x1d')](0x194);}return _0x49d7e3;};}function handleError(_0x45fe25,_0x4eb8eb){_0x4eb8eb=_0x4eb8eb||0x1f4;return function(_0xa0047d){logger[_0xd0c2('0x2c')](_0xa0047d['stack']);if(_0xa0047d[_0xd0c2('0x2d')]){delete _0xa0047d['name'];}_0x45fe25[_0xd0c2('0x1e')](_0x4eb8eb)[_0xd0c2('0x2e')](_0xa0047d);};}exports[_0xd0c2('0x2f')]=function(_0x1a3a27,_0x1ab438){var _0x57bfea={},_0x16ade3={},_0x228e7a={'count':0x0,'rows':[]};var _0x37b6c7=_[_0xd0c2('0x30')](db[_0xd0c2('0x31')][_0xd0c2('0x32')],function(_0x1f397e){return{'name':_0x1f397e[_0xd0c2('0x33')],'type':_0x1f397e[_0xd0c2('0x34')]['key']};});_0x16ade3[_0xd0c2('0x35')]=_['map'](_0x37b6c7,'name');_0x16ade3[_0xd0c2('0x36')]=_['keys'](_0x1a3a27[_0xd0c2('0x36')]);_0x16ade3[_0xd0c2('0x37')]=_[_0xd0c2('0x38')](_0x16ade3[_0xd0c2('0x35')],_0x16ade3['query']);_0x57bfea[_0xd0c2('0x39')]=_[_0xd0c2('0x38')](_0x16ade3[_0xd0c2('0x35')],qs['fields'](_0x1a3a27[_0xd0c2('0x36')][_0xd0c2('0x3a')]));_0x57bfea[_0xd0c2('0x39')]=_0x57bfea[_0xd0c2('0x39')][_0xd0c2('0x3b')]?_0x57bfea[_0xd0c2('0x39')]:_0x16ade3['model'];if(!_0x1a3a27['query'][_0xd0c2('0x3c')](_0xd0c2('0x3d'))){_0x57bfea['limit']=qs[_0xd0c2('0x21')](_0x1a3a27[_0xd0c2('0x36')][_0xd0c2('0x21')]);_0x57bfea[_0xd0c2('0x1f')]=qs[_0xd0c2('0x1f')](_0x1a3a27[_0xd0c2('0x36')][_0xd0c2('0x1f')]);}_0x57bfea[_0xd0c2('0x3e')]=qs[_0xd0c2('0x3f')](_0x1a3a27[_0xd0c2('0x36')][_0xd0c2('0x3f')]);_0x57bfea['where']=qs['filters'](_[_0xd0c2('0x40')](_0x1a3a27[_0xd0c2('0x36')],_0x16ade3[_0xd0c2('0x37')]),_0x37b6c7);if(_0x1a3a27[_0xd0c2('0x36')][_0xd0c2('0x41')]){_0x57bfea[_0xd0c2('0x42')]=_[_0xd0c2('0x43')](_0x57bfea[_0xd0c2('0x42')],{'$or':_[_0xd0c2('0x30')](_0x37b6c7,function(_0x16f43c){if(_0x16f43c[_0xd0c2('0x34')]!==_0xd0c2('0x44')){var _0x2d521b={};_0x2d521b[_0x16f43c['name']]={'$like':'%'+_0x1a3a27['query']['filter']+'%'};return _0x2d521b;}})});}_0x57bfea=_[_0xd0c2('0x43')]({},_0x57bfea,_0x1a3a27[_0xd0c2('0x45')]);var _0x431989={'where':_0x57bfea[_0xd0c2('0x42')]};return db[_0xd0c2('0x31')][_0xd0c2('0x22')](_0x431989)['then'](function(_0x1a925d){_0x228e7a[_0xd0c2('0x22')]=_0x1a925d;if(_0x1a3a27[_0xd0c2('0x36')][_0xd0c2('0x46')]){_0x57bfea['include']=[{'all':!![]}];}return db[_0xd0c2('0x31')][_0xd0c2('0x47')](_0x57bfea);})[_0xd0c2('0x27')](function(_0x30ba4c){_0x228e7a['rows']=_0x30ba4c;return _0x228e7a;})['then'](respondWithFilteredResult(_0x1ab438,_0x57bfea))[_0xd0c2('0x48')](handleError(_0x1ab438,null));};exports['show']=function(_0x19d1b9,_0x423111){var _0x2700eb={'raw':!![],'where':{'id':_0x19d1b9['params']['id']}},_0x3ab036={};_0x3ab036[_0xd0c2('0x35')]=_[_0xd0c2('0x49')](db[_0xd0c2('0x31')]['rawAttributes']);_0x3ab036[_0xd0c2('0x36')]=_[_0xd0c2('0x49')](_0x19d1b9[_0xd0c2('0x36')]);_0x3ab036[_0xd0c2('0x37')]=_[_0xd0c2('0x38')](_0x3ab036[_0xd0c2('0x35')],_0x3ab036['query']);_0x2700eb['attributes']=_[_0xd0c2('0x38')](_0x3ab036[_0xd0c2('0x35')],qs[_0xd0c2('0x3a')](_0x19d1b9['query'][_0xd0c2('0x3a')]));_0x2700eb['attributes']=_0x2700eb['attributes'][_0xd0c2('0x3b')]?_0x2700eb[_0xd0c2('0x39')]:_0x3ab036[_0xd0c2('0x35')];if(_0x19d1b9[_0xd0c2('0x36')][_0xd0c2('0x46')]){_0x2700eb[_0xd0c2('0x4a')]=[{'all':!![]}];}_0x2700eb=_[_0xd0c2('0x43')]({},_0x2700eb,_0x19d1b9[_0xd0c2('0x45')]);return db['CmContactHasItem'][_0xd0c2('0x4b')](_0x2700eb)[_0xd0c2('0x27')](handleEntityNotFound(_0x423111,null))['then'](respondWithResult(_0x423111,null))[_0xd0c2('0x48')](handleError(_0x423111,null));};exports[_0xd0c2('0x4c')]=function(_0x2d0c48,_0x971aea){return db[_0xd0c2('0x31')]['create'](_0x2d0c48[_0xd0c2('0x4d')],{})[_0xd0c2('0x27')](function(_0x5f1862){var _0x583a67=_0x2d0c48['user'][_0xd0c2('0x28')]({'plain':!![]});if(!_0x583a67)throw new Error(_0xd0c2('0x4e'));if(_0x583a67[_0xd0c2('0x4f')]===_0xd0c2('0x50')){var _0xe4593a=_0x5f1862['get']({'plain':!![]});var _0x53f5d0=_0xd0c2('0x29');return db[_0xd0c2('0x51')][_0xd0c2('0x4b')]({'where':{'name':_0x53f5d0,'userProfileId':_0x583a67[_0xd0c2('0x52')]},'raw':!![]})['then'](function(_0x39fbd3){if(_0x39fbd3&&_0x39fbd3[_0xd0c2('0x53')]===0x0){return db[_0xd0c2('0x2a')]['create']({'name':_0xe4593a['name'],'resourceId':_0xe4593a['id'],'type':_0x39fbd3[_0xd0c2('0x2d')],'sectionId':_0x39fbd3['id']},{})[_0xd0c2('0x27')](function(){return _0x5f1862;});}else{return _0x5f1862;}})[_0xd0c2('0x48')](function(_0x67263c){logger[_0xd0c2('0x2c')](_0xd0c2('0x54'),_0x67263c);throw _0x67263c;});}return _0x5f1862;})[_0xd0c2('0x27')](respondWithResult(_0x971aea,0xc9))[_0xd0c2('0x48')](handleError(_0x971aea,null));};exports[_0xd0c2('0x26')]=function(_0x52124e,_0x3c36ed){if(_0x52124e['body']['id']){delete _0x52124e[_0xd0c2('0x4d')]['id'];}return db[_0xd0c2('0x31')][_0xd0c2('0x4b')]({'where':{'id':_0x52124e[_0xd0c2('0x55')]['id']}})[_0xd0c2('0x27')](handleEntityNotFound(_0x3c36ed,null))['then'](saveUpdates(_0x52124e['body'],null))[_0xd0c2('0x27')](respondWithResult(_0x3c36ed,null))[_0xd0c2('0x48')](handleError(_0x3c36ed,null));};exports['destroy']=function(_0x2a5fdf,_0x2f7ba9){return db[_0xd0c2('0x31')][_0xd0c2('0x4b')]({'where':{'id':_0x2a5fdf[_0xd0c2('0x55')]['id']}})[_0xd0c2('0x27')](handleEntityNotFound(_0x2f7ba9,null))[_0xd0c2('0x27')](removeEntity(_0x2f7ba9,null))['catch'](handleError(_0x2f7ba9,null));};