Jak archiwizować i przywracać projekty w Blue.
Archiwizacja projektu
Archiwizacja projektów jest przydatna, gdy chcesz tymczasowo ukryć projekt bez jego trwałego usuwania. Archiwizowane projekty:
- Są ukryte z aktywnych list projektów
- Nie mogą być edytowane ani modyfikowane
- Mogą być nadal przeglądane przez członków projektu
- Mogą być przywrócone w dowolnym momencie
Podstawowy przykład
mutation {
archiveProject(id: "project-123")
}
Używanie nagłówka kontekstu projektu
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
Z użyciem zmiennych
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
Zmienne:
{
"projectId": "abc123-project-id"
}
Przywracanie projektu
Aby przywrócić archiwizowany projekt do aktywnego statusu:
mutation {
unarchiveProject(id: "project-123")
}
Parametry mutacji
archiveProject
Parametr | Typ | Wymagany | Opis |
---|---|---|---|
id |
String | Nie | ID projektu do archiwizacji. Jeśli nie podano, używa projektu z nagłówków kontekstu. |
unarchiveProject
Parametr | Typ | Wymagany | Opis |
---|---|---|---|
id |
String | Nie | ID projektu do przywrócenia. Jeśli nie podano, używa projektu z nagłówków kontekstu. |
Odpowiedź
Obie mutacje zwracają wartość logiczną wskazującą na sukces:
Pole | Typ | Opis |
---|---|---|
Boolean |
Boolean! | Zwraca true , gdy operacja jest udana |
Wymagane uprawnienia
Rola projektu | Może archiwizować/przywracać |
---|---|
OWNER |
✅ Tak |
ADMIN |
✅ Tak |
MEMBER |
❌ Nie |
CLIENT |
❌ Nie |
COMMENT_ONLY |
❌ Nie |
VIEW_ONLY |
❌ Nie |
Rozwiązywanie ID projektu
ID projektu można określić na dwa sposoby:
-
Jako parametr (zalecane):
archiveProject(id: "project-123")
-
Poprzez nagłówek HTTP:
x-bloo-project-id: project-123
(preferowane)x-project-id: project-123
(przestarzałe)
Jeśli oba są podane, priorytet ma parametr.
Odpowiedzi błędów
Projekt nie znaleziony
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Niewystarczające uprawnienia
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Co się dzieje podczas archiwizacji
Kiedy archiwizujesz projekt:
- Status projektu: Projekt jest oznaczony jako archiwizowany
- Widoczność: Ukryty z aktywnych list projektów
- Szablony: Jeśli projekt był szablonem, traci status szablonu
- Pozycja: Przeniesiony na koniec listy projektów użytkownika
- Foldery: Usunięty z wszelkich folderów projektowych
- Dziennik aktywności: Akcja archiwizacji jest rejestrowana
- Aktualizacje w czasie rzeczywistym: Wszyscy połączeni użytkownicy są powiadamiani
Ważne uwagi
- Operacja idempotentna: Archiwizowanie już archiwizowanego projektu zwraca
true
bez zmian - Możliwe do odwrócenia: Użyj
unarchiveProject
, aby przywrócić projekt - Dostęp do widoku: Archiwizowane projekty pozostają widoczne dla istniejących członków
- Brak utraty danych: Archiwizacja zachowuje wszystkie dane projektu, w przeciwieństwie do usunięcia
- Alternatywa dla usunięcia: Rozważ archiwizację zamiast usunięcia w celu tymczasowego usunięcia