lpastore

package
v0.1145.0-MLPAB2035reg... Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = errors.New("lpa not found in lpa-store")

Functions

This section is empty.

Types

type Attorney added in v0.1139.0

type Attorney struct {
	UID                       actoruid.UID
	FirstNames                string
	LastName                  string
	DateOfBirth               date.Date
	Email                     string
	Address                   place.Address
	Mobile                    string
	SignedAt                  time.Time
	ContactLanguagePreference localize.Lang
}

func (Attorney) FullName added in v0.1139.0

func (a Attorney) FullName() string

type Attorneys added in v0.1139.0

type Attorneys struct {
	Attorneys        []Attorney
	TrustCorporation TrustCorporation
}

func (Attorneys) FullNames added in v0.1139.0

func (a Attorneys) FullNames() []string

func (Attorneys) Get added in v0.1139.0

func (a Attorneys) Get(uid actoruid.UID) (Attorney, bool)

func (Attorneys) Index added in v0.1139.0

func (a Attorneys) Index(uid actoruid.UID) int

func (Attorneys) Len added in v0.1139.0

func (a Attorneys) Len() int

type CertificateProvider added in v0.1139.0

type CertificateProvider struct {
	UID                       actoruid.UID                        `json:"uid"`
	FirstNames                string                              `json:"firstNames"`
	LastName                  string                              `json:"lastName"`
	Email                     string                              `json:"email,omitempty"`
	Phone                     string                              `json:"phone,omitempty"`
	Address                   place.Address                       `json:"address"`
	Channel                   actor.CertificateProviderCarryOutBy `json:"channel"`
	SignedAt                  time.Time                           `json:"signedAt"`
	ContactLanguagePreference localize.Lang                       `json:"contactLanguagePreference"`
	// Relationship is not stored in the lpa-store so is defaulted to
	// Professional. We require it to determine whether to show the home address
	// page to a certificate provider.
	Relationship actor.CertificateProviderRelationship
}

func (CertificateProvider) FullName added in v0.1139.0

func (c CertificateProvider) FullName() string

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New(baseURL string, secretsClient SecretsClient, lambdaClient Doer) *Client

func (*Client) CheckHealth

func (c *Client) CheckHealth(ctx context.Context) error

func (*Client) Lpa added in v0.1099.0

func (c *Client) Lpa(ctx context.Context, lpaUID string) (*Lpa, error)

func (*Client) SendAttorney added in v0.926.0

func (c *Client) SendAttorney(ctx context.Context, donor *Lpa, attorney *actor.AttorneyProvidedDetails) error

func (*Client) SendCertificateProvider added in v0.922.0

func (c *Client) SendCertificateProvider(ctx context.Context, lpaUID string, certificateProvider *actor.CertificateProviderProvidedDetails) error

func (*Client) SendLpa

func (c *Client) SendLpa(ctx context.Context, donor *actor.DonorProvidedDetails) error

func (*Client) SendRegister added in v0.1145.0

func (c *Client) SendRegister(ctx context.Context, lpaUID string) error

type Doer

type Doer interface {
	Do(*http.Request) (*http.Response, error)
}

type DonorStore added in v0.1116.0

type DonorStore interface {
	GetAny(ctx context.Context) (*actor.DonorProvidedDetails, error)
}

type Lpa added in v0.1116.0

type Lpa struct {
	LpaID                                      string
	LpaUID                                     string
	RegisteredAt                               time.Time
	WithdrawnAt                                time.Time
	UpdatedAt                                  time.Time
	Type                                       actor.LpaType
	Donor                                      actor.Donor
	Attorneys                                  Attorneys
	ReplacementAttorneys                       Attorneys
	CertificateProvider                        CertificateProvider
	PeopleToNotify                             actor.PeopleToNotify
	AttorneyDecisions                          actor.AttorneyDecisions
	ReplacementAttorneyDecisions               actor.AttorneyDecisions
	HowShouldReplacementAttorneysStepIn        actor.ReplacementAttorneysStepIn
	HowShouldReplacementAttorneysStepInDetails string
	Restrictions                               string
	WhenCanTheLpaBeUsed                        actor.CanBeUsedWhen
	LifeSustainingTreatmentOption              actor.LifeSustainingTreatment
	SignedAt                                   time.Time
	CertificateProviderNotRelatedConfirmedAt   time.Time
	DonorIdentityConfirmed                     bool
	Submitted                                  bool
	Paid                                       bool
	IsOrganisationDonor                        bool
}

func FromDonorProvidedDetails added in v0.1139.0

func FromDonorProvidedDetails(l *actor.DonorProvidedDetails) *Lpa

func (Lpa) AllAttorneysSigned added in v0.1116.0

func (l Lpa) AllAttorneysSigned() bool

type LpaClient added in v0.1116.0

type LpaClient interface {
	Lpa(ctx context.Context, lpaUID string) (*Lpa, error)
}

type ResolvingService added in v0.1116.0

type ResolvingService struct {
	// contains filtered or unexported fields
}

A ResolvingService wraps a Client so that an Lpa can be retrieved without passing its UID.

func NewResolvingService added in v0.1116.0

func NewResolvingService(donorStore DonorStore, client LpaClient) *ResolvingService

func (*ResolvingService) Get added in v0.1116.0

func (s *ResolvingService) Get(ctx context.Context) (*Lpa, error)

func (*ResolvingService) Resolve added in v0.1145.0

func (s *ResolvingService) Resolve(ctx context.Context, donor *actor.DonorProvidedDetails) (*Lpa, error)

type SecretsClient

type SecretsClient interface {
	Secret(ctx context.Context, name string) (string, error)
}

type TrustCorporation added in v0.1139.0

type TrustCorporation struct {
	UID                       actoruid.UID
	Name                      string
	CompanyNumber             string
	Email                     string
	Address                   place.Address
	Mobile                    string
	Signatories               []TrustCorporationSignatory
	ContactLanguagePreference localize.Lang
}

type TrustCorporationSignatory added in v0.1139.0

type TrustCorporationSignatory struct {
	FirstNames        string    `json:"firstNames"`
	LastName          string    `json:"lastName"`
	ProfessionalTitle string    `json:"professionalTitle"`
	SignedAt          time.Time `json:"signedAt"`
}

Jump to

Keyboard shortcuts

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