-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* TMI2-253: Add pre-commit check and update .gitignore to include application-local.properties and .env.local * New regex to ensure non-special characters are all handled (#21) * Tmi2 364/add grant advert controller and service (#18) * Feature/GAP-2218 - adds an endpoint to provide the application status (#22) --------- Co-authored-by: Iain Cooper <[email protected]> Co-authored-by: iaincooper-tco <[email protected]> Co-authored-by: ryan-tco <[email protected]> Co-authored-by: john-tco <[email protected]> Co-authored-by: a-lor-cab <[email protected]> Co-authored-by: john-tco <[email protected]>
- Loading branch information
1 parent
8c221e4
commit 5c28056
Showing
68 changed files
with
1,306 additions
and
124 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.4.0 | ||
hooks: | ||
- id: detect-aws-credentials |
24 changes: 24 additions & 0 deletions
24
src/main/java/gov/cabinetoffice/gap/applybackend/dto/api/GetGrandAdvertDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package gov.cabinetoffice.gap.applybackend.dto.api; | ||
|
||
import com.fasterxml.jackson.annotation.JsonProperty; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.util.UUID; | ||
|
||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
@Builder | ||
@Data | ||
public class GetGrandAdvertDto { | ||
private UUID id; | ||
private String externalSubmissionUrl; | ||
private int version; | ||
//need jsonProperty because Jackson removes the 'is' from 'isInternal' | ||
@JsonProperty("isInternal") | ||
private boolean isInternal; | ||
private Integer grantApplicationId; | ||
private Integer grantSchemeId; | ||
} |
9 changes: 8 additions & 1 deletion
9
src/main/java/gov/cabinetoffice/gap/applybackend/dto/api/GetQuestionDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 0 additions & 3 deletions
3
src/main/java/gov/cabinetoffice/gap/applybackend/dto/api/UpdateAttachmentDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
src/main/java/gov/cabinetoffice/gap/applybackend/enums/GrantAdvertPageResponseStatus.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package gov.cabinetoffice.gap.applybackend.enums; | ||
|
||
public enum GrantAdvertPageResponseStatus { | ||
|
||
NOT_STARTED, IN_PROGRESS, COMPLETED, CHANGED | ||
|
||
} |
7 changes: 7 additions & 0 deletions
7
src/main/java/gov/cabinetoffice/gap/applybackend/enums/GrantAdvertSectionResponseStatus.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package gov.cabinetoffice.gap.applybackend.enums; | ||
|
||
public enum GrantAdvertSectionResponseStatus { | ||
|
||
NOT_STARTED, IN_PROGRESS, COMPLETED, CHANGED | ||
|
||
} |
7 changes: 7 additions & 0 deletions
7
src/main/java/gov/cabinetoffice/gap/applybackend/enums/GrantAdvertStatus.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package gov.cabinetoffice.gap.applybackend.enums; | ||
|
||
public enum GrantAdvertStatus { | ||
|
||
DRAFT, SCHEDULED, PUBLISHED, UNPUBLISHED, UNSCHEDULED | ||
|
||
} |
1 change: 0 additions & 1 deletion
1
src/main/java/gov/cabinetoffice/gap/applybackend/model/ApplicationFormSection.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
src/main/java/gov/cabinetoffice/gap/applybackend/model/GapUser.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package gov.cabinetoffice.gap.applybackend.model; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import lombok.Setter; | ||
import lombok.ToString; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.Table; | ||
|
||
@Entity | ||
@Table(name = "gap_user") | ||
@Getter | ||
@Setter | ||
@ToString | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
@Builder | ||
public class GapUser { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "gap_user_id") | ||
private Integer id; | ||
|
||
@Column(name = "user_sub") | ||
private String userSub; | ||
|
||
} |
46 changes: 46 additions & 0 deletions
46
src/main/java/gov/cabinetoffice/gap/applybackend/model/GrantAdmin.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package gov.cabinetoffice.gap.applybackend.model; | ||
|
||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import lombok.Setter; | ||
import lombok.ToString; | ||
|
||
import javax.persistence.CascadeType; | ||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.FetchType; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.OneToOne; | ||
import javax.persistence.Table; | ||
|
||
@Entity | ||
@Table(name = "grant_admin") | ||
@Getter | ||
@Setter | ||
@ToString | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
@Builder | ||
public class GrantAdmin { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "grant_admin_id") | ||
private Integer id; | ||
|
||
@OneToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "funder_id", referencedColumnName = "funder_id") | ||
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) | ||
private FundingOrganisation funder; | ||
|
||
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL) | ||
@JoinColumn(name = "user_id", referencedColumnName = "gap_user_id") | ||
private GapUser gapUser; | ||
|
||
} |
125 changes: 125 additions & 0 deletions
125
src/main/java/gov/cabinetoffice/gap/applybackend/model/GrantAdvert.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
package gov.cabinetoffice.gap.applybackend.model; | ||
|
||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||
import gov.cabinetoffice.gap.applybackend.enums.GrantAdvertStatus; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import lombok.Setter; | ||
import lombok.ToString; | ||
import org.hibernate.Hibernate; | ||
import org.hibernate.annotations.Type; | ||
import org.springframework.data.annotation.CreatedDate; | ||
import org.springframework.data.annotation.LastModifiedDate; | ||
import org.springframework.data.jpa.domain.support.AuditingEntityListener; | ||
|
||
import javax.persistence.CascadeType; | ||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.EntityListeners; | ||
import javax.persistence.EnumType; | ||
import javax.persistence.Enumerated; | ||
import javax.persistence.FetchType; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.Id; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.ManyToOne; | ||
import javax.persistence.Table; | ||
import java.time.Instant; | ||
import java.util.Objects; | ||
import java.util.UUID; | ||
|
||
@EntityListeners(AuditingEntityListener.class) | ||
@Getter | ||
@Setter | ||
@ToString | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
@Builder | ||
@Entity | ||
@Table(name = "grant_advert") | ||
public class GrantAdvert extends BaseEntity { | ||
|
||
@Id | ||
@GeneratedValue | ||
@Column(name = "grant_advert_id") | ||
private UUID id; | ||
|
||
@ManyToOne(cascade = {CascadeType.MERGE, CascadeType.PERSIST}, fetch = FetchType.LAZY) | ||
@JoinColumn(name = "scheme_id", nullable = false) | ||
@ToString.Exclude | ||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) | ||
private GrantScheme scheme; | ||
|
||
@Column(name = "version", nullable = false) | ||
private Integer version; | ||
|
||
@CreatedDate | ||
@Column(name = "created", nullable = false) | ||
private Instant created; | ||
|
||
@ManyToOne(cascade = {CascadeType.MERGE, CascadeType.PERSIST}, fetch = FetchType.LAZY) | ||
@JoinColumn(name = "created_by", referencedColumnName = "grant_admin_id", nullable = false) | ||
@ToString.Exclude | ||
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) | ||
private GrantAdmin createdBy; | ||
|
||
@LastModifiedDate | ||
@Column(name = "last_updated") | ||
private Instant lastUpdated; | ||
|
||
@ManyToOne(cascade = {CascadeType.MERGE, CascadeType.PERSIST}, fetch = FetchType.LAZY) | ||
@JoinColumn(name = "last_updated_by", referencedColumnName = "grant_admin_id") | ||
@ToString.Exclude | ||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) | ||
private GrantAdmin lastUpdatedBy; | ||
|
||
@Column(name = "opening_date") | ||
private Instant openingDate; | ||
|
||
@Column(name = "closing_date") | ||
private Instant closingDate; | ||
|
||
@Column(name = "first_published_date") | ||
private Instant firstPublishedDate; | ||
|
||
@Column(name = "last_published_date") | ||
private Instant lastPublishedDate; | ||
|
||
@Column(name = "unpublished_date") | ||
private Instant unpublishedDate; | ||
|
||
@Column(name = "status", nullable = false) | ||
@Enumerated(EnumType.STRING) | ||
private GrantAdvertStatus status; | ||
|
||
@Column(name = "contentful_entry_id", unique = true) | ||
private String contentfulEntryId; | ||
|
||
@Column(name = "contentful_slug", unique = true) | ||
private String contentfulSlug; | ||
|
||
@Column(name = "grant_advert_name") | ||
private String grantAdvertName; | ||
|
||
@Type(type = "json") | ||
@Column(name = "response", columnDefinition = "json") | ||
private GrantAdvertResponse response; | ||
|
||
@Override | ||
public boolean equals(Object o) { | ||
if (this == o) | ||
return true; | ||
if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) | ||
return false; | ||
GrantAdvert that = (GrantAdvert) o; | ||
return id != null && Objects.equals(id, that.id); | ||
} | ||
|
||
@Override | ||
public int hashCode() { | ||
return getClass().hashCode(); | ||
} | ||
|
||
} |
32 changes: 32 additions & 0 deletions
32
src/main/java/gov/cabinetoffice/gap/applybackend/model/GrantAdvertPageResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package gov.cabinetoffice.gap.applybackend.model; | ||
|
||
import gov.cabinetoffice.gap.applybackend.enums.GrantAdvertPageResponseStatus; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
import java.util.Objects; | ||
import java.util.Optional; | ||
|
||
@Data | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
@Builder | ||
public class GrantAdvertPageResponse { | ||
|
||
@Builder.Default | ||
private List<GrantAdvertQuestionResponse> questions = new ArrayList<>(); | ||
|
||
private String id; | ||
|
||
private GrantAdvertPageResponseStatus status; | ||
|
||
public Optional<GrantAdvertQuestionResponse> getQuestionById(String questionId) { | ||
return questions.stream().filter(page -> Objects.equals(page.getId(), questionId)).findFirst(); | ||
|
||
} | ||
|
||
} |
Oops, something went wrong.