Zum Hauptinhalt springen
Was this helpful?

Ressource API

Ressourcenkatalog

Ressourcentypen, Ressourcen, Farbeinstellungen und öffentliche Buchungstoken verwalten

Diese Seite behandelt die authentifizierte Ressourcenoberfläche: den wiederverwendbaren Ressourcentypkatalog und den konkrete Ressourcen, die reserviert oder zur Buchung veröffentlicht werden können.

JWT oder Benutzer API SchlüsselRessourcentypenÖffentliche BuchungstokenLöschvorschau

Quelle

  • Ressourcencontroller: backend-nestjs/src/resources/resources.controller.ts
  • Ressourcentyp-Controller: backend-nestjs/src/resource-types/resource-types.controller.ts
  • DTOs: backend-nestjs/src/dto/resource.dto.ts, backend-nestjs/src/dto/resource-type.dto.ts, backend-nestjs/src/resources/dto/resource.query.dto.ts, backend-nestjs/src/resource-types/dto/resource-type.query.dto.ts, backend-nestjs/src/resource-types/dto/update-resource-type-color.dto.ts

Authentifizierung und Berechtigungen

  • Alle Routen auf dieser Seite erfordern eine Authentifizierung.
  • Die Ergebnisse werden nach den Ressourcen und Organisationen gefiltert, auf die der aktuelle Benutzer zugreifen kann.
  • Token- und Kaskadenvorgänge basieren auf den Ressourcenzugriffsprüfungen in den Service- und Schutzschichten.

Endpunktreferenz

Ressourcentypen

MethodePfadZweckAnfrage oder AnfrageAuthQuelle
POST/api/resource-typesErstellen Sie einen Ressourcentyp.Körper: Geben Sie Felder einJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts
GET/api/resource-typesRessourcentypen auflisten.Abfrage: organisationIdJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts
GET/api/resource-types/:idHolen Sie sich einen Ressourcentyp.Pfad: idJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts
PATCH/api/resource-types/:idAktualisieren Sie einen Ressourcentyp.Pfad: id, Körper: TeiltypfelderJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts
DELETE/api/resource-types/:idLöschen Sie einen Ressourcentyp.Pfad: idJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts
GET/api/resource-types/:id/deletion-previewVorschau der Löschauswirkungen für einen Ressourcentyp.Pfad: idJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts
DELETE/api/resource-types/:id/cascadeKaskadenlöschung eines Ressourcentyps und abhängiger Ressourcen.Pfad: idJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts
PATCH/api/resource-types/:id/colorAktualisieren Sie nur die Farbe des Ressourcentyps.Pfad: id, Text: colorJWT oder Benutzerschlüssel APIresource-types/resource-types.controller.ts

Ressourcen

MethodePfadZweckAnfrage oder AnfrageAuthQuelle
POST/api/resourcesErstellen Sie eine Ressource.Körper: name,description,capacity,resourceTypeId,managedByIdJWT oder Benutzerschlüssel APIresources/resources.controller.ts
GET/api/resourcesRessourcen auflisten.Abfrage: resourceTypeIdJWT oder Benutzerschlüssel APIresources/resources.controller.ts
GET/api/resources/:idHolen Sie sich eine Ressource.Pfad: idJWT oder Benutzerschlüssel APIresources/resources.controller.ts
PATCH/api/resources/:idAktualisieren Sie eine Ressource.Pfad: id, Text: TeilressourcenfelderJWT oder Benutzerschlüssel APIresources/resources.controller.ts
DELETE/api/resources/:idLöschen Sie eine Ressource.Pfad: idJWT oder Benutzerschlüssel APIresources/resources.controller.ts
GET/api/resources/:id/deletion-previewVorschau der Löschauswirkungen für eine Ressource.Pfad: idJWT oder Benutzerschlüssel APIresources/resources.controller.ts
DELETE/api/resources/:id/cascadeLöschen Sie eine Ressource und abhängige Ressourcen kaskadiert.Pfad: idJWT oder Benutzerschlüssel APIresources/resources.controller.ts
GET/api/resources/:id/public-tokenLesen Sie den öffentlichen Buchungstoken.Pfad: idJWT oder Benutzerschlüssel APIresources/resources.controller.ts
POST/api/resources/:id/regenerate-tokenGenerieren Sie das öffentliche Buchungstoken neu.Pfad: idJWT oder Benutzerschlüssel APIresources/resources.controller.ts

Fordern Sie Formen an

Ressourcentypen

CreateResourceTypeDto und UpdateResourceTypeDto

  • name: beim Erstellen erforderlich
  • description: optionale Zeichenfolge
  • minBookingDuration: optionaler int, mindestens 1
  • bufferTime: optionaler int, mindestens 0
  • customerInfoFields: optionales String-Array
  • waitlistEnabled: optionaler boolescher Wert
  • recurringEnabled: optionaler boolescher Wert
  • color: optionale Zeichenfolge
  • icon: optionale Zeichenfolge
  • organisationId: beim Erstellen erforderlich
  • isActive: Nur für Aktualisierungen optionaler boolescher Wert

Anfragen und gezielte Updates:

  • ResourceTypeListQueryDto.organisationId: optionaler int >= 1
  • UpdateResourceTypeColorDto.color: erforderliche Farbzeichenfolge

Ressourcen

CreateResourceDto und UpdateResourceDto

  • name: beim Erstellen erforderlich
  • description: optionale Zeichenfolge
  • capacity: optionaler int, mindestens 1
  • resourceTypeId: beim Erstellen erforderlich
  • managedById: optional int
  • isActive: Nur für Aktualisierungen optionaler boolescher Wert

Anfragen:

  • ResourceListQueryDto.resourceTypeId: optionaler int >= 1

Beispielanrufe

Erstellen Sie einen Ressourcentyp

curl -X POST "$PRIMECAL_API/api/resource-types" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Meeting Room",
"organisationId": 12,
"minBookingDuration": 30,
"bufferTime": 15,
"color": "#0ea5e9"
}'

Erstellen Sie eine Ressource

curl -X POST "$PRIMECAL_API/api/resources" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Family Car",
"resourceTypeId": 3,
"capacity": 5
}'

Generieren Sie ein öffentliches Buchungstoken neu

curl -X POST "$PRIMECAL_API/api/resources/21/regenerate-token" \
-H "Authorization: Bearer $TOKEN"

Hinweise zu Reaktion und Verhalten

  • Öffentliche Token-Routen können sowohl den Roh-Token als auch eine Frontend-freundliche Buchungs-URL zurückgeben.
  • Auf der Organisationsebene gibt es ein Farbkaskadenverhalten und auf der Ressourcentypebene gibt es nur Farbaktualisierungen.
  • Sowohl Ressourcen- als auch Ressourcentyp-Löschvorschau-Routen sollten vor dem Kaskadenlöschen in Benutzeroberflächen im Admin-Stil verwendet werden.

Best Practices

  • Erstellen Sie den Ressourcentyp, bevor Sie Ressourcen erstellen, die davon abhängen.
  • Behandeln Sie die Token-Neuerstellung als destruktiv für alle zuvor freigegebenen öffentlichen Links.
  • Halten Sie die Ressourcentypkonfiguration stabil und verwenden Sie Ressourcendatensätze für den sich häufig ändernden realen Bestand.
  • Verwenden Sie die Löschvorschau vor jedem Kaskadenvorgang, der sich auf Live-Reservierungen auswirken könnte.