Browse Source

ORM kinda working

refactor_future_hack
Jonathan Christison 3 years ago
parent
commit
2fd582e2ca
  1. 38
      src/main/java/com/redhat/pctsec/model/Scan.java
  2. 2
      src/main/java/com/redhat/pctsec/model/ScanRequest.java
  3. 33
      src/main/java/com/redhat/pctsec/model/ScanRequests.java
  4. 14
      src/main/java/com/redhat/pctsec/rest/v1alpha1/ScanResource.java
  5. 3
      src/main/resources/application.properties

38
src/main/java/com/redhat/pctsec/model/Scan.java

@ -3,8 +3,10 @@ package com.redhat.pctsec.model;
import jakarta.persistence.*;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotNull;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
import java.util.Calendar;
import java.time.Instant;
import java.util.UUID;
enum ScanState {
@ -13,6 +15,26 @@ enum ScanState {
@Entity
public class Scan {
public Scan() {
this.scanRequests = new ScanRequests();
}
public Instant getCreationTimestamp() {
return creationTimestamp;
}
public void setCreationTimestamp(Instant creationTimestamp) {
this.creationTimestamp = creationTimestamp;
}
public ScanState getState() {
return state;
}
public void setState(ScanState state) {
this.state = state;
}
public String getProductName() {
return productName;
}
@ -59,9 +81,17 @@ public class Scan {
@Column(name="proudct_name")
private String productName;
@Temporal(TemporalType.TIMESTAMP)
//@Temporal(TemporalType.TIMESTAMP)
@CreationTimestamp
@Column(name="creation_timestamp")
private Calendar creationTimestamp;
//@NotNull
private Instant creationTimestamp;
@UpdateTimestamp
@Column(name="update_timestamp")
//@NotNull
private Instant updateTimestamp;
@Column(name="state")
@Enumerated(EnumType.STRING)
@ -75,7 +105,7 @@ public class Scan {
@Email
private String email;
@OneToOne
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "scan_requests_id", referencedColumnName = "id")
private ScanRequests scanRequests;
}

2
src/main/java/com/redhat/pctsec/model/ScanRequest.java

@ -36,7 +36,7 @@ public class ScanRequest {
@OneToOne
@JoinColumn(name = "pnc_build_id", referencedColumnName = "id")
PNCBuild pncBuild;
@OneToOne
@OneToOne(fetch=FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "git_id", referencedColumnName = "id")
Git git;

33
src/main/java/com/redhat/pctsec/model/ScanRequests.java

@ -17,21 +17,22 @@ public class ScanRequests {
@GeneratedValue
private UUID id;
@OneToMany(fetch=FetchType.LAZY)
@OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "scan_request_id", referencedColumnName = "id")
private Set<ScanRequest> scanRequests = new HashSet<>();
private Set<ScanRequest> scanRequests;// = new HashSet<>();
//@Column(name="scan_properties")
@Column(name="scan_properties")
private String scanProperties;
//@Column(name="scan_metadata")
@Column(name="scan_metadata")
private String scanMetadata;
public ScanRequests(){
//Default to the Snyk scan
this.scanProperties = "-p snyk-only-unstable --tarball-build-script=\":\"";
this.scanRequests = new HashSet<>();
}
public ScanRequests(pssaas pssaas){
@ -75,4 +76,28 @@ public class ScanRequests {
s.executeScan();
}
}
public Set<ScanRequest> getScanRequests() {
return scanRequests;
}
public void setScanRequests(Set<ScanRequest> scanRequests) {
this.scanRequests = scanRequests;
}
public String getScanProperties() {
return scanProperties;
}
public void setScanProperties(String scanProperties) {
this.scanProperties = scanProperties;
}
public String getScanMetadata() {
return scanMetadata;
}
public void setScanMetadata(String scanMetadata) {
this.scanMetadata = scanMetadata;
}
}

14
src/main/java/com/redhat/pctsec/rest/v1alpha1/ScanResource.java

@ -8,12 +8,14 @@ import com.redhat.pctsec.model.api.request.pssaas;
import com.redhat.pctsec.model.jpa.ScanRepository;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.transaction.Transactional;
import jakarta.validation.Valid;
import jakarta.ws.rs.*;
import org.jboss.resteasy.reactive.RestQuery;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.UUID;
@ApplicationScoped
@ -58,14 +60,20 @@ public class ScanResource {
@GET
@Path("single/git")
@Produces({"application/json"})
@Transactional
public Scan singleGit(@RestQuery String repo, @RestQuery String ref)
{
//ScanRequest scanRequest = new ScanRequest(new Git(repo, ref));
ScanRequests scanRequests = new ScanRequests();
scanRequests.addGit(repo,ref);
//sr.persist(scanRequests);
Scan s = new Scan();
s.setScanRequests(scanRequests);
//s.setScanRequests(new ScanRequests().setScanRequests((Set<ScanRequest>) new Git(repo, ref)));
//ScanRequests scanRequests = new ScanRequests();
//scanRequests.addGit(repo,ref);
s.setRequestor("jochrist");
s.getScanRequests().addGit(repo,ref);
//s.setScanRequests(
sr.persist(s);
return s;
}

3
src/main/resources/application.properties

@ -21,10 +21,11 @@
#%dev.quarkus.kerberos.keytab-path= HTTP_osh-pct-security-tooling.apps.ocp-c1.prod.psi.redhat.com@IPA.REDHAT.COM.keytab
#%dev.quarkus.kerberos.service-principal-name= HTTP/osh-pct-security-tooling.apps.ocp-c1.prod.psi.redhat.com@IPA.REDHAT.COM
%dev.quarkus.datasource.devservices.enabled=true
%dev.quarkus.datasource.db-kind = postgresql
%dev.quarkus.datasource.username = quarkus
%dev.quarkus.datasource.password = quarkus
%dev.quarkus.datasource.jdbc.url = jdbc:postgresql://localhost:5432/hibernate_db
#%dev.quarkus.datasource.jdbc.url = jdbc:postgresql://localhost:5432/hibernate_db
%dev.quarkus.hibernate-orm.database.generation=drop-and-create
#Always provide swagger ui
%dev.quarkus.swagger-ui.always-include=true

Loading…
Cancel
Save