From bb4e17ba2f7b512fb8b317230714eb611b008704 Mon Sep 17 00:00:00 2001 From: Nell Date: Sun, 2 Aug 2026 12:07:51 +0200 Subject: [PATCH] init --- .../permissions/ChannelPermissionsDialog.vue | 2 +- .../server/ServerSettingsDialog.vue | 155 ++++++++++++ frontend/src/layouts/AppLayout.vue | 28 ++- frontend/src/pages/server/index.vue | 19 +- frontend/src/stores/role.ts | 62 +++++ frontend/src/stores/server.ts | 20 +- frontend/src/types/role.ts | 7 + src/domain/dto/role.rs | 5 + src/repositories/role.rs | 47 +++- src/repositories/server.rs | 8 + src/routes/role/handlers.rs | 225 ++++++++---------- src/routes/role/mapper.rs | 2 +- src/routes/role/routes.rs | 8 +- src/routes/server/handlers.rs | 30 ++- src/services/role.rs | 36 ++- 15 files changed, 502 insertions(+), 152 deletions(-) create mode 100644 frontend/src/components/server/ServerSettingsDialog.vue create mode 100644 frontend/src/stores/role.ts create mode 100644 frontend/src/types/role.ts diff --git a/frontend/src/components/permissions/ChannelPermissionsDialog.vue b/frontend/src/components/permissions/ChannelPermissionsDialog.vue index 21a5cdc..e871f9f 100644 --- a/frontend/src/components/permissions/ChannelPermissionsDialog.vue +++ b/frontend/src/components/permissions/ChannelPermissionsDialog.vue @@ -65,7 +65,7 @@ async function load() { if (!props.channel) return loading.value = true; error.value = null try { - const [roleResponse] = await Promise.all([api.get('/groups'), users.fetchUsers(props.serverId)]) + const [roleResponse] = await Promise.all([api.get(`/roles?server_id=${props.serverId}`), users.fetchUsers(props.serverId)]) if (!roleResponse.ok) throw new Error('Impossible de charger les rôles') roles.value = (await roleResponse.json() as Role[]).filter(role => role.server_id === props.serverId) configured.value = await permissionsApi.getChannelPermissions(props.channel.id) diff --git a/frontend/src/components/server/ServerSettingsDialog.vue b/frontend/src/components/server/ServerSettingsDialog.vue new file mode 100644 index 0000000..83a1aad --- /dev/null +++ b/frontend/src/components/server/ServerSettingsDialog.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/frontend/src/layouts/AppLayout.vue b/frontend/src/layouts/AppLayout.vue index 2e86bd4..fff23a0 100644 --- a/frontend/src/layouts/AppLayout.vue +++ b/frontend/src/layouts/AppLayout.vue @@ -1,18 +1,24 @@