feat(fullstack): Add logical AND and OR operators to seed files, add Sensitiviäts-Check

This commit is contained in:
2026-02-04 06:22:08 +01:00
parent 40957bd496
commit 1bc2e9b111
23 changed files with 3488 additions and 2001 deletions

View File

@@ -1548,10 +1548,9 @@ components:
format: uuid
nullable: true
visibilityConditions:
type: array
items:
$ref: "#/components/schemas/FormElementVisibilityCondition"
description: List of visibility conditions (all must be met for element to be visible - AND logic)
$ref: "#/components/schemas/VisibilityConditionGroup"
nullable: true
description: Recursive visibility condition tree (AND/OR groups with leaf conditions)
sectionSpawnTriggers:
type: array
items:
@@ -1612,9 +1611,8 @@ components:
items:
$ref: "#/components/schemas/FormOptionDto"
visibilityConditions:
type: array
items:
$ref: "#/components/schemas/FormElementVisibilityCondition"
$ref: "#/components/schemas/VisibilityConditionGroup"
nullable: true
sectionSpawnTriggers:
type: array
items:
@@ -1643,6 +1641,8 @@ components:
$ref: "#/components/schemas/EmployeeDataCategory"
columnConfig:
$ref: "#/components/schemas/TableColumnConfigDto"
visibilityConditions:
$ref: "#/components/schemas/VisibilityConditionGroup"
TableColumnConfigDto:
type: object
@@ -1716,24 +1716,56 @@ components:
- TABLE
- FILE_UPLOAD
FormElementVisibilityCondition:
VisibilityConditionNode:
type: object
required:
- formElementConditionType
- sourceFormElementReference
description: A visibility condition node - either a leaf (single condition) or a group (AND/OR of conditions). Use nodeType to determine which properties are relevant.
properties:
nodeType:
type: string
enum: [LEAF, GROUP]
default: LEAF
description: Type discriminator - LEAF for single condition, GROUP for AND/OR of conditions
# Leaf properties (used when nodeType=LEAF)
formElementConditionType:
$ref: "#/components/schemas/VisibilityConditionType"
sourceFormElementReference:
type: string
description: Reference key of the source form element to check
nullable: true
description: "[LEAF] Reference key of the source form element to check"
formElementExpectedValue:
type: string
nullable: true
description: Expected value to compare against the source element's value property. Not required for IS_EMPTY and IS_NOT_EMPTY operators.
description: "[LEAF] Expected value to compare against the source element's value"
formElementOperator:
$ref: "#/components/schemas/VisibilityConditionOperator"
default: EQUALS
# Group properties (used when nodeType=GROUP)
groupOperator:
type: string
enum: [AND, OR]
nullable: true
description: "[GROUP] Logical operator to combine conditions"
conditions:
type: array
nullable: true
items:
$ref: "#/components/schemas/VisibilityConditionNode"
description: "[GROUP] List of child conditions"
VisibilityConditionGroup:
type: object
description: Root-level visibility condition group containing child conditions
properties:
operator:
type: string
enum: [AND, OR]
nullable: true
description: Logical operator to combine conditions
conditions:
type: array
nullable: true
items:
$ref: "#/components/schemas/VisibilityConditionNode"
description: List of child conditions (can be leaves or nested groups)
VisibilityConditionType:
type: string
@@ -1748,6 +1780,8 @@ components:
- NOT_EQUALS
- IS_EMPTY
- IS_NOT_EMPTY
- CONTAINS
- NOT_CONTAINS
SectionSpawnTriggerDto:
type: object