-- =====================================================================
--  TeeCup — Utvidede spillerfelt i org-spillerpoolen (2026-08-14).
--  Bruker: midlertidige/nyopprettede spillere i "Deltakere"-flyten
--  (org-individuelle turneringer, individual-tournament-detail.tsx)
--  manglet felt en reell klubbadministrator trenger ved registrering.
--
--  Splitter navn i for-/etternavn -- SAMME mønster som migrasjon 052
--  (round_participant.guest_first_name/guest_last_name): display_name
--  beholdes UENDRET som det faktisk VISTE fulle navnet (unngår å røre
--  alle eksisterende steder som leser player.display_name direkte,
--  bl.a. leaderboards/matcher/rostre) -- first_name/last_name er en NY,
--  valgfri kilde til sannhet ved REDIGERING i det utvidede skjemaet,
--  ikke en erstatning. App-laget (ikke en DB-trigger) holder dem i sync
--  ved oppretting, samme "kalleren regner ut display_name"-ansvar som
--  round_participant sin ekvivalent.
--
--  `paid`/`comment`: registreringsadministrasjon (betalt-avkrysning,
--  fritekstnotat) -- fantes ikke i noen form før.
-- =====================================================================
\set ON_ERROR_STOP on

ALTER TABLE player ADD COLUMN first_name text;
ALTER TABLE player ADD COLUMN last_name text;
ALTER TABLE player ADD COLUMN paid boolean NOT NULL DEFAULT false;
ALTER TABLE player ADD COLUMN comment text;

-- Backfill for EKSISTERENDE spillere -- samme "første ord = fornavn,
-- resten = etternavn"-heuristikk som migrasjon 052 sin backfill.
UPDATE player
SET first_name = CASE
        WHEN position(' ' IN display_name) > 0 THEN split_part(display_name, ' ', 1)
        ELSE display_name
    END,
    last_name = CASE
        WHEN position(' ' IN display_name) > 0
            THEN NULLIF(trim(substring(display_name FROM position(' ' IN display_name) + 1)), '')
        ELSE NULL
    END;
