repository

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package repository implements data persistence for transit encryption key management. Transit keys support versioning and soft deletion, with implementations for both PostgreSQL and MySQL.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MySQLTransitKeyRepository

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

MySQLTransitKeyRepository implements transit key persistence for MySQL databases.

func NewMySQLTransitKeyRepository

func NewMySQLTransitKeyRepository(db *sql.DB) *MySQLTransitKeyRepository

NewMySQLTransitKeyRepository creates a new MySQL transit key repository instance.

func (*MySQLTransitKeyRepository) Create

Create inserts a new transit key into the MySQL database.

func (*MySQLTransitKeyRepository) Delete

func (m *MySQLTransitKeyRepository) Delete(ctx context.Context, transitKeyID uuid.UUID) error

Delete soft-deletes a transit key by setting its deleted_at timestamp.

func (*MySQLTransitKeyRepository) GetByName

GetByName retrieves the latest non-deleted version of a transit key by name.

func (*MySQLTransitKeyRepository) GetByNameAndVersion

func (m *MySQLTransitKeyRepository) GetByNameAndVersion(
	ctx context.Context,
	name string,
	version uint,
) (*transitDomain.TransitKey, error)

GetByNameAndVersion retrieves a specific version of a transit key by name and version.

type PostgreSQLTransitKeyRepository

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

PostgreSQLTransitKeyRepository implements transit key persistence for PostgreSQL databases.

func NewPostgreSQLTransitKeyRepository

func NewPostgreSQLTransitKeyRepository(db *sql.DB) *PostgreSQLTransitKeyRepository

NewPostgreSQLTransitKeyRepository creates a new PostgreSQL transit key repository instance.

func (*PostgreSQLTransitKeyRepository) Create

Create inserts a new transit key into the PostgreSQL database.

func (*PostgreSQLTransitKeyRepository) Delete

func (p *PostgreSQLTransitKeyRepository) Delete(ctx context.Context, transitKeyID uuid.UUID) error

Delete soft-deletes a transit key by setting its deleted_at timestamp.

func (*PostgreSQLTransitKeyRepository) GetByName

GetByName retrieves the latest non-deleted version of a transit key by name.

func (*PostgreSQLTransitKeyRepository) GetByNameAndVersion

func (p *PostgreSQLTransitKeyRepository) GetByNameAndVersion(
	ctx context.Context,
	name string,
	version uint,
) (*transitDomain.TransitKey, error)

GetByNameAndVersion retrieves a specific version of a transit key by name and version.

Jump to

Keyboard shortcuts

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