Alle Daten werden im JSON Format kommuniziert.
Typespec:
type Device = {
/**
* Die ID des Gerätes, in unserem Fall der Barcode.
*/
"id": string, // PK
/**
* Der Name des Gerätes.
*/
"name": string,
/**
* Der Beschreibung des Gerätes.
*/
"description": string,
/**
* Zusätzliche Userdefinierte Attribute als Key-Value-Pairs (=Map).
*/
"attributes": {
[key: string]: string
},
/**
* Wo ist das Gerät?
*/
"location": {
/**
* Name des Ortes.
*/
"name": string,
/**
* Beschreibung des Ortes.
*/
"description": string
}
}
Beispiel:
{
"id": "2356354556",
"name": "Notenrechner Lehrer"
"description": "Zentraler Notenrechner im Lehrerzimmer"
"attributes": {
"Nur Lehrer": "Ja",
"Passwortgeschützt": "Ja",
"Betriebssystem": "Windows 2000"
},
"location": {
"name": "Lehrerzimmer",
"description": "Keine Schüler (offiziell) erlaubt!"
}
}
GET /api/devices
Gibt alle Geräte im System zurück.
Die ID eines Gerätes ist dessen Barcode als String.
Rückgabe: Status 200
Device[]
GET /api/devices/:id
Gibt das Gerät mit der angegebenen ID zurück.
Die ID eines Gerätes ist dessen Barcode als String.
Rückgabe: Status 200
Device
Rückgabe: Status 404
POST /api/devices
Legt ein neues Gerät an.
Device
Rückgabe: Status: 201
Device
Rückgabe: Status: 400
PUT /api/devices/:id
Aktualisiert die Daten eines Gerätes.
Device
Rückgabe: Status: 200
Device
Rückgabe: Status: 404
Rückgabe: Status: 400
DELETE /api/devices/:id
Löscht ein Gerät und alle damit verknüpften Daten(z.B. Tickets).
Rückgabe: Status: 200
Device
Rückgabe: Status: 404
Typespec:
type Ticket = {
/**
* Die ID des Tickets.
*/
"id": string, // PK
/**
* Die ID des verknüpften Gerätes. Leer wenn mit keinem Gerät verknüpft.
*/
"device": string, // FK -> Device
/**
* Eine User angegebene Beschreibung des Tickets, leer wenn keine Beschreibung.
*/
"description": string,
/**
* Ist das Ticket erledigt?
*/
"done": boolean
}
Beispiel:
{
"id": "790",
"device": "2356354556"
"description": "Es sind zu viele schlechte Noten gespeichert - Bitte Festplatte neu formatieren.",
"done": false
}
GET /api/tickets
Gibt alle Tickets im System zurück.
Rückgabe: Status 200
Ticket[]
GET /api/tickets/:id
Gibt das Ticket mit der angegebenen ID zurück.
Rückgabe: Status 200
Ticket
Rückgabe: Status 404
POST /api/tickets
Legt ein neues Ticket an.
Ticket
Rückgabe: Status: 201
Ticket
Rückgabe: Status: 400
PUT /api/ticket/:id
Aktualisiert die Daten eines Ticket.
Ticket
Rückgabe: Status: 200
Ticket
Rückgabe: Status: 404
Rückgabe: Status: 400
DELETE /api/tickets/:id
Löscht ein Ticket.
Rückgabe: Status: 200
Ticket
Rückgabe: Status: 404