Select Git revision
command.proto
RootController.java 1.92 KiB
/*
* Copyright (c) 2024.
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.antragsraum;
import static java.util.Objects.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.info.BuildProperties;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import lombok.RequiredArgsConstructor;
@RestController(RootController.PATH)
@RequiredArgsConstructor
public class RootController {
static final String PATH = "/"; // NOSONAR
private static final String JAVA_VERSION_PROPERTY_NAME = "java.version";
private final BuildProperties buildProperties;
@Value("${ozgcloud.stage.production:#{true}}")
private boolean production = true;
@GetMapping
public ResponseEntity<Root> getRoot() {
var root = new Root.RootBuilder()
.version(isNull(buildProperties) ? null : buildProperties.getVersion())
.buildTime(isNull(buildProperties) ? null : buildProperties.getTime())
.name(isNull(buildProperties) ? null : buildProperties.getName())
.javaVersion(System.getProperty(JAVA_VERSION_PROPERTY_NAME))
.isProduction(production)
.build();
return ResponseEntity.ok(root);
}
}