Comment archiver et désarchiver des projets dans Blue.
Archiver un projet
L'archivage de projets est utile lorsque vous souhaitez masquer temporairement un projet sans le supprimer définitivement. Les projets archivés :
- Sont cachés des listes de projets actifs
- Ne peuvent pas être modifiés ou édités
- Peuvent toujours être consultés par les membres du projet
- Peuvent être désarchivés à tout moment
Exemple de base
mutation {
archiveProject(id: "project-123")
}
Utilisation de l'en-tête de contexte de projet
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
Avec des variables
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
Variables :
{
"projectId": "abc123-project-id"
}
Désarchiver un projet
Pour restaurer un projet archivé à un statut actif :
mutation {
unarchiveProject(id: "project-123")
}
Paramètres de mutation
archiveProject
Paramètre | Type | Requis | Description |
---|---|---|---|
id |
String | Non | L'ID du projet à archiver. S'il n'est pas fourni, utilise le projet des en-têtes de contexte. |
unarchiveProject
Paramètre | Type | Requis | Description |
---|---|---|---|
id |
String | Non | L'ID du projet à désarchiver. S'il n'est pas fourni, utilise le projet des en-têtes de contexte. |
Réponse
Les deux mutations renvoient un booléen indiquant le succès :
Champ | Type | Description |
---|---|---|
Boolean |
Boolean! | Renvoie true lorsque l'opération est réussie |
Autorisations requises
Rôle de projet | Peut archiver/désarchiver |
---|---|
OWNER |
✅ Oui |
ADMIN |
✅ Oui |
MEMBER |
❌ Non |
CLIENT |
❌ Non |
COMMENT_ONLY |
❌ Non |
VIEW_ONLY |
❌ Non |
Résolution de l'ID de projet
L'ID de projet peut être spécifié de deux manières :
-
En tant que paramètre (recommandé) :
archiveProject(id: "project-123")
-
Via l'en-tête HTTP :
x-bloo-project-id: project-123
(préféré)x-project-id: project-123
(déprécié)
Si les deux sont fournis, le paramètre prend la priorité.
Réponses d'erreur
Projet non trouvé
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Autorisations insuffisantes
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Que se passe-t-il lors de l'archivage
Lorsque vous archivez un projet :
- Statut du projet : Le projet est marqué comme archivé
- Visibilité : Caché des listes de projets actifs
- Modèles : Si le projet était un modèle, il perd son statut de modèle
- Position : Déplacé à la fin de la liste de projets de l'utilisateur
- Dossiers : Retiré de tous les dossiers de projets
- Journal d'activité : L'action d'archivage est enregistrée
- Mises à jour en temps réel : Tous les utilisateurs connectés sont notifiés
Notes importantes
- Opération idempotente : Archiver un projet déjà archivé renvoie
true
sans changements - Récupérable : Utilisez
unarchiveProject
pour restaurer le projet - Accès en vue : Les projets archivés restent consultables par les membres existants
- Pas de perte de données : L'archivage préserve toutes les données du projet, contrairement à la suppression
- Alternative à la suppression : Envisagez d'archiver au lieu de supprimer pour un retrait temporaire