Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
08f15ef
LPT-1847 (#61)
ynegi Jan 12, 2026
71da25b
LPT-1978 [BE] Data harvesting and mapping for Standard Court List (#59)
ertugrulduran Jan 13, 2026
04f545c
LPT-1977 [BE] Data harvesting,mapping & transformation for Public Lis…
ertugrulduran Jan 14, 2026
138e61d
LPT-1992 - Blob storage integration for tmp PDF link (#63)
ynegi Jan 15, 2026
e5341d1
new v1.0.3
arcadius Jan 19, 2026
a1f40b7
disabling failing test for now
arcadius Jan 19, 2026
d935545
Revert "disabling failing test for now"
arcadius Jan 19, 2026
8f15bdf
LPT-2000:[BE] Jobs Manager Orchestration STANDARD LIST (#64)
ertugrulduran Jan 19, 2026
59a9c0b
disabling failing test for now
arcadius Jan 19, 2026
7fa2ee1
disabling failing test for now
arcadius Jan 19, 2026
dc054b8
disabling failing test for now
arcadius Jan 19, 2026
3c811b0
LPT-2001:[BE] Publish to Cath STANDARD LIST (#65)
ertugrulduran Jan 20, 2026
d65430d
rm build-docker
arcadius Jan 20, 2026
d2f2a91
rm build-docker
arcadius Jan 20, 2026
5be25f1
LPT-2008:[BE]-Clean Up Standard Court and Public Court Controllers an…
ertugrulduran Jan 20, 2026
d40e1c8
rm build-docker
arcadius Jan 20, 2026
455b0c3
rm build-docker
arcadius Jan 20, 2026
2d1a8fb
rm build-docker
arcadius Jan 20, 2026
61425d3
jndi keyz
arcadius Jan 21, 2026
528c41e
jndi keyz
arcadius Jan 21, 2026
d054599
jndi keyz as env variables
arcadius Jan 21, 2026
1c98414
publishing dummy payload
arcadius Jan 21, 2026
ef0f1e9
publishing dummy payload
arcadius Jan 21, 2026
fb4e0ca
publishing dummy payload
arcadius Jan 21, 2026
fc67063
LPT-1993 (#67)
ynegi Jan 23, 2026
551e4fd
Feature/lpt 2008 (#68)
ertugrulduran Jan 23, 2026
aee3bd5
publishing dummy payload
arcadius Jan 26, 2026
52cf877
LPT-2014 (#69)
ynegi Jan 26, 2026
e8d387f
rm
arcadius Jan 26, 2026
941370a
Merge pull request #70 from hmcts/tmp/prep-for-ui-build
ynegi Jan 26, 2026
80d3211
rm sas
arcadius Jan 26, 2026
949a64f
LPT-2038 (#71)
ynegi Jan 26, 2026
a28d140
LPT-2042-query-endpoint-refactor
arcadius Jan 27, 2026
24268c9
LPT-2042-query-endpoint-refactor
arcadius Jan 28, 2026
af3af7b
tests passing
arcadius Jan 29, 2026
ab3a640
tests passing
arcadius Jan 29, 2026
07dfe79
tests passing
arcadius Jan 29, 2026
ac117ed
Merge pull request #72 from hmcts/tmp/LPT-2042-query-endpoint-refactor
ynegi Jan 29, 2026
337afd6
tests passing
arcadius Jan 29, 2026
46e217a
adding validation (#73)
ertugrulduran Jan 29, 2026
d46fb78
LPT-2044:getting courtCenter info from reference data (#74)
ertugrulduran Jan 30, 2026
e4879b8
Document generator integration (#75)
ynegi Jan 30, 2026
bd5d362
Revert "Document generator integration (#75)" (#76)
arcadiushmcts Jan 30, 2026
702c21f
LPT-1984 (#77)
ynegi Jan 30, 2026
a552bfa
LPT-2045:replacing listing query with application/vnd.progression.sea…
ertugrulduran Feb 2, 2026
a01e2e6
tests passing
arcadius Feb 2, 2026
671cd26
tests passing
arcadius Feb 3, 2026
e1298aa
adding publishDate
arcadius Feb 4, 2026
26ac8e1
adding publishDate
arcadius Feb 4, 2026
dd24b97
adding publishDate
arcadius Feb 4, 2026
ae2a89d
refactor
arcadius Feb 4, 2026
a42e9c3
refactor to query only once
arcadius Feb 4, 2026
7aaac4c
adding optional param makeExternalCalls to be removed later in LPT-2052
arcadius Feb 5, 2026
f783680
adding optional param makeExternalCalls to be removed later in LPT-2052
arcadius Feb 5, 2026
bd0922f
ok
arcadius Feb 5, 2026
3c32212
ok
arcadius Feb 5, 2026
52204d3
LPT-2051:[BE] Failing integration tests due to move to progression qu…
ertugrulduran Feb 5, 2026
c8b1130
Fixing end point (#80)
ertugrulduran Feb 5, 2026
687d6e8
ok
arcadius Feb 5, 2026
7acfff3
disabling data fetch
arcadius Feb 6, 2026
1ad5fa5
disabling data fetch
arcadius Feb 6, 2026
a2884b5
cors
arcadius Feb 6, 2026
57b7b95
cors
arcadius Feb 6, 2026
f6e6a4f
Tmp/lpt 2059 query listing (#82)
arcadiushmcts Feb 9, 2026
e27c081
Tmp/lpt 2059 query listing (#83)
arcadiushmcts Feb 9, 2026
354bc77
query listing
arcadius Feb 9, 2026
dc30116
query listing
arcadius Feb 9, 2026
644783b
query listing
arcadius Feb 9, 2026
36c3995
query listing
arcadius Feb 9, 2026
ec3016f
Fixing wiremock issue (#81)
ertugrulduran Feb 10, 2026
fd359ce
query listing
arcadius Feb 10, 2026
265b6c7
LPT-2059:Replacing ProgressionQueryService with Listing Service (#84)
ertugrulduran Feb 10, 2026
7955fea
query listing
arcadius Feb 10, 2026
570933a
query listing
arcadius Feb 11, 2026
28069c0
query listing
arcadius Feb 11, 2026
dba4ffa
query listing
arcadius Feb 11, 2026
913f60a
LPT-2053 - On Exception, store error message in DB
ynegi Feb 11, 2026
1891535
query listing
arcadius Feb 11, 2026
6948607
LPT-2053 - On Exception, store error message in DB
ynegi Feb 11, 2026
debba8a
Merge branch 'team/cct-1981' into LPT-2053
ynegi Feb 11, 2026
9f3f698
Merge pull request #85 from hmcts/LPT-2053
ynegi Feb 11, 2026
1bd1e24
removed the duplicate file (#86)
ynegi Feb 11, 2026
ada9971
query listing
arcadius Feb 11, 2026
d12c6dd
query listing
arcadius Feb 11, 2026
fe3b492
query listing
arcadius Feb 11, 2026
0e77b6d
pointing all to new publisher storage
arcadius Feb 11, 2026
0f8f241
file download
arcadius Feb 11, 2026
5065ed4
LPT-2053 fix failed IT tests (#88)
ynegi Feb 12, 2026
c2873a1
dynamic court list type
arcadius Feb 12, 2026
5de939f
dynamic court list type
arcadius Feb 12, 2026
0e4e274
dynamic court list type
arcadius Feb 12, 2026
6d320e4
dynamic court list type
arcadius Feb 13, 2026
f313400
LPT-2011:Renaming trasnformation (#89)
ertugrulduran Feb 13, 2026
fa6844d
LPT-2011:Renaming transformation (#91)
ertugrulduran Feb 13, 2026
1bf0a6c
fix failed intergation tests (#90)
ynegi Feb 13, 2026
1d13760
handling err when Cath pub fails
arcadius Feb 13, 2026
7a985fa
job manager upgrade
arcadius Feb 13, 2026
9d1ff1a
job manager upgrade
arcadius Feb 13, 2026
f628b78
LPT-2081:updating schema (#92)
ertugrulduran Feb 13, 2026
6e0a36a
LPT-2083 Fix English template for PUBLIC_ONLINE and STANDARD (#93)
ynegi Feb 16, 2026
ffa6894
LPT-2085:Sending Missing Post Code to CaTH (#94)
ertugrulduran Feb 16, 2026
24bb724
LPT-2085_2:adding isWelsh field to CourtListPayload (#95)
ertugrulduran Feb 16, 2026
03f76dd
new v0.1.17
arcadius Feb 17, 2026
bcfe5b2
LPT-2082 - BE Welsh support in PDF generation (#96)
ynegi Feb 17, 2026
161f98c
fix template path (#97)
ynegi Feb 17, 2026
b17a07f
LPT-2088:Adding new IT test for schema validation (#99)
ertugrulduran Feb 17, 2026
ea56a45
dynamic disply to time
arcadius Feb 17, 2026
51e0aed
dynamic disply to time
arcadius Feb 17, 2026
405a0d1
LPT-2082 - Welsh support for Cath publishing (#100)
ynegi Feb 18, 2026
9975634
online_public_court_list PDF postcode missed (#101)
ertugrulduran Feb 18, 2026
4bd9c88
LPT-2082 (#102)
ynegi Feb 19, 2026
c85df3d
enable migration for task manager
arcadius Feb 23, 2026
fdf3aac
LPT-2099:New CaTH schema updated on 23-feb (#103)
ertugrulduran Feb 24, 2026
2745ce2
dynamic disply to time
arcadius Feb 24, 2026
65995fd
calling progression instead of listring
arcadius Feb 27, 2026
150e8fb
calling progression instead of listring
arcadius Feb 27, 2026
729c63c
calling progression instead of listring
arcadius Feb 27, 2026
6900185
calling progression instead of listring
arcadius Feb 27, 2026
6f1bfc6
Part 1 of LPT-2112: adding additional data to CaTH payload
arcadius Mar 2, 2026
096e467
LPT-2110 - Add an ENV var that allows to enable or disable publishing…
ynegi Mar 2, 2026
6be849b
LPT-2033 [BE] Use same HTTP client everywhere (#105)
ertugrulduran Mar 2, 2026
ce3befb
LPT-2109:[BE] Update new schema 2025.02.27 (#106)
ertugrulduran Mar 2, 2026
61de36a
LPT-2115:[BE] Extra fields not needed?
ertugrulduran Mar 2, 2026
0c3db11
Revert "LPT-2115:[BE] Extra fields not needed?"
ertugrulduran Mar 2, 2026
c22c3ff
LPT-2115:[BE] Extra fields not needed (#110)
ertugrulduran Mar 2, 2026
b568041
LPT-2114 - rosecuting Authority Party Role to be set (#111)
ynegi Mar 3, 2026
e86de97
calling progression instead of listring
arcadius Mar 3, 2026
0ab4edd
calling progression instead of listring
arcadius Mar 3, 2026
e488c4b
LPT-1998 & LPT-2002 Integration Test For ONLINE_PUBLIC and STANDARD L…
ynegi Mar 3, 2026
e299cf9
calling progression instead of listring
arcadius Mar 3, 2026
03ae128
calling progression instead of listring
arcadius Mar 3, 2026
a1b1470
LPT-2118:[BE] ReportingRestriction array (#112)
ertugrulduran Mar 4, 2026
957af3b
Dev/sprdt 659 from cct 1981 (#109)
korayhmcts Mar 4, 2026
f411c74
rm unnecessary config
arcadius Mar 4, 2026
13d46fa
new it add
korayhmcts Mar 4, 2026
e6e3b70
Merge pull request #115 from hmcts/dev/SPRDT-659-IT
ozturkmenb Mar 4, 2026
f6bcd12
LPT-2124:[BE] CaTH publishing feedback 002 (#114)
ertugrulduran Mar 5, 2026
1a7b4f8
LPT-2116 - Add subject in Cath payload (#113)
ynegi Mar 5, 2026
630987a
new fields
arcadius Mar 5, 2026
d552c5f
new fields mapped
arcadius Mar 5, 2026
58dbb3c
Fixing unittest issue (#116)
ertugrulduran Mar 6, 2026
383b558
new fields mapped
arcadius Mar 6, 2026
d05c1d1
new fields mapped
arcadius Mar 6, 2026
58b8f1c
new fields mapped
arcadius Mar 6, 2026
a5af68e
new fields mapped
arcadius Mar 9, 2026
28375eb
new fields mapped
arcadius Mar 9, 2026
718d47b
Revert "new fields mapped"
arcadius Mar 9, 2026
b817f8c
LPT-2131:[BE] Stop sending empty string to CaTH (#118)
ertugrulduran Mar 9, 2026
5998b44
LPT-2153: Linked application details are not displayed in Publish onl…
ertugrulduran Mar 10, 2026
ccd13fc
fixing failed unit tests
arcadius Mar 11, 2026
1f957be
LPT-2128:[BE] Netty warning message (#121)
ertugrulduran Mar 11, 2026
f34565f
fixing failed unit tests
arcadius Mar 12, 2026
0850ea3
fixing failed unit tests
arcadius Mar 12, 2026
66210a3
we should include applications for CaTH
arcadius Mar 13, 2026
9238e93
we should include applications for CaTH
arcadius Mar 13, 2026
a2d6626
we should include applications for CaTH
arcadius Mar 13, 2026
6adcf49
we should include applications for CaTH
arcadius Mar 16, 2026
778a12d
SPRDT-660 reworked implementation
rajkunchala Mar 16, 2026
620b618
SPRDT-660 address review comments
rajkunchala Mar 16, 2026
ea6967c
LPT-2172: [BE] Access Control update form publisher endpoints (#124)
ertugrulduran Mar 16, 2026
b6eb286
LPT-2078:[BE] Code clean up CaTH (#125)
ertugrulduran Mar 17, 2026
b6304d8
job manager upgrade
arcadius Mar 17, 2026
714ed97
resolve merge conflicts
rajkunchala Mar 18, 2026
1539825
LPT-2166: [BE] Store final payload we send to CaTH into azure blog st…
ertugrulduran Mar 18, 2026
ae594cf
api spec upgrade
arcadius Mar 18, 2026
a0d2af3
api spec upgrade
arcadius Mar 18, 2026
c887707
SPRDT-660 resolve merge conflicts
rajkunchala Mar 20, 2026
f72cd07
SPRDT-660 resolve mergec conflicts and fix code
rajkunchala Mar 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
package uk.gov.hmcts.cp.http;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import uk.gov.hmcts.cp.config.ObjectMapperConfig;

import org.junit.jupiter.api.Test;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate;

/**
* Integration tests for SJP court list publish endpoint (/api/court-list-publish/sjp/publishCourtList).
* Same style as {@link CourtListPublishControllerHttpLiveTest}; requires app running with integration profile.
*/
public class SjpCourtListPublishControllerHttpLiveTest extends AbstractTest {

private static final String BASE_URL = System.getProperty("app.baseUrl", "http://localhost:8082/courtlistpublishing-service");
private static final String SJP_PUBLISH_ENDPOINT = BASE_URL + "/api/court-list-publish/sjp/publishCourtList";

private static final String CJSCPPUID_HEADER = "CJSCPPUID";
private static final String INTEGRATION_TEST_USER_ID = "integration-test-user-id";

private final RestTemplate http = new RestTemplate();
private final ObjectMapper objectMapper = ObjectMapperConfig.getObjectMapper();

@Test
void postSjpCourtList_returns200_withFailedStatus_whenListPayloadOmitted() throws Exception {
String requestJson = """
{
"listType": "SJP_PUBLISH_LIST"
}
""";

ResponseEntity<String> response = postSjpRequest(requestJson);

assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
JsonNode body = objectMapper.readTree(response.getBody());
assertThat(body.get("status").asText()).isEqualTo("FAILED");
assertThat(body.get("listType").asText()).isEqualTo("SJP_PUBLISH_LIST");
assertThat(body.get("message").asText()).contains("listPayload");
}

@Test
void postSjpCourtList_returns200_withFailedStatus_whenListPayloadInBodyButNotExposedByApi() throws Exception {
// When API model exposes getListPayload() this can be changed to expect ACCEPTED
String requestJson = """
{
"listType": "SJP_PUBLISH_LIST",
"listPayload": {
"generatedDateAndTime": "2025-03-09T10:00:00",
"readyCases": [
{
"caseUrn": "SJP-INT-TEST-001",
"defendantName": "Defendant One",
"prosecutorName": "CPS",
"sjpOffences": [{"title": "Offence 1", "wording": "Wording 1"}]
}
]
}
}
""";

ResponseEntity<String> response = postSjpRequest(requestJson);

assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
JsonNode body = objectMapper.readTree(response.getBody());
assertThat(body.get("listType").asText()).isEqualTo("SJP_PUBLISH_LIST");
// Until API 0.1.21+ exposes listPayload, controller passes null -> FAILED
assertThat(body.get("status").asText()).isEqualTo("FAILED");
assertThat(body.get("message").asText()).contains("listPayload");
}

@Test
void postSjpCourtList_returns200_forPressListType() throws Exception {
String requestJson = """
{
"listType": "SJP_PRESS_LIST"
}
""";

ResponseEntity<String> response = postSjpRequest(requestJson);

assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
JsonNode body = objectMapper.readTree(response.getBody());
assertThat(body.get("listType").asText()).isEqualTo("SJP_PRESS_LIST");
assertThat(body.get("status").asText()).isEqualTo("FAILED");
assertThat(body.get("message").asText()).contains("listPayload");
}

@Test
void postSjpCourtList_returns400_whenListTypeInvalid() {
String requestJson = """
{
"listType": "INVALID_LIST_TYPE"
}
""";

assertThatThrownBy(() -> postSjpRequest(requestJson))
.isInstanceOf(HttpClientErrorException.class)
.satisfies(ex -> {
assertThat(((HttpClientErrorException) ex).getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST);
});
}

@Test
void postSjpCourtList_returns400_whenListTypeMissing() {
String requestJson = "{}";

assertThatThrownBy(() -> postSjpRequest(requestJson))
.isInstanceOf(HttpClientErrorException.class)
.satisfies(ex -> {
assertThat(((HttpClientErrorException) ex).getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST);
});
}

@Test
void postSjpCourtList_returns400_whenBodyNull() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set(CJSCPPUID_HEADER, INTEGRATION_TEST_USER_ID);

assertThatThrownBy(() -> http.exchange(
SJP_PUBLISH_ENDPOINT,
HttpMethod.POST,
new HttpEntity<>(headers),
String.class))
.isInstanceOf(HttpClientErrorException.class)
.satisfies(ex -> {
assertThat(((HttpClientErrorException) ex).getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST);
});
}

private HttpEntity<String> createSjpHttpEntity(String json) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set(CJSCPPUID_HEADER, INTEGRATION_TEST_USER_ID);
return new HttpEntity<>(json, headers);
}

private ResponseEntity<String> postSjpRequest(String requestJson) {
return http.exchange(
SJP_PUBLISH_ENDPOINT,
HttpMethod.POST,
createSjpHttpEntity(requestJson),
String.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@
import uk.gov.hmcts.cp.openapi.model.CourtListPublishRequest;
import uk.gov.hmcts.cp.openapi.model.CourtListPublishResponse;
import uk.gov.hmcts.cp.openapi.model.CourtListType;
import uk.gov.hmcts.cp.openapi.model.Status;
import uk.gov.hmcts.cp.openapi.model.PublishCourtListRequest;
import uk.gov.hmcts.cp.openapi.model.PublishCourtListResponse;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add proper in-container integration tests

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

import uk.gov.hmcts.cp.services.courtlistdownload.CourtListDownloadException;
import uk.gov.hmcts.cp.services.courtlistdownload.CourtListDownloadService;
import uk.gov.hmcts.cp.services.CourtListPublishStatusService;
import uk.gov.hmcts.cp.services.sjp.SjpCourtListPublishService;
import uk.gov.hmcts.cp.services.sjp.SjpCourtListPublishService.SjpPublishResult;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -42,13 +45,16 @@ public class CourtListPublishController implements CourtListPublishApi {
private final CourtListPublishStatusService service;
private final CourtListTaskTriggerService courtListTaskTriggerService;
private final CourtListDownloadService courtListDownloadService;
private final SjpCourtListPublishService sjpCourtListPublishService;

public CourtListPublishController(final CourtListPublishStatusService service,
CourtListTaskTriggerService courtListTaskTriggerService,
CourtListDownloadService courtListDownloadService) {
CourtListDownloadService courtListDownloadService,
SjpCourtListPublishService sjpCourtListPublishService) {
this.service = service;
this.courtListTaskTriggerService = courtListTaskTriggerService;
this.courtListDownloadService = courtListDownloadService;
this.sjpCourtListPublishService = sjpCourtListPublishService;
}


Expand Down Expand Up @@ -127,6 +133,31 @@ public ResponseEntity<Resource> downloadCourtList(@RequestBody CourtListDownload
}
}

@Override
public ResponseEntity<PublishCourtListResponse> publishSjpCourtList(
@RequestBody final PublishCourtListRequest request) {
if (request == null) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Request body is required");
}
if (request.getListType() == null) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "listType is required");
}

LOG.atInfo().log("SJP court list publish request for listType: {}", request.getListType());

SjpPublishResult result = sjpCourtListPublishService.publishSjpCourtList(
request.getListType().getValue(),
null,
null,
null);

PublishCourtListResponse response = new PublishCourtListResponse(
result.getStatus(),
request.getListType(),
result.getMessage());
return ResponseEntity.ok(response);
}

@SuppressWarnings("unused") // Method is used by Spring's request mapping
public ResponseEntity<List<CourtListPublishResponse>> findCourtListPublishStatus(
@RequestParam(required = false) final UUID courtListId,
Expand Down
27 changes: 27 additions & 0 deletions src/main/java/uk/gov/hmcts/cp/domain/sjp/SjpListPayload.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package uk.gov.hmcts.cp.domain.sjp;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;

import java.util.List;
import java.util.Map;

/**
* SJP list payload (PubHub parity). Contains generatedDateAndTime and readyCases
* as supplied by SJP (e.g. public.sjp.pending-cases-public-list-generated).
*/
@Getter
@JsonIgnoreProperties(ignoreUnknown = true)
public class SjpListPayload {

private final String generatedDateAndTime;
private final List<Map<String, Object>> readyCases;

public SjpListPayload(
@JsonProperty("generatedDateAndTime") String generatedDateAndTime,
@JsonProperty("readyCases") List<Map<String, Object>> readyCases) {
this.generatedDateAndTime = generatedDateAndTime;
this.readyCases = readyCases;
}
}
19 changes: 19 additions & 0 deletions src/main/java/uk/gov/hmcts/cp/domain/sjp/cath/PubhubMaster.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package uk.gov.hmcts.cp.domain.sjp.cath;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Value;

import java.util.List;

/**
* CaTH root payload (mirrors staging PubHub schema PubhubMaster).
*/
@Value
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PubhubMaster {

SjpCathDocument document;
List<SjpCathCourtLists> courtLists;
}
21 changes: 21 additions & 0 deletions src/main/java/uk/gov/hmcts/cp/domain/sjp/cath/SjpCathAddress.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package uk.gov.hmcts.cp.domain.sjp.cath;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Value;

import java.util.List;

/**
* CaTH address (mirrors staging PubHub schema Address).
*/
@Value
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SjpCathAddress {

List<String> line;
String town;
String county;
String postCode;
}
16 changes: 16 additions & 0 deletions src/main/java/uk/gov/hmcts/cp/domain/sjp/cath/SjpCathCases.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package uk.gov.hmcts.cp.domain.sjp.cath;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Value;

/**
* CaTH case reference (mirrors staging PubHub schema Cases).
*/
@Value
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SjpCathCases {

String caseUrn;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package uk.gov.hmcts.cp.domain.sjp.cath;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Value;

import java.util.List;

/**
* CaTH court house (mirrors staging PubHub schema CourtHouse).
*/
@Value
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SjpCathCourtHouse {

List<SjpCathCourtRoom> courtRoom;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package uk.gov.hmcts.cp.domain.sjp.cath;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Value;

import java.util.List;

/**
* CaTH court lists (mirrors staging PubHub schema CourtLists).
*/
@Value
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SjpCathCourtLists {

SjpCathCourtHouse courtHouse;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package uk.gov.hmcts.cp.domain.sjp.cath;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Value;

import java.util.List;

/**
* CaTH court room (mirrors staging PubHub schema CourtRoom).
*/
@Value
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SjpCathCourtRoom {

List<SjpCathSession> session;
}
18 changes: 18 additions & 0 deletions src/main/java/uk/gov/hmcts/cp/domain/sjp/cath/SjpCathDocument.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package uk.gov.hmcts.cp.domain.sjp.cath;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Value;

/**
* CaTH document header (mirrors staging PubHub schema Document).
*/
@Value
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SjpCathDocument {

String documentName;
String publicationDate;
String version;
}
Loading