Skip to content

Commit

Permalink
Avoid epoch_date_modified null incident/report field on submission …
Browse files Browse the repository at this point in the history
…promotion (#3140)

* Avoid `epoch_date_modified` null incident field on submission promotion

* Remove `null` values from "epoch_date_modified" field in incidents and reports collections
  • Loading branch information
pdcp1 authored Oct 3, 2024
1 parent 49a41d5 commit 9421758
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
const config = require('../config');

/** @type {import('umzug').MigrationFn<any>} */
exports.up = async ({ context: { client } }) => {
// If the incident has "epoch_date_modified" field and it is null, unset it
const incidents_collection = client
.db(config.realm.production_db.db_name)
.collection('incidents');

const incidents_epoch_date_modified_results = await incidents_collection.updateMany(
{ epoch_date_modified: null },
{ $unset: { epoch_date_modified: '' } }
);

console.log(
`Updated ${incidents_epoch_date_modified_results.modifiedCount} incidents with null epoch_date_modified field`
);

// If the report has "epoch_date_modified" field and it is null, unset it
const reports_collection = client.db(config.realm.production_db.db_name).collection('reports');

const reports_epoch_date_modified_results = await reports_collection.updateMany(
{ epoch_date_modified: null },
{ $unset: { epoch_date_modified: '' } }
);

console.log(
`Updated ${reports_epoch_date_modified_results.modifiedCount} reports with null epoch_date_modified field`
);
};
9 changes: 7 additions & 2 deletions site/gatsby-site/server/fields/submissions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ export const mutationFields: GraphQLFieldConfigMap<any, Context> = {
reports: [],
editors,
date: submission.incident_date,
epoch_date_modified: submission.epoch_date_modified,
"Alleged deployer of AI system": submission.deployers || [],
"Alleged developer of AI system": submission.developers || [],
"Alleged harmed or nearly harmed parties": submission.harmed_parties || [],
Expand All @@ -113,6 +112,9 @@ export const mutationFields: GraphQLFieldConfigMap<any, Context> = {
from_reports: [report_number]
}
}
if(submission.epoch_date_modified) {
newIncident.epoch_date_modified = submission.epoch_date_modified;
}

Check warning on line 117 in site/gatsby-site/server/fields/submissions.ts

View check run for this annotation

Codecov / codecov/patch

site/gatsby-site/server/fields/submissions.ts#L116-L117

Added lines #L116 - L117 were not covered by tests

await incidents.insertOne({ ...newIncident, incident_id: newIncident.incident_id });

Expand Down Expand Up @@ -214,7 +216,6 @@ export const mutationFields: GraphQLFieldConfigMap<any, Context> = {
date_published: new Date(submission.date_published),
date_submitted: new Date(submission.date_submitted),
epoch_date_downloaded: getUnixTime(submission.date_downloaded),
epoch_date_modified: submission.epoch_date_modified,
epoch_date_published: getUnixTime(submission.date_published),
epoch_date_submitted: getUnixTime(submission.date_submitted),
image_url: submission.image_url,
Expand All @@ -237,6 +238,10 @@ export const mutationFields: GraphQLFieldConfigMap<any, Context> = {
newReport.user = submission.user;
}

if(submission.epoch_date_modified) {
newReport.epoch_date_modified = submission.epoch_date_modified;
}

Check warning on line 243 in site/gatsby-site/server/fields/submissions.ts

View check run for this annotation

Codecov / codecov/patch

site/gatsby-site/server/fields/submissions.ts#L242-L243

Added lines #L242 - L243 were not covered by tests

await reports.insertOne({ ...newReport, report_number: newReport.report_number });

const incident_ids: number[] = parentIncidents.map(incident => incident.incident_id!);
Expand Down

0 comments on commit 9421758

Please sign in to comment.