Add data request pages to compliance portal
Let trust-portal data subjects submit and track GDPR/CCPA rights requests. The new Data Requests page lists the viewer's own requests and a dialog submits new ones, scoped server-side to the verified viewer email so former or inactive users can still exercise their rights. Submission requires magic-link sign-in (reusing the existing gate) but not the NDA gate. Extend the shared rights_request enums with RECTIFICATION, OBJECTION and COMPLAINT types plus a REJECTED state, and keep the console GraphQL, @probo/helpers and the MCP specification in sync. Expose a trust GraphQL surface (myRightsRequests query, createRightsRequest mutation) backed by a trust service and contact-scoped coredata loaders. Add the missing v2 UI kit primitives the dialog needs on top of Base UI: a SegmentedControl radio-cards group, a form Textarea, and a Field wrapper. Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
@@ -31,6 +31,7 @@ const (
|
||||
RightsRequestStateTodo RightsRequestState = "TODO"
|
||||
RightsRequestStateInProgress RightsRequestState = "IN_PROGRESS"
|
||||
RightsRequestStateDone RightsRequestState = "DONE"
|
||||
RightsRequestStateRejected RightsRequestState = "REJECTED"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -44,6 +45,7 @@ func RightsRequestStates() []RightsRequestState {
|
||||
RightsRequestStateTodo,
|
||||
RightsRequestStateInProgress,
|
||||
RightsRequestStateDone,
|
||||
RightsRequestStateRejected,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +54,8 @@ func (v RightsRequestState) IsValid() bool {
|
||||
case
|
||||
RightsRequestStateTodo,
|
||||
RightsRequestStateInProgress,
|
||||
RightsRequestStateDone:
|
||||
RightsRequestStateDone,
|
||||
RightsRequestStateRejected:
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user