Projections/Schema/Field
@gdpr
Use the @gdpr
directive if a field of a projection contains GDPR relevant data.
Argument | Description |
---|---|
default | The value that is to be used after the gdpr data was invalidated |
condition | A condition on which the data is to be invalidated |
The data of that field (and therefore also for all events in the event store) will be invalidated when the condition
argument evaluates to true
or when the entire entry is deleted.
When using the @gdpr
directive, the expression environment for the condition will only have the projection
field available for this operation.
Invalidation does not happen when the entire projection is removed.
Example
type User @upsertOn(...) {
name: String! @gdpr(default: "---", condition: "projection.isSoftDeleted == true")
isSoftDeleted: Boolean
}
The name
field will be set to "---"
when the isSoftDeleted
field is set to true
.
In addition all traces of the name
field in the event store will be set to that value.