Teams
Mit Teams können mehrere Entwickler gemeinsam eine Reihe von Anwendungen besitzen. Discord-Parität — dieselben vier Rollen, dasselbe einseitige Übertragungsmodell, plus eine App-Tester-Liste, die bei Apps in Entwicklung die Öffentlich/Privat-Sperre umgeht.
Rollen
| Rolle | Darf App bearbeiten | Darf Team verwalten | Darf App löschen |
|---|---|---|---|
| Eigentümer | Ja | Ja (inkl. Eigentumsübertragung) | Ja |
| Admin | Ja | Ja (Mitglieder, Tester) | Nein |
| Entwickler | Ja | Nein | Nein |
| Nur-Lesen | Nein | Nein | Nein |
Die wirksame Rolle für eine App entspricht der Teamrolle, es sei denn, die anfragende Person ist zugleich persönliche Eigentümerin (Quelle der Übertragung) — dann gilt Zugriff auf Eigentümerebene.
Einladungen
- Admin oder höher sendet eine Einladung per E-Mail an eine bestehende GameVox-Person.
- Die eingeladene Person sieht eine offene Einladung auf ihrer Portal-Startseite und nimmt an oder lehnt ab.
- Einladungen können vor der Annahme jederzeit zurückgezogen werden.
- Zum erneuten Senden: zurückziehen und neu einladen. (Es gibt keinen eigenen „Erneut senden“-Button.)
Anwendungsübertragung
Persönliche Apps können in ein Team übertragen werden, dessen Eigentümer oder Admin du bist. Der Übertragungsdialog verlangt, dass du zur Bestätigung den App-Namen eintippst. Nach der Übertragung gilt:
- Das Team besitzt den App-Datensatz.
owner_user_idwird geleert;owner_team_idwird gesetzt. - Alle bestehenden Tokens (Bot-Tokens, Client-Secrets, Webhook-Tokens) bleiben gültig — die Übertragung rotiert sie nicht.
- Die Speicherpräfixe für App-Symbol und Titelbild bleiben unverändert — Assets funktionieren ohne erneuten Upload weiter.
- Die Übertragung ist einseitig (wie bei Discord). Zum „Zurückübertragen“ erstellst du eine neue persönliche App und migrierst die Daten manuell.
Teamsymbole
Hochladen im Tab „Allgemein“ des Teams. Dasselbe Bild-Upload-Widget wie bei App-Symbolen, mit eigenem S3-Präfix (team-icons/{team_id}/). Erscheint auf der Teamliste, im Kopfbereich der Teamdetails und als kleines Overlay auf App-Karten dieses Teams.
App-Tester
Die Testerliste gilt pro Anwendung (nicht pro Team), sodass die Apps eines Teams jeweils eigene Listen haben. Tester können eine private App (Öffentlich-Schalter aus) über den normalen OAuth-Installationslink installieren — wer nicht auf der Liste steht, erhält eine Nicht-gefunden-Seite.
- 100 Tester pro Anwendung.
- Eingeladen wird per GameVox-Benutzer-ID oder E-Mail. Lädst du dich selbst ein, wird automatisch angenommen (dir wird ohnehin vertraut).
- Tester erhalten keinerlei Zugriff auf die Portalseite der Anwendung — sie bekommen nur die Installationsberechtigung.
- Das Entfernen eines Testers widerruft keine Tokens, die diese Person bereits per OAuth erhalten hat; widerrufe diese separat.
Endpunkte (Portal)
GET /developer-portal/teams
POST /developer-portal/teams
GET /developer-portal/teams/{id}
PATCH /developer-portal/teams/{id}
DELETE /developer-portal/teams/{id}
GET /developer-portal/teams/{id}/members
POST /developer-portal/teams/{id}/members {email, role}
PATCH /developer-portal/teams/{id}/members/{user_id} {role}
DELETE /developer-portal/teams/{id}/members/{user_id}
POST /developer-portal/applications/{id}/transfer {team_id, app_name}
GET /developer-portal/applications/{id}/testers
POST /developer-portal/applications/{id}/testers {email|user_id}
DELETE /developer-portal/applications/{id}/testers/{user_id}