Skip to content

feat: add GraphQL queries and mutations for persisting member roles#171

Merged
hrideshmg merged 4 commits intoamfoss:developfrom
swayam-agrahari:add_member_roles
Apr 12, 2026
Merged

feat: add GraphQL queries and mutations for persisting member roles#171
hrideshmg merged 4 commits intoamfoss:developfrom
swayam-agrahari:add_member_roles

Conversation

@swayam-agrahari
Copy link
Copy Markdown
Contributor

@swayam-agrahari swayam-agrahari commented Mar 12, 2026

Overview

Adds backend support for persisting Discord member roles so that the AMD bot can restore them when a user rejoins the server.

Changes

  • Introduced MemberRoles storage for saving role IDs associated with a Discord user.
  • Added GraphQL operations:
    • save_member_roles mutation to store roles when a user leaves.
    • member_roles query to retrieve stored roles when a user rejoins.

These endpoints are protected with AuthGuard guards to ensure they are only accessible to the bot.

Related PR

This PR supports the role persistence feature implemented in amd:

Main PR

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds backend persistence for Discord member roles so the AMD bot can store role IDs when users leave and restore them when they rejoin.

Changes:

  • Added MemberRoles DB table (migration) storing discord_idroles[].
  • Added GraphQL query to fetch persisted roles for a given Discord user.
  • Added GraphQL mutation to upsert persisted roles for a given Discord user.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
src/models/member.rs Introduces MemberRolesResponse GraphQL response type for role lookups.
src/graphql/queries/member_queries.rs Adds member_roles query that reads role arrays from MemberRoles.
src/graphql/mutations/member_mutations.rs Adds save_member_roles mutation that upserts role arrays into MemberRoles.
migrations/20260310140619_create_member_roles.sql Creates the MemberRoles table with discord_id PK and TEXT[] roles column.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@hrideshmg
Copy link
Copy Markdown
Member

lgtm, thanks

@hrideshmg hrideshmg merged commit 53b5323 into amfoss:develop Apr 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants