Documentation ¶
Index ¶
- Constants
- Variables
- type AccessHandler
- type AccessRequestBody
- type AccessResponseBody
- type AccessStatusEvent
- type Callback
- type CorrectionHandler
- type CorrectionRequestBody
- type CorrectionResponseBody
- type CorrectionStatusEvent
- type DataSubject
- type DeleteHandler
- type DeleteRequestBody
- type DeleteResponseBody
- type DeleteStatusEvent
- type ErrorBody
- type Identity
- type Kind
- type Message
- type Metadata
- type Request
- type RequestStatus
- type RequestStatusReason
- type Response
- type RestrictProcessingHandler
- type RestrictProcessingRequestBody
- type RestrictProcessingResponseBody
- type RestrictProcessingStatusEvent
- type SettableStandardObject
- type SettableStandardRequest
- type SettableStandardResponse
- type StandardObject
- type StandardRequest
- type StandardResponse
Constants ¶
View Source
const (
ApiVersion = "dsr/v1"
)
Variables ¶
View Source
var ( IdentityFormats = []any{"raw", "md5", "sha1", "sha256", "sha512"} Kinds = []any{ AccessRequestKind, AccessResponseKind, AccessStatusEventKind, CorrectionRequestKind, CorrectionResponseKind, CorrectionStatusEventKind, DeleteRequestKind, DeleteResponseKind, DeleteStatusEventKind, RestrictProcessingRequestKind, RestrictProcessingResponseKind, RestrictProcessingStatusEventKind, ErrorKind, } RequestStatuses = []any{ UnknownRequestStatus, PendingRequestStatus, InProgressRequestStatus, CompletedRequestStatus, CancelledRequestStatus, DeniedRequestStatus, } RequestStatusReasons = []any{ UnknownRequestStatusReason, SuspectedFraudRequestStatusReason, InsufficientVerificationRequestStatusReason, NoMatchRequestStatusReason, ClaimNotCoveredRequestStatusReason, OutsideJurisdictionRequestStatusReason, TooManyRequestsRequestStatusReason, OtherRequestStatusReason, Requested, InsufficientIdentification, Executed, } )
Functions ¶
This section is empty.
Types ¶
type AccessHandler ¶
type AccessHandler interface {
Access(ctx context.Context, request *AccessRequestBody) (*AccessResponseBody, error)
}
type AccessRequestBody ¶
type AccessRequestBody struct { Controller string `json:"controller,omitempty"` Property string `json:"property,omitempty"` Environment string `json:"environment,omitempty"` Regulation string `json:"regulation,omitempty"` Jurisdiction string `json:"jurisdiction,omitempty"` Identities []*Identity `json:"identities,omitempty"` Callbacks []*Callback `json:"callbacks,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Claims map[string]any `json:"claims,omitempty"` SubmittedTimestamp int64 `json:"submittedTimestamp,omitempty"` DueTimestamp int64 `json:"dueTimestamp,omitempty"` }
func (*AccessRequestBody) ValidateWithContext ¶
func (r *AccessRequestBody) ValidateWithContext(ctx context.Context) error
type AccessResponseBody ¶
type AccessResponseBody struct { Status RequestStatus `json:"status,omitempty"` Reason RequestStatusReason `json:"reason,omitempty"` ExpectedCompletionTimestamp int64 `json:"expectedCompletionTimestamp,omitempty"` RedirectURL string `json:"redirectUrl,omitempty"` RequestID string `json:"requestID,omitempty"` Results []*Callback `json:"results,omitempty"` Documents []*Callback `json:"documents,omitempty"` ResultData any `json:"resultData,omitempty"` DocumentData any `json:"documentData,omitempty"` Claims map[string]any `json:"claims,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Identities []*Identity `json:"identities,omitempty"` Messages []*Message `json:"messages,omitempty"` }
func (*AccessResponseBody) ValidateWithContext ¶
func (r *AccessResponseBody) ValidateWithContext(ctx context.Context) error
type AccessStatusEvent ¶ added in v0.0.4
type AccessStatusEvent struct { ApiVersion string `json:"apiVersion,omitempty"` Kind Kind `json:"kind,omitempty"` Metadata *Metadata `json:"metadata,omitempty"` Event *AccessResponseBody `json:"event,omitempty"` }
func (*AccessStatusEvent) GetApiVersion ¶ added in v0.0.4
func (r *AccessStatusEvent) GetApiVersion() string
func (*AccessStatusEvent) GetKind ¶ added in v0.0.4
func (r *AccessStatusEvent) GetKind() Kind
func (*AccessStatusEvent) GetMetadata ¶ added in v0.0.4
func (r *AccessStatusEvent) GetMetadata() *Metadata
func (*AccessStatusEvent) ValidateWithContext ¶ added in v0.0.4
func (r *AccessStatusEvent) ValidateWithContext(ctx context.Context) error
type Callback ¶
type CorrectionHandler ¶
type CorrectionHandler interface {
Correction(ctx context.Context, request *CorrectionRequestBody) (*CorrectionResponseBody, error)
}
type CorrectionRequestBody ¶
type CorrectionRequestBody struct { Controller string `json:"controller,omitempty"` Property string `json:"property,omitempty"` Environment string `json:"environment,omitempty"` Regulation string `json:"regulation,omitempty"` Jurisdiction string `json:"jurisdiction,omitempty"` Identities []*Identity `json:"identities,omitempty"` Callbacks []*Callback `json:"callbacks,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Claims map[string]any `json:"claims,omitempty"` SubmittedTimestamp int64 `json:"submittedTimestamp,omitempty"` DueTimestamp int64 `json:"dueTimestamp,omitempty"` }
func (*CorrectionRequestBody) ValidateWithContext ¶
func (r *CorrectionRequestBody) ValidateWithContext(ctx context.Context) error
type CorrectionResponseBody ¶
type CorrectionResponseBody struct { Status RequestStatus `json:"status"` Reason RequestStatusReason `json:"reason"` ExpectedCompletionTimestamp int64 `json:"expectedCompletionTimestamp"` RedirectURL string `json:"redirectUrl,omitempty"` RequestID string `json:"requestID,omitempty"` Documents []*Callback `json:"documents,omitempty"` DocumentData any `json:"documentData,omitempty"` Claims map[string]any `json:"claims,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Identities []*Identity `json:"identities,omitempty"` Messages []*Message `json:"messages,omitempty"` }
func (*CorrectionResponseBody) ValidateWithContext ¶
func (r *CorrectionResponseBody) ValidateWithContext(ctx context.Context) error
type CorrectionStatusEvent ¶ added in v0.0.4
type CorrectionStatusEvent struct { ApiVersion string `json:"apiVersion,omitempty"` Kind Kind `json:"kind,omitempty"` Metadata *Metadata `json:"metadata,omitempty"` Event *CorrectionResponseBody `json:"event,omitempty"` }
func (*CorrectionStatusEvent) GetApiVersion ¶ added in v0.0.4
func (r *CorrectionStatusEvent) GetApiVersion() string
func (*CorrectionStatusEvent) GetKind ¶ added in v0.0.4
func (r *CorrectionStatusEvent) GetKind() Kind
func (*CorrectionStatusEvent) GetMetadata ¶ added in v0.0.4
func (r *CorrectionStatusEvent) GetMetadata() *Metadata
func (*CorrectionStatusEvent) ValidateWithContext ¶ added in v0.0.4
func (r *CorrectionStatusEvent) ValidateWithContext(ctx context.Context) error
type DataSubject ¶
type DataSubject struct { Type string `json:"type,omitempty"` Email string `json:"email,omitempty"` FirstName string `json:"firstName,omitempty"` LastName string `json:"lastName,omitempty"` AddressLine1 string `json:"addressLine1,omitempty"` AddressLine2 string `json:"addressLine2,omitempty"` City string `json:"city,omitempty"` StateRegionCode string `json:"stateRegionCode,omitempty"` PostalCode string `json:"postalCode,omitempty"` CountryCode string `json:"countryCode,omitempty"` Description string `json:"description,omitempty"` }
func (*DataSubject) ValidateWithContext ¶
func (r *DataSubject) ValidateWithContext(ctx context.Context) error
type DeleteHandler ¶
type DeleteHandler interface {
Delete(ctx context.Context, request *DeleteRequestBody) (*DeleteResponseBody, error)
}
type DeleteRequestBody ¶
type DeleteRequestBody struct { Controller string `json:"controller,omitempty"` Property string `json:"property,omitempty"` Environment string `json:"environment,omitempty"` Regulation string `json:"regulation,omitempty"` Jurisdiction string `json:"jurisdiction,omitempty"` Identities []*Identity `json:"identities,omitempty"` Callbacks []*Callback `json:"callbacks,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Claims map[string]any `json:"claims,omitempty"` SubmittedTimestamp int64 `json:"submittedTimestamp,omitempty"` DueTimestamp int64 `json:"dueTimestamp,omitempty"` }
func (*DeleteRequestBody) ValidateWithContext ¶
func (r *DeleteRequestBody) ValidateWithContext(ctx context.Context) error
type DeleteResponseBody ¶
type DeleteResponseBody struct { Status RequestStatus `json:"status"` Reason RequestStatusReason `json:"reason"` ExpectedCompletionTimestamp int64 `json:"expectedCompletionTimestamp"` RedirectURL string `json:"redirectUrl,omitempty"` RequestID string `json:"requestID,omitempty"` Documents []*Callback `json:"documents,omitempty"` DocumentData any `json:"documentData,omitempty"` Claims map[string]any `json:"claims,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Identities []*Identity `json:"identities,omitempty"` Messages []*Message `json:"messages,omitempty"` }
func (*DeleteResponseBody) ValidateWithContext ¶
func (r *DeleteResponseBody) ValidateWithContext(ctx context.Context) error
type DeleteStatusEvent ¶ added in v0.0.4
type DeleteStatusEvent struct { ApiVersion string `json:"apiVersion,omitempty"` Kind Kind `json:"kind,omitempty"` Metadata *Metadata `json:"metadata,omitempty"` Event *DeleteResponseBody `json:"event,omitempty"` }
func (*DeleteStatusEvent) GetApiVersion ¶ added in v0.0.4
func (r *DeleteStatusEvent) GetApiVersion() string
func (*DeleteStatusEvent) GetKind ¶ added in v0.0.4
func (r *DeleteStatusEvent) GetKind() Kind
func (*DeleteStatusEvent) GetMetadata ¶ added in v0.0.4
func (r *DeleteStatusEvent) GetMetadata() *Metadata
func (*DeleteStatusEvent) ValidateWithContext ¶ added in v0.0.4
func (r *DeleteStatusEvent) ValidateWithContext(ctx context.Context) error
type ErrorBody ¶
type Identity ¶
type Kind ¶
type Kind string
const ( AccessRequestKind Kind = "AccessRequest" AccessResponseKind Kind = "AccessResponse" AccessStatusEventKind Kind = "AccessStatusEvent" CorrectionRequestKind Kind = "CorrectionRequest" CorrectionResponseKind Kind = "CorrectionResponse" CorrectionStatusEventKind Kind = "CorrectionStatusEvent" DeleteRequestKind Kind = "DeleteRequest" DeleteResponseKind Kind = "DeleteResponse" DeleteStatusEventKind Kind = "DeleteStatusEvent" RestrictProcessingRequestKind Kind = "RestrictProcessingRequest" RestrictProcessingResponseKind Kind = "RestrictProcessingResponse" RestrictProcessingStatusEventKind Kind = "RestrictProcessingStatusEvent" ErrorKind Kind = "Error" )
type Request ¶
type Request struct { ApiVersion string `json:"apiVersion,omitempty"` Kind Kind `json:"kind,omitempty"` Metadata *Metadata `json:"metadata,omitempty"` Request json.RawMessage `json:"request,omitempty"` }
type RequestStatus ¶
type RequestStatus string
const ( UnknownRequestStatus RequestStatus = "unknown" PendingRequestStatus RequestStatus = "pending" InProgressRequestStatus RequestStatus = "in_progress" CompletedRequestStatus RequestStatus = "completed" CancelledRequestStatus RequestStatus = "cancelled" DeniedRequestStatus RequestStatus = "denied" )
type RequestStatusReason ¶
type RequestStatusReason string
const ( UnknownRequestStatusReason RequestStatusReason = "unknown" SuspectedFraudRequestStatusReason RequestStatusReason = "suspected_fraud" Requested RequestStatusReason = "requested" InsufficientIdentification RequestStatusReason = "insufficient_identification" Executed RequestStatusReason = "executed" InsufficientVerificationRequestStatusReason RequestStatusReason = "insufficient_verification" NoMatchRequestStatusReason RequestStatusReason = "no_match" ClaimNotCoveredRequestStatusReason RequestStatusReason = "claim_not_covered" OutsideJurisdictionRequestStatusReason RequestStatusReason = "outside_jurisdiction" TooManyRequestsRequestStatusReason RequestStatusReason = "too_many_requests" OtherRequestStatusReason RequestStatusReason = "other" )
type Response ¶
type Response struct { ApiVersion string `json:"apiVersion,omitempty"` Kind Kind `json:"kind,omitempty"` Metadata *Metadata `json:"metadata,omitempty"` Response json.RawMessage `json:"response,omitempty"` Event json.RawMessage `json:"event,omitempty"` Error json.RawMessage `json:"error,omitempty"` }
type RestrictProcessingHandler ¶
type RestrictProcessingHandler interface {
RestrictProcessing(ctx context.Context, request *RestrictProcessingRequestBody) (*RestrictProcessingResponseBody, error)
}
type RestrictProcessingRequestBody ¶
type RestrictProcessingRequestBody struct { Controller string `json:"controller,omitempty"` Property string `json:"property,omitempty"` Environment string `json:"environment,omitempty"` Regulation string `json:"regulation,omitempty"` Jurisdiction string `json:"jurisdiction,omitempty"` Purposes []string `json:"purposes,omitempty"` Identities []*Identity `json:"identities,omitempty"` Callbacks []*Callback `json:"callbacks,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Claims map[string]any `json:"claims,omitempty"` SubmittedTimestamp int64 `json:"submittedTimestamp,omitempty"` DueTimestamp int64 `json:"dueTimestamp,omitempty"` }
func (*RestrictProcessingRequestBody) ValidateWithContext ¶
func (r *RestrictProcessingRequestBody) ValidateWithContext(ctx context.Context) error
type RestrictProcessingResponseBody ¶
type RestrictProcessingResponseBody struct { Status RequestStatus `json:"status,omitempty"` Reason RequestStatusReason `json:"reason,omitempty"` ExpectedCompletionTimestamp int64 `json:"expectedCompletionTimestamp,omitempty"` RedirectURL string `json:"redirectUrl,omitempty"` RequestID string `json:"requestID,omitempty"` Documents []*Callback `json:"documents,omitempty"` DocumentData any `json:"documentData,omitempty"` Claims map[string]any `json:"claims,omitempty"` Subject *DataSubject `json:"subject,omitempty"` Identities []*Identity `json:"identities,omitempty"` Messages []*Message `json:"messages,omitempty"` }
func (*RestrictProcessingResponseBody) ValidateWithContext ¶
func (r *RestrictProcessingResponseBody) ValidateWithContext(ctx context.Context) error
type RestrictProcessingStatusEvent ¶ added in v0.0.4
type RestrictProcessingStatusEvent struct { ApiVersion string `json:"apiVersion,omitempty"` Kind Kind `json:"kind,omitempty"` Metadata *Metadata `json:"metadata,omitempty"` Event *RestrictProcessingResponseBody `json:"event,omitempty"` }
func (*RestrictProcessingStatusEvent) GetApiVersion ¶ added in v0.0.4
func (r *RestrictProcessingStatusEvent) GetApiVersion() string
func (*RestrictProcessingStatusEvent) GetKind ¶ added in v0.0.4
func (r *RestrictProcessingStatusEvent) GetKind() Kind
func (*RestrictProcessingStatusEvent) GetMetadata ¶ added in v0.0.4
func (r *RestrictProcessingStatusEvent) GetMetadata() *Metadata
func (*RestrictProcessingStatusEvent) ValidateWithContext ¶ added in v0.0.4
func (r *RestrictProcessingStatusEvent) ValidateWithContext(ctx context.Context) error
type SettableStandardObject ¶
type SettableStandardRequest ¶
type SettableStandardRequest[T any] interface { SettableStandardObject[T] SetRequest(request *T) }
type SettableStandardResponse ¶
type SettableStandardResponse[T any] interface { SettableStandardObject[T] SetResponse(response *T) }
type StandardObject ¶
type StandardRequest ¶
type StandardRequest[T any] interface { StandardObject GetRequest() T }
type StandardResponse ¶
type StandardResponse[T any] interface { StandardObject GetResponse() T }
Source Files ¶
- AccessRequest.go
- AccessResponse.go
- AccessStatusEvent.go
- Callback.go
- CorrectionRequest.go
- CorrectionResponse.go
- CorrectionStatusEvent.go
- DataSubject.go
- DeleteRequest.go
- DeleteResponse.go
- DeleteStatusEvent.go
- Error.go
- Identity.go
- Message.go
- Metadata.go
- Request.go
- Response.go
- RestrictProcessingRequest.go
- RestrictProcessingResponse.go
- RestrictProcessingStatusEvent.go
- constants.go
- handlers.go
- standard.go
Click to show internal directories.
Click to hide internal directories.