Skip to content

Activity link

Purpose

TBD by human

Identity & key fields

  • Primary key: id (uuid, default gen_random_uuid()).
  • activityId (uuid, FK → activities.activities.id, on-delete cascade).
  • name (text, NOT NULL) — display label, e.g. “Buy merch”, “Official site”.
  • url (text, NOT NULL).

business meaning: TBD by human

Invariants

  • activityId ON DELETE CASCADE (enforced in tktspace-backend/libs/shared/data-access-db/src/lib/schema/activities.schema.ts).
  • name, url NOT NULL (enforced in tktspace-backend/libs/shared/data-access-db/src/lib/schema/activities.schema.ts).

business invariants: TBD by human

Lifecycle

No explicit lifecycle — created and deleted; no status column.

Relationships

  • Activity (ENT-005) — activityIdactivities.activities.id, on-delete cascade. N:1.

API surfaces

SurfaceExposedNotes
clientyes — ActivityLinkClientDto referenced from activity detailSwagger UI
businessno — managed inline via activity create/updateSwagger UI
super-adminno

Known gotchas / open questions

  • No URL validation at DB level — application-side responsibility.