Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces major improvements to the external ticket creation API endpoint and related bot state management. The primary focus is on implementing the full ticket creation flow, including Discord integration, user validation, and thread/channel management. It also refactors the authentication middleware, enhances bot state to store the Discord context, and updates several type definitions for better consistency.
Ticket Creation Endpoint Implementation:
handle_external_ticket_createfunction, adding Discord user validation, guild membership checks, prevention of duplicate tickets, dynamic channel/thread creation, and messaging via Discord. It now returns detailed responses and error handling for all major failure cases.Bot State and Context Management:
BotStatestruct to include a thread-safe, shared reference to the DiscordContext, allowing for richer bot interactions and message sending. The context is now initialized and updated in theReadyHandler.ReadyHandlerto accept and manage the shared bot state, ensuring the context is available throughout the bot's lifecycle.Authentication Middleware Refactor:
Type and Import Cleanups:
api_keyfield from theCreateTicketstruct, as authentication is now handled exclusively via headers.Other Improvements:
These changes collectively make the ticket creation API endpoint robust, production-ready, and tightly integrated with Discord, while improving maintainability and reliability across the codebase.