certificateproviderpage

package
v0.1608.0 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2024 License: MIT Imports: 33 Imported by: 0

Documentation

Overview

Package certificateproviderpage provides the pages that a certificate provider interacts with.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfirmDontWantToBeCertificateProviderLoggedOut

func ConfirmDontWantToBeCertificateProviderLoggedOut(tmpl template.Template, shareCodeStore ShareCodeStore, lpaStoreResolvingService LpaStoreResolvingService, lpaStoreClient LpaStoreClient, donorStore DonorStore, sessionStore SessionStore, notifyClient NotifyClient, appPublicURL string) page.Handler

func EnterReferenceNumber

func EnterReferenceNumber(tmpl template.Template, shareCodeStore ShareCodeStore, sessionStore SessionStore, certificateProviderStore CertificateProviderStore) page.Handler

func EnterReferenceNumberOptOut

func EnterReferenceNumberOptOut(tmpl template.Template, shareCodeStore ShareCodeStore, sessionStore SessionStore) page.Handler

func ParseHowYouWillConfirmYourIdentity added in v0.1548.0

func ParseHowYouWillConfirmYourIdentity(s string) (howYouWillConfirmYourIdentity, error)

func Register

func Register(
	rootMux *http.ServeMux,
	logger Logger,
	commonTmpls, tmpls template.Templates,
	sessionStore SessionStore,
	oneLoginClient OneLoginClient,
	shareCodeStore ShareCodeStore,
	errorHandler page.ErrorHandler,
	certificateProviderStore CertificateProviderStore,
	addressClient AddressClient,
	notifyClient NotifyClient,
	shareCodeSender ShareCodeSender,
	dashboardStore DashboardStore,
	lpaStoreClient LpaStoreClient,
	lpaStoreResolvingService LpaStoreResolvingService,
	donorStore DonorStore,
	eventClient EventClient,
	appPublicURL string,
)

Types

type AddressClient

type AddressClient interface {
	LookupPostcode(ctx context.Context, postcode string) ([]place.Address, error)
}

type CertificateProviderStore

type CertificateProviderStore interface {
	Create(ctx context.Context, shareCode sharecodedata.Link, email string) (*certificateproviderdata.Provided, error)
	Delete(ctx context.Context) error
	Get(ctx context.Context) (*certificateproviderdata.Provided, error)
	Put(ctx context.Context, certificateProvider *certificateproviderdata.Provided) error
}

type DashboardStore

type DashboardStore interface {
	GetAll(ctx context.Context) (results dashboarddata.Results, err error)
	SubExistsForActorType(ctx context.Context, sub string, actorType actor.Type) (bool, error)
}

type DonorStore

type DonorStore interface {
	GetAny(ctx context.Context) (*donordata.Provided, error)
	Put(ctx context.Context, donor *donordata.Provided) error
}

type ErrorHandler

type ErrorHandler func(http.ResponseWriter, *http.Request, error)

type EventClient added in v0.1460.0

type EventClient interface {
	SendIdentityCheckMismatched(ctx context.Context, e event.IdentityCheckMismatched) error
}

type Handler

func CompletingYourIdentityConfirmation added in v0.1554.0

func CompletingYourIdentityConfirmation(tmpl template.Template) Handler

func ConfirmDontWantToBeCertificateProvider

func ConfirmDontWantToBeCertificateProvider(tmpl template.Template, lpaStoreClient LpaStoreClient, donorStore DonorStore, certificateProviderStore CertificateProviderStore, notifyClient NotifyClient, appPublicURL string) Handler

func ConfirmYourDetails

func ConfirmYourDetails(tmpl template.Template, certificateProviderStore CertificateProviderStore) Handler

func ConfirmYourIdentity added in v0.1548.0

func ConfirmYourIdentity(tmpl template.Template, certificateProviderStore CertificateProviderStore) Handler

func EnterDateOfBirth

func EnterDateOfBirth(tmpl template.Template, certificateProviderStore CertificateProviderStore) Handler

func Guidance

func Guidance(tmpl template.Template) Handler

func HowWillYouConfirmYourIdentity added in v0.1548.0

func HowWillYouConfirmYourIdentity(tmpl template.Template, certificateProviderStore CertificateProviderStore) Handler

func IdentityWithOneLogin

func IdentityWithOneLogin(oneLoginClient OneLoginClient, sessionStore SessionStore, randomString func(int) string) Handler

func IdentityWithOneLoginCallback

func IdentityWithOneLoginCallback(oneLoginClient OneLoginClient, sessionStore SessionStore, certificateProviderStore CertificateProviderStore, notifyClient NotifyClient, lpaStoreClient LpaStoreClient, eventClient EventClient, appPublicURL string) Handler

func ProvideCertificate

func ProvideCertificate(
	tmpl template.Template,
	certificateProviderStore CertificateProviderStore,
	notifyClient NotifyClient,
	shareCodeSender ShareCodeSender,
	lpaStoreClient LpaStoreClient,
	now func() time.Time,
) Handler

func ReadTheLpa

func ReadTheLpa(tmpl template.Template, certificateProviderStore CertificateProviderStore) Handler

func TaskList

func TaskList(tmpl template.Template) Handler

func WhatIsYourHomeAddress

func WhatIsYourHomeAddress(logger Logger, tmpl template.Template, addressClient AddressClient, certificateProviderStore CertificateProviderStore) Handler

func YourPreferredLanguage

func YourPreferredLanguage(tmpl template.Template, certificateProviderStore CertificateProviderStore) Handler

type Localizer

type Localizer interface {
	page.Localizer
}

type Logger

type Logger interface {
	InfoContext(ctx context.Context, msg string, args ...any)
	WarnContext(ctx context.Context, msg string, args ...any)
	ErrorContext(ctx context.Context, msg string, args ...any)
}

type LpaStoreClient

type LpaStoreClient interface {
	SendCertificateProvider(ctx context.Context, certificateProvider *certificateproviderdata.Provided, lpa *lpadata.Lpa) error
	SendCertificateProviderConfirmIdentity(ctx context.Context, lpaUID string, certificateProvider *certificateproviderdata.Provided) error
	SendCertificateProviderOptOut(ctx context.Context, lpaUID string, actorUID actoruid.UID) error
}

type LpaStoreResolvingService

type LpaStoreResolvingService interface {
	Get(ctx context.Context) (*lpadata.Lpa, error)
}

type NotifyClient

type NotifyClient interface {
	EmailGreeting(lpa *lpadata.Lpa) string
	SendActorEmail(ctx context.Context, to notify.ToEmail, lpaUID string, email notify.Email) error
}

type OneLoginClient

type OneLoginClient interface {
	AuthCodeURL(state, nonce, locale string, identity bool) (string, error)
	Exchange(ctx context.Context, code, nonce string) (idToken, accessToken string, err error)
	UserInfo(ctx context.Context, accessToken string) (onelogin.UserInfo, error)
	ParseIdentityClaim(userInfo onelogin.UserInfo) (identity.UserData, error)
}

type SessionStore

type SessionStore interface {
	Login(r *http.Request) (*sesh.LoginSession, error)
	LpaData(r *http.Request) (*sesh.LpaDataSession, error)
	OneLogin(r *http.Request) (*sesh.OneLoginSession, error)
	SetLpaData(r *http.Request, w http.ResponseWriter, lpaDataSession *sesh.LpaDataSession) error
	SetLogin(r *http.Request, w http.ResponseWriter, session *sesh.LoginSession) error
	SetOneLogin(r *http.Request, w http.ResponseWriter, session *sesh.OneLoginSession) error
}

type ShareCodeSender

type ShareCodeSender interface {
	SendAttorneys(context.Context, appcontext.Data, *lpadata.Lpa) error
}

type ShareCodeStore

type ShareCodeStore interface {
	Get(ctx context.Context, actorType actor.Type, shareCode string) (sharecodedata.Link, error)
	Put(ctx context.Context, actorType actor.Type, shareCode string, shareCodeData sharecodedata.Link) error
	Delete(ctx context.Context, shareCode sharecodedata.Link) error
}

type Template

type Template func(io.Writer, interface{}) error

Jump to

Keyboard shortcuts

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