Files
upstream-ory-kratos/persistence/reference.go
upstream-mirror c60cc7ca75
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
2026-09-15 21:19:12 +05:00

78 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/transaction"
"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
identity.PendingTraitsChangePersister
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
transaction.Persister
Networker
}
type Networker interface {
WithNetworkID(nid uuid.UUID) Persister
NetworkID(ctx context.Context) uuid.UUID
DetermineNetwork(ctx context.Context) (*networkx.Network, error)
}