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éthode | Chemin | Objectif | Demande ou requête | Authentification | Source |
|---|---|---|---|---|---|
POST | /api/resource-types | Créez un type de ressource. | Corps : champs de saisie | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
GET | /api/resource-types | Répertoriez les types de ressources. | Requête : organisationId | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
GET | /api/resource-types/:id | Obtenez un type de ressource. | Chemin : id | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
PATCH | /api/resource-types/:id | Mettez à jour un type de ressource. | Chemin : id, corps : champs de type partiel | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
DELETE | /api/resource-types/:id | Supprimez un type de ressource. | Chemin : id | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
GET | /api/resource-types/:id/deletion-preview | Aperçu de l’impact de la suppression pour un type de ressource. | Chemin : id | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
DELETE | /api/resource-types/:id/cascade | Supprimez en cascade un type de ressource et ses dépendances. | Chemin : id | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
PATCH | /api/resource-types/:id/color | Mettez à jour uniquement la couleur du type de ressource. | Chemin : id, corps : color | Clé JWT ou utilisateur API | resource-types/resource-types.controller.ts |
Ressources
| Méthode | Chemin | Objectif | Demande ou requête | Authentification | Source |
|---|---|---|---|---|---|
POST | /api/resources | Créez une ressource. | Corps : name,description,capacity,resourceTypeId,managedById | Clé JWT ou utilisateur API | resources/resources.controller.ts |
GET | /api/resources | Répertoriez les ressources. | Requête : resourceTypeId | Clé JWT ou utilisateur API | resources/resources.controller.ts |
GET | /api/resources/:id | Obtenez une ressource. | Chemin : id | Clé JWT ou utilisateur API | resources/resources.controller.ts |
PATCH | /api/resources/:id | Mettre à jour une ressource. | Chemin : id, corps : champs de ressources partiels | Clé JWT ou utilisateur API | resources/resources.controller.ts |
DELETE | /api/resources/:id | Supprimer une ressource. | Chemin : id | Clé JWT ou utilisateur API | resources/resources.controller.ts |
GET | /api/resources/:id/deletion-preview | Aperçu de l’impact de la suppression pour une ressource. | Chemin : id | Clé JWT ou utilisateur API | resources/resources.controller.ts |
DELETE | /api/resources/:id/cascade | Supprimez en cascade une ressource et ses personnes à charge. | Chemin : id | Clé JWT ou utilisateur API | resources/resources.controller.ts |
GET | /api/resources/:id/public-token | Lisez le jeton de réservation public. | Chemin : id | Clé JWT ou utilisateur API | resources/resources.controller.ts |
POST | /api/resources/:id/regenerate-token | Régénérez le jeton de réservation public. | Chemin : id | Clé JWT ou utilisateur API | resources/resources.controller.ts |
Demander des formes
Types de ressources
CreateResourceTypeDto et UpdateResourceTypeDto
name: requis à la créationdescription: chaîne facultativeminBookingDuration: entier facultatif, minimum1bufferTime: entier facultatif, minimum0customerInfoFields: tableau de chaînes facultatifwaitlistEnabled: booléen facultatifrecurringEnabled: booléen facultatifcolor: chaîne facultativeicon: chaîne facultativeorganisationId: requis à la créationisActive: booléen facultatif de mise à jour uniquement
Requêtes et mises à jour ciblées :
ResourceTypeListQueryDto.organisationId: entier facultatif>= 1UpdateResourceTypeColorDto.color: chaîne de couleur requise
Ressources
CreateResourceDto et UpdateResourceDto
name: requis à la créationdescription: chaîne facultativecapacity: entier facultatif, minimum1resourceTypeId: requis à la créationmanagedById: entier facultatifisActive: 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.