Skip to content

feat: add standalone Plot System integration API - #236

Open
Zoriot wants to merge 3 commits into
mainfrom
feat/standalone-plot-system-api
Open

Zoriot wants to merge 3 commits into
mainfrom
feat/standalone-plot-system-api

Conversation

@Zoriot

@Zoriot Zoriot commented Sep 26, 2026

Copy link
Copy Markdown
Member

Summary

Add a standalone plot-system-api module for Plot System integrations.

The plugin now exposes stable lifecycle events with immutable API DTOs, allowing integrations such as DiscordPlotSystem to depend on a small, independently publishable API instead of the full Plot System implementation.

Changes

  • Add the plot-system-api Gradle module.
  • Add stable lifecycle events for:
    • Plot creation
    • Plot submission and undo submission
    • Plot review and rejection
    • Plot abandonment
    • Inactivity warnings
    • Feedback updates
    • Review undo
  • Add immutable API models:
    • PlotSnapshot
    • ReviewSnapshot
    • PlotStatus
    • PlotType
    • PlotDifficulty
    • PlotAbandonReason
  • Add API-to-domain snapshot conversion inside the plugin module.
  • Configure the API module for independent Maven publication.
  • Keep integration code independent from Plot System implementation classes.

Motivation

External integrations previously had to depend on internal classes such as Plot and PlotReview. That coupled integrations to implementation details and prevented independent API versioning.

Integrations can now depend only on:

com.alpsbte:plot-system-api

@Zoriot Zoriot self-assigned this Sep 26, 2026
@Zoriot Zoriot added enhancement New feature or request high priority labels Sep 26, 2026
@Zoriot
Zoriot marked this pull request as draft September 26, 2026 23:50
Capture pre-abandonment snapshots, publish tutorial and inactivity events, and use distinct abandonment reasons.
@Zoriot
Zoriot force-pushed the feat/standalone-plot-system-api branch from 505d7d2 to 2664d3f Compare September 27, 2026 00:08
@Zoriot
Zoriot marked this pull request as ready for review September 27, 2026 00:08

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request high priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant