diff --git a/de.srsoftware.cal.db/src/main/java/de/srsoftware/cal/db/MariaDB.java b/de.srsoftware.cal.db/src/main/java/de/srsoftware/cal/db/MariaDB.java index 1d93086..2fafc35 100644 --- a/de.srsoftware.cal.db/src/main/java/de/srsoftware/cal/db/MariaDB.java +++ b/de.srsoftware.cal.db/src/main/java/de/srsoftware/cal/db/MariaDB.java @@ -203,13 +203,13 @@ public class MariaDB implements Database { try { var url = URI.create(uri).toURL(); app.add(new Attachment(url,mime)); - } catch (MalformedURLException e) { - LOG.log(WARNING,"Faild to create URL object from %s",uri); + } catch (Exception e) { + LOG.log(WARNING,"Failed to create URL object from %s",uri); } } rs.close(); - } catch (SQLException e) { - throw new RuntimeException(e); + } catch (Exception e) { + LOG.log(WARNING,"Failed to load attachments.",e); } } diff --git a/de.srsoftware.cal.web/src/main/java/de/srsoftware/cal/ApiEndpoint.java b/de.srsoftware.cal.web/src/main/java/de/srsoftware/cal/ApiEndpoint.java index 6edeb92..d2a9bd9 100644 --- a/de.srsoftware.cal.web/src/main/java/de/srsoftware/cal/ApiEndpoint.java +++ b/de.srsoftware.cal.web/src/main/java/de/srsoftware/cal/ApiEndpoint.java @@ -147,7 +147,10 @@ public class ApiEndpoint extends PathHandler { return HttpError.of(400,"Count (count=%s) is not a number!", o); } - return db.list(startDate, null, count, offset).map(res -> filterByTags(res, tags)); + Result end = parseDate(param.get(END)); + var endDate = (end == null) ? null: end.optional().orElse(null); + + return db.list(startDate, endDate, count, offset).map(res -> filterByTags(res, tags)); } private Result> filterByTags(Result> res, List tags) { diff --git a/de.srsoftware.cal.web/src/main/resources/script/index.js b/de.srsoftware.cal.web/src/main/resources/script/index.js index e5f8140..1fe7fdf 100644 --- a/de.srsoftware.cal.web/src/main/resources/script/index.js +++ b/de.srsoftware.cal.web/src/main/resources/script/index.js @@ -93,6 +93,7 @@ function fetchLastYear(){ async function handleEvents(response){ if (response.ok){ var json = await response.json(); + json.reverse(); json.forEach(addRow); updateTagVisibility(); if (highlight){