diff --git a/data-serving/data-service/src/controllers/case.ts b/data-serving/data-service/src/controllers/case.ts index e2520d2d2..a44e15b4c 100644 --- a/data-serving/data-service/src/controllers/case.ts +++ b/data-serving/data-service/src/controllers/case.ts @@ -182,6 +182,7 @@ const updatedRevisionMetadata = ( updateMetadata: { curator: curator, note: note, + date: Date.now(), }, revisionNumber: day0Case.revisionMetadata.revisionNumber + 1, }; @@ -503,6 +504,7 @@ export class CasesController { revisionNumber: 0, creationMetadata: { curator: req.body.curator.email, + date: Date.now(), }, }, } as CaseDTO; diff --git a/verification/curator-service/ui/cypress/e2e/components/LinelistTableTest.spec.ts b/verification/curator-service/ui/cypress/e2e/components/LinelistTableTest.spec.ts index 9e91466ec..e11307ab7 100644 --- a/verification/curator-service/ui/cypress/e2e/components/LinelistTableTest.spec.ts +++ b/verification/curator-service/ui/cypress/e2e/components/LinelistTableTest.spec.ts @@ -57,6 +57,14 @@ describe('Linelist table', function () { }); cy.visit('/'); cy.visit('/cases'); + + // We don't need additional library for just one test, we can format date manually + const today = new Date(); + const year = today.getFullYear(); + const month = today.getMonth() < 9 ? `0${today.getMonth() + 1}` : today.getMonth() + 1; + const day = today.getDate() < 10 ? `0${today.getDate()}` : today.getDate(); + cy.contains(`${year}-${month}-${day}`) + cy.contains('test@bar.com'); cy.contains('France'); cy.contains('www.example.com'); cy.contains('2020-05-01'); diff --git a/verification/curator-service/ui/src/api/models/Day0Case.ts b/verification/curator-service/ui/src/api/models/Day0Case.ts index d33811ee2..feec2ad45 100644 --- a/verification/curator-service/ui/src/api/models/Day0Case.ts +++ b/verification/curator-service/ui/src/api/models/Day0Case.ts @@ -175,9 +175,12 @@ export interface RevisionMetadata { revisionNumber: number; creationMetadata: { curator: string; + date?: string; }; updateMetadata: { curator: string; + date?: string; + notes?: string; }; } diff --git a/verification/curator-service/ui/src/components/LinelistTable/helperFunctions.ts b/verification/curator-service/ui/src/components/LinelistTable/helperFunctions.ts index 171e039b0..f6ad80b9a 100644 --- a/verification/curator-service/ui/src/components/LinelistTable/helperFunctions.ts +++ b/verification/curator-service/ui/src/components/LinelistTable/helperFunctions.ts @@ -1,6 +1,8 @@ export const labels = [ 'Case ID', 'Verified', + 'Date Modified', + 'Last Modified By', 'Entry date', 'Reported date', 'Case status', @@ -18,6 +20,8 @@ export const labels = [ export const createData = ( caseId: string, verified: boolean, + dateModified: string, + lastModifiedBy: string, country: string, region?: string, district?: string, @@ -35,21 +39,23 @@ export const createData = ( comment?: string, ) => { return { + age: age || '', caseId: caseId || '', - dateEntry: dateEntry || '', - dateReported: dateReported || '', caseStatus: caseStatus || '', comment: comment || '', country: country || '', - region: region || '', + dateEntry: dateEntry || '', + dateHospitalization: dateHospitalization || '', + dateModified: dateModified || '', + dateOnset: dateOnset || '', + dateReported: dateReported || '', district: district || '', - place: place || '', - location: location || '', - age: age || '', gender: gender || '', + lastModifiedBy: lastModifiedBy || '', + location: location || '', outcome: outcome || '', - dateHospitalization: dateHospitalization || '', - dateOnset: dateOnset || '', + place: place || '', + region: region || '', source: source || '', verified: verified || false, }; diff --git a/verification/curator-service/ui/src/components/LinelistTable/index.tsx b/verification/curator-service/ui/src/components/LinelistTable/index.tsx index e2fa24edc..025218248 100644 --- a/verification/curator-service/ui/src/components/LinelistTable/index.tsx +++ b/verification/curator-service/ui/src/components/LinelistTable/index.tsx @@ -112,6 +112,12 @@ const LinelistTable = () => { return createData( data._id || '', !!data.curators?.verifiedBy || false, + renderDate(data.revisionMetadata?.updateMetadata?.date) || + renderDate(data.revisionMetadata?.creationMetadata?.date) || + '', + data.revisionMetadata?.updateMetadata?.curator || + data.revisionMetadata?.creationMetadata?.curator || + '', nameCountry(data.location.countryISO3, data.location.country) || '-', data.location.region || '-', @@ -386,6 +392,18 @@ const LinelistTable = () => { > {row.verified && } + + {row.dateModified} + + + {row.lastModifiedBy} +