39 lines
1.1 KiB
Java
39 lines
1.1 KiB
Java
package fr.la_banquise.backend.rest;
|
|
|
|
import fr.la_banquise.backend.rest.request.InstanceRequest;
|
|
import fr.la_banquise.backend.services.InstanceService;
|
|
import io.quarkus.security.identity.SecurityIdentity;
|
|
import jakarta.inject.Inject;
|
|
import jakarta.ws.rs.GET;
|
|
import jakarta.ws.rs.POST;
|
|
import jakarta.ws.rs.Path;
|
|
import jakarta.ws.rs.Produces;
|
|
import jakarta.ws.rs.core.MediaType;
|
|
import jakarta.ws.rs.core.Response;
|
|
|
|
/**
|
|
* InstanceEndpoints
|
|
*/
|
|
@Path("/api/instances")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public class InstanceEndpoints {
|
|
|
|
@Inject
|
|
SecurityIdentity identity;
|
|
|
|
@Inject
|
|
InstanceService instanceService;
|
|
|
|
@GET
|
|
public Response getAllInstances() {
|
|
String username = identity.getPrincipal().getName();
|
|
return Response.ok(instanceService.getAllInstances(username)).build();
|
|
}
|
|
|
|
@POST
|
|
public Response createInstance(InstanceRequest request) {
|
|
instanceService.createInstance(request.name, request.ssh, request.pwd, request.port, request.username, request.tpId);
|
|
return Response.ok().build();
|
|
}
|
|
}
|