Adding groups logic and restrictions (#454)

* Adding groups logic and restrictions

* Cleaning up some redundant code

* hastily made translations

* Linter issues

* More linting

* PR comments

* Covering other APIs with age filters per comment

---------

Co-authored-by: Robert Clabough <robert@clabough.tech>
This commit is contained in:
AgentScrubbles
2026-08-02 11:50:15 +10:00
committed by GitHub
co-authored by Robert Clabough
parent cc3f645580
commit 13891f6ab2
30 changed files with 1232 additions and 38 deletions
+20
View File
@@ -699,6 +699,26 @@
"description": "Verwalte Benutzer auf deiner Drop-Instanz und konfiguriere deine Authentifizierungsmethode.",
"displayNameHeader": "Anzeigename",
"emailHeader": "E-Mail",
"groups": {
"addBannedRating": "Gesperrte Einstufung hinzufügen",
"addMember": "Benutzer auswählen...",
"bannedRatings": "Gesperrte Alterseinstufungen",
"createGroup": "Gruppe erstellen",
"deleteConfirm": "Sind Sie sicher, dass Sie diese Gruppe löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteGroup": "Löschen",
"description": "Benutzergruppen und Altersbeschränkungen verwalten.",
"descriptionField": "Beschreibung",
"details": "Details",
"members": "Mitglieder",
"name": "Name",
"noBannedRatings": "Keine gesperrten Einstufungen konfiguriert.",
"noMembers": "Keine Mitglieder in dieser Gruppe.",
"oidcManagedNote": "Die Gruppenmitgliedschaft wird von Ihrem OIDC-Anbieter verwaltet. Mitglieder werden bei der Anmeldung automatisch synchronisiert. Um die Gruppenmitgliedschaft zu ändern, aktualisieren Sie die Gruppenzuweisungen Ihres Identitätsanbieters.",
"removeBannedRating": "Entfernen",
"removeMember": "Entfernen",
"title": "Benutzergruppen",
"unratedNote": "Spiele ohne Alterseinstufung werden für Benutzer in dieser Gruppe ebenfalls ausgeblendet."
},
"normalUserLabel": "Normaler Benutzer",
"simple": {
"adminInvitation": "Admin Einladung",
+20
View File
@@ -498,6 +498,26 @@
"description": "Manage the crew on yer Drop vessel, and set yer passage methods, savvy?",
"displayNameHeader": "Scallywag Name",
"emailHeader": "Salty Mail",
"groups": {
"addBannedRating": "Add forbidden rating",
"addMember": "Pick a scallywag...",
"bannedRatings": "Forbidden Ratings",
"createGroup": "Form a Crew",
"deleteConfirm": "Be ye sure ye want to disband this crew? There be no turnin' back!",
"deleteGroup": "Disband",
"description": "Manage yer crew groups and age restrictions on the plunder.",
"descriptionField": "Description",
"details": "Details",
"members": "Crew Members",
"name": "Name",
"noBannedRatings": "No forbidden ratings set, captain.",
"noMembers": "No souls in this crew.",
"oidcManagedNote": "Crew membership be managed by yer OIDC harbourmaster. Members be synced when they come aboard. To change crew membership, update yer identity provider's assignments.",
"removeBannedRating": "Remove",
"removeMember": "Cast overboard",
"title": "Crew Groups",
"unratedNote": "Unrated plunder will also be hidden from scallywags in this crew."
},
"normalUserLabel": "Common crewman",
"simple": {
"adminInvitation": "Cap'n's Invitation",
+20
View File
@@ -817,6 +817,26 @@
"description": "Manage the users on your Drop instance, and configure your authentication methods.",
"displayNameHeader": "Display Name",
"emailHeader": "Email",
"groups": {
"addBannedRating": "Add banned rating",
"addMember": "Select a user...",
"bannedRatings": "Banned Ratings",
"createGroup": "Create Group",
"deleteConfirm": "Are you sure you want to delete this group? This action cannot be undone.",
"deleteGroup": "Delete",
"description": "Manage user groups and age rating restrictions.",
"descriptionField": "Description",
"details": "Details",
"members": "Members",
"name": "Name",
"noBannedRatings": "No banned ratings configured.",
"noMembers": "No members in this group.",
"oidcManagedNote": "Group membership is managed by your OIDC provider. Members are automatically synced when users log in. To change group membership, update your identity provider's group assignments.",
"removeBannedRating": "Remove",
"removeMember": "Remove",
"title": "User Groups",
"unratedNote": "Games without age ratings will also be hidden from users in this group."
},
"normalUserLabel": "Normal user",
"simple": {
"adminInvitation": "Admin invitation",
+20
View File
@@ -699,6 +699,26 @@
"description": "Gérer les utilisateurs sur votre instance Drop, et configurer vos méthodes d'authentification.",
"displayNameHeader": "Nom d'affichage",
"emailHeader": "Email",
"groups": {
"addBannedRating": "Ajouter une classification interdite",
"addMember": "Sélectionner un utilisateur...",
"bannedRatings": "Classifications interdites",
"createGroup": "Créer un groupe",
"deleteConfirm": "Êtes-vous sûr de vouloir supprimer ce groupe ? Cette action est irréversible.",
"deleteGroup": "Supprimer",
"description": "Gérer les groupes d'utilisateurs et les restrictions d'âge.",
"descriptionField": "Description",
"details": "Détails",
"members": "Membres",
"name": "Nom",
"noBannedRatings": "Aucune classification interdite configurée.",
"noMembers": "Aucun membre dans ce groupe.",
"oidcManagedNote": "L'appartenance aux groupes est gérée par votre fournisseur OIDC. Les membres sont automatiquement synchronisés lors de la connexion. Pour modifier l'appartenance aux groupes, mettez à jour les affectations de groupes de votre fournisseur d'identité.",
"removeBannedRating": "Retirer",
"removeMember": "Retirer",
"title": "Groupes d'utilisateurs",
"unratedNote": "Les jeux sans classification d'âge seront également masqués pour les utilisateurs de ce groupe."
},
"normalUserLabel": "Utilisateur normal",
"simple": {
"adminInvitation": "Invitation adminstrateur",
+20
View File
@@ -675,6 +675,26 @@
"description": "Zarządzaj użytkownikami na twojej instancji Drop, i skonfiguruj swoje metody uwierzytelniania.",
"displayNameHeader": "Nazwa Wyświetlana",
"emailHeader": "Email",
"groups": {
"addBannedRating": "Dodaj zablokowaną kategorię",
"addMember": "Wybierz użytkownika...",
"bannedRatings": "Zablokowane kategorie wiekowe",
"createGroup": "Utwórz grupę",
"deleteConfirm": "Czy na pewno chcesz usunąć tę grupę? Tej akcji nie można cofnąć.",
"deleteGroup": "Usuń",
"description": "Zarządzaj grupami użytkowników i ograniczeniami wiekowymi.",
"descriptionField": "Opis",
"details": "Szczegóły",
"members": "Członkowie",
"name": "Nazwa",
"noBannedRatings": "Brak skonfigurowanych zablokowanych kategorii.",
"noMembers": "Brak członków w tej grupie.",
"oidcManagedNote": "Członkostwo w grupach jest zarządzane przez dostawcę OIDC. Członkowie są automatycznie synchronizowani podczas logowania. Aby zmienić członkostwo w grupach, zaktualizuj przypisania grup u dostawcy tożsamości.",
"removeBannedRating": "Usuń",
"removeMember": "Usuń",
"title": "Grupy użytkowników",
"unratedNote": "Gry bez kategorii wiekowej będą również ukryte przed użytkownikami w tej grupie."
},
"normalUserLabel": "Normalny użytkownik",
"simple": {
"adminInvitation": "Zaproszenie administratora",