From 34a99930391fd685d3dbaa786e7145f4ebed4d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Fri, 25 Apr 2025 09:24:05 +0200 Subject: [PATCH] feat: API endpoint for last update of XML data --- api.http | 5 +++ src/Controller/Api/LastUpdateController.php | 38 +++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/Controller/Api/LastUpdateController.php diff --git a/api.http b/api.http index dd8a72e..c964bba 100644 --- a/api.http +++ b/api.http @@ -13,6 +13,11 @@ GET {{base_url}}/api/crm-attributes Accept: application/json Authorization: Bearer {{$auth.token("oauth2_profile")}} +### API last update at +GET {{base_url}}/api/last-update +Accept: application/json +Authorization: Bearer {{$auth.token("oauth2_api")}} + ### API countries GET {{base_url}}/api/countries Accept: application/json diff --git a/src/Controller/Api/LastUpdateController.php b/src/Controller/Api/LastUpdateController.php new file mode 100644 index 0000000..8365224 --- /dev/null +++ b/src/Controller/Api/LastUpdateController.php @@ -0,0 +1,38 @@ +xmlExport->has('uebertragung.info')) { + $lastUploadAt = null; + } else { + $file = $this->xmlExport->read('uebertragung.info'); + $lines = explode("\n", $file); + $line = trim($lines[0]); + + if (true === empty($line)) { + $lastUploadAt = null; + } else { + $lastUploadAt = \DateTime::createFromFormat('d.m.Y H:i:s', $line); + } + } + + return $this->json(['timestamp' => $lastUploadAt->format('Y-m-d H:i:s')]); + } +}