types

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApiVersion = "dsr/v1"
)

Variables

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 Callback struct {
	URL     string            `json:"url,omitempty"`
	Headers map[string]string `json:"headers,omitempty"`
}

func (*Callback) ValidateWithContext

func (r *Callback) ValidateWithContext(ctx context.Context) error

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 ErrorBody struct {
	Code    int    `json:"code,omitempty"`
	Status  string `json:"status,omitempty"`
	Message string `json:"message,omitempty"`
}

func (*ErrorBody) ValidateWithContext

func (r *ErrorBody) ValidateWithContext(ctx context.Context) error

type Identity

type Identity struct {
	IdentitySpace  string `json:"identitySpace,omitempty"`
	IdentityFormat string `json:"identityFormat,omitempty"`
	IdentityValue  string `json:"identityValue,omitempty"`
}

func (*Identity) ValidateWithContext

func (r *Identity) ValidateWithContext(ctx context.Context) error

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 Message added in v0.0.4

type Message struct {
}

type Metadata

type Metadata struct {
	UID    string `json:"uid,omitempty"`
	Tenant string `json:"tenant,omitempty"`
}

func (*Metadata) ValidateWithContext

func (r *Metadata) ValidateWithContext(ctx context.Context) 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"`
}

func (*Request) ValidateWithContext

func (r *Request) ValidateWithContext(ctx context.Context) error

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"`
}

func (*Response) ValidateWithContext

func (r *Response) ValidateWithContext(ctx context.Context) error

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 SettableStandardObject[T any] interface {
	SetApiVersion(apiVersion string)
	SetKind(kind Kind)
	SetMetadata(metadata *Metadata)
}

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 StandardObject interface {
	GetApiVersion() string
	GetKind() Kind
	GetMetadata() *Metadata
}

type StandardRequest

type StandardRequest[T any] interface {
	StandardObject
	GetRequest() T
}

type StandardResponse

type StandardResponse[T any] interface {
	StandardObject
	GetResponse() T
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL