Skip to main content
WorkspaceView represents a named, workspace-scoped configuration for displaying a record root (e.g. invoices, companies) in the Well records table. It persists the full view state — visible columns, sort order, active filters, grouping, layout type, and layout-specific display settings — so users can switch between saved views without re-configuring each session. Each view is bound to exactly one Workspace and one record root string; a boolean flag marks at most one view per (workspace, root) combination as the default. Views are user-created and user-managed through a dedicated REST surface; they are never written by any connector or pipeline.
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

  • view_id — generated by gen_random_uuid() at INSERT time; never supplied by the caller
  • created_at — set by MikroORM onCreate() hook to new Date() at creation; immutable thereafter
  • updated_at — set by MikroORM onCreate() hook at creation, then refreshed by onUpdate() hook on every flush after mutation
  • deleted_at — written by WorkspaceViewService.deleteView() to perform a soft delete; null on active rows; never set by any pipeline or connector
  • is_default sibling-reset — when a PATCH sets is_default=true, WorkspaceViewService resets is_default=false on all other views sharing the same (workspace, root) combination; this is a service-layer invariant, not a DB constraint

Example

Source: /Users/maximechampoux/platform/apps/api/src/database/entities/WorkspaceView.ts · domain: workspace · tier: Infrastructure