kratos/persistence/reference.go

77 lines
2.0 KiB
Go

// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0
package persistence
import (
"context"
"time"
"github.com/ory/kratos/x"
"github.com/ory/kratos/selfservice/sessiontokenexchange"
"github.com/ory/x/networkx"
"github.com/gofrs/uuid"
"github.com/ory/pop/v6"
"github.com/ory/x/popx"
"github.com/ory/kratos/continuity"
"github.com/ory/kratos/courier"
"github.com/ory/kratos/identity"
"github.com/ory/kratos/selfservice/errorx"
"github.com/ory/kratos/selfservice/flow/login"
"github.com/ory/kratos/selfservice/flow/recovery"
"github.com/ory/kratos/selfservice/flow/registration"
"github.com/ory/kratos/selfservice/flow/settings"
"github.com/ory/kratos/selfservice/flow/verification"
"github.com/ory/kratos/selfservice/strategy/code"
"github.com/ory/kratos/selfservice/strategy/link"
"github.com/ory/kratos/session"
)
type Provider interface {
Persister() Persister
SetPersister(Persister)
}
type Persister interface {
continuity.Persister
identity.PrivilegedPool
registration.FlowPersister
login.FlowPersister
settings.FlowPersister
courier.Persister
session.Persister
sessiontokenexchange.Persister
errorx.Persister
verification.FlowPersister
recovery.FlowPersister
link.RecoveryTokenPersister
link.VerificationTokenPersister
code.RecoveryCodePersister
code.VerificationCodePersister
code.RegistrationCodePersister
code.LoginCodePersister
CleanupDatabase(context.Context, time.Duration, time.Duration, int) error
Close(context.Context) error
Ping(context.Context) error
MigrationStatus(context.Context) (popx.MigrationStatuses, error)
MigrateDown(ctx context.Context, steps int) error
MigrateUp(context.Context) error
MigrationBox() *popx.MigrationBox
GetConnection(context.Context) *pop.Connection
Connection(ctx context.Context) *pop.Connection
x.TransactionalPersister
Networker
}
type Networker interface {
WithNetworkID(nid uuid.UUID) Persister
NetworkID(ctx context.Context) uuid.UUID
DetermineNetwork(ctx context.Context) (*networkx.Network, error)
}