From 9352cd4c144a4af8ecbe3dbb3d86d2656a391a51 Mon Sep 17 00:00:00 2001
From: Riku Rouvila
Date: Thu, 31 Aug 2023 10:25:10 +0300
Subject: [PATCH 01/51] add language items for corrections
---
src/api/content/client/client.json | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/api/content/client/client.json b/src/api/content/client/client.json
index 094ba8a4f..44ef4eaca 100644
--- a/src/api/content/client/client.json
+++ b/src/api/content/client/client.json
@@ -499,6 +499,7 @@
"correction.reason.additionalComment": "Comments",
"correction.reason.clericalError": "Myself or an agent made a mistake (Clerical error)",
"correction.reason.error": "Reason for change",
+ "correction.reason.other": "Other",
"correction.reason.judicialOrder": "Requested to do so by the court (Judicial order)",
"correction.reason.materialError": "Informant provided incorrect information (Material error)",
"correction.reason.materialOmission": "Informant did not provide this information (Material omission)",
@@ -1621,8 +1622,11 @@
"recordAudit.placeOfMarriage": "Place of marriage",
"recordAudit.regAction.assigned": "Assigned",
"recordAudit.regAction.downloaded": "Retrieved",
- "recordAudit.regAction.reinstated": "Reinstated to {regStatus, select, validated{ready for review} in_progress{in progress} declared{ready for review} rejected{requires updates} other{}}",
- "recordAudit.regAction.requestedCorrection": "Corrected record",
+ "recordAudit.regAction.reinstated": "Reinstated to {regStatus, select, registered{registered} validated{ready for review} in_progress{in progress} declared{ready for review} rejected{requires updates} other{}}",
+ "recordAudit.regAction.requestedCorrection": "Correction requested",
+ "recordAudit.regAction.approvedCorrection": "Correction approved",
+ "recordAudit.regAction.rejectedCorrection": "Correction rejected",
+ "recordAudit.regAction.corrected": "Record corrected",
"recordAudit.regAction.unassigned": "Unassigned",
"recordAudit.regAction.viewed": "Viewed",
"recordAudit.regAction.markedAsDuplicate": "Marked as a duplicate",
@@ -2614,6 +2618,7 @@
"correction.reason.materialError": "L'informateur a fourni des informations incorrectes (erreur matérielle)",
"correction.reason.materialOmission": "L'informateur n'a pas fourni cette information (Omission matérielle)",
"correction.reason.reasonForChange": "Motif de la correction",
+ "correction.reason.other": "Autre",
"correction.reason.title": "Quelle était la raison de la correction ?",
"correction.request": "Correction demandée",
"correction.summary.addComments": "Ajouter des commentaires",
From 04a14c7b91fad3f27367b76d31d77d68dcf43e1f Mon Sep 17 00:00:00 2001
From: Riku Rouvila
Date: Thu, 31 Aug 2023 13:16:52 +0300
Subject: [PATCH 02/51] create email templates for approved and rejected
correction requests
---
src/api/notification/email-service.ts | 25 ++++++++++
.../other/correction-approved.html | 45 +++++++++++++++++
.../other/correction-rejected.html | 50 +++++++++++++++++++
3 files changed, 120 insertions(+)
create mode 100644 src/api/notification/email-templates/other/correction-approved.html
create mode 100644 src/api/notification/email-templates/other/correction-rejected.html
diff --git a/src/api/notification/email-service.ts b/src/api/notification/email-service.ts
index 4950af04e..5ebba42b7 100644
--- a/src/api/notification/email-service.ts
+++ b/src/api/notification/email-service.ts
@@ -107,6 +107,17 @@ type UsernameUpdateVariables = {
countryLogo: string
}
+type ApproveCorrectionVariables = {
+ firstNames: string
+ lastName: string
+ event: string
+ trackingId: string
+ applicationName: string
+ countryLogo: string
+}
+
+type RejectCorrectionVariables = ApproveCorrectionVariables & { reason: string }
+
type DeclarationCommonVariables = {
trackingId: string
crvsOffice: string
@@ -176,6 +187,20 @@ const templates = {
subject: 'Account username updated',
template: readOtherTemplate('username-updated')
},
+ 'correction-approved': {
+ type: 'correction-approved',
+ subject: 'Correction request approved',
+ template: readOtherTemplate(
+ 'correction-approved'
+ )
+ },
+ 'correction-rejected': {
+ type: 'correction-rejected',
+ subject: 'Correction request rejected',
+ template: readOtherTemplate(
+ 'correction-rejected'
+ )
+ },
birthInProgressNotification: {
type: 'birthInProgressNotification',
subject: 'Birth declaration in progress',
diff --git a/src/api/notification/email-templates/other/correction-approved.html b/src/api/notification/email-templates/other/correction-approved.html
new file mode 100644
index 000000000..848ae8da9
--- /dev/null
+++ b/src/api/notification/email-templates/other/correction-approved.html
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+ Correction approved
+
+ Dear {{firstNames}} {{lastName}}
+
+ Your request to correct the {{event}} record {{trackingId}} has been
+ approved.
+
+
+
+ Best regards,
+ {{applicationName}} Team
+
+
+
diff --git a/src/api/notification/email-templates/other/correction-rejected.html b/src/api/notification/email-templates/other/correction-rejected.html
new file mode 100644
index 000000000..fb8f4bd3a
--- /dev/null
+++ b/src/api/notification/email-templates/other/correction-rejected.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+ Correction rejected
+
+ Dear {{firstNames}} {{lastName}}
+
+ Unfortunately your request to correct the {{event}} record {{trackingId}}
+ has been rejected.
+
+
+
+ Reason for rejection:
+ {{reason}}
+
+
+
+ Best regards,
+ {{applicationName}} Team
+
+
+
From 162093e28dc5f3a8ffc2b6afceec2fce6ae697fb Mon Sep 17 00:00:00 2001
From: Riku Rouvila
Date: Thu, 31 Aug 2023 13:24:51 +0300
Subject: [PATCH 03/51] revert copy change
---
src/api/content/client/client.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/api/content/client/client.json b/src/api/content/client/client.json
index 44ef4eaca..9c1488bc4 100644
--- a/src/api/content/client/client.json
+++ b/src/api/content/client/client.json
@@ -1622,7 +1622,7 @@
"recordAudit.placeOfMarriage": "Place of marriage",
"recordAudit.regAction.assigned": "Assigned",
"recordAudit.regAction.downloaded": "Retrieved",
- "recordAudit.regAction.reinstated": "Reinstated to {regStatus, select, registered{registered} validated{ready for review} in_progress{in progress} declared{ready for review} rejected{requires updates} other{}}",
+ "recordAudit.regAction.reinstated": "Reinstated to {regStatus, select, validated{ready for review} in_progress{in progress} declared{ready for review} rejected{requires updates} other{}}",
"recordAudit.regAction.requestedCorrection": "Correction requested",
"recordAudit.regAction.approvedCorrection": "Correction approved",
"recordAudit.regAction.rejectedCorrection": "Correction rejected",
From e49397e6ff7481d00f51226e239cbbaa3b4d7cca Mon Sep 17 00:00:00 2001
From: Riku Rouvila
Date: Thu, 31 Aug 2023 13:27:24 +0300
Subject: [PATCH 04/51] add french translation for correction actions
---
src/api/content/client/client.json | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/api/content/client/client.json b/src/api/content/client/client.json
index 9c1488bc4..7d0048313 100644
--- a/src/api/content/client/client.json
+++ b/src/api/content/client/client.json
@@ -3735,7 +3735,10 @@
"recordAudit.regAction.assigned": "Assigné",
"recordAudit.regAction.downloaded": "Consulté sur",
"recordAudit.regAction.reinstated": "Réintégré à {regStatus, select, validated{prêt pour la révision} in_progress{en cours} declared{prêt pour la révision} rejected{nécessite des mises à jour} other{}}",
- "recordAudit.regAction.requestedCorrection": "Enregistrement corrigé",
+ "recordAudit.regAction.requestedCorrection": "Correction demandée",
+ "recordAudit.regAction.approvedCorrection": "Correction approuvée",
+ "recordAudit.regAction.rejectedCorrection": "Correction rejetée",
+ "recordAudit.regAction.corrected": "Enregistrement corrigé",
"recordAudit.regAction.unassigned": "Non assigné",
"recordAudit.regAction.viewed": "Vu",
"recordAudit.regAction.markedAsDuplicate": "Marqué comme un doublon",
From 2c04cd01b5f7c9ebd88a26ffe4fd15cc9a8b9640 Mon Sep 17 00:00:00 2001
From: Riku Rouvila
Date: Tue, 5 Sep 2023 13:42:14 +0300
Subject: [PATCH 05/51] add hearth mongodb url for 3 and 5 node fleet
configurations
---
infrastructure/docker-compose.replicas-3.yml | 6 ++++--
infrastructure/docker-compose.replicas-5.yml | 4 +++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/infrastructure/docker-compose.replicas-3.yml b/infrastructure/docker-compose.replicas-3.yml
index 477e8e49c..c3e7592ef 100644
--- a/infrastructure/docker-compose.replicas-3.yml
+++ b/infrastructure/docker-compose.replicas-3.yml
@@ -17,7 +17,7 @@ services:
apm-server:
deploy:
replicas: 2
-
+
client:
deploy:
replicas: 2
@@ -53,6 +53,8 @@ services:
replicas: 2
workflow:
+ environment:
+ - HEARTH_MONGO_URL=mongodb://hearth:${HEARTH_MONGODB_PASSWORD}@mongo1,mongo2,mongo3/hearth-dev?replicaSet=rs0
deploy:
replicas: 2
@@ -65,7 +67,7 @@ services:
- MONGO_URL=mongodb://webhooks:${WEBHOOKS_MONGODB_PASSWORD}@mongo1,mongo2,mongo3/webhooks?replicaSet=rs0
deploy:
replicas: 2
-
+
metrics:
environment:
- MONGO_URL=mongodb://metrics:${METRICS_MONGODB_PASSWORD}@mongo1,mongo2,mongo3/metrics?replicaSet=rs0
diff --git a/infrastructure/docker-compose.replicas-5.yml b/infrastructure/docker-compose.replicas-5.yml
index 130dda27b..bf54184f1 100644
--- a/infrastructure/docker-compose.replicas-5.yml
+++ b/infrastructure/docker-compose.replicas-5.yml
@@ -17,7 +17,7 @@ services:
apm-server:
deploy:
replicas: 2
-
+
client:
deploy:
replicas: 2
@@ -51,6 +51,8 @@ services:
replicas: 2
workflow:
+ environment:
+ - HEARTH_MONGO_URL=mongodb://hearth:${HEARTH_MONGODB_PASSWORD}@mongo1,mongo2,mongo3,mongo4,mongo5/hearth-dev?replicaSet=rs0
deploy:
replicas: 2
From 93ff4f9e2d7e5e2ffc093c0593f5f95bc95e444b Mon Sep 17 00:00:00 2001
From: tahmidrahman-dsi
Date: Wed, 4 Oct 2023 18:49:26 +0600
Subject: [PATCH 06/51] Fix e2e tests
---
cypress/integration/birth.spec.ts | 28 +++-
cypress/support/commands.ts | 130 +++++++++---------
.../application/application-config-default.ts | 2 +-
3 files changed, 92 insertions(+), 68 deletions(-)
diff --git a/cypress/integration/birth.spec.ts b/cypress/integration/birth.spec.ts
index 8b7df746d..b07fc1346 100644
--- a/cypress/integration/birth.spec.ts
+++ b/cypress/integration/birth.spec.ts
@@ -9,7 +9,7 @@
* Copyright (C) The OpenCRVS Authors located at https://github.com/opencrvs/opencrvs-core/blob/master/AUTHORS.
*/
-import faker from "@faker-js/faker"
+import faker from '@faker-js/faker'
context('Birth Integration Test', () => {
beforeEach(() => {
@@ -30,7 +30,18 @@ context('Birth Integration Test', () => {
cy.login('fieldWorker')
cy.createPin()
cy.verifyLandingPageVisible()
- cy.enterMaximumInput({ informantType, motherDoB, motherFirstNames, motherFamilyName, fatherDoB, fatherFirstNames, fatherFamilyName, informantFirstNames, informantFamilyName, informantDoB })
+ cy.enterMaximumInput({
+ informantType,
+ motherDoB,
+ motherFirstNames,
+ motherFamilyName,
+ fatherDoB,
+ fatherFirstNames,
+ fatherFamilyName,
+ informantFirstNames,
+ informantFamilyName,
+ informantDoB
+ })
cy.submitDeclaration()
cy.logout()
})
@@ -81,7 +92,18 @@ context('Birth Integration Test', () => {
cy.login('registrar')
cy.createPin()
cy.verifyLandingPageVisible()
- cy.enterMaximumInput({ informantType, motherDoB, motherFirstNames, motherFamilyName, fatherDoB, fatherFirstNames, fatherFamilyName, informantFirstNames, informantFamilyName, informantDoB })
+ cy.enterMaximumInput({
+ informantType,
+ motherDoB,
+ motherFirstNames,
+ motherFamilyName,
+ fatherDoB,
+ fatherFirstNames,
+ fatherFamilyName,
+ informantFirstNames,
+ informantFamilyName,
+ informantDoB
+ })
//register declaration
cy.get('#registerDeclarationBtn').click()
cy.get('#submit_confirm').click()
diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts
index b959de2dc..fe42b1537 100644
--- a/cypress/support/commands.ts
+++ b/cypress/support/commands.ts
@@ -306,9 +306,9 @@ Cypress.Commands.add('declareDeclarationWithMinimumInput', () => {
)
cy.get('#childBirthDate-yyyy').type('2018')
cy.selectOption('#placeOfBirth', 'Private_Home', 'Residential address')
- cy.selectOption('#country', 'Farajaland', 'Farajaland')
- cy.selectOption('#state', 'Pualula', 'Pualula')
- cy.selectOption('#district', 'Embe', 'Embe')
+ cy.selectOption('#countryPlaceofbirth', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePlaceofbirth', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPlaceofbirth', 'Embe', 'Embe')
cy.goToNextFormSection()
// SELECT INFORMANT
@@ -474,21 +474,21 @@ Cypress.Commands.add('enterMaximumInput', (options) => {
cy.selectOption('#birthType', 'Single', 'Single')
cy.get('#weightAtBirth').type('1.5')
cy.selectOption('#placeOfBirth', 'Private_Home', 'Residential address')
- cy.selectOption('#country', 'Farajaland', 'Farajaland')
+ cy.selectOption('#countryPlaceofbirth', 'Farajaland', 'Farajaland')
cy.selectOption(
- '#state',
+ '#statePlaceofbirth',
options?.eventLocationLevel1 || 'Pualula',
options?.eventLocationLevel1 || 'Pualula'
)
cy.selectOption(
- '#district',
+ '#districtPlaceofbirth',
options?.eventLocationLevel2 || 'Embe',
options?.eventLocationLevel2 || 'Embe'
)
- cy.get('#cityUrbanOption').type('My city')
- cy.get('#addressLine3UrbanOption').type('My residential area')
- cy.get('#addressLine2UrbanOption').type('My street')
- cy.get('#numberUrbanOption').type('40')
+ cy.get('#cityPlaceofbirth').type('My city')
+ cy.get('#addressLine1UrbanOptionPlaceofbirth').type('My residential area')
+ cy.get('#addressLine2UrbanOptionPlaceofbirth').type('My street')
+ cy.get('#addressLine3UrbanOptionPlaceofbirth').type('40')
cy.goToNextFormSection()
// SELECT INFORMANT
@@ -497,6 +497,7 @@ Cypress.Commands.add('enterMaximumInput', (options) => {
options?.informantType || 'Grandfather',
options?.informantType || 'Grandfather'
)
+ cy.wait(500)
cy.get('#registrationPhone').type('07' + getRandomNumbers(8))
cy.get('#registrationEmail').type('axonishere@gmail.com')
@@ -510,12 +511,11 @@ Cypress.Commands.add('enterMaximumInput', (options) => {
cy.get('#informantBirthDate-yyyy').type(informantDoBSplit.yyyy || '1975')
cy.selectOption('#nationality', 'Farajaland', 'Farajaland')
cy.get('#informantID').type(getRandomNumbers(10))
- cy.selectOption('#countryPrimary-form-input', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
- cy.goToNextFormSection()
+ cy.selectOption('#countryPrimaryInformant', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryInformant', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryInformant', 'Embe', 'Embe')
}
-
+ cy.goToNextFormSection()
// MOTHER DETAILS
cy.get('#iD').type(getRandomNumbers(10))
cy.get('#motherBirthDate-dd').type(motherDoBSplit?.dd || '23')
@@ -530,14 +530,14 @@ Cypress.Commands.add('enterMaximumInput', (options) => {
cy.get('#multipleBirth').type('2')
cy.get('#occupation').type('Lawyer')
cy.selectOption('#educationalAttainment', 'PRIMARY_ISCED_1', 'Primary')
- cy.selectOption('#countryPrimary-form-input', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
- cy.get('#cityUrbanOptionPrimary').type('My town')
- cy.get('#addressLine3UrbanOptionPrimary').type('My residental area')
-
- cy.get('#addressLine2UrbanOptionPrimary').type('My street')
- cy.get('#numberUrbanOptionPrimary').type('40')
+ cy.selectOption('#countryPrimaryMother', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryMother', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryMother', 'Embe', 'Embe')
+ cy.get('#cityPrimaryMother').type('My town')
+ cy.get('#addressLine1UrbanOptionPrimaryMother').type('My residental area')
+
+ cy.get('#addressLine2UrbanOptionPrimaryMother').type('My street')
+ cy.get('#addressLine3UrbanOptionPrimaryMother').type('40')
cy.goToNextFormSection()
// FATHER DETAILS
@@ -552,13 +552,13 @@ Cypress.Commands.add('enterMaximumInput', (options) => {
cy.get('#occupation').type('Lawyer')
cy.selectOption('#educationalAttainment', 'PRIMARY_ISCED_1', 'Primary')
cy.get('#primaryAddressSameAsOtherPrimary_false').click()
- cy.selectOption('#countryPrimary', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
- cy.get('#cityUrbanOptionPrimary').type('My town')
- cy.get('#addressLine3UrbanOptionPrimary').type('My residential area')
- cy.get('#addressLine2UrbanOptionPrimary').type('My street')
- cy.get('#numberUrbanOptionPrimary').type('40')
+ cy.selectOption('#countryPrimaryFather', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryFather', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryFather', 'Embe', 'Embe')
+ cy.get('#cityPrimaryFather').type('My town')
+ cy.get('#addressLine1UrbanOptionPrimaryFather').type('My residential area')
+ cy.get('#addressLine2UrbanOptionPrimaryFather').type('My street')
+ cy.get('#addressLine2UrbanOptionPrimaryFather').type('40')
cy.goToNextFormSection()
// DOCUMENTS
@@ -611,9 +611,9 @@ Cypress.Commands.add('declareDeathDeclarationWithMinimumInput', (options) => {
cy.get('#deceasedBirthDate-mm').type('06')
cy.get('#deceasedBirthDate-yyyy').type('1988')
cy.selectOption('#gender', 'Male', 'Male')
- cy.selectOption('#countryPrimary', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
+ cy.selectOption('#countryPrimaryDeceased', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryDeceased', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryDeceased', 'Embe', 'Embe')
cy.goToNextFormSection()
// EVENT DETAILS
@@ -634,6 +634,7 @@ Cypress.Commands.add('declareDeathDeclarationWithMinimumInput', (options) => {
options?.informantType || 'Spouse',
options?.informantType || 'Spouse'
)
+ cy.wait(500)
cy.get('#informantID').type('9123456781')
cy.get('#informantBirthDate-dd').type('16')
cy.get('#informantBirthDate-mm').type('06')
@@ -708,14 +709,14 @@ Cypress.Commands.add('enterDeathMaximumInput', (options) => {
options?.deceasedGender || 'Male',
options?.deceasedGender || 'Male'
)
- cy.selectOption('#countryPrimary', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
- cy.get('#cityUrbanOptionPrimary').type('My town')
- cy.get('#addressLine3UrbanOptionPrimary').type('My residential area')
- cy.get('#addressLine2UrbanOptionPrimary').type('My street')
- cy.get('#numberUrbanOptionPrimary').type('40')
- cy.get('#postcodePrimary').type('9000')
+ cy.selectOption('#countryPrimaryDeceased', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryDeceased', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryDeceased', 'Embe', 'Embe')
+ cy.get('#cityPrimaryDeceased').type('My town')
+ cy.get('#addressLine1UrbanOptionPrimaryDeceased').type('My residential area')
+ cy.get('#addressLine2UrbanOptionPrimaryDeceased').type('My street')
+ cy.get('#addressLine3UrbanOptionPrimaryDeceased').type('40')
+ cy.get('#postalCodePrimaryDeceased').type('9000')
cy.goToNextFormSection()
// EVENT DETAILS
cy.get('#deathDate-dd').type('18')
@@ -728,22 +729,22 @@ Cypress.Commands.add('enterDeathMaximumInput', (options) => {
cy.selectOption('#causeOfDeathMethod', '', 'Physician')
cy.selectOption('#placeOfDeath', '', 'Other')
- cy.selectOption('#country', 'Farajaland', 'Farajaland')
+ cy.selectOption('#countryPlaceofdeath', 'Farajaland', 'Farajaland')
cy.selectOption(
- '#state',
+ '#statePlaceofdeath',
options?.eventLocationLevel1 || 'Pualula',
options?.eventLocationLevel1 || 'Pualula'
)
cy.selectOption(
- '#district',
+ '#districtPlaceofdeath',
options?.eventLocationLevel2 || 'Embe',
options?.eventLocationLevel2 || 'Embe'
)
- cy.get('#cityUrbanOption').type('My city')
- cy.get('#addressLine3UrbanOption').type('My residential area')
- cy.get('#addressLine2UrbanOption').type('My street')
- cy.get('#numberUrbanOption').type('40')
- cy.get('#postalCode').type('9000')
+ cy.get('#cityPlaceofdeath').type('My city')
+ cy.get('#addressLine1UrbanOptionPlaceofdeath').type('My residential area')
+ cy.get('#addressLine2UrbanOptionPlaceofdeath').type('My street')
+ cy.get('#addressLine3UrbanOptionPlaceofdeath').type('40')
+ cy.get('#postalCodePlaceofdeath').type('9000')
cy.goToNextFormSection()
// INFORMANT DETAILS
@@ -752,6 +753,7 @@ Cypress.Commands.add('enterDeathMaximumInput', (options) => {
options?.informantType || 'Spouse',
options?.informantType || 'Spouse'
)
+ cy.wait(500)
cy.get('#registrationPhone').type('07' + getRandomNumbers(8))
cy.get('#registrationEmail').type('axonishere@gmail.com')
cy.get('#firstNamesEng').type(options?.informantFirstNames || 'Alom')
@@ -762,11 +764,11 @@ Cypress.Commands.add('enterDeathMaximumInput', (options) => {
cy.selectOption('#nationality', 'Farajaland', 'Farajaland')
cy.get('#informantID').type(getRandomNumbers(10))
cy.get('#primaryAddressSameAsOtherPrimary_false').click()
- cy.selectOption('#countryPrimary-form-input', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
- cy.get('#cityUrbanOptionPrimary').type('My town')
- cy.get('#postcodePrimary').type('9000')
+ cy.selectOption('#countryPrimaryInformant', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryInformant', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryInformant', 'Embe', 'Embe')
+ cy.get('#cityPrimaryInformant').type('My town')
+ cy.get('#postalCodePrimaryInformant').type('9000')
cy.goToNextFormSection()
cy.goToNextFormSection()
})
@@ -792,13 +794,13 @@ Cypress.Commands.add('someoneElseJourney', () => {
cy.selectOption('#birthType', 'Single', 'Single')
cy.get('#weightAtBirth').type('1.5')
cy.selectOption('#placeOfBirth', 'Private_Home', 'Residential address')
- cy.selectOption('#country', 'Farajaland', 'Farajaland')
- cy.selectOption('#state', 'Pualula', 'Pualula')
- cy.selectOption('#district', 'Embe', 'Embe')
- cy.get('#cityUrbanOption').type('My city')
- cy.get('#addressLine3UrbanOption').type('My residential area')
- cy.get('#addressLine2UrbanOption').type('My street')
- cy.get('#numberUrbanOption').type('40')
+ cy.selectOption('#countryPlaceofbirth', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePlaceofbirth', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPlaceofbirth', 'Embe', 'Embe')
+ cy.get('#cityPlaceofbirth').type('My city')
+ cy.get('#addressLine1UrbanOptionPlaceofbirth').type('My residential area')
+ cy.get('#addressLine2UrbanOptionPlaceofbirth').type('My street')
+ cy.get('#addressLine3UrbanOptionPlaceofbirth').type('40')
cy.goToNextFormSection()
// SELECT INFORMANT
@@ -815,9 +817,9 @@ Cypress.Commands.add('someoneElseJourney', () => {
cy.get('#informantBirthDate-yyyy').type('1975')
cy.selectOption('#nationality', 'Farajaland', 'Farajaland')
cy.get('#informantID').type('1234567111')
- cy.selectOption('#countryPrimary-form-input', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
+ cy.selectOption('#countryPrimaryInformant', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryInformant', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryInformant', 'Embe', 'Embe')
cy.goToNextFormSection()
// MOTHER DETAILS
diff --git a/src/api/application/application-config-default.ts b/src/api/application/application-config-default.ts
index b0389cdd0..fb94ecf0f 100644
--- a/src/api/application/application-config-default.ts
+++ b/src/api/application/application-config-default.ts
@@ -44,7 +44,7 @@ export const defaultApplicationConfig = {
MARRIAGE_REGISTRATION: true,
DATE_OF_BIRTH_UNKNOWN: false,
INFORMANT_SIGNATURE: true,
- INFORMANT_SIGNATURE_REQUIRED: true,
+ INFORMANT_SIGNATURE_REQUIRED: false,
USER_NOTIFICATION_DELIVERY_METHOD: 'email', // or 'sms', or '' ... You can use 'sms' for WhatsApp
INFORMANT_NOTIFICATION_DELIVERY_METHOD: 'email' // or 'sms', or '' ... You can use 'sms' for WhatsApp
}
From 84acdfddd9660204b3b41a79f0a60a65fcb04410 Mon Sep 17 00:00:00 2001
From: tahmidrahman-dsi
Date: Mon, 9 Oct 2023 12:17:13 +0600
Subject: [PATCH 07/51] More fixes in e2e tests
---
cypress/support/commands.ts | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts
index fe42b1537..ed2643901 100644
--- a/cypress/support/commands.ts
+++ b/cypress/support/commands.ts
@@ -313,6 +313,7 @@ Cypress.Commands.add('declareDeclarationWithMinimumInput', () => {
// SELECT INFORMANT
cy.selectOption('#informantType', 'Mother', 'Mother')
+ cy.wait(500)
cy.get('#registrationPhone').type('07' + getRandomNumbers(8))
cy.goToNextFormSection()
@@ -323,9 +324,9 @@ Cypress.Commands.add('declareDeclarationWithMinimumInput', () => {
cy.get('#motherBirthDate-dd').type('23')
cy.get('#motherBirthDate-mm').type('10')
cy.get('#motherBirthDate-yyyy').type('1969')
- cy.selectOption('#countryPrimary-form-input', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
+ cy.selectOption('#countryPrimaryMother', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryMother', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryMother', 'Embe', 'Embe')
cy.goToNextFormSection()
// FATHER DETAILS
@@ -624,6 +625,7 @@ Cypress.Commands.add('declareDeathDeclarationWithMinimumInput', (options) => {
// MANNER OF DEATH
cy.selectOption('#mannerOfDeath', '', 'Natural causes')
cy.get('#causeOfDeathEstablished').click()
+ cy.wait(500)
cy.selectOption('#causeOfDeathMethod', '', 'Physician')
cy.selectOption('#placeOfDeath', '', "Deceased's usual place of residence")
@@ -726,6 +728,7 @@ Cypress.Commands.add('enterDeathMaximumInput', (options) => {
// CAUSE OF DEATH DETAILS
cy.selectOption('#mannerOfDeath', '', 'Homicide')
cy.get('#causeOfDeathEstablished').click()
+ cy.wait(500)
cy.selectOption('#causeOfDeathMethod', '', 'Physician')
cy.selectOption('#placeOfDeath', '', 'Other')
@@ -805,6 +808,7 @@ Cypress.Commands.add('someoneElseJourney', () => {
// SELECT INFORMANT
cy.selectOption('#informantType', 'Someone else', 'Someone else')
+ cy.wait(500)
cy.get('#otherInformantType').type('Someone else')
cy.get('#registrationPhone').type('07' + getRandomNumbers(8))
cy.get('#registrationEmail').type('axonishere@gmail.com')
@@ -830,9 +834,9 @@ Cypress.Commands.add('someoneElseJourney', () => {
cy.get('#motherBirthDate-yyyy').type('1975')
cy.get('#firstNamesEng').type('Agnes')
cy.get('#familyNameEng').type('Aktar')
- cy.selectOption('#countryPrimary-form-input', 'Farajaland', 'Farajaland')
- cy.selectOption('#statePrimary', 'Pualula', 'Pualula')
- cy.selectOption('#districtPrimary', 'Embe', 'Embe')
+ cy.selectOption('#countryPrimaryMother', 'Farajaland', 'Farajaland')
+ cy.selectOption('#statePrimaryMother', 'Pualula', 'Pualula')
+ cy.selectOption('#districtPrimaryMother', 'Embe', 'Embe')
cy.goToNextFormSection()
// FATHER DETAILS
From 66e595ff01c0434dbd55488446d5e448c99c2c4d Mon Sep 17 00:00:00 2001
From: Riku Rouvila
Date: Fri, 6 Oct 2023 14:46:54 +0300
Subject: [PATCH 08/51] make sure minio is always deployed to the data1 node
---
infrastructure/docker-compose.deploy.yml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/infrastructure/docker-compose.deploy.yml b/infrastructure/docker-compose.deploy.yml
index f8442d7b6..3ebeaf4b9 100644
--- a/infrastructure/docker-compose.deploy.yml
+++ b/infrastructure/docker-compose.deploy.yml
@@ -283,6 +283,10 @@ services:
- '/data/minio:/data'
command: server --console-address ":9001" /data
deploy:
+ replicas: 1
+ placement:
+ constraints:
+ - node.labels.data1 == true
labels:
- 'traefik.enable=true'
- 'traefik.docker.network=opencrvs_overlay_net'
From d48b30fdb8bd516919e7fe9da18197b53ba19669 Mon Sep 17 00:00:00 2001
From: Riku Rouvila
Date: Tue, 17 Oct 2023 16:26:48 +0300
Subject: [PATCH 09/51] Ensure jq is installed on all production servers (#759)
* ensure jq is installed on all production servers
* fix file path used when rsyncing minio and metabase data to backup server
---
infrastructure/emergency-backup-metadata.sh | 15 ++++++++++-----
infrastructure/server-setup/playbook-1.yml | 5 +++++
infrastructure/server-setup/playbook-3.yml | 7 ++++++-
infrastructure/server-setup/playbook-5.yml | 9 +++++++--
4 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/infrastructure/emergency-backup-metadata.sh b/infrastructure/emergency-backup-metadata.sh
index 8e7277042..b67b6c7b4 100755
--- a/infrastructure/emergency-backup-metadata.sh
+++ b/infrastructure/emergency-backup-metadata.sh
@@ -286,14 +286,19 @@ else
fi
echo "Creating a backup for Minio"
-cd $ROOT_PATH/minio && tar -zcvf $ROOT_PATH/backups/minio/ocrvs-${LABEL:-$BACKUP_DATE}.tar.gz . && cd /
+
+LOCAL_MINIO_BACKUP=$ROOT_PATH/backups/minio/ocrvs-${LABEL:-$BACKUP_DATE}.tar.gz
+cd $ROOT_PATH/minio && tar -zcvf $LOCAL_MINIO_BACKUP . && cd /
echo "Creating a backup for Metabase"
-cd $ROOT_PATH/metabase && tar -zcvf $ROOT_PATH/backups/metabase/ocrvs-${LABEL:-$BACKUP_DATE}.tar.gz . && cd /
+LOCAL_METABASE_BACKUP=$ROOT_PATH/backups/metabase/ocrvs-${LABEL:-$BACKUP_DATE}.tar.gz
+cd $ROOT_PATH/metabase && tar -zcvf $LOCAL_METABASE_BACKUP . && cd /
echo "Creating a backup for VSExport"
-cd $ROOT_PATH/vsexport && tar -zcvf $ROOT_PATH/backups/vsexport/ocrvs-${LABEL:-$BACKUP_DATE}.tar.gz . && cd /
+
+LOCAL_VSEXPORT_BACKUP=$ROOT_PATH/backups/vsexport/ocrvs-${LABEL:-$BACKUP_DATE}.tar.gz
+cd $ROOT_PATH/vsexport && tar -zcvf $LOCAL_VSEXPORT_BACKUP . && cd /
if [[ "$IS_LOCAL" = true ]]; then
echo $WORKING_DIR
@@ -305,8 +310,8 @@ fi
#----------------------------------------------------
if [[ "$OWN_IP" = "$PRODUCTION_IP" || "$OWN_IP" = "$(dig $PRODUCTION_IP +short)" ]]; then
script -q -c "rsync -a -r --progress --rsh='ssh -p$SSH_PORT' $ROOT_PATH/backups/elasticsearch/ $SSH_USER@$SSH_HOST:$REMOTE_DIR/elasticsearch" && echo "Copied elasticsearch backup files to remote server."
- script -q -c "rsync -a -r --ignore-existing --progress --rsh='ssh -p$SSH_PORT' $ROOT_PATH/backups/minio/${LABEL:-$BACKUP_DATE} $SSH_USER@$SSH_HOST:$REMOTE_DIR/minio" && echo "Copied minio backup files to remote server."
- script -q -c "rsync -a -r --ignore-existing --progress --rsh='ssh -p$SSH_PORT' $ROOT_PATH/backups/metabase/${LABEL:-$BACKUP_DATE} $SSH_USER@$SSH_HOST:$REMOTE_DIR/metabase" && echo "Copied Metabase backup files to remote server."
+ script -q -c "rsync -a -r --ignore-existing --progress --rsh='ssh -p$SSH_PORT' $LOCAL_MINIO_BACKUP $SSH_USER@$SSH_HOST:$REMOTE_DIR/minio" && echo "Copied minio backup files to remote server."
+ script -q -c "rsync -a -r --ignore-existing --progress --rsh='ssh -p$SSH_PORT' $LOCAL_METABASE_BACKUP $SSH_USER@$SSH_HOST:$REMOTE_DIR/metabase" && echo "Copied Metabase backup files to remote server."
script -q -c "rsync -a -r --ignore-existing --progress --rsh='ssh -p$SSH_PORT' $ROOT_PATH/backups/influxdb/${LABEL:-$BACKUP_DATE} $SSH_USER@$SSH_HOST:$REMOTE_DIR/influxdb" && echo "Copied influx backup files to remote server."
script -q -c "rsync -a -r --ignore-existing --progress --rsh='ssh -p$SSH_PORT' $ROOT_PATH/backups/mongo/hearth-dev-${LABEL:-$BACKUP_DATE}.gz $SSH_USER@$SSH_HOST:$REMOTE_DIR/mongo" && echo "Copied hearth backup files to remote server."
script -q -c "rsync -a -r --ignore-existing --progress --rsh='ssh -p$SSH_PORT' $ROOT_PATH/backups/mongo/user-mgnt-${LABEL:-$BACKUP_DATE}.gz $SSH_USER@$SSH_HOST:$REMOTE_DIR/mongo" && echo "Copied user backup files to remote server."
diff --git a/infrastructure/server-setup/playbook-1.yml b/infrastructure/server-setup/playbook-1.yml
index 2ed307378..2ecf4ce76 100644
--- a/infrastructure/server-setup/playbook-1.yml
+++ b/infrastructure/server-setup/playbook-1.yml
@@ -66,6 +66,11 @@
name: python3-pip
state: present
+ - name: 'Install jq'
+ apt:
+ name: jq
+ state: present
+
- name: 'Install pexpect python module for ansible expect commands'
pip:
name: pexpect
diff --git a/infrastructure/server-setup/playbook-3.yml b/infrastructure/server-setup/playbook-3.yml
index 60a1d307f..9dc2de818 100644
--- a/infrastructure/server-setup/playbook-3.yml
+++ b/infrastructure/server-setup/playbook-3.yml
@@ -74,6 +74,11 @@
name: python3-pip
state: present
+ - name: 'Install jq'
+ apt:
+ name: jq
+ state: present
+
- name: 'Install pexpect python module for ansible expect commands'
pip:
name: pexpect
@@ -366,7 +371,7 @@
apt:
name: fail2ban
state: present
-
+
- name: 'Copy fail2ban jail.local'
copy:
src: ../jail.local
diff --git a/infrastructure/server-setup/playbook-5.yml b/infrastructure/server-setup/playbook-5.yml
index 5308ea210..d6b195f42 100644
--- a/infrastructure/server-setup/playbook-5.yml
+++ b/infrastructure/server-setup/playbook-5.yml
@@ -64,6 +64,11 @@
name: python3-pip
state: present
+ - name: 'Install jq'
+ apt:
+ name: jq
+ state: present
+
- name: 'Install pexpect python module for ansible expect commands'
pip:
name: pexpect
@@ -350,12 +355,12 @@
ufw:
rule: allow
name: OpenSSH
-
+
- name: 'Install Fail2Ban'
apt:
name: fail2ban
state: present
-
+
- name: 'Copy fail2ban jail.local'
copy:
src: ../jail.local
From 26958e4a3931ca6804b80e97a9ff0c0160c669a1 Mon Sep 17 00:00:00 2001
From: euanmillar
Date: Mon, 23 Oct 2023 15:07:16 +0100
Subject: [PATCH 10/51] Add registration location to email
---
src/api/notification/email-service.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/api/notification/email-service.ts b/src/api/notification/email-service.ts
index 4b72c447e..088014d80 100644
--- a/src/api/notification/email-service.ts
+++ b/src/api/notification/email-service.ts
@@ -109,6 +109,7 @@ type UsernameUpdateVariables = {
type DeclarationCommonVariables = {
trackingId: string
crvsOffice: string
+ registrationLocation: string
applicationName: string
informantName: string
}
From da570e03cd5feab7dc7b857abadbdc07a663c044 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 24 Oct 2023 09:00:08 +0300
Subject: [PATCH 11/51] Bump @babel/traverse from 7.19.6 to 7.23.2 (#760)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.19.6 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)
---
updated-dependencies:
- dependency-name: "@babel/traverse"
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
yarn.lock | 136 ++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 96 insertions(+), 40 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 89f18b878..ff0b3f62f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -518,6 +518,14 @@
dependencies:
"@babel/highlight" "^7.18.6"
+"@babel/code-frame@^7.22.13":
+ version "7.22.13"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
+ integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
+ dependencies:
+ "@babel/highlight" "^7.22.13"
+ chalk "^2.4.2"
+
"@babel/compat-data@^7.19.3", "@babel/compat-data@^7.19.4":
version "7.19.4"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747"
@@ -589,6 +597,16 @@
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
+"@babel/generator@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
+ integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
+ dependencies:
+ "@babel/types" "^7.23.0"
+ "@jridgewell/gen-mapping" "^0.3.2"
+ "@jridgewell/trace-mapping" "^0.3.17"
+ jsesc "^2.5.1"
+
"@babel/helper-annotate-as-pure@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@@ -635,6 +653,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
+"@babel/helper-environment-visitor@^7.22.20":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
+ integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
+
"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c"
@@ -643,20 +666,20 @@
"@babel/template" "^7.18.10"
"@babel/types" "^7.19.0"
-"@babel/helper-function-name@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
- integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
+"@babel/helper-function-name@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
+ integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
dependencies:
- "@babel/template" "^7.20.7"
- "@babel/types" "^7.21.0"
+ "@babel/template" "^7.22.15"
+ "@babel/types" "^7.23.0"
-"@babel/helper-hoist-variables@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
- integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
+"@babel/helper-hoist-variables@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
+ integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
dependencies:
- "@babel/types" "^7.18.6"
+ "@babel/types" "^7.22.5"
"@babel/helper-member-expression-to-functions@^7.18.9":
version "7.18.9"
@@ -756,16 +779,33 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-split-export-declaration@^7.22.6":
+ version "7.22.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
+ integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
+ dependencies:
+ "@babel/types" "^7.22.5"
+
"@babel/helper-string-parser@^7.19.4":
version "7.19.4"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
+"@babel/helper-string-parser@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
+ integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
+
"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
version "7.19.1"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
+"@babel/helper-validator-identifier@^7.22.20":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
+ integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
+
"@babel/helper-validator-option@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
@@ -803,6 +843,15 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
+"@babel/highlight@^7.22.13":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
+ integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.22.20"
+ chalk "^2.4.2"
+ js-tokens "^4.0.0"
+
"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.16.8", "@babel/parser@^7.18.10", "@babel/parser@^7.19.6":
version "7.19.6"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.6.tgz#b923430cb94f58a7eae8facbffa9efd19130e7f8"
@@ -813,6 +862,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==
+"@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
+ integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
+
"@babel/plugin-proposal-class-properties@^7.0.0":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
@@ -1121,35 +1175,28 @@
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.4", "@babel/traverse@^7.19.6":
- version "7.19.6"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.6.tgz#7b4c865611df6d99cb131eec2e8ac71656a490dc"
- integrity sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==
- dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.19.6"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.19.0"
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.19.6"
- "@babel/types" "^7.19.4"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36"
- integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==
- dependencies:
- "@babel/code-frame" "^7.21.4"
- "@babel/generator" "^7.21.4"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.21.0"
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.21.4"
- "@babel/types" "^7.21.4"
+"@babel/template@^7.22.15":
+ version "7.22.15"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
+ integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
+ dependencies:
+ "@babel/code-frame" "^7.22.13"
+ "@babel/parser" "^7.22.15"
+ "@babel/types" "^7.22.15"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.4", "@babel/traverse@^7.19.6", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4":
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
+ integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
+ dependencies:
+ "@babel/code-frame" "^7.22.13"
+ "@babel/generator" "^7.23.0"
+ "@babel/helper-environment-visitor" "^7.22.20"
+ "@babel/helper-function-name" "^7.23.0"
+ "@babel/helper-hoist-variables" "^7.22.5"
+ "@babel/helper-split-export-declaration" "^7.22.6"
+ "@babel/parser" "^7.23.0"
+ "@babel/types" "^7.23.0"
debug "^4.1.0"
globals "^11.1.0"
@@ -1171,6 +1218,15 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
+"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
+ integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
+ dependencies:
+ "@babel/helper-string-parser" "^7.22.5"
+ "@babel/helper-validator-identifier" "^7.22.20"
+ to-fast-properties "^2.0.0"
+
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
From a4b0060a300674bc9e96b60cba42bef711fd48b8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 24 Oct 2023 09:00:23 +0300
Subject: [PATCH 12/51] Bump undici from 5.19.1 to 5.26.3 (#758)
Bumps [undici](https://github.com/nodejs/undici) from 5.19.1 to 5.26.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.19.1...v5.26.3)
---
updated-dependencies:
- dependency-name: undici
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
yarn.lock | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index ff0b3f62f..543669ad7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1431,6 +1431,11 @@
resolved "https://registry.yarnpkg.com/@faker-js/faker/-/faker-6.3.1.tgz#1ae963dd40405450a2945408cba553e1afa3e0fb"
integrity sha512-8YXBE2ZcU/pImVOHX7MWrSR/X5up7t6rPWZlk34RwZEcdr3ua6X+32pSd6XuOQRN+vbuvYNfA6iey8NbrjuMFQ==
+"@fastify/busboy@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.0.0.tgz#f22824caff3ae506b18207bad4126dbc6ccdb6b8"
+ integrity sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==
+
"@formatjs/ecma402-abstract@1.16.0":
version "1.16.0"
resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz#15a0baa8401880d4010eb93440d996e896ca251c"
@@ -10008,11 +10013,11 @@ underscore@>1.4.4:
integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==
undici@^5.10.0:
- version "5.19.1"
- resolved "https://registry.yarnpkg.com/undici/-/undici-5.19.1.tgz#92b1fd3ab2c089b5a6bd3e579dcda8f1934ebf6d"
- integrity sha512-YiZ61LPIgY73E7syxCDxxa3LV2yl3sN8spnIuTct60boiiRaE1J8mNWHO8Im2Zi/sFrPusjLlmRPrsyraSqX6A==
+ version "5.26.3"
+ resolved "https://registry.yarnpkg.com/undici/-/undici-5.26.3.tgz#ab3527b3d5bb25b12f898dfd22165d472dd71b79"
+ integrity sha512-H7n2zmKEWgOllKkIUkLvFmsJQj062lSm3uA4EYApG8gLuiOM0/go9bIoC3HVaSnfg4xunowDE2i9p8drkXuvDw==
dependencies:
- busboy "^1.6.0"
+ "@fastify/busboy" "^2.0.0"
union-value@^1.0.0:
version "1.0.1"
From 4b7cc49cb1367b91ea39dc2497af9e875ed7977f Mon Sep 17 00:00:00 2001
From: Jonathan Pye-Finch <46478402+jpye-finch@users.noreply.github.com>
Date: Tue, 24 Oct 2023 07:00:44 +0100
Subject: [PATCH 13/51] grammar fix - marriage (#753)
---
src/api/notification/email-templates/marriage/rejection.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/api/notification/email-templates/marriage/rejection.html b/src/api/notification/email-templates/marriage/rejection.html
index d8c8c6a17..bfee2ce5e 100644
--- a/src/api/notification/email-templates/marriage/rejection.html
+++ b/src/api/notification/email-templates/marriage/rejection.html
@@ -40,7 +40,7 @@ Marriage declaration requires changes
Hello {{informantName}},
- Your marriage declaration for {{groomName}} and {{brideName}} is requires updates. Please visit {{crvsOffice}}
+ Your marriage declaration for {{groomName}} and {{brideName}} requires updates. Please visit {{crvsOffice}}
to complete your declaration with your supporting documents.
@@ -55,4 +55,4 @@
Marriage declaration requires changes
This is an automated message. Please do not reply to this email.