Hoe projecten in Blue te archiveren en te dearchiveren.
Een Project Archiveren
Het archiveren van projecten is nuttig wanneer je een project tijdelijk wilt verbergen zonder het permanent te verwijderen. Gearchiveerde projecten:
- Zijn verborgen in actieve projectlijsten
- Kunnen niet worden bewerkt of gewijzigd
- Kunnen nog steeds worden bekeken door projectleden
- Kunnen op elk moment worden gedearchiveerd
Basisvoorbeeld
mutation {
archiveProject(id: "project-123")
}
Gebruik van Project Context Header
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
Met Variabelen
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
Variabelen:
{
"projectId": "abc123-project-id"
}
Een Project Dearchiveren
Om een gearchiveerd project terug te zetten naar actieve status:
mutation {
unarchiveProject(id: "project-123")
}
Mutatieparameters
archiveProject
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
id |
String | Nee | De project-ID om te archiveren. Als deze niet wordt opgegeven, wordt het project uit de contextheaders gebruikt. |
unarchiveProject
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
id |
String | Nee | De project-ID om te dearchiveren. Als deze niet wordt opgegeven, wordt het project uit de contextheaders gebruikt. |
Antwoord
Beide mutaties geven een Boolean terug die het succes aangeeft:
Veld | Type | Beschrijving |
---|---|---|
Boolean |
Boolean! | Geeft true terug wanneer de operatie succesvol is |
Vereiste Machtigingen
Projectrol | Kan Archiveren/Dearchiveren |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
❌ Nee |
CLIENT |
❌ Nee |
COMMENT_ONLY |
❌ Nee |
VIEW_ONLY |
❌ Nee |
Project-ID Resolutie
De project-ID kan op twee manieren worden opgegeven:
-
Als een parameter (aanbevolen):
archiveProject(id: "project-123")
-
Via HTTP-header:
x-bloo-project-id: project-123
(voorkeur)x-project-id: project-123
(verouderd)
Als beide worden opgegeven, heeft de parameter voorrang.
Foutreacties
Project Niet Gevonden
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Onvoldoende Machtigingen
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Wat Gebeurt Er Bij Archiveren
Wanneer je een project archiveert:
- Projectstatus: Het project wordt gemarkeerd als gearchiveerd
- Zichtbaarheid: Verborgen in actieve projectlijsten
- Sjablonen: Als het project een sjabloon was, verliest het de sjabloonstatus
- Positie: Verplaatst naar het einde van de projectlijst van de gebruiker
- Mappen: Verwijderd uit alle projectmappen
- Activiteitenlog: Archiveringsactie wordt geregistreerd
- Realtime Updates: Alle verbonden gebruikers worden op de hoogte gesteld
Belangrijke Opmerkingen
- Idempotente Operatie: Het archiveren van een al gearchiveerd project geeft
true
terug zonder wijzigingen - Omkeerbaar: Gebruik
unarchiveProject
om het project te herstellen - Bekijktoegang: Gearchiveerde projecten blijven zichtbaar voor bestaande leden
- Geen Gegevensverlies: Archiveren behoudt alle projectgegevens, in tegenstelling tot verwijdering
- Alternatief voor Verwijdering: Overweeg archiveren in plaats van verwijderen voor tijdelijke verwijdering