Skip to main content
PersonWebLink is a soft-deletable bridge (pivot) relation that attaches one or more web hyperlinks to a person record. It connects the People entity to the WebLink atomic entity, enabling a person to carry multiple URLs (e.g. LinkedIn profile, personal website) without denormalising the link data. The pivot follows the standard dual-direction indexing pattern: a composite index on (person, deleted_at) for the forward traversal and a single-column index on web_link for the reverse traversal.
Internal object. Not currently exposed on the public REST API. The operations below describe the intended contract.

API operations

Data model

Attributes

Relationships

System-computed

  • created_at — set on INSERT via MikroORM onCreate hook (new Date()); never written by API consumers
  • updated_at — set on INSERT and refreshed on every UPDATE via onCreate/onUpdate hooks
  • deleted_at — set by soft-delete cascade; never set directly by the user; queries must always predicate deleted_at IS NULL
  • No public UUID (*_id) column exists on this entity — it is a pure pivot table identified by its two FK columns; the external API should reference it via the parent person_id + web_link_id pair
  • No workspace_pk column — tenant isolation is inherited through the parent people → workspace relationship; queries must join through People to apply workspace scope

Example

Source: apps/api/src/database/entities/PersonWebLink.ts · domain: financial-graph · tier: Supporting