Skip to content

Make Sprocket the source of truth for player identity and platform accounts #727

@gankoji

Description

@gankoji

Summary

Make Sprocket authoritative for player identity, Discord linkage, platform accounts, and tracker links, rather than relying on mledb.player, mledb.player_account, and bridge rows.

Why

Active roster/admin workflows still dual-write identity and account data into MLEDB. That keeps legacy tables in the critical path for account reporting, player creation, and player lookup.

Relevant code

  • core/src/franchise/player/player.service.ts
  • core/src/organization/member/member.mod.resolver.ts
  • core/src/mledb/mledb-player-account/mledb-player-account.service.ts
  • core/src/mledb/mledb-player/mledb-player.service.ts

Scope

  • Finalize the Sprocket-owned model for player identity and external platform accounts.
  • Ensure Discord linkage, tracker links, and platform account ownership can be fully resolved from Sprocket.
  • Preserve legacy ID crosswalk fields only where they are still needed for migration/cutover.
  • Update active write paths so Sprocket becomes the primary write target.
  • Limit legacy mirroring to a temporary compatibility mechanism, if still required.

Acceptance criteria

  • New and updated player/account records can be fully reconstructed from Sprocket alone.
  • Active account-reporting flows succeed without depending on legacy-only data structures.
  • The set of fields still mirrored into MLEDB is explicitly documented and minimized.
  • There is a clear removal plan for mledb.player_account writes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestjavascriptPull requests that update Javascript code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions