apikeys

package
v1.103.2 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoAPIKey = errs.Class("no api key")

ErrNoAPIKey represents no api key error.

View Source
var (
	// ErrService defines secret service error.
	ErrService = errs.Class("secret service")
)

Functions

This section is empty.

Types

type APIKey

type APIKey struct {
	// APIKeys is PK of the table and keeps unique value sno api key.
	Secret multinodeauth.Secret

	CreatedAt time.Time `json:"createdAt"`
}

APIKey describing api key in the database.

type DB

type DB interface {
	// Store stores api key into db.
	Store(ctx context.Context, apiKey APIKey) error

	// Check checks if api key exists in db by secret.
	Check(ctx context.Context, secret multinodeauth.Secret) error

	// Revoke removes api key from db.
	Revoke(ctx context.Context, secret multinodeauth.Secret) error
}

DB is interface for working with api keys.

architecture: Database

type Service

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

Service responsible for operations with storagenode's uniq secret.

architecture: Service

func NewService

func NewService(db DB) *Service

NewService is a constructor for service.

func (*Service) Check

func (service *Service) Check(ctx context.Context, secret multinodeauth.Secret) (err error)

Check returns error if api key does not exists.

func (*Service) Issue

func (service *Service) Issue(ctx context.Context) (apiKey APIKey, err error)

Issue generates new api key and stores it into db.

func (*Service) Remove

func (service *Service) Remove(ctx context.Context, secret multinodeauth.Secret) (err error)

Remove revokes apikey, deletes it from db.

Jump to

Keyboard shortcuts

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