Hur man arkiverar och avarkiverar projekt i Blue.
Arkivera ett Projekt
Att arkivera projekt är användbart när du vill dölja ett projekt tillfälligt utan att permanent ta bort det. Arkiverade projekt:
- Döljs från aktiva projektlistor
- Kan inte redigeras eller ändras
- Kan fortfarande ses av projektmedlemmar
- Kan avarkiveras när som helst
Grundläggande Exempel
mutation {
archiveProject(id: "project-123")
}
Använda Projektkontexthuvud
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
Med Variabler
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
Variabler:
{
"projectId": "abc123-project-id"
}
Avarkivera ett Projekt
För att återställa ett arkiverat projekt till aktiv status:
mutation {
unarchiveProject(id: "project-123")
}
Mutationsparametrar
archiveProject
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
id |
String | Nej | Projekt-ID:t som ska arkiveras. Om det inte anges används projektet från kontexthuvuden. |
unarchiveProject
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
id |
String | Nej | Projekt-ID:t som ska avarkiveras. Om det inte anges används projektet från kontexthuvuden. |
Svar
Båda mutationerna returnerar en Boolean som indikerar framgång:
Fält | Typ | Beskrivning |
---|---|---|
Boolean |
Boolean! | Returnerar true när operationen är framgångsrik |
Obligatoriska Behörigheter
Projektroll | Kan Arkivera/Avarkivera |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
❌ Nej |
CLIENT |
❌ Nej |
COMMENT_ONLY |
❌ Nej |
VIEW_ONLY |
❌ Nej |
Projekt-ID Upplösning
Projekt-ID:t kan specificeras på två sätt:
-
Som en parameter (rekommenderas):
archiveProject(id: "project-123")
-
Via HTTP-header:
x-bloo-project-id: project-123
(föredras)x-project-id: project-123
(föråldrad)
Om båda anges, har parametern företräde.
Fel Svar
Projekt Inte Hittat
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Otillräckliga Behörigheter
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Vad Som Händer Vid Arkivering
När du arkiverar ett projekt:
- Projektstatus: Projektet markeras som arkiverat
- Synlighet: Dold från aktiva projektlistor
- Mallar: Om projektet var en mall, förlorar det mallstatus
- Position: Flyttas till slutet av användarens projektlista
- Mappar: Tas bort från eventuella projektmappar
- Aktivitetslogg: Arkiveringsåtgärden registreras
- Realtidsuppdateringar: Alla anslutna användare meddelas
Viktiga Anteckningar
- Idempotent Åtgärd: Att arkivera ett redan arkiverat projekt returnerar
true
utan förändringar - Reversibel: Använd
unarchiveProject
för att återställa projektet - Visningsåtkomst: Arkiverade projekt förblir synliga för befintliga medlemmar
- Ingen Dataförlust: Arkivering bevarar all projektdata, till skillnad från radering
- Alternativ till Radering: Överväg att arkivera istället för att radera för tillfällig borttagning