diff options
Diffstat (limited to 'dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler')
13 files changed, 776 insertions, 0 deletions
diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ApiUtil.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ApiUtil.java new file mode 100644 index 00000000..c72e5fe8 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ApiUtil.java @@ -0,0 +1,19 @@ +package org.openslx.bwlp.sat.api.handler; + +import org.springframework.web.context.request.NativeWebRequest; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class ApiUtil { + public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { + try { + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/BwlpApi.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/BwlpApi.java new file mode 100644 index 00000000..cdc2bfd7 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/BwlpApi.java @@ -0,0 +1,54 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (5.3.1). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openslx.bwlp.sat.api.handler; + +import io.swagger.annotations.*; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import javax.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Validated +@Api(value = "bwlp", description = "the bwlp API") +public interface BwlpApi { + + default Optional<NativeWebRequest> getRequest() { + return Optional.empty(); + } + + /** + * GET /bwlp/container/clusterimages : List all bwLehrpool container images + * + * @return Successful operation (status code 200) + * or Failed to retrieve container images (status code 500) + */ + + @ApiOperation(value = "List all bwLehrpool container images", nickname = "bwlpGetClusterImagesList", notes = "", tags={ "container", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Failed to retrieve container images") }) + @RequestMapping( + method = RequestMethod.GET, + value = "/bwlp/container/clusterimages", + produces = { "application/json" } + ) + default ResponseEntity<Void> bwlpGetClusterImagesList() { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/BwlpApiController.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/BwlpApiController.java new file mode 100644 index 00000000..2450618b --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/BwlpApiController.java @@ -0,0 +1,24 @@ +package org.openslx.bwlp.sat.api.handler; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.request.NativeWebRequest; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Controller +@RequestMapping("${openapi.bwLehrpoolServer.base-path:}") +public class BwlpApiController implements BwlpApi { + + private final NativeWebRequest request; + + @org.springframework.beans.factory.annotation.Autowired + public BwlpApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional<NativeWebRequest> getRequest() { + return Optional.ofNullable(request); + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/DoApi.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/DoApi.java new file mode 100644 index 00000000..19e7f5eb --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/DoApi.java @@ -0,0 +1,217 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (5.3.1). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openslx.bwlp.sat.api.handler; + +import java.util.UUID; +import io.swagger.annotations.*; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import javax.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Validated +@Api(value = "do", description = "the do API") +public interface DoApi { + + default Optional<NativeWebRequest> getRequest() { + return Optional.empty(); + } + + /** + * POST /do/delete-images : Delete old images on the bwLehrpool-Server + * + * @return Successful operation (status code 200) + * or Failed to delete old images (status code 500) + */ + + @ApiOperation(value = "Delete old images on the bwLehrpool-Server", nickname = "doDeleteOldImagesOnFileserver", notes = "", tags={ "server", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Failed to delete old images") }) + @RequestMapping( + method = RequestMethod.POST, + value = "/do/delete-images", + produces = { "text/plain" } + ) + default ResponseEntity<Void> doDeleteOldImagesOnFileserver() { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /do/mailtest : Send a test mail from the bwLehrpool-Server + * + * @param host Domain of SMTP mail server (required) + * @param port Port of SMTP mail server (required) + * @param ssl Encryption mode for the SMTP mail server (required) + * @param serverName Name of the SMTP mail server (required) + * @param username Username for the SMTP mail server (required) + * @param password Password for the SMTP mail server (required) + * @param senderAddress Sender address for the test mail (required) + * @param recipient Recipient for the test mail (required) + * @param replyTo Reply-To address for the test mail (required) + * @return Successful operation (status code 200) + * or Failed to send test mail (status code 400) + */ + + @ApiOperation(value = "Send a test mail from the bwLehrpool-Server", nickname = "doMailtestOnFileserver", notes = "", tags={ "server", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 400, message = "Failed to send test mail") }) + @RequestMapping( + method = RequestMethod.POST, + value = "/do/mailtest", + produces = { "text/plain" } + ) + default ResponseEntity<Void> doMailtestOnFileserver(@NotNull @ApiParam(value = "Domain of SMTP mail server", required = true) @Valid @RequestParam(value = "host", required = true) String host + +,@NotNull @ApiParam(value = "Port of SMTP mail server", required = true) @Valid @RequestParam(value = "port", required = true) Integer port + +,@NotNull @ApiParam(value = "Encryption mode for the SMTP mail server", required = true, allowableValues = "NONE, IMPLICIT, EXPLICIT") @Valid @RequestParam(value = "ssl", required = true) String ssl + +,@NotNull @ApiParam(value = "Name of the SMTP mail server", required = true) @Valid @RequestParam(value = "serverName", required = true) String serverName + +,@NotNull @ApiParam(value = "Username for the SMTP mail server", required = true) @Valid @RequestParam(value = "username", required = true) String username + +,@NotNull @ApiParam(value = "Password for the SMTP mail server", required = true) @Valid @RequestParam(value = "password", required = true) String password + +,@NotNull @ApiParam(value = "Sender address for the test mail", required = true) @Valid @RequestParam(value = "senderAddress", required = true) String senderAddress + +,@NotNull @ApiParam(value = "Recipient for the test mail", required = true) @Valid @RequestParam(value = "recipient", required = true) String recipient + +,@NotNull @ApiParam(value = "Reply-To address for the test mail", required = true) @Valid @RequestParam(value = "replyTo", required = true) String replyTo + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /do/query-image-check : Query image check on the bwLehrpool-Server + * + * @param versionid Query image check for specified image version (optional) + * @return Successful operation (status code 200) + * or Failed to query image check (status code 500) + */ + + @ApiOperation(value = "Query image check on the bwLehrpool-Server", nickname = "doQueryImageCheckOnFileserver", notes = "", tags={ "server", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Failed to query image check") }) + @RequestMapping( + method = RequestMethod.POST, + value = "/do/query-image-check", + produces = { "application/json" } + ) + default ResponseEntity<Void> doQueryImageCheckOnFileserver(@ApiParam(value = "Query image check for specified image version") @Valid @RequestParam(value = "versionid", required = false) UUID versionid + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /do/reset-mail-templates : Rest mail templates on the bwLehrpool-Server + * + * @return Successful operation (status code 200) + * or Failed to reset mail templates (status code 500) + */ + + @ApiOperation(value = "Rest mail templates on the bwLehrpool-Server", nickname = "doResetMailTemplatesOnFileserver", notes = "", tags={ "server", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Failed to reset mail templates") }) + @RequestMapping( + method = RequestMethod.POST, + value = "/do/reset-mail-templates", + produces = { "text/plain" } + ) + default ResponseEntity<Void> doResetMailTemplatesOnFileserver() { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /do/scan-orphaned-files : Scan orphaned files on the bwLehrpool-Server + * + * @param action Action for orphaned files (optional) + * @return Successful operation (status code 200) + * or Failed to scan orphaned files (status code 500) + */ + + @ApiOperation(value = "Scan orphaned files on the bwLehrpool-Server", nickname = "doScanOrphanedFilesOnFileserver", notes = "", tags={ "server", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Failed to scan orphaned files") }) + @RequestMapping( + method = RequestMethod.POST, + value = "/do/scan-orphaned-files", + produces = { "application/json" } + ) + default ResponseEntity<Void> doScanOrphanedFilesOnFileserver(@ApiParam(value = "Action for orphaned files", allowableValues = "delete") @Valid @RequestParam(value = "action", required = false) String action + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * POST /do/start-image-check : Start image check on the bwLehrpool-Server + * + * @param versionid Image version for the image check (required) + * @param hash Check hashes of images (required) + * @param update Update state of images (required) + * @return Successful operation (status code 200) + * or Failed to start image check (status code 500) + */ + + @ApiOperation(value = "Start image check on the bwLehrpool-Server", nickname = "doStartImageCheckOnFileserver", notes = "", tags={ "server", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Failed to start image check") }) + @RequestMapping( + method = RequestMethod.POST, + value = "/do/start-image-check", + produces = { "text/plain" } + ) + default ResponseEntity<Void> doStartImageCheckOnFileserver(@NotNull @ApiParam(value = "Image version for the image check", required = true) @Valid @RequestParam(value = "versionid", required = true) UUID versionid + +,@NotNull @ApiParam(value = "Check hashes of images", required = true) @Valid @RequestParam(value = "hash", required = true) Boolean hash + +,@NotNull @ApiParam(value = "Update state of images", required = true) @Valid @RequestParam(value = "update", required = true) Boolean update + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/DoApiController.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/DoApiController.java new file mode 100644 index 00000000..b34f8d5b --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/DoApiController.java @@ -0,0 +1,24 @@ +package org.openslx.bwlp.sat.api.handler; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.request.NativeWebRequest; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Controller +@RequestMapping("${openapi.bwLehrpoolServer.base-path:}") +public class DoApiController implements DoApi { + + private final NativeWebRequest request; + + @org.springframework.beans.factory.annotation.Autowired + public DoApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional<NativeWebRequest> getRequest() { + return Optional.ofNullable(request); + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ImageApi.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ImageApi.java new file mode 100644 index 00000000..b73b6e0f --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ImageApi.java @@ -0,0 +1,58 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (5.3.1). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openslx.bwlp.sat.api.handler; + +import java.util.UUID; +import io.swagger.annotations.*; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import javax.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Validated +@Api(value = "image", description = "the image API") +public interface ImageApi { + + default Optional<NativeWebRequest> getRequest() { + return Optional.empty(); + } + + /** + * GET /image/container/{uuid}/metadata : Get metadata for specified container image + * + * @param uuid UUID of the container (required) + * @return Successful operation (status code 200) + * or Failed to retrieve container metadata (status code 500) + */ + + @ApiOperation(value = "Get metadata for specified container image", nickname = "getContainerImageMetadata", notes = "", tags={ "container", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Failed to retrieve container metadata") }) + @RequestMapping( + method = RequestMethod.GET, + value = "/image/container/{uuid}/metadata", + produces = { "application/json" } + ) + default ResponseEntity<Void> getContainerImageMetadata(@ApiParam(value = "UUID of the container", required = true) @PathVariable("uuid") UUID uuid + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ImageApiController.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ImageApiController.java new file mode 100644 index 00000000..55337159 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/ImageApiController.java @@ -0,0 +1,24 @@ +package org.openslx.bwlp.sat.api.handler; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.request.NativeWebRequest; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Controller +@RequestMapping("${openapi.bwLehrpoolServer.base-path:}") +public class ImageApiController implements ImageApi { + + private final NativeWebRequest request; + + @org.springframework.beans.factory.annotation.Autowired + public ImageApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional<NativeWebRequest> getRequest() { + return Optional.ofNullable(request); + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/OpenAPI2SpringBoot.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/OpenAPI2SpringBoot.java new file mode 100644 index 00000000..258ef11a --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/OpenAPI2SpringBoot.java @@ -0,0 +1,57 @@ +package org.openslx.bwlp.sat.api.handler; + +import com.fasterxml.jackson.databind.Module; +import org.openapitools.jackson.nullable.JsonNullableModule; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.ExitCodeGenerator; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@SpringBootApplication +@ComponentScan(basePackages = {"org.openslx.bwlp.sat.api.handler", "org.openslx.bwlp.sat.api.handler" , "org.openapitools.configuration"}) +public class OpenAPI2SpringBoot implements CommandLineRunner { + + @Override + public void run(String... arg0) throws Exception { + if (arg0.length > 0 && arg0[0].equals("exitcode")) { + throw new ExitException(); + } + } + + public static void main(String[] args) throws Exception { + new SpringApplication(OpenAPI2SpringBoot.class).run(args); + } + + static class ExitException extends RuntimeException implements ExitCodeGenerator { + private static final long serialVersionUID = 1L; + + @Override + public int getExitCode() { + return 10; + } + + } + + @Bean + public WebMvcConfigurer webConfigurer() { + return new WebMvcConfigurer() { + /*@Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("*") + .allowedMethods("*") + .allowedHeaders("Content-Type"); + }*/ + }; + } + + @Bean + public Module jsonNullableModule() { + return new JsonNullableModule(); + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java new file mode 100644 index 00000000..cf996787 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java @@ -0,0 +1,38 @@ +package org.openslx.bwlp.sat.api.handler; + +import com.fasterxml.jackson.databind.util.StdDateFormat; + +import java.text.DateFormat; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +public class RFC3339DateFormat extends DateFormat { + private static final long serialVersionUID = 1L; + private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC"); + + private final StdDateFormat fmt = new StdDateFormat() + .withTimeZone(TIMEZONE_Z) + .withColonInTimeZone(true); + + public RFC3339DateFormat() { + this.calendar = new GregorianCalendar(); + } + + @Override + public Date parse(String source, ParsePosition pos) { + return fmt.parse(source, pos); + } + + @Override + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + return fmt.format(date, toAppendTo, fieldPosition); + } + + @Override + public Object clone() { + return this; + } +}
\ No newline at end of file diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/StatusApi.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/StatusApi.java new file mode 100644 index 00000000..141058c2 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/StatusApi.java @@ -0,0 +1,61 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (5.3.1). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openslx.bwlp.sat.api.handler; + +import org.openslx.bwlp.sat.api.model.StatusFileserver; +import io.swagger.annotations.*; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import javax.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Validated +@Api(value = "status", description = "the status API") +public interface StatusApi { + + default Optional<NativeWebRequest> getRequest() { + return Optional.empty(); + } + + /** + * GET /status/fileserver : Get bwLehrpool-Server status + * + * @return Successful operation (status code 200) + */ + + @ApiOperation(value = "Get bwLehrpool-Server status", nickname = "getFileserverStatus", notes = "", response = StatusFileserver.class, tags={ "server", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation", response = StatusFileserver.class) }) + @RequestMapping( + method = RequestMethod.GET, + value = "/status/fileserver", + produces = { "application/json" } + ) + default ResponseEntity<StatusFileserver> getFileserverStatus() { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"activeUploads\" : 0, \"activeDownloads\" : 6 }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/StatusApiController.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/StatusApiController.java new file mode 100644 index 00000000..3b486073 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/StatusApiController.java @@ -0,0 +1,24 @@ +package org.openslx.bwlp.sat.api.handler; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.request.NativeWebRequest; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Controller +@RequestMapping("${openapi.bwLehrpoolServer.base-path:}") +public class StatusApiController implements StatusApi { + + private final NativeWebRequest request; + + @org.springframework.beans.factory.annotation.Autowired + public StatusApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional<NativeWebRequest> getRequest() { + return Optional.ofNullable(request); + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/VmchooserApi.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/VmchooserApi.java new file mode 100644 index 00000000..cf35d745 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/VmchooserApi.java @@ -0,0 +1,152 @@ +/** + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (5.3.1). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +package org.openslx.bwlp.sat.api.handler; + +import java.util.UUID; +import org.openslx.bwlp.sat.api.model.VirtualMachineImages; +import io.swagger.annotations.*; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.NativeWebRequest; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import javax.validation.constraints.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Validated +@Api(value = "vmchooser", description = "the vmchooser API") +public interface VmchooserApi { + + default Optional<NativeWebRequest> getRequest() { + return Optional.empty(); + } + + /** + * GET /vmchooser/lecture/{uuid}/imagemeta : Get metadata of virtual mchine image for specified lecture + * + * @param uuid UUID of the lecture (required) + * @return Successful operation (status code 200) + * or Faild to retrieve metadata (status code 500) + */ + + @ApiOperation(value = "Get metadata of virtual mchine image for specified lecture", nickname = "vmchooserGetLectureImageMeta", notes = "", tags={ "vmchooser", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Faild to retrieve metadata") }) + @RequestMapping( + method = RequestMethod.GET, + value = "/vmchooser/lecture/{uuid}/imagemeta", + produces = { "application/json" } + ) + default ResponseEntity<Void> vmchooserGetLectureImageMeta(@ApiParam(value = "UUID of the lecture", required = true) @PathVariable("uuid") UUID uuid + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /vmchooser/lecture/{uuid}/metadata : Get metadata for specified lecture + * + * @param uuid UUID of the lecture (required) + * @return Successful operation (status code 200) + * or Faild to retrieve metadata (status code 500) + */ + + @ApiOperation(value = "Get metadata for specified lecture", nickname = "vmchooserGetLectureMetadata", notes = "", tags={ "vmchooser", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Faild to retrieve metadata") }) + @RequestMapping( + method = RequestMethod.GET, + value = "/vmchooser/lecture/{uuid}/metadata", + produces = { "application/gzip" } + ) + default ResponseEntity<Void> vmchooserGetLectureMetadata(@ApiParam(value = "UUID of the lecture", required = true) @PathVariable("uuid") UUID uuid + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /vmchooser/lecture/{uuid}/netrules : Get network rules for specified lecture + * + * @param uuid UUID of the lecture (required) + * @return Successful operation (status code 200) + * or Faild to retrieve network rules (status code 500) + */ + + @ApiOperation(value = "Get network rules for specified lecture", nickname = "vmchooserGetLectureNetRules", notes = "", tags={ "vmchooser", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation"), + + @ApiResponse(code = 500, message = "Faild to retrieve network rules") }) + @RequestMapping( + method = RequestMethod.GET, + value = "/vmchooser/lecture/{uuid}/netrules", + produces = { "text/plain" } + ) + default ResponseEntity<Void> vmchooserGetLectureNetRules(@ApiParam(value = "UUID of the lecture", required = true) @PathVariable("uuid") UUID uuid + +) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + + + /** + * GET /vmchooser/list : List all bwLehrpool virtual machine images + * + * @param locations IDs of locations that need to be considered for the filter (optional) + * @param exams Include exam events for the filter (optional, default to false) + * @return Successful operation (status code 200) + * or Failed to retrieve list (status code 500) + */ + + @ApiOperation(value = "List all bwLehrpool virtual machine images", nickname = "vmchooserGetList", notes = "", response = VirtualMachineImages.class, tags={ "vmchooser", }) + @ApiResponses(value = { + + @ApiResponse(code = 200, message = "Successful operation", response = VirtualMachineImages.class), + + @ApiResponse(code = 500, message = "Failed to retrieve list") }) + @RequestMapping( + method = RequestMethod.GET, + value = "/vmchooser/list", + produces = { "application/xml" } + ) + default ResponseEntity<VirtualMachineImages> vmchooserGetList(@ApiParam(value = "IDs of locations that need to be considered for the filter") @Valid @RequestParam(value = "locations", required = false) List<Integer> locations + +,@ApiParam(value = "Include exam events for the filter", defaultValue = "false") @Valid @RequestParam(value = "exams", required = false, defaultValue = "false") Boolean exams + +) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = "<settings> </settings>"; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + + } + +} diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/VmchooserApiController.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/VmchooserApiController.java new file mode 100644 index 00000000..1a717861 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/VmchooserApiController.java @@ -0,0 +1,24 @@ +package org.openslx.bwlp.sat.api.handler; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.request.NativeWebRequest; +import java.util.Optional; +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-12-23T15:12:42.264617368+01:00[Europe/Berlin]") +@Controller +@RequestMapping("${openapi.bwLehrpoolServer.base-path:}") +public class VmchooserApiController implements VmchooserApi { + + private final NativeWebRequest request; + + @org.springframework.beans.factory.annotation.Autowired + public VmchooserApiController(NativeWebRequest request) { + this.request = request; + } + + @Override + public Optional<NativeWebRequest> getRequest() { + return Optional.ofNullable(request); + } + +} |