10 Commits
Author SHA1 Message Date
Kayori 24f394116a Add sppass/cardless login support
- SppassOpenHandler/LookupHandler/CloseHandler implementing the eAmuse
  sppass.open/lookup/close xrpc methods (request/response schema
  confirmed by tracing the client's psmap-based response parser and by
  live testing against a real cabinet build)
- SppassSessionService backs open/lookup/close with a token-keyed
  session (url + interval for the cabinet to display/poll, later
  card_type/card_id once approved)
- CardlessApi: POST /api/cardless/{token}/approve, letting a signed-in
  player's phone approve the pending token using their account's
  first registered card
- Cardless frontend pages ([token].vue, scan.vue) and useCardlessAuth
  composable driving the approval call
- GetConfig GraphQL query + ConfigQuery resolver so the cardless page
  can show which server it's talking to
- Wire ISppassSessionService and the cardless routes into Program.cs;
  HandlerService now parses model into a GameModel once per request
  instead of re-parsing per handler
2026-09-06 15:13:10 +02:00
Kayori 54c6974cc2 Reworked plugin loading into per-plugin hot-reloadable containers (PluginRegistry/PluginSlot/PluginLoadContext/PluginWatcher), so plugins get their own mini service provider composed with the host's. Added a GraphQL API (HotChocolate) for card query/mutation. Added OpenAPI docs via Scalar. 2026-08-09 17:54:58 +02:00
Kayori c52e7daeaf Added more attribute types. Added GnInquire for charge machine. Added handeling for when plugin still returns XDocument instead of typed response. Fixed 500 error when no encoding specified. Move Handle method after return 2026-01-29 23:24:03 +01:00
Kayori 24cd5e00f3 Clean up and added force encoding option in plugins 2026-01-17 19:50:00 +01:00
Kayori 99f27acaba Moved to new way to handle requests. Now with TRequest and TResponse with automatic parsing and serialization handeling 2025-09-25 23:54:06 +02:00
Kayori b570f78670 welp has stuff wrong way 2025-07-31 00:07:12 +02:00
Kayori 4eda961b6c Made some changes so you can now return a bool to see if profile exists 2025-07-30 23:35:20 +02:00
Kay Houwertjes 1e7410deb5 Cleanups. Fix creating plugins directory on startup and added xml logger 2025-07-19 00:47:53 +02:00
Kayori 5361484ce9 Added plugin loader 2025-06-23 20:26:33 +02:00
Kayori ab0128af32 Init 2025-06-22 13:01:34 +02:00