Come archiviare e disarchiviare progetti in Blue.
Archivia un Progetto
Archiviare progetti è utile quando desideri nascondere temporaneamente un progetto senza eliminarlo permanentemente. I progetti archiviati:
- Sono nascosti dalle liste dei progetti attivi
- Non possono essere modificati o cambiati
- Possono ancora essere visualizzati dai membri del progetto
- Possono essere disarchiviati in qualsiasi momento
Esempio di Base
mutation {
archiveProject(id: "project-123")
}
Utilizzando l'Intestazione del Contesto del Progetto
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
Con Variabili
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
Variabili:
{
"projectId": "abc123-project-id"
}
Disarchivia un Progetto
Per ripristinare un progetto archiviato allo stato attivo:
mutation {
unarchiveProject(id: "project-123")
}
Parametri di Mutazione
archiveProject
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
id |
String | No | L'ID del progetto da archiviare. Se non fornito, utilizza il progetto dalle intestazioni di contesto. |
unarchiveProject
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
id |
String | No | L'ID del progetto da disarchiviare. Se non fornito, utilizza il progetto dalle intestazioni di contesto. |
Risposta
Entrambe le mutazioni restituiscono un Booleano che indica il successo:
Campo | Tipo | Descrizione |
---|---|---|
Boolean |
Boolean! | Restituisce true quando l'operazione ha successo |
Permessi Richiesti
Ruolo del Progetto | Può Archiviare/Disarchiviare |
---|---|
OWNER |
✅ Sì |
ADMIN |
✅ Sì |
MEMBER |
❌ No |
CLIENT |
❌ No |
COMMENT_ONLY |
❌ No |
VIEW_ONLY |
❌ No |
Risoluzione dell'ID Progetto
L'ID del progetto può essere specificato in due modi:
-
Come parametro (raccomandato):
archiveProject(id: "project-123")
-
Via intestazione HTTP:
x-bloo-project-id: project-123
(preferito)x-project-id: project-123
(deprecato)
Se entrambi sono forniti, il parametro ha la precedenza.
Risposte di Errore
Progetto Non Trovato
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Permessi Insufficienti
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Cosa Succede Quando Archivi
Quando archivi un progetto:
- Stato del Progetto: Il progetto è contrassegnato come archiviato
- Visibilità: Nascosto dalle liste dei progetti attivi
- Modelli: Se il progetto era un modello, perde lo stato di modello
- Posizione: Spostato alla fine della lista dei progetti dell'utente
- Cartelle: Rimosso da qualsiasi cartella di progetto
- Registro Attività: L'azione di archiviazione è registrata
- Aggiornamenti in Tempo Reale: Tutti gli utenti connessi vengono notificati
Note Importanti
- Operazione Idempotente: Archiviare un progetto già archiviato restituisce
true
senza modifiche - Reversibile: Usa
unarchiveProject
per ripristinare il progetto - Accesso alla Visualizzazione: I progetti archiviati rimangono visibili ai membri esistenti
- Nessuna Perdita di Dati: L'archiviazione preserva tutti i dati del progetto, a differenza della cancellazione
- Alternativa alla Cancellazione: Considera l'archiviazione invece della cancellazione per una rimozione temporanea