From f017e1c64cae89afb44c4b8ba39cfb5eae610540 Mon Sep 17 00:00:00 2001 From: Junior BERNARD Date: Fri, 17 Jan 2025 15:22:19 +0100 Subject: [PATCH] fix(common): #ENABLING-199, better check of dates type when importing resources into mongo --- .../common/folders/impl/DocumentHelper.java | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/common/src/main/java/org/entcore/common/folders/impl/DocumentHelper.java b/common/src/main/java/org/entcore/common/folders/impl/DocumentHelper.java index a1e5c7d8df..bee4cae0c0 100644 --- a/common/src/main/java/org/entcore/common/folders/impl/DocumentHelper.java +++ b/common/src/main/java/org/entcore/common/folders/impl/DocumentHelper.java @@ -154,30 +154,29 @@ public static Optional getModified(JsonObject doc) { } } - public static JsonObject setModified(JsonObject doc, Date date) - { - try - { - // Check that the dates are in string format - String m = doc.getString("modified"); - String c = doc.getString("created"); - - //If we get there, the dates should be strings + public static JsonObject setModified(JsonObject doc, Date date) { + Object modified = doc.getValue("modified"); + Object created = doc.getValue("created"); + // Check that the dates are in string format + // we also check for nullity to keep the same behaviour as in vertx 3 + if((modified == null || modified instanceof String) && + (created == null || created instanceof String)) { String now = MongoDb.formatDate(date != null ? date : new Date()); doc.put("modified", now); - if(c == null) + if(created == null) { doc.put("created", now); - } - catch(Exception e) - { + } + } else { + // It appears that those dates were in fact objects JsonObject now = MongoDb.now(); doc.put("modified", now); - if(doc.getJsonObject("created") == null) - doc.put("created", now); + if(created == null) { + doc.put("created", now); + } } return doc;