Aller au contenu principal
Was this helpful?

Ressource API

Catalogue de ressources

Gérer les types de ressources, les ressources, les paramètres de couleur et les jetons de réservation publics

Cette page couvre la surface des ressources authentifiées : le catalogue de types de ressources réutilisables et le des ressources concrètes qui peuvent être réservées ou publiées pour réservation.

JWT ou clé utilisateur APITypes de ressourcesJetons de réservation publicsAperçus de suppression

Source

  • Contrôleur de ressources : backend-nestjs/src/resources/resources.controller.ts
  • Contrôleur de types de ressources : backend-nestjs/src/resource-types/resource-types.controller.ts
  • DTO : 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

Authentification et autorisations

  • Tous les itinéraires sur cette page nécessitent une authentification.
  • Les résultats sont filtrés selon les ressources et les organisations auxquelles l'utilisateur actuel peut accéder.
  • Les opérations de jetons et de cascade reposent sur les contrôles d’accès aux ressources dans les couches de service et de garde.

Référence du point de terminaison

Types de ressources

MéthodeCheminObjectifDemande ou requêteAuthentificationSource
POST/api/resource-typesCréez un type de ressource.Corps : champs de saisieClé JWT ou utilisateur APIresource-types/resource-types.controller.ts
GET/api/resource-typesRépertoriez les types de ressources.Requête : organisationIdClé JWT ou utilisateur APIresource-types/resource-types.controller.ts
GET/api/resource-types/:idObtenez un type de ressource.Chemin : idClé JWT ou utilisateur APIresource-types/resource-types.controller.ts
PATCH/api/resource-types/:idMettez à jour un type de ressource.Chemin : id, corps : champs de type partielClé JWT ou utilisateur APIresource-types/resource-types.controller.ts
DELETE/api/resource-types/:idSupprimez un type de ressource.Chemin : idClé JWT ou utilisateur APIresource-types/resource-types.controller.ts
GET/api/resource-types/:id/deletion-previewAperçu de l’impact de la suppression pour un type de ressource.Chemin : idClé JWT ou utilisateur APIresource-types/resource-types.controller.ts
DELETE/api/resource-types/:id/cascadeSupprimez en cascade un type de ressource et ses dépendances.Chemin : idClé JWT ou utilisateur APIresource-types/resource-types.controller.ts
PATCH/api/resource-types/:id/colorMettez à jour uniquement la couleur du type de ressource.Chemin : id, corps : colorClé JWT ou utilisateur APIresource-types/resource-types.controller.ts

Ressources

MéthodeCheminObjectifDemande ou requêteAuthentificationSource
POST/api/resourcesCréez une ressource.Corps : name,description,capacity,resourceTypeId,managedByIdClé JWT ou utilisateur APIresources/resources.controller.ts
GET/api/resourcesRépertoriez les ressources.Requête : resourceTypeIdClé JWT ou utilisateur APIresources/resources.controller.ts
GET/api/resources/:idObtenez une ressource.Chemin : idClé JWT ou utilisateur APIresources/resources.controller.ts
PATCH/api/resources/:idMettre à jour une ressource.Chemin : id, corps : champs de ressources partielsClé JWT ou utilisateur APIresources/resources.controller.ts
DELETE/api/resources/:idSupprimer une ressource.Chemin : idClé JWT ou utilisateur APIresources/resources.controller.ts
GET/api/resources/:id/deletion-previewAperçu de l’impact de la suppression pour une ressource.Chemin : idClé JWT ou utilisateur APIresources/resources.controller.ts
DELETE/api/resources/:id/cascadeSupprimez en cascade une ressource et ses personnes à charge.Chemin : idClé JWT ou utilisateur APIresources/resources.controller.ts
GET/api/resources/:id/public-tokenLisez le jeton de réservation public.Chemin : idClé JWT ou utilisateur APIresources/resources.controller.ts
POST/api/resources/:id/regenerate-tokenRégénérez le jeton de réservation public.Chemin : idClé JWT ou utilisateur APIresources/resources.controller.ts

Demander des formes

Types de ressources

CreateResourceTypeDto et UpdateResourceTypeDto

  • name : requis à la création
  • description : chaîne facultative
  • minBookingDuration : entier facultatif, minimum 1
  • bufferTime : entier facultatif, minimum 0
  • customerInfoFields : tableau de chaînes facultatif
  • waitlistEnabled : booléen facultatif
  • recurringEnabled : booléen facultatif
  • color : chaîne facultative
  • icon : chaîne facultative
  • organisationId : requis à la création
  • isActive : booléen facultatif de mise à jour uniquement

Requêtes et mises à jour ciblées :

  • ResourceTypeListQueryDto.organisationId : entier facultatif >= 1
  • UpdateResourceTypeColorDto.color : chaîne de couleur requise

Ressources

CreateResourceDto et UpdateResourceDto

  • name : requis à la création
  • description : chaîne facultative
  • capacity : entier facultatif, minimum 1
  • resourceTypeId : requis à la création
  • managedById : entier facultatif
  • isActive : booléen facultatif de mise à jour uniquement

Requêtes :

  • ResourceListQueryDto.resourceTypeId : entier facultatif >= 1

Exemples d'appels

Créer un type de ressource

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"
}'

Créer une 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
}'

Régénérer un jeton de réservation public

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

Notes de réponse et de comportement

  • Les itinéraires à jeton public peuvent renvoyer à la fois le jeton brut et une URL de réservation conviviale.
  • Un comportement en cascade de couleurs existe au niveau de la couche organisation et des mises à jour couleur uniquement existent au niveau de la couche type de ressource.
  • Les routes d’aperçu de suppression de ressources et de types de ressources doivent être utilisées avant la suppression en cascade dans les interfaces utilisateur de style administrateur.

Meilleures pratiques

  • Créez le type de ressource avant de créer les ressources qui en dépendent.
  • Traitez la régénération des jetons comme destructrice pour tous les liens publics précédemment partagés.
  • Maintenez la configuration des types de ressources stable et utilisez les enregistrements de ressources pour l'inventaire réel qui change fréquemment.
  • Utilisez les aperçus de suppression avant toute opération en cascade susceptible d'affecter les réservations en direct.