# Arbeitszeitmessung bis jetzt ein einfaches Backend mit PostgreSQL Datenbank und GO Webserver um Arbeitszeitbuchungen per HTTP PUT einzufügen ## Installation ```bash git clone https://git.letsstein.de/tom/arbeitszeitmessung arbeitszeitmessung cd arbeitszeitmessung/Docker # .env Datei anpassen docker compose up -d ``` ## API Nutzung der API wenn die `dev-docker-compose.yml` Datei gestartet wird, ist direkt ein SwaggerUI Server mit entsprechender Datei inbegriffen. ### Buchungen [/time] #### [GET] Anfrage Parameter: cardID (string) Antwort: `200` ```json [ { "cradID": "test_card", "readerID": "test_reader", "bookingTyp": 2, "loggedTime": "2024-09-05T08:37:53.117641Z", "id": 5 }, { "cradID": "test_card", "readerID": "mytest", "bookingTyp": 1, "loggedTime": "2024-09-05T08:51:12.670827Z", "id": 6 }, ] ``` Antwort `500` Serverfehler #### [PUT] Anfrage Parameter: id (int) Body: (veränderte Parameter) ```json { "cradID": "test_card", "readerID": "mytest", "bookingTyp": 1, "loggedTime": "2024-09-05T08:51:12.670827Z", } ``` Antwort `200` ```json { "cradID": "test_card", "readerID": "mytest", "bookingTyp": 1, "loggedTime": "2024-09-05T08:51:12.670827Z", "id": 6 } ``` ### Neue Buchung [/time/new] #### [PUT] Anfrage Parameter: - cardID (string) - readerID (string) - bookingType (string) Antwort `202` Akzeptiert und eingefügt ```json { "cradID": "test_card", "readerID": "mytest", "bookingTyp": 1, "loggedTime": "2024-09-05T08:51:12.670827Z", "id": 6 } ``` Antwort `409` Konflikt Die vorherige Buchung am selben Tag hat den gleichen Buchungstyp