Documentation ¶
Index ¶
- Variables
- type Action
- type ActionFunc
- type ActionOptions
- type Bundle
- type CertificateProviderStore
- type DonorStore
- type DynamoClient
- type Event
- type EventClient
- type Logger
- type LpaStoreClient
- type MetricsClient
- type NotifyClient
- type Runner
- func (r *Runner) Errored(ctx context.Context, row *Event, err error)
- func (r *Runner) Ignored(ctx context.Context, row *Event)
- func (r *Runner) Metrics(processingTime time.Duration) cloudwatch.PutMetricDataInput
- func (r *Runner) Processed(ctx context.Context, row *Event)
- func (r *Runner) Run(ctx context.Context) error
- type ScheduledStore
- type Store
- type Waiter
Constants ¶
This section is empty.
Variables ¶
View Source
var ActionValues = ActionOptions{ ExpireDonorIdentity: ActionExpireDonorIdentity, }
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action uint8
const ( // ActionExpireDonorIdentity will check that the target donor has not signed // their LPA, and if so remove their identity data and notify them of the // change. ActionExpireDonorIdentity Action = iota + 1 // ActionRemindCertificateProviderToComplete will check that the target // certificate provider has neither provided the certificate nor opted-out, // and if so send them a reminder email or letter, plus another to the donor // (or correspondent, if set). ActionRemindCertificateProviderToComplete // ActionRemindCertificateProviderToConfirmIdentity will check that the target // certificate provider has not confirmed their identity, and if so send them // a reminder email or letter, plus another to the donor (or correspondent, if // set). ActionRemindCertificateProviderToConfirmIdentity )
func ParseAction ¶
func (Action) IsExpireDonorIdentity ¶
func (Action) MarshalText ¶
func (*Action) UnmarshalText ¶
type ActionOptions ¶
type ActionOptions struct {
ExpireDonorIdentity Action
}
type CertificateProviderStore ¶
type CertificateProviderStore interface {
One(ctx context.Context, pk dynamo.LpaKeyType) (*certificateproviderdata.Provided, error)
}
type DonorStore ¶
type DynamoClient ¶
type DynamoClient interface { AllByLpaUIDAndPartialSK(ctx context.Context, uid string, partialSK dynamo.SK, v interface{}) error AnyByPK(ctx context.Context, pk dynamo.PK, v interface{}) error Move(ctx context.Context, oldKeys dynamo.Keys, value any) error DeleteKeys(ctx context.Context, keys []dynamo.Keys) error WriteTransaction(ctx context.Context, transaction *dynamo.Transaction) error }
type Event ¶
type Event struct { PK dynamo.ScheduledDayKeyType SK dynamo.ScheduledKeyType // CreatedAt is when the event was created CreatedAt time.Time // At is when the action should be done At time.Time // Action is what to do when run Action Action // TargetLpaKey is used to specify the target of the action TargetLpaKey dynamo.LpaKeyType // TargetLpaOwnerKey is used to specify the target of the action TargetLpaOwnerKey dynamo.LpaOwnerKeyType // LpaUID is the LPA UID the action target relates to LpaUID string }
A Event specifies an action to take in the future.
type EventClient ¶
type EventClient interface {
SendLetterRequested(ctx context.Context, event event.LetterRequested) error
}
type LpaStoreClient ¶ added in v0.1576.0
type MetricsClient ¶ added in v0.1561.0
type MetricsClient interface {
PutMetrics(ctx context.Context, input *cloudwatch.PutMetricDataInput) error
}
type NotifyClient ¶
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
func NewRunner ¶
func NewRunner(logger Logger, store ScheduledStore, donorStore DonorStore, certificateProviderStore CertificateProviderStore, notifyClient NotifyClient, bundle Bundle, metricsClient MetricsClient, metricsEnabled bool) *Runner
func (*Runner) Metrics ¶ added in v0.1561.0
func (r *Runner) Metrics(processingTime time.Duration) cloudwatch.PutMetricDataInput
type ScheduledStore ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func NewStore ¶
func NewStore(dynamoClient DynamoClient) *Store
func (*Store) DeleteAllByUID ¶ added in v0.1576.0
Click to show internal directories.
Click to hide internal directories.