generated from cms/tibi-docs
100 lines
3.0 KiB
Markdown
100 lines
3.0 KiB
Markdown
|
# `/project`
|
||
|
|
||
|
Dieser Endpoint bietet eine Schnittstelle für den Zugriff und die Manipulation von Projektdaten. Benutzer können Projekte erstellen, abrufen, aktualisieren und löschen.
|
||
|
|
||
|
## GET /project
|
||
|
|
||
|
Mit dieser Funktion können Sie eine Liste aller Projekte abrufen. Diese Funktion nimmt optionale Parameter an, die verwendet werden können, um die abgerufenen Projekte zu sortieren oder zu filtern.
|
||
|
|
||
|
Diese request ruft eine Liste aller Projekte ab. Sie kann optionale Parameter verwenden, um die abgerufenen Projekte zu sortieren oder zu filtern.
|
||
|
|
||
|
### Antwort
|
||
|
|
||
|
Die Antwort auf diese request ist ein Objekt mit zwei Eigenschaften:
|
||
|
|
||
|
- `data`: Ein Array von Projekt-Objekten.
|
||
|
- `count`: Die Gesamtzahl der Projekte die es gibt.
|
||
|
|
||
|
Jedes Projekt-Objekt hat die folgenden Eigenschaften:
|
||
|
|
||
|
```ts
|
||
|
interface Project {
|
||
|
id?: string // Eindeutiger Identifikator für das Projekt
|
||
|
insertTime?: string // Zeitpunkt der Erstellung des Projekts
|
||
|
updateTime?: string // Letzter Zeitpunkt der Aktualisierung des Projekts
|
||
|
configFile: string // Pfad zur config.yml des Projekts
|
||
|
name: string // Name des Projekts
|
||
|
description: string // Beschreibung des Projekts
|
||
|
users?: string[] // Array von Benutzer-IDs mit Zugriff auf das Projekt
|
||
|
api?: ProjectAPI // Zusätzliche Projektinformationen
|
||
|
yourPermissions?: {
|
||
|
// Berechtigungen des aktuellen Benutzers für das Projekt
|
||
|
[collectionName: string]: MethodPermission
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## PUT /project/{id}
|
||
|
|
||
|
Diese Anforderung aktualisiert ein vorhandenes Projekt. Sie nimmt die ID des zu aktualisierenden Projekts und ein Änderungsset als Parameter an. Das Änderungsset ist ein Objekt, das die zu ändernden Eigenschaften und ihre neuen Werte enthält.
|
||
|
Anforderungsparameter
|
||
|
|
||
|
- `id`: Die ID des zu aktualisierenden Projekts.
|
||
|
|
||
|
- `data`: Ein Objekt, das die zu ändernden Eigenschaften und ihre neuen Werte enthält.
|
||
|
|
||
|
### Antwort
|
||
|
|
||
|
Die Antwort ist das aktualisierte Project Objekt.
|
||
|
|
||
|
## DELETE /project/{id}
|
||
|
|
||
|
Diese Anforderung löscht ein vorhandenes Projekt. Sie nimmt die ID des zu löschenden Projekts als Parameter an.
|
||
|
|
||
|
### Anforderungsparameter
|
||
|
|
||
|
- `id`: Die ID des zu löschenden Projekts.
|
||
|
|
||
|
### Antwort
|
||
|
|
||
|
Die Antwort ist ein Objekt mit einer message Eigenschaft, die eine Bestätigungsnachricht enthält.
|
||
|
|
||
|
## POST /project
|
||
|
|
||
|
Diese Anforderung erstellt ein neues Projekt. Sie nimmt ein Objekt als Parameter an, das die Eigenschaften des zu erstellenden Projekts enthält.
|
||
|
Anforderungsparameter
|
||
|
|
||
|
- `data`: Ein Objekt vom typ Project.
|
||
|
|
||
|
### Antwort
|
||
|
|
||
|
Die Antwort ist ein Objekt mit einer message Eigenschaft, die eine Bestätigungsnachricht enthält.
|
||
|
|
||
|
```ts
|
||
|
interface MethodPermission {
|
||
|
get: boolean
|
||
|
post: boolean
|
||
|
put: boolean
|
||
|
delete: boolean
|
||
|
}
|
||
|
|
||
|
interface ProjectPermission {
|
||
|
name: string
|
||
|
label: I18Text
|
||
|
}
|
||
|
|
||
|
type ProjectImageUrl = string | EvalObject
|
||
|
|
||
|
interface ProjectAPI {
|
||
|
isOnline: boolean
|
||
|
namespace: string
|
||
|
meta?: {
|
||
|
imageUrl?: ProjectImageUrl
|
||
|
permissions?: ProjectPermission[]
|
||
|
dashboard?: Dashboard
|
||
|
[key: string]: any
|
||
|
}
|
||
|
collections: Collection[]
|
||
|
}
|
||
|
```
|