From 87d95db4f8f16515e7dc503cb9b377da5ed7df39 Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Tue, 7 Jul 2026 11:03:12 +0100 Subject: [PATCH 01/15] FACT-2551-Welsh-language --- ...ProfessionalInformationControllerTest.java | 142 ++++++++++++++++++ .../fact/data/api/dto/CourtDxCodeDto.java | 14 ++ .../reform/fact/data/api/dto/CourtFaxDto.java | 14 ++ .../fact/data/api/entities/CourtDxCode.java | 7 + .../fact/data/api/entities/CourtFax.java | 7 + .../CourtProfessionalInformationService.java | 2 + ...pdate_contact_description_type_name_cy.sql | 136 +++++++++++++++++ ...add_welsh_translations_for_court_types.sql | 15 ++ ...1.42__update_area_of_law_types_name_cy.sql | 33 ++++ ...1.43__add_welsh_columns_for_dx_and_fax.sql | 6 + ...urtProfessionalInformationServiceTest.java | 12 ++ 11 files changed, 388 insertions(+) create mode 100644 src/main/resources/db/migration/V1.40__update_contact_description_type_name_cy.sql create mode 100644 src/main/resources/db/migration/V1.41__add_welsh_translations_for_court_types.sql create mode 100644 src/main/resources/db/migration/V1.42__update_area_of_law_types_name_cy.sql create mode 100644 src/main/resources/db/migration/V1.43__add_welsh_columns_for_dx_and_fax.sql diff --git a/src/integrationTest/java/uk/gov/hmcts/reform/fact/data/api/controllers/CourtProfessionalInformationControllerTest.java b/src/integrationTest/java/uk/gov/hmcts/reform/fact/data/api/controllers/CourtProfessionalInformationControllerTest.java index 434075a0c..9db1c5194 100644 --- a/src/integrationTest/java/uk/gov/hmcts/reform/fact/data/api/controllers/CourtProfessionalInformationControllerTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/reform/fact/data/api/controllers/CourtProfessionalInformationControllerTest.java @@ -64,11 +64,13 @@ private CourtProfessionalInformationDetailsDto sampleProfessionalInformationDeta CourtDxCodeDto dxCode = CourtDxCodeDto.builder() .dxCode("444") .explanation("Main DX") + .explanationCy("Prif DX") .build(); CourtFaxDto fax = CourtFaxDto.builder() .faxNumber("01234567890") .description("Primary fax") + .descriptionCy("Prif ffacs") .build(); return CourtProfessionalInformationDetailsDto.builder() @@ -90,11 +92,13 @@ private CourtProfessionalInformationDetailsDto wrapProfessionalInformation( CourtDxCodeDto dxCode = CourtDxCodeDto.builder() .dxCode("444") .explanation("Main DX") + .explanationCy("Prif DX") .build(); CourtFaxDto fax = CourtFaxDto.builder() .faxNumber("01234567890") .description("Primary fax") + .descriptionCy("Prif ffacs") .build(); return buildDetails(professionalInformation, codes, List.of(dxCode), List.of(fax)); @@ -291,10 +295,12 @@ void postProfessionalInformationInvalidDxCodeCharactersReturnsBadRequest() throw List.of(CourtDxCodeDto.builder() .dxCode("120551 Marylebone 9$") .explanation("Valid explanation") + .explanationCy("Esboniad dilys") .build()), List.of(CourtFaxDto.builder() .faxNumber("0207 111 1111") .description("Fax") + .descriptionCy("Ffacs") .build()) ); @@ -322,10 +328,12 @@ void postProfessionalInformationInvalidDxCodeTooLongReturnsBadRequest() throws E List.of(CourtDxCodeDto.builder() .dxCode(longCode) .explanation("Valid explanation") + .explanationCy("Esboniad dilys") .build()), List.of(CourtFaxDto.builder() .faxNumber("0207 111 1111") .description("Fax") + .descriptionCy("Ffacs") .build()) ); @@ -353,10 +361,12 @@ void postProfessionalInformationInvalidDxExplanationTooLongReturnsBadRequest() t List.of(CourtDxCodeDto.builder() .dxCode("120551 Marylebone 9") .explanation(longExplanation) + .explanationCy("Esboniad hir") .build()), List.of(CourtFaxDto.builder() .faxNumber("0207 111 1111") .description("Fax") + .descriptionCy("Ffacs") .build()) ); @@ -386,10 +396,12 @@ void postProfessionalInformationInvalidGbsReturnsBadRequest() throws Exception { List.of(CourtDxCodeDto.builder() .dxCode("120551 Marylebone 9") .explanation("Valid explanation") + .explanationCy("Esboniad dilys") .build()), List.of(CourtFaxDto.builder() .faxNumber("0207 111 1111") .description("Fax") + .descriptionCy("Ffacs") .build()) ); @@ -416,10 +428,12 @@ void postProfessionalInformationInvalidFaxDescriptionReturnsBadRequest() throws List.of(CourtDxCodeDto.builder() .dxCode("120551 Marylebone 9") .explanation("Valid explanation") + .explanationCy("Esboniad dilys") .build()), List.of(CourtFaxDto.builder() .faxNumber("0207 111 1111") .description("Invalid 😊") + .descriptionCy("Ffacs") .build()) ); @@ -446,10 +460,12 @@ void postProfessionalInformationInvalidFaxNumberReturnsBadRequest() throws Excep List.of(CourtDxCodeDto.builder() .dxCode("120551 Marylebone 9") .explanation("Valid explanation") + .explanationCy("Esboniad dilys") .build()), List.of(CourtFaxDto.builder() .faxNumber("012") .description("Fax") + .descriptionCy("Ffacs") .build()) ); @@ -477,6 +493,7 @@ void postProfessionalInformationNullDxEntryReturnsBadRequest() throws Exception List.of(CourtFaxDto.builder() .faxNumber("0207 111 1111") .description("Fax") + .descriptionCy("Ffacs") .build()) ); @@ -503,6 +520,7 @@ void postProfessionalInformationNullFaxEntryReturnsBadRequest() throws Exception List.of(CourtDxCodeDto.builder() .dxCode("120551 Marylebone 9") .explanation("Valid explanation") + .explanationCy("Esboniad dilys") .build()), Arrays.asList((CourtFaxDto) null) ); @@ -514,6 +532,130 @@ void postProfessionalInformationNullFaxEntryReturnsBadRequest() throws Exception .andExpect(jsonPath("$['faxNumbers[0]']").value("must not be null")); } + @Test + @DisplayName("POST /courts/{courtId}/v1/professional-information returns 400 when DX explanationCy is missing") + void postProfessionalInformationMissingDxExplanationCyReturnsBadRequest() throws Exception { + CourtProfessionalInformationDetailsDto invalid = buildDetails( + ProfessionalInformationDto.builder() + .interviewRooms(true) + .interviewRoomCount(2) + .interviewPhoneNumber("0207 123 4567") + .videoHearings(true) + .commonPlatform(false) + .accessScheme(true) + .build(), + CourtCodesDto.builder().gbs("123").build(), + List.of(CourtDxCodeDto.builder() + .dxCode("120551 Marylebone 9") + .explanation("Valid explanation") + .build()), + List.of(CourtFaxDto.builder() + .faxNumber("0207 111 1111") + .description("Fax") + .descriptionCy("Ffacs") + .build()) + ); + + mockMvc.perform(post("/courts/{courtId}/v1/professional-information", courtId) + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(invalid))) + .andExpect(status().isBadRequest()) + .andExpect(jsonPath("$['dxCodes[0].explanationCyPresentWhenExplanationProvided']").exists()); + } + + @Test + @DisplayName("POST /courts/{courtId}/v1/professional-information returns 400 when fax descriptionCy is missing") + void postProfessionalInformationMissingFaxDescriptionCyReturnsBadRequest() throws Exception { + CourtProfessionalInformationDetailsDto invalid = buildDetails( + ProfessionalInformationDto.builder() + .interviewRooms(true) + .interviewRoomCount(2) + .interviewPhoneNumber("0207 123 4567") + .videoHearings(true) + .commonPlatform(false) + .accessScheme(true) + .build(), + CourtCodesDto.builder().gbs("123").build(), + List.of(CourtDxCodeDto.builder() + .dxCode("120551 Marylebone 9") + .explanation("Valid explanation") + .explanationCy("Esboniad dilys") + .build()), + List.of(CourtFaxDto.builder() + .faxNumber("0207 111 1111") + .description("Fax") + .build()) + ); + + mockMvc.perform(post("/courts/{courtId}/v1/professional-information", courtId) + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(invalid))) + .andExpect(status().isBadRequest()) + .andExpect(jsonPath("$['faxNumbers[0].descriptionCyPresentWhenDescriptionProvided']").exists()); + } + + @Test + @DisplayName("POST /courts/{courtId}/v1/professional-information returns 400 when DX explanation is missing") + void postProfessionalInformationMissingDxExplanationReturnsBadRequest() throws Exception { + CourtProfessionalInformationDetailsDto invalid = buildDetails( + ProfessionalInformationDto.builder() + .interviewRooms(true) + .interviewRoomCount(2) + .interviewPhoneNumber("0207 123 4567") + .videoHearings(true) + .commonPlatform(false) + .accessScheme(true) + .build(), + CourtCodesDto.builder().gbs("123").build(), + List.of(CourtDxCodeDto.builder() + .dxCode("120551 Marylebone 9") + .explanationCy("Esboniad dilys") + .build()), + List.of(CourtFaxDto.builder() + .faxNumber("0207 111 1111") + .description("Fax") + .descriptionCy("Ffacs") + .build()) + ); + + mockMvc.perform(post("/courts/{courtId}/v1/professional-information", courtId) + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(invalid))) + .andExpect(status().isBadRequest()) + .andExpect(jsonPath("$['dxCodes[0].explanationCyPresentWhenExplanationProvided']").exists()); + } + + @Test + @DisplayName("POST /courts/{courtId}/v1/professional-information returns 400 when fax description is missing") + void postProfessionalInformationMissingFaxDescriptionReturnsBadRequest() throws Exception { + CourtProfessionalInformationDetailsDto invalid = buildDetails( + ProfessionalInformationDto.builder() + .interviewRooms(true) + .interviewRoomCount(2) + .interviewPhoneNumber("0207 123 4567") + .videoHearings(true) + .commonPlatform(false) + .accessScheme(true) + .build(), + CourtCodesDto.builder().gbs("123").build(), + List.of(CourtDxCodeDto.builder() + .dxCode("120551 Marylebone 9") + .explanation("Valid explanation") + .explanationCy("Esboniad dilys") + .build()), + List.of(CourtFaxDto.builder() + .faxNumber("0207 111 1111") + .descriptionCy("Ffacs") + .build()) + ); + + mockMvc.perform(post("/courts/{courtId}/v1/professional-information", courtId) + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(invalid))) + .andExpect(status().isBadRequest()) + .andExpect(jsonPath("$['faxNumbers[0].descriptionCyPresentWhenDescriptionProvided']").exists()); + } + @Test @DisplayName("POST /courts/{courtId}/v1/professional-information returns 400 for invalid UUID") void postProfessionalInformationInvalidUuid() throws Exception { diff --git a/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtDxCodeDto.java b/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtDxCodeDto.java index cdbc3c4bd..86e9c70ac 100644 --- a/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtDxCodeDto.java +++ b/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtDxCodeDto.java @@ -1,6 +1,7 @@ package uk.gov.hmcts.reform.fact.data.api.dto; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.AssertTrue; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Size; @@ -9,6 +10,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; import uk.gov.hmcts.reform.fact.data.api.entities.CourtDxCode; import uk.gov.hmcts.reform.fact.data.api.entities.validation.ValidationConstants; @@ -31,10 +33,22 @@ public class CourtDxCodeDto { message = ValidationConstants.GENERIC_DESCRIPTION_REGEX_MESSAGE) private String explanation; + @Schema(description = "Welsh language explanation of the DX code") + @Size(max = 250, message = "DX Welsh explanation must be {max} characters or fewer") + @Pattern(regexp = ValidationConstants.GENERIC_DESCRIPTION_REGEX, + message = ValidationConstants.GENERIC_DESCRIPTION_REGEX_MESSAGE) + private String explanationCy; + + @AssertTrue(message = "DX explanation and Welsh explanation must be provided together") + public boolean isExplanationCyPresentWhenExplanationProvided() { + return StringUtils.isBlank(explanation) == StringUtils.isBlank(explanationCy); + } + public static CourtDxCodeDto fromEntity(CourtDxCode entity) { return CourtDxCodeDto.builder() .dxCode(entity.getDxCode()) .explanation(entity.getExplanation()) + .explanationCy(entity.getExplanationCy()) .build(); } } diff --git a/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtFaxDto.java b/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtFaxDto.java index b95c0b19e..fe980b6cb 100644 --- a/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtFaxDto.java +++ b/src/main/java/uk/gov/hmcts/reform/fact/data/api/dto/CourtFaxDto.java @@ -1,6 +1,7 @@ package uk.gov.hmcts.reform.fact.data.api.dto; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.AssertTrue; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Size; @@ -9,6 +10,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; import uk.gov.hmcts.reform.fact.data.api.entities.CourtFax; import uk.gov.hmcts.reform.fact.data.api.entities.validation.ValidationConstants; @@ -30,10 +32,22 @@ public class CourtFaxDto { message = ValidationConstants.GENERIC_DESCRIPTION_REGEX_MESSAGE) private String description; + @Schema(description = "Welsh language fax description") + @Size(max = 250, message = "Welsh fax description must be {max} characters or fewer") + @Pattern(regexp = ValidationConstants.GENERIC_DESCRIPTION_REGEX, + message = ValidationConstants.GENERIC_DESCRIPTION_REGEX_MESSAGE) + private String descriptionCy; + + @AssertTrue(message = "Fax description and Welsh fax description must be provided together") + public boolean isDescriptionCyPresentWhenDescriptionProvided() { + return StringUtils.isBlank(description) == StringUtils.isBlank(descriptionCy); + } + public static CourtFaxDto fromEntity(CourtFax entity) { return CourtFaxDto.builder() .faxNumber(entity.getFaxNumber()) .description(entity.getDescription()) + .descriptionCy(entity.getDescriptionCy()) .build(); } } diff --git a/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtDxCode.java b/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtDxCode.java index b45b8ca74..19bfa99da 100644 --- a/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtDxCode.java +++ b/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtDxCode.java @@ -72,4 +72,11 @@ public class CourtDxCode implements AuditableCourtEntity { @Column(length = 250) private String explanation; + @Schema(description = "The Welsh language explanation") + @Size(max = 250) + @Pattern(regexp = ValidationConstants.GENERIC_DESCRIPTION_REGEX, + message = ValidationConstants.GENERIC_DESCRIPTION_REGEX_MESSAGE) + @Column(name = "explanation_cy", length = 250) + private String explanationCy; + } diff --git a/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtFax.java b/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtFax.java index 5e90b197e..2018cf733 100644 --- a/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtFax.java +++ b/src/main/java/uk/gov/hmcts/reform/fact/data/api/entities/CourtFax.java @@ -70,4 +70,11 @@ public class CourtFax implements AuditableCourtEntity { @Column(name = "description", length = 250) private String description; + @Schema(description = "Welsh language description") + @Size(max = 250, message = "Welsh fax description must be {max} characters or fewer") + @Pattern(regexp = ValidationConstants.GENERIC_DESCRIPTION_REGEX, + message = ValidationConstants.GENERIC_DESCRIPTION_REGEX_MESSAGE) + @Column(name = "description_cy", length = 250) + private String descriptionCy; + } diff --git a/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/CourtProfessionalInformationService.java b/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/CourtProfessionalInformationService.java index 2288dc8ab..70d5e72f7 100644 --- a/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/CourtProfessionalInformationService.java +++ b/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/CourtProfessionalInformationService.java @@ -217,6 +217,7 @@ private List replaceCourtDxCodes(UUID courtId, Court court, List replaceCourtFaxNumbers(UUID courtId, Court court, List Date: Tue, 7 Jul 2026 11:38:40 +0100 Subject: [PATCH 02/15] functional test fix --- .../CourtProfessionalInformationControllerFunctionalTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java b/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java index 84eca7158..05dd7f666 100644 --- a/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java @@ -204,6 +204,7 @@ void shouldUpdateExistingProfessionalInformation() throws Exception { final CourtDxCodeDto updatedDxCode = new CourtDxCodeDto(); updatedDxCode.setDxCode("999999 Updated 1"); updatedDxCode.setExplanation("Updated explanation"); + updatedDxCode.setExplanationCy("Updated Welsh explanation"); final CourtProfessionalInformationDetailsDto updatedDetails = new CourtProfessionalInformationDetailsDto(); From 7abbe73a94ca857935eb06b95ab1400c99c9241e Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Tue, 7 Jul 2026 12:22:08 +0100 Subject: [PATCH 03/15] functional test fix --- .../CourtProfessionalInformationControllerFunctionalTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java b/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java index 05dd7f666..a164c6838 100644 --- a/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/reform/fact/functional/controllers/CourtProfessionalInformationControllerFunctionalTest.java @@ -64,18 +64,22 @@ void shouldCreateProfessionalInformationWithAllValidFields() throws Exception { final CourtDxCodeDto dxCode1 = new CourtDxCodeDto(); dxCode1.setDxCode("120551 Marylebone 9"); dxCode1.setExplanation("(County Court) primary"); + dxCode1.setExplanationCy("(FamilyCourt) primary"); final CourtDxCodeDto dxCode2 = new CourtDxCodeDto(); dxCode2.setDxCode("703360 Hanley 3"); dxCode2.setExplanation("(Crown Court) secondary"); + dxCode2.setExplanationCy("(FamilyCourt) secondary"); final CourtFaxDto fax1 = new CourtFaxDto(); fax1.setFaxNumber("0207 222 3333"); fax1.setDescription("General enquiries"); + fax1.setDescriptionCy("Ymholiadau cyffredinol"); final CourtFaxDto fax2 = new CourtFaxDto(); fax2.setFaxNumber("0207 444 5555"); fax2.setDescription("Urgent matters"); + fax2.setDescriptionCy("Ymholiadau cyffredinol"); final CourtProfessionalInformationDetailsDto professionalInfoDetails = new CourtProfessionalInformationDetailsDto(); From 713956144750cf1b0233a2a75edb8b6b5f043d89 Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Tue, 7 Jul 2026 17:37:42 +0100 Subject: [PATCH 04/15] testing support change --- .gitignore | 1 + .../reform/fact/data/api/services/TestingSupportService.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 4af56c946..ff8d42bad 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ applicationinsights-agent-*.jar *.log .env +.env-test AGENTS.md scripts/ diff --git a/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java b/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java index a0365f55c..7eed72a41 100644 --- a/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java +++ b/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java @@ -453,6 +453,8 @@ private void setAccessibilityOptions(final UUID courtId, final Random random) { HearingEnhancementEquipment.values().length)]) .accessibleToiletDescription(ACCESSIBLE_TOILET_DESCRIPTIONS.get(random.nextInt( ACCESSIBLE_TOILET_DESCRIPTIONS.size()))) + .accessibleToiletDescriptionCy(ACCESSIBLE_TOILET_DESCRIPTIONS.get(random.nextInt( + ACCESSIBLE_TOILET_DESCRIPTIONS.size()))) .build(); if (!courtAccessibilityOptions.getAccessibleEntrance().booleanValue()) { From add301e5e5d70dccd199d3d003b923b44b952c2d Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Wed, 8 Jul 2026 10:31:23 +0100 Subject: [PATCH 05/15] testing support change --- .../reform/fact/data/api/services/TestingSupportService.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java b/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java index 7eed72a41..ef68adf88 100644 --- a/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java +++ b/src/main/java/uk/gov/hmcts/reform/fact/data/api/services/TestingSupportService.java @@ -777,7 +777,6 @@ private List createDxCodes(final Random random) { if (random.nextBoolean()) { CourtDxCodeDto code = CourtDxCodeDto.builder() .dxCode(rndAlphaNumeric(6, random)) - .explanation(COURT_TYPES.stream().findAny().map(CourtType::getName).orElse("General") + " DX code") .build(); dxCodes.add(code); } @@ -792,7 +791,6 @@ private List createFaxNumbers(final Random random) { faxNumbers.add( CourtFaxDto.builder() .faxNumber(rndPhoneNumber(random)) - .description(i == 0 ? "Fax number" : "Urgent documents fax number") .build() ); } From 5e9bef585ac5e90be4a4d46cd7185dc490a04e4a Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Wed, 8 Jul 2026 17:02:26 +0100 Subject: [PATCH 06/15] Addressing RC --- ...act_description_type_and_misc_name_cy.sql} | 56 +++++++++++++++++++ ...add_welsh_translations_for_court_types.sql | 15 ----- ...1.42__update_area_of_law_types_name_cy.sql | 33 ----------- ...1.43__add_welsh_columns_for_dx_and_fax.sql | 6 -- 4 files changed, 56 insertions(+), 54 deletions(-) rename src/main/resources/db/migration/{V1.40__update_contact_description_type_name_cy.sql => V1.40__update_contact_description_type_and_misc_name_cy.sql} (82%) delete mode 100644 src/main/resources/db/migration/V1.41__add_welsh_translations_for_court_types.sql delete mode 100644 src/main/resources/db/migration/V1.42__update_area_of_law_types_name_cy.sql delete mode 100644 src/main/resources/db/migration/V1.43__add_welsh_columns_for_dx_and_fax.sql diff --git a/src/main/resources/db/migration/V1.40__update_contact_description_type_name_cy.sql b/src/main/resources/db/migration/V1.40__update_contact_description_type_and_misc_name_cy.sql similarity index 82% rename from src/main/resources/db/migration/V1.40__update_contact_description_type_name_cy.sql rename to src/main/resources/db/migration/V1.40__update_contact_description_type_and_misc_name_cy.sql index fe2b6b209..6d2525474 100644 --- a/src/main/resources/db/migration/V1.40__update_contact_description_type_name_cy.sql +++ b/src/main/resources/db/migration/V1.40__update_contact_description_type_and_misc_name_cy.sql @@ -134,3 +134,59 @@ FROM ( ('Transcripts', 'Trawsgrifiadau') ) AS v(name, name_cy) WHERE cdt.name = v.name; + +ALTER TABLE court_types + ADD COLUMN IF NOT EXISTS name_cy VARCHAR; + +UPDATE court_types ct +SET name_cy = v.name_cy + FROM ( + VALUES + ('Magistrates'' Court', 'Llys Ynadon'), + ('Family Court', 'Llys Teulu'), + ('Tribunal', 'Tribiwnlys'), + ('County Court', 'Llys Sirol'), + ('Crown Court', 'Llys y Goron') +) AS v(name, name_cy) +WHERE ct.name = v.name; + +UPDATE area_of_law_types aolt +SET name_cy = v.name_cy + FROM ( + VALUES + ('Divorce', 'Ysgariad'), + ('Civil partnership', 'Partneriaeth sifil'), + ('High Court District Registry', 'Cofrestrfa Ddosbarth yr Uchel Lys'), + ('Adoption', 'Mabwysiadu'), + ('Social security', 'Nawdd Cymdeithasol'), + ('Housing possession', 'Meddiannu eiddo'), + ('Money claims', 'Hawliadau am arian'), + ('Employment', 'Cyflogaeth'), + ('Tax', 'Treth'), + ('Children', 'Plant'), + ('Domestic violence', 'Trais domestig'), + ('Crime', 'Trosedd'), + ('Civil', 'Sifil'), + ('Single justice procedure', 'Y Weithdrefn Un Ynad'), + ('High Court', 'Yr Uchel Lys'), + ('Court Of Appeal', 'Y Llys Apêl'), + ('Financial Remedy', 'Rhwymedi Ariannol'), + ('Business and Property', 'Busnes ac Eiddo'), + ('Bankruptcy', 'Methdaliad'), + ('Immigration', 'Mewnfudo'), + ('Probate', 'Profiant'), + ('Forced marriage', 'Priodas dan orfod'), + ('FGM', 'Anffurfio Organau Cenhedlu Benywod (FGM)'), + ('Pathfinder – for Private Law Proceedings', 'Cynllun Braenaru – ar gyfer Achosion Cyfraith Breifat'), + ('Domestic Abuse Protection Order (DAPOs)', 'Gorchymyn Diogelu Rhag Cam-drin Domestig (DAPOs)'), + ('Benefits', 'Budd-daliadau') +) AS v(name, name_cy) +WHERE aolt.name = v.name; + +ALTER TABLE court_dxcodes + ADD COLUMN IF NOT EXISTS explanation_cy VARCHAR(250); + +ALTER TABLE court_fax + ADD COLUMN IF NOT EXISTS description_cy VARCHAR(250); + + diff --git a/src/main/resources/db/migration/V1.41__add_welsh_translations_for_court_types.sql b/src/main/resources/db/migration/V1.41__add_welsh_translations_for_court_types.sql deleted file mode 100644 index a43aa34a6..000000000 --- a/src/main/resources/db/migration/V1.41__add_welsh_translations_for_court_types.sql +++ /dev/null @@ -1,15 +0,0 @@ -ALTER TABLE court_types - ADD COLUMN IF NOT EXISTS name_cy VARCHAR; - -UPDATE court_types ct -SET name_cy = v.name_cy -FROM ( - VALUES - ('Magistrates'' Court', 'Llys Ynadon'), - ('Family Court', 'Llys Teulu'), - ('Tribunal', 'Tribiwnlys'), - ('County Court', 'Llys Sirol'), - ('Crown Court', 'Llys y Goron') -) AS v(name, name_cy) -WHERE ct.name = v.name; - diff --git a/src/main/resources/db/migration/V1.42__update_area_of_law_types_name_cy.sql b/src/main/resources/db/migration/V1.42__update_area_of_law_types_name_cy.sql deleted file mode 100644 index 77ff4087f..000000000 --- a/src/main/resources/db/migration/V1.42__update_area_of_law_types_name_cy.sql +++ /dev/null @@ -1,33 +0,0 @@ -UPDATE area_of_law_types aolt -SET name_cy = v.name_cy -FROM ( - VALUES - ('Divorce', 'Ysgariad'), - ('Civil partnership', 'Partneriaeth sifil'), - ('High Court District Registry', 'Cofrestrfa Ddosbarth yr Uchel Lys'), - ('Adoption', 'Mabwysiadu'), - ('Social security', 'Nawdd Cymdeithasol'), - ('Housing possession', 'Meddiannu eiddo'), - ('Money claims', 'Hawliadau am arian'), - ('Employment', 'Cyflogaeth'), - ('Tax', 'Treth'), - ('Children', 'Plant'), - ('Domestic violence', 'Trais domestig'), - ('Crime', 'Trosedd'), - ('Civil', 'Sifil'), - ('Single justice procedure', 'Y Weithdrefn Un Ynad'), - ('High Court', 'Yr Uchel Lys'), - ('Court Of Appeal', 'Y Llys Apêl'), - ('Financial Remedy', 'Rhwymedi Ariannol'), - ('Business and Property', 'Busnes ac Eiddo'), - ('Bankruptcy', 'Methdaliad'), - ('Immigration', 'Mewnfudo'), - ('Probate', 'Profiant'), - ('Forced marriage', 'Priodas dan orfod'), - ('FGM', 'Anffurfio Organau Cenhedlu Benywod (FGM)'), - ('Pathfinder – for Private Law Proceedings', 'Cynllun Braenaru – ar gyfer Achosion Cyfraith Breifat'), - ('Domestic Abuse Protection Order (DAPOs)', 'Gorchymyn Diogelu Rhag Cam-drin Domestig (DAPOs)'), - ('Benefits', 'Budd-daliadau') -) AS v(name, name_cy) -WHERE aolt.name = v.name; - diff --git a/src/main/resources/db/migration/V1.43__add_welsh_columns_for_dx_and_fax.sql b/src/main/resources/db/migration/V1.43__add_welsh_columns_for_dx_and_fax.sql deleted file mode 100644 index 286d1137a..000000000 --- a/src/main/resources/db/migration/V1.43__add_welsh_columns_for_dx_and_fax.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE court_dxcodes - ADD COLUMN IF NOT EXISTS explanation_cy VARCHAR(250); - -ALTER TABLE court_fax - ADD COLUMN IF NOT EXISTS description_cy VARCHAR(250); - From d0c51d6797eb3496b4d71e64aebdc3e01666aa60 Mon Sep 17 00:00:00 2001 From: debolina-seal <100166232+debolina-seal@users.noreply.github.com> Date: Mon, 13 Jul 2026 15:55:57 +0100 Subject: [PATCH 07/15] Add migration for updating contact description type --- ...> V1.42__update_contact_description_type_and_misc_name_cy.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/db/migration/{V1.40__update_contact_description_type_and_misc_name_cy.sql => V1.42__update_contact_description_type_and_misc_name_cy.sql} (100%) diff --git a/src/main/resources/db/migration/V1.40__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.42__update_contact_description_type_and_misc_name_cy.sql similarity index 100% rename from src/main/resources/db/migration/V1.40__update_contact_description_type_and_misc_name_cy.sql rename to src/main/resources/db/migration/V1.42__update_contact_description_type_and_misc_name_cy.sql From 0ce0445b08dcbe2c2dea5140109c22355091e774 Mon Sep 17 00:00:00 2001 From: debolina-seal <100166232+debolina-seal@users.noreply.github.com> Date: Tue, 14 Jul 2026 10:55:52 +0100 Subject: [PATCH 08/15] Add migration for updating contact description type --- ...> V1.43__update_contact_description_type_and_misc_name_cy.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/db/migration/{V1.42__update_contact_description_type_and_misc_name_cy.sql => V1.43__update_contact_description_type_and_misc_name_cy.sql} (100%) diff --git a/src/main/resources/db/migration/V1.42__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql similarity index 100% rename from src/main/resources/db/migration/V1.42__update_contact_description_type_and_misc_name_cy.sql rename to src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql From 1d8765b21febe5280f3b86c08ba389a767db45b9 Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Wed, 15 Jul 2026 17:45:42 +0100 Subject: [PATCH 09/15] update wrong translation for contact type --- ...ntact_description_type_and_misc_name_cy.sql | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql index 6d2525474..a2bd28245 100644 --- a/src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql +++ b/src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql @@ -13,8 +13,8 @@ FROM ( ('Adoption', 'Mabwysiadu'), ('Appointments', 'Apwyntiadau'), ('Asylum Support Tribunal enquiries', 'Tribiwnlys Cefnogi Ceiswyr Lloches - ymholiadau'), - ('Bail applications', 'Ceisiadau am fechniaeth'), - ('Bailiff enquiries', 'Ymholiadau beiliaid'), + ('Bail applications', 'Ceisiadau am fechnïaeth'), + ('Bailiff enquiries', 'Ymholiadau beilïaid'), ('Building facilities', 'Cyfleusterau yn yr adeilad'), ('Business and Property Court appointments', 'Y Llys Busnes ac Eiddo - apwyntiadau'), ('Business and Property Court enquiries', 'Y Llys Busnes ac Eiddo - ymholiadau'), @@ -43,15 +43,15 @@ FROM ( ('Commercial Court appointments', 'Y Llys Masnach - apwyntiadau'), ('Commercial Court enquiries', 'Y Llys Masnach - ymholiadau'), ('Commercial Court lists', 'Y Llys Masnach - rhestrau'), - ('Companies winding up', 'Dirwyn Cwmniau i Ben'), + ('Companies winding up', 'Dirwyn Cwmnïau i Ben'), ('Confiscation enquiries', 'Ymholiadau atafaelu'), ('County court appointments', 'Llys Sirol - apwyntiadau'), ('County court enquiries', 'Llys Sirol - ymholiadau'), ('County court lists', 'Llys Sirol - rhestrau'), ('Court clerks', 'Clercod y llys'), ('Court lists', 'Rhestrau''r Llys'), - ('Court of Appeal Civil Division', 'Llys Apel - Adran Sifil'), - ('Court of Appeal Criminal Division', 'Llys Apel - Adran Droseddol'), + ('Court of Appeal Civil Division', 'Llys Apêl - Adran Sifil'), + ('Court of Appeal Criminal Division', 'Llys Apêl - Adran Droseddol'), ('Court of Protection', 'Y Llys Gwarchod'), ('Criminal Injuries Compensation Tribunal enquiries', 'Tribiwnlys Iawndal am Anafiadau Troseddol - ymholiadau'), ('Crown Court appointments', 'Llys y Goron - apwyntiadau'), @@ -85,10 +85,10 @@ FROM ( ('Immigration and Asylum Tribunal court lists', 'Tribiwnlys Mewnfudo a Lloches - rhestrau'), ('Enquiries', 'Ymholiadau'), ('Immigration and Asylum Tribunal enquiries', 'Tribiwnlys Mewnfudo a Lloches - ymholiadau'), - ('Insolvency and Companies Court appointments', 'Llys Ansolfedd a Chwmniau - apwyntiadau'), - ('Insolvency and Companies Court enquiries', 'Llys Ansolfedd a Chwmniau - ymholiadau'), - ('Insolvency and Companies Court issues', 'Llys Ansolfedd a Chwmniau - materion'), - ('Insolvency and Companies Court lists', 'Llys Ansolfedd a Chwmniau - rhestrau'), + ('Insolvency and Companies Court appointments', 'Llys Ansolfedd a Chwmnïau - apwyntiadau'), + ('Insolvency and Companies Court enquiries', 'Llys Ansolfedd a Chwmnïau - ymholiadau'), + ('Insolvency and Companies Court issues', 'Llys Ansolfedd a Chwmnïau - materion'), + ('Insolvency and Companies Court lists', 'Llys Ansolfedd a Chwmnïau - rhestrau'), ('Issues', 'Materion'), ('King''s Bench Division appointments', 'Adran Mainc y Brenin - apwyntiadau'), ('King''s Bench Division court lists', 'Adran Mainc y Brenin - rhestrau'), From 92a08a6e1d5b140b95198054a15bbb32f40f02e2 Mon Sep 17 00:00:00 2001 From: debolina-seal <100166232+debolina-seal@users.noreply.github.com> Date: Wed, 15 Jul 2026 17:48:46 +0100 Subject: [PATCH 10/15] Add migration V1.44 for contact description update --- ...> V1.44__update_contact_description_type_and_misc_name_cy.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/db/migration/{V1.43__update_contact_description_type_and_misc_name_cy.sql => V1.44__update_contact_description_type_and_misc_name_cy.sql} (100%) diff --git a/src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql similarity index 100% rename from src/main/resources/db/migration/V1.43__update_contact_description_type_and_misc_name_cy.sql rename to src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql From 456f60ce332e8e5cc0a085f7a9bc5efd67375f48 Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Thu, 16 Jul 2026 15:07:53 +0100 Subject: [PATCH 11/15] updated new translation bug 10 --- ...te_contact_description_type_and_misc_name_cy.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql index a2bd28245..03c52b3f1 100644 --- a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql +++ b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql @@ -132,6 +132,19 @@ FROM ( ('Jury service', 'Gwasanaeth rheithgor'), ('Pay a fee', 'Talu ffi'), ('Transcripts', 'Trawsgrifiadau') + ('Acknowledgement of service','Cydnabyddiad Cyflwyno') + ('Application enquiries','Ymholiadau am gais') + ('Attachment of earnings applications','Ceisiadau am Orchymyn Atafaelu Enillion') + ('Charging orders','Gorchmynion arwystlo') + ('Claim responses','Ymatebion i hawliad') + ('Directions questionnaires','Holiaduron Cyfarwyddiadau') + ('Help with fees','Help i dalu ffioedd') + ('Ongoing attachment of earnings order issues','Problemau parhaus gyda gorchymyn atafaelu enillion') + ('Request a certificate of satisfaction','Gwneud cais am dystysgrif bodlonrwydd') + ('Request for judgment','Cais am ddyfarniad') + ('Scottish enquiries','Ymholiadau yn Yr Alban') + ('Traffic enforcement centre enquiries','Ymholiadau Canolfan Gorfodi Traffig') + ('Warrants and writs of control','Gwarantau neu writ rheolaeth') ) AS v(name, name_cy) WHERE cdt.name = v.name; From 9345f5d38f71f2956638ac6b3da1b98de78101d3 Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Thu, 16 Jul 2026 17:24:54 +0100 Subject: [PATCH 12/15] fix sql --- ...tact_description_type_and_misc_name_cy.sql | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql index 03c52b3f1..4845179ec 100644 --- a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql +++ b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql @@ -131,19 +131,19 @@ FROM ( ('Family court enquiries', 'Ymholiadau Llys Teulu'), ('Jury service', 'Gwasanaeth rheithgor'), ('Pay a fee', 'Talu ffi'), - ('Transcripts', 'Trawsgrifiadau') - ('Acknowledgement of service','Cydnabyddiad Cyflwyno') - ('Application enquiries','Ymholiadau am gais') - ('Attachment of earnings applications','Ceisiadau am Orchymyn Atafaelu Enillion') - ('Charging orders','Gorchmynion arwystlo') - ('Claim responses','Ymatebion i hawliad') - ('Directions questionnaires','Holiaduron Cyfarwyddiadau') - ('Help with fees','Help i dalu ffioedd') - ('Ongoing attachment of earnings order issues','Problemau parhaus gyda gorchymyn atafaelu enillion') - ('Request a certificate of satisfaction','Gwneud cais am dystysgrif bodlonrwydd') - ('Request for judgment','Cais am ddyfarniad') - ('Scottish enquiries','Ymholiadau yn Yr Alban') - ('Traffic enforcement centre enquiries','Ymholiadau Canolfan Gorfodi Traffig') + ('Transcripts', 'Trawsgrifiadau'), + ('Acknowledgement of service','Cydnabyddiad Cyflwyno'), + ('Application enquiries','Ymholiadau am gais'), + ('Attachment of earnings applications','Ceisiadau am Orchymyn Atafaelu Enillion'), + ('Charging orders','Gorchmynion arwystlo'), + ('Claim responses','Ymatebion i hawliad'), + ('Directions questionnaires','Holiaduron Cyfarwyddiadau'), + ('Help with fees','Help i dalu ffioedd'), + ('Ongoing attachment of earnings order issues','Problemau parhaus gyda gorchymyn atafaelu enillion'), + ('Request a certificate of satisfaction','Gwneud cais am dystysgrif bodlonrwydd'), + ('Request for judgment','Cais am ddyfarniad'), + ('Scottish enquiries','Ymholiadau yn Yr Alban'), + ('Traffic enforcement centre enquiries','Ymholiadau Canolfan Gorfodi Traffig'), ('Warrants and writs of control','Gwarantau neu writ rheolaeth') ) AS v(name, name_cy) WHERE cdt.name = v.name; From c2661cec556482d7ed11106cfc33abf998d3dd14 Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Mon, 20 Jul 2026 16:14:55 +0100 Subject: [PATCH 13/15] changed Help with Fees to Help with fees --- ...4__update_contact_description_type_and_misc_name_cy.sql | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql index 4845179ec..671b3f884 100644 --- a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql +++ b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql @@ -1,3 +1,7 @@ +UPDATE contact_description_types +SET name = 'Help with fees' +WHERE name = 'Help with Fees'; + UPDATE contact_description_types cdt SET name_cy = v.name_cy FROM ( @@ -191,7 +195,7 @@ SET name_cy = v.name_cy ('Forced marriage', 'Priodas dan orfod'), ('FGM', 'Anffurfio Organau Cenhedlu Benywod (FGM)'), ('Pathfinder – for Private Law Proceedings', 'Cynllun Braenaru – ar gyfer Achosion Cyfraith Breifat'), - ('Domestic Abuse Protection Order (DAPOs)', 'Gorchymyn Diogelu Rhag Cam-drin Domestig (DAPOs)'), + ('Domestic Abuse Protection Order (DAPOs)', 'Gorchmynion Diogelu Rhag Cam-drin Domestig (DAPOs)'), ('Benefits', 'Budd-daliadau') ) AS v(name, name_cy) WHERE aolt.name = v.name; @@ -202,4 +206,3 @@ ALTER TABLE court_dxcodes ALTER TABLE court_fax ADD COLUMN IF NOT EXISTS description_cy VARCHAR(250); - From dfd7406e68355d314a6033ec4e9a2128335a5fa3 Mon Sep 17 00:00:00 2001 From: debolina-seal Date: Mon, 20 Jul 2026 16:19:46 +0100 Subject: [PATCH 14/15] changed Help with Fees to Help with fees --- .../V1.44__update_contact_description_type_and_misc_name_cy.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql index 671b3f884..8dca2baf0 100644 --- a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql +++ b/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql @@ -195,7 +195,7 @@ SET name_cy = v.name_cy ('Forced marriage', 'Priodas dan orfod'), ('FGM', 'Anffurfio Organau Cenhedlu Benywod (FGM)'), ('Pathfinder – for Private Law Proceedings', 'Cynllun Braenaru – ar gyfer Achosion Cyfraith Breifat'), - ('Domestic Abuse Protection Order (DAPOs)', 'Gorchmynion Diogelu Rhag Cam-drin Domestig (DAPOs)'), + ('Domestic Abuse Protection Order (DAPOs)', 'Gorchymyn Diogelu Rhag Cam-drin Domestig (DAPOs)'), ('Benefits', 'Budd-daliadau') ) AS v(name, name_cy) WHERE aolt.name = v.name; From 738407ff7519be814d846c2d62604e218e333f8a Mon Sep 17 00:00:00 2001 From: debolina-seal <100166232+debolina-seal@users.noreply.github.com> Date: Tue, 21 Jul 2026 15:16:25 +0100 Subject: [PATCH 15/15] Create V1.45 migration for contact description update --- ...> V1.45__update_contact_description_type_and_misc_name_cy.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/db/migration/{V1.44__update_contact_description_type_and_misc_name_cy.sql => V1.45__update_contact_description_type_and_misc_name_cy.sql} (100%) diff --git a/src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql b/src/main/resources/db/migration/V1.45__update_contact_description_type_and_misc_name_cy.sql similarity index 100% rename from src/main/resources/db/migration/V1.44__update_contact_description_type_and_misc_name_cy.sql rename to src/main/resources/db/migration/V1.45__update_contact_description_type_and_misc_name_cy.sql