Skip to content
This repository has been archived by the owner on Jan 10, 2024. It is now read-only.

16 provide mapping UI for c8y hub events outbound #32

Merged
merged 10 commits into from
Dec 21, 2022
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,49 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.adamos.hubconnector.model.events.EventDirection;
import com.adamos.hubconnector.model.events.EventMapping;
import com.adamos.hubconnector.model.events.EventRules;
import com.adamos.hubconnector.services.EventRulesService;

@RestController
public class EventRulesApi {

@Autowired
EventRulesService eventService;

@PreAuthorize("hasRole('ROLE_ADAMOS_HUB_READ')")
@RequestMapping(value = "/eventRules", method = RequestMethod.GET)
public ResponseEntity<EventRules> getEventRulesFromHub() {
EventRules list = eventService.getEventRules(EventDirection.FROM_HUB);
if (list != null) {
EventRules list = eventService.getEventRules();
if (list != null) {
return new ResponseEntity<EventRules>(list, HttpStatus.OK);
}

return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}

@PreAuthorize("hasRole('ROLE_ADAMOS_HUB_UPDATE')")
@RequestMapping(value = "/eventRules", method = RequestMethod.PUT)
public ResponseEntity<EventRules> updateEventRulesFromHub(@RequestBody EventRules eventRules) {
eventService.storeEventRules(eventRules);
return new ResponseEntity<EventRules>(eventRules, HttpStatus.OK);
}

@PreAuthorize("hasRole('ROLE_ADAMOS_HUB_READ')")
@RequestMapping(value = "/eventMapping", method = RequestMethod.GET)
public ResponseEntity<EventMapping[]> getEventMappingFromHub() {
EventMapping[] list = eventService.getEventMapping();
if (list != null) {
return new ResponseEntity<EventMapping[]>(list, HttpStatus.OK);
}

return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}

@PreAuthorize("hasRole('ROLE_ADAMOS_HUB_UPDATE')")
@RequestMapping(value = "/eventMapping", method = RequestMethod.PUT)
public ResponseEntity<EventMapping[]> updateEventMappingFromHub(@RequestBody EventMapping[] mappings) {
eventService.updateEventMapping(mappings);
return new ResponseEntity<EventMapping[]>(mappings, HttpStatus.OK);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.adamos.hubconnector.model.events;

import java.util.ArrayList;
import java.util.UUID;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import lombok.Data;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class EventMapping {

private String c8yEventType;
private ArrayList<String> c8yDevices;
private String adamosEventType;
private ArrayList<String> c8yFragments;

private String id;
private String name;
private boolean enabled;

public EventMapping() {
this.id = UUID.randomUUID().toString();
this.name = "";
this.enabled = false;

this.c8yEventType = "";
this.c8yDevices = new ArrayList<>();
this.adamosEventType = "";
this.c8yFragments = new ArrayList<>();
}

}
Loading