use of org.finos.symphony.toolkit.workflow.content.Room in project spring-bot by finos.
the class ReceiveController method receiveWebhook.
@PostMapping(path = "/hook/{streamId}/{hookId}")
public ResponseEntity<Void> receiveWebhook(@PathVariable(name = "streamId") String streamId, @PathVariable(name = "hookId") String hookId, @RequestBody JsonNode body) throws JsonProcessingException {
Room r = rooms.loadRoomById(streamId);
ActiveWebHooks ho = history.getLastFromHistory(ActiveWebHooks.class, r).orElse(new ActiveWebHooks());
WebHook hook = getHook(ho, hookId);
if ((hook != null) && (hook.isActive())) {
// ok, we've found the webhook for this call.
Template template = hook.getTemplate();
if (template == null) {
template = createDefaultTemplate(body, hook.getDisplayName());
hook.setTemplate(template);
}
EntityJson out = createEntityJson(body, ho, hook);
MessageResponse mr = new MessageResponse(wf, r, out, "", "", template.getContents());
handler.accept(mr);
return new ResponseEntity<Void>(HttpStatus.OK);
}
throw new ResponseStatusException(HttpStatus.NOT_FOUND);
}
Aggregations