Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments |
|---|---|---|---|---|---|---|---|---|
| id | uuid | 2147483647 | gen_random_uuid() |
|
|
|||
| presetKey | varchar | 2147483647 | null |
|
|
Unique key identifying the preset, maps to SQL resolver in API V2 |
||
| label | text | 2147483647 | null |
|
|
Human-readable label for the preset |
||
| section | varchar | 2147483647 | null |
|
|
UI section where this preset belongs |
||
| columns | jsonb | 2147483647 | null |
|
|
JSONB array of column definitions: {key, label, type, piiAttribute?, filterable?, options?}. Structure: key=column id for filters, label=UI display, type=data type (string/enum/datetime/number/boolean), piiAttribute=if set (e.g. email/phone/name) column is FORCE NON-FILTERABLE (prevents oracle enumeration), filterable=false disables filtering (true/null=allowed), options=enum values only |
||
| sourceKey | varchar | 2147483647 | null |
|
|
Unique key that maps to a SQL query resolver in API V2 |
||
| scopeColumn | varchar | 2147483647 | √ | null |
|
|
NULL = no row scope; else auto-WHERE |
|
| csvExportAllowed | bool | 1 | false |
|
|
Whether CSV export is allowed for this preset |
||
| isEnabled | bool | 1 | true |
|
|
Whether this preset is enabled |
||
| createdAt | timestamptz | 35,6 | now() |
|
|
|||
| updatedAt | timestamptz | 35,6 | now() |
|
|
|||
| groupKey | text | 2147483647 | √ | null |
|
|
||
| accessClass | text | 2147483647 | √ | null |
|
|
||
| ownerTeamKey | text | 2147483647 | √ | null |
|
|
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| WorkbenchPresets_pkey | Primary key | Asc | id |
| WorkbenchPresets_presetKey_key | Must be unique | Asc | presetKey |
| WorkbenchPresets_sourceKey_key | Must be unique | Asc | sourceKey |
Check Constraints
| Constraint Name | Constraint |
|---|---|
| WorkbenchPresets_enabled_classification_check | (((NOT "isEnabled") OR (("groupKey" IS NOT NULL) AND ("accessClass" IS NOT NULL) AND ("ownerTeamKey" IS NOT NULL)))) |
| WorkbenchPresets_access_class_check | ((("accessClass" IS NULL) OR ("accessClass" = ANY (ARRAY['STANDARD'::text, 'RESTRICTED'::text])))) |
