Activity link
Purpose
TBD by human
Identity & key fields
- Primary key:
id(uuid, defaultgen_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
activityIdON DELETE CASCADE (enforced in tktspace-backend/libs/shared/data-access-db/src/lib/schema/activities.schema.ts).name,urlNOT 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) —
activityId→activities.activities.id, on-delete cascade. N:1.
API surfaces
| Surface | Exposed | Notes |
|---|---|---|
| client | yes — ActivityLinkClientDto referenced from activity detail | Swagger UI |
| business | no — managed inline via activity create/update | Swagger UI |
| super-admin | no | — |
Known gotchas / open questions
- No URL validation at DB level — application-side responsibility.