encore trop de trucs, demain je commit + souvent promis
This commit is contained in:
parent
53a49f9bef
commit
62a685fafb
@ -9,10 +9,8 @@ import jakarta.persistence.SequenceGenerator;
|
|||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
|
||||||
* Tp
|
|
||||||
*/
|
|
||||||
@Entity
|
@Entity
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@ -26,11 +24,13 @@ public class Ji {
|
|||||||
public String description;
|
public String description;
|
||||||
public String respo;
|
public String respo;
|
||||||
public String date;
|
public String date;
|
||||||
|
public Long siteId;
|
||||||
|
|
||||||
public Tp(String name, String description, String respo, String date) {
|
public Ji(String name, String description, String respo, String date, Long siteId) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
this.respo = respo;
|
this.respo = respo;
|
||||||
this.date = date;
|
this.date = date;
|
||||||
|
this.siteId = siteId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,31 +1,48 @@
|
|||||||
package fr.la_banquise.backend.data.model;
|
package fr.la_banquise.backend.data.model;
|
||||||
|
|
||||||
import io.quarkus.hibernate.orm.panache.PanacheEntity;
|
import io.quarkus.hibernate.orm.panache.PanacheEntity;
|
||||||
|
|
||||||
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.GeneratedValue;
|
import jakarta.persistence.GeneratedValue;
|
||||||
import jakarta.persistence.GenerationType;
|
import jakarta.persistence.GenerationType;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.SequenceGenerator;
|
import jakarta.persistence.SequenceGenerator;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
import jakarta.persistence.UniqueConstraint;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Table(name = "site")
|
@Table(name = "site", uniqueConstraints = {
|
||||||
|
@UniqueConstraint(columnNames = "name")
|
||||||
|
})
|
||||||
public class Site {
|
public class Site {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@SequenceGenerator(name = "SiteSeq", sequenceName = "site_id_seq", allocationSize = 1, initialValue = 1)
|
@SequenceGenerator(name = "SiteSeq", sequenceName = "site_id_seq", allocationSize = 1, initialValue = 1)
|
||||||
public Long id;
|
public Long id;
|
||||||
|
|
||||||
|
@Column(unique = true, nullable = false)
|
||||||
public String name;
|
public String name;
|
||||||
public String description;
|
public String description;
|
||||||
public String address;
|
public String address;
|
||||||
|
public Set<Long> jiInSite;
|
||||||
|
|
||||||
public Site(String name, String description, String address) {
|
public Site(String name, String description, String address) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
this.address = address;
|
this.address = address;
|
||||||
|
this.jiInSite = new HashSet<Long>();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Site{id=" + id + ", name='" + name + "', description='" + description + "', address='" + address + "'}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
package fr.la_banquise.backend.data.model;
|
|
||||||
|
|
||||||
import io.quarkus.hibernate.orm.panache.PanacheEntity;
|
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.GeneratedValue;
|
|
||||||
import jakarta.persistence.GenerationType;
|
|
||||||
import jakarta.persistence.Id;
|
|
||||||
import jakarta.persistence.SequenceGenerator;
|
|
||||||
import jakarta.persistence.Table;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
@Entity
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Table(name = "Sites")
|
|
||||||
public class Sites {
|
|
||||||
@Id
|
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
@SequenceGenerator(name = "SitesSeq", sequenceName = "sites_id_seq", allocationSize = 1, initialValue = 1)
|
|
||||||
public Long id;
|
|
||||||
public List<Site> sites;
|
|
||||||
|
|
||||||
public Sites(List<Site> sites) {
|
|
||||||
this.sites = sites;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package fr.la_banquise.backend.data.repository;
|
package fr.la_banquise.backend.data.repository;
|
||||||
|
|
||||||
import fr.la_banquise.backend.data.model.Sites;
|
import fr.la_banquise.backend.data.model.Ji;
|
||||||
import io.quarkus.hibernate.orm.panache.PanacheRepository;
|
import io.quarkus.hibernate.orm.panache.PanacheRepository;
|
||||||
import jakarta.enterprise.context.ApplicationScoped;
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
@ApplicationScoped
|
@ApplicationScoped
|
||||||
public class SitesRepository implements PanacheRepository<Sites> {
|
public class JiRepository implements PanacheRepository<Ji> {
|
||||||
}
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package fr.la_banquise.backend.data.repository;
|
||||||
|
|
||||||
|
import fr.la_banquise.backend.data.model.Site;
|
||||||
|
import io.quarkus.hibernate.orm.panache.PanacheRepository;
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
|
||||||
|
@ApplicationScoped
|
||||||
|
public class SiteRepository implements PanacheRepository<Site> {
|
||||||
|
}
|
118
src/main/java/fr/la_banquise/backend/rest/JiResource.java
Normal file
118
src/main/java/fr/la_banquise/backend/rest/JiResource.java
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
package fr.la_banquise.backend.rest;
|
||||||
|
|
||||||
|
import fr.la_banquise.backend.data.model.Ji;
|
||||||
|
import fr.la_banquise.backend.services.JiService;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.ws.rs.*;
|
||||||
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
import jakarta.ws.rs.core.Response;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.openapi.annotations.responses.APIResponses;
|
||||||
|
import org.eclipse.microprofile.openapi.annotations.responses.APIResponse;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Path("/ji")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
public class JiResource {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
JiService jiService;
|
||||||
|
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/listall")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public Response listall() {
|
||||||
|
try {
|
||||||
|
List<Ji> ji = jiService.getAllJi();
|
||||||
|
return Response.ok(ji).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/create")
|
||||||
|
public Response createJi(@QueryParam("name") String name, @QueryParam("desc") String desc, @QueryParam("address") String address, @QueryParam("respo") String respo, @QueryParam("site") String name_site) {
|
||||||
|
try {
|
||||||
|
Ji jsp = jiService.createJi(name, desc, address, respo, name_site);
|
||||||
|
return Response.ok(Map.of("created", jsp)).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/getbyname")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public Response getJiByName(@QueryParam("name") String name) {
|
||||||
|
try {
|
||||||
|
Ji ji = jiService.getJiByName(name);
|
||||||
|
return Response.ok(ji.toString()).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@DELETE
|
||||||
|
@Path("/del")
|
||||||
|
@APIResponses({
|
||||||
|
@APIResponse(responseCode = "200", description = "Successfully deleted"),
|
||||||
|
@APIResponse(responseCode = "500", description = "Internal server error, usually site not found")
|
||||||
|
})
|
||||||
|
public Response deleteJiByName(@QueryParam("name") String name) {
|
||||||
|
try {
|
||||||
|
jiService.deleteJiByName(name);
|
||||||
|
return Response.ok().build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
@GET
|
||||||
|
@Path("/all")
|
||||||
|
public Response listContainers() {
|
||||||
|
try {
|
||||||
|
String id = dockerService.listAllContainers();
|
||||||
|
return Response.ok(id).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/start")
|
||||||
|
public Response start(@QueryParam("id") String id) {
|
||||||
|
try {
|
||||||
|
dockerService.start(id);
|
||||||
|
return Response.ok(Map.of("containerId", id, "status", "Running")).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/stop")
|
||||||
|
public Response stop(@QueryParam("id") String id) {
|
||||||
|
try {
|
||||||
|
dockerService.stop(id);
|
||||||
|
return Response.ok(Map.of("containerId", id, "status", "removed")).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@DELETE
|
||||||
|
@Path("/remove")
|
||||||
|
public Response remove(@QueryParam("id") String id) {
|
||||||
|
try {
|
||||||
|
dockerService.remove(id);
|
||||||
|
return Response.ok(Map.of("containerId", id, "status", "removed")).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
129
src/main/java/fr/la_banquise/backend/rest/SiteEndpoints.java
Normal file
129
src/main/java/fr/la_banquise/backend/rest/SiteEndpoints.java
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
package fr.la_banquise.backend.rest;
|
||||||
|
|
||||||
|
import fr.la_banquise.backend.data.model.Site;
|
||||||
|
import fr.la_banquise.backend.services.SiteService;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.ws.rs.*;
|
||||||
|
import jakarta.ws.rs.core.MediaType;
|
||||||
|
import jakarta.ws.rs.core.Response;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.openapi.annotations.responses.APIResponses;
|
||||||
|
import org.eclipse.microprofile.openapi.annotations.responses.APIResponse;
|
||||||
|
import org.eclipse.microprofile.openapi.annotations.Operation;
|
||||||
|
import org.eclipse.microprofile.openapi.annotations.parameters.Parameter;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Path("/sites")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
public class SiteEndpoints {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
SiteService siteService;
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/listall")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public Response listall() {
|
||||||
|
try {
|
||||||
|
List<Site> sites = siteService.getAllSites();
|
||||||
|
return Response.ok(sites).build();
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/create")
|
||||||
|
public Response createSite(@QueryParam("name") String name, @QueryParam("desc") String desc, @QueryParam("address") String address) {
|
||||||
|
try {
|
||||||
|
String jsp = siteService.createSite(name, desc, address).toString();
|
||||||
|
return Response.ok(Map.of("created", jsp)).build();
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/getbyname")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public Response getSiteByName(@QueryParam("name") String name) {
|
||||||
|
try {
|
||||||
|
Site site = siteService.getSiteByName(name);
|
||||||
|
return Response.ok(site.toString()).build();
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@DELETE
|
||||||
|
@Path("/del")
|
||||||
|
@Operation(summary = "Deletes a site", description = "Permanently removes a site if no Ji are associated to it.")
|
||||||
|
@APIResponses({
|
||||||
|
@APIResponse(responseCode = "200", description = "Successfully deleted"),
|
||||||
|
@APIResponse(responseCode = "409", description = "Cannot delete site, it has associated JI records"),
|
||||||
|
@APIResponse(responseCode = "500", description = "Internal server error, usually site not found")})
|
||||||
|
public Response deleteSiteByName(@QueryParam("name") String name) {
|
||||||
|
try {
|
||||||
|
boolean retour = siteService.deleteSiteByName(name);
|
||||||
|
if (retour) { return Response.ok().build(); }
|
||||||
|
return Response.status(409).entity(Map.of("Cannot delete site", "it has associated JI records")).build();
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
@GET
|
||||||
|
@Path("/all")
|
||||||
|
public Response listContainers() {
|
||||||
|
try {
|
||||||
|
String id = dockerService.listAllContainers();
|
||||||
|
return Response.ok(id).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/start")
|
||||||
|
public Response start(@QueryParam("id") String id) {
|
||||||
|
try {
|
||||||
|
dockerService.start(id);
|
||||||
|
return Response.ok(Map.of("containerId", id, "status", "Running")).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/stop")
|
||||||
|
public Response stop(@QueryParam("id") String id) {
|
||||||
|
try {
|
||||||
|
dockerService.stop(id);
|
||||||
|
return Response.ok(Map.of("containerId", id, "status", "removed")).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@DELETE
|
||||||
|
@Path("/remove")
|
||||||
|
public Response remove(@QueryParam("id") String id) {
|
||||||
|
try {
|
||||||
|
dockerService.remove(id);
|
||||||
|
return Response.ok(Map.of("containerId", id, "status", "removed")).build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Response.status(500).entity(Map.of("error", e.getMessage())).build();
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
@ -134,7 +134,7 @@ if (port.getType() != null) {
|
|||||||
|
|
||||||
json.append("]");
|
json.append("]");
|
||||||
return json.toString();
|
return json.toString();
|
||||||
} */
|
}
|
||||||
public String listAllContainers() {
|
public String listAllContainers() {
|
||||||
StringBuilder json = new StringBuilder();
|
StringBuilder json = new StringBuilder();
|
||||||
List<Container> containers = dockerClient.listContainersCmd()
|
List<Container> containers = dockerClient.listContainersCmd()
|
||||||
@ -173,7 +173,8 @@ if (port.getType() != null) {
|
|||||||
}
|
}
|
||||||
json.append("]");
|
json.append("]");
|
||||||
return json.toString();
|
return json.toString();
|
||||||
}
|
}*/
|
||||||
|
public String listAllContainers() { return ""; }
|
||||||
|
|
||||||
public void start(String containerId) {
|
public void start(String containerId) {
|
||||||
dockerClient.startContainerCmd(containerId).exec();
|
dockerClient.startContainerCmd(containerId).exec();
|
||||||
|
59
src/main/java/fr/la_banquise/backend/services/JiService.java
Normal file
59
src/main/java/fr/la_banquise/backend/services/JiService.java
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package fr.la_banquise.backend.services;
|
||||||
|
|
||||||
|
import fr.la_banquise.backend.data.model.Ji;
|
||||||
|
import fr.la_banquise.backend.data.model.Site;
|
||||||
|
import fr.la_banquise.backend.data.repository.JiRepository;
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.transaction.Transactional;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@ApplicationScoped
|
||||||
|
public class JiService {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
JiRepository jiRepository;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
SiteService siteService;
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public Ji createJi(String name, String description, String address, String respo, String site_name) {
|
||||||
|
Site site = siteService.getSiteByName(site_name);
|
||||||
|
Ji ji = new Ji(name, description, address, respo, site.id);
|
||||||
|
jiRepository.persist(ji);
|
||||||
|
siteService.addJi(site, ji.id);
|
||||||
|
return ji;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*@Transactional
|
||||||
|
public List<Site> saveAllSites(List<Site> sites) {
|
||||||
|
sites.forEach(site -> siteRepository.persist(site));
|
||||||
|
return sites;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
public List<Ji> getAllJi() {
|
||||||
|
return jiRepository.listAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Ji getJiByName(String name) {
|
||||||
|
return jiRepository.find("name", name).firstResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Ji getJiById(Long id) {
|
||||||
|
return jiRepository.findById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public void deleteJiById(Long id) {
|
||||||
|
siteService.removeJi(siteService.getSiteById(getJiById(id).siteId), id);
|
||||||
|
jiRepository.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public void deleteJiByName(String name) {
|
||||||
|
Ji ji = getJiByName(name);
|
||||||
|
siteService.removeJi(siteService.getSiteById(ji.siteId), ji.id);
|
||||||
|
jiRepository.delete(ji);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,72 @@
|
|||||||
|
package fr.la_banquise.backend.services;
|
||||||
|
|
||||||
|
import fr.la_banquise.backend.data.model.Site;
|
||||||
|
import fr.la_banquise.backend.data.repository.SiteRepository;
|
||||||
|
import jakarta.enterprise.context.ApplicationScoped;
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import jakarta.transaction.Transactional;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@ApplicationScoped
|
||||||
|
public class SiteService {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
SiteRepository siteRepository;
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public Site createSite(String name, String description, String address) {
|
||||||
|
Site site = new Site(name, description, address);
|
||||||
|
siteRepository.persist(site);
|
||||||
|
return site;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*@Transactional
|
||||||
|
public List<Site> saveAllSites(List<Site> sites) {
|
||||||
|
sites.forEach(site -> siteRepository.persist(site));
|
||||||
|
return sites;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
public List<Site> getAllSites() {
|
||||||
|
return siteRepository.listAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Site getSiteByName(String name) {
|
||||||
|
return siteRepository.find("name", name).firstResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Site getSiteById(Long id) {
|
||||||
|
return siteRepository.findById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public void addJi(Site site, Long id){
|
||||||
|
site.jiInSite.add(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public void removeJi(Site site, Long id){
|
||||||
|
site.jiInSite.remove(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public boolean deleteSiteById(Long id) {
|
||||||
|
if (getSiteById(id).jiInSite.isEmpty())
|
||||||
|
{
|
||||||
|
siteRepository.deleteById(id);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public boolean deleteSiteByName(String name) {
|
||||||
|
Site site = getSiteByName(name);
|
||||||
|
if (site.jiInSite.isEmpty())
|
||||||
|
{
|
||||||
|
siteRepository.delete(site);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
@ -26,13 +26,13 @@ quarkus.security.ldap.identity-mapping.attribute-mappings."0".filter-base-dn=ou=
|
|||||||
|
|
||||||
# database
|
# database
|
||||||
quarkus.datasource.db-kind = postgresql
|
quarkus.datasource.db-kind = postgresql
|
||||||
quarkus.datasource.username = postgres
|
quarkus.datasource.username = banq
|
||||||
quarkus.datasource.password = secret
|
quarkus.datasource.password = test
|
||||||
#quarkus.datasource.jdbc.url = jdbc:postgresql://localhost:5432/quarkus
|
quarkus.datasource.jdbc.url = jdbc:postgresql://localhost:5432/quarkus
|
||||||
|
|
||||||
# drop and create the database at startup (use `update` to only update the schema)drop-and-create
|
# drop and create the database at startup (use `update` to only update the schema)drop-and-create
|
||||||
quarkus.hibernate-orm.database.generation=update
|
#quarkus.hibernate-orm.database.generation=update
|
||||||
#quarkus.hibernate-orm.database.generation=drop-and-create
|
quarkus.hibernate-orm.database.generation=drop-and-create
|
||||||
|
|
||||||
quarkus.quinoa.dev-server.port=5173
|
quarkus.quinoa.dev-server.port=5173
|
||||||
quarkus.quinoa.enable-spa-routing=true
|
quarkus.quinoa.enable-spa-routing=true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user