repository

package
v0.5.1 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 secret management. Repositories support both PostgreSQL and MySQL with automatic versioning and soft deletion.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MySQLSecretRepository

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

MySQLSecretRepository implements Secret persistence for MySQL databases.

func NewMySQLSecretRepository

func NewMySQLSecretRepository(db *sql.DB) *MySQLSecretRepository

NewMySQLSecretRepository creates a new MySQL Secret repository instance.

func (*MySQLSecretRepository) Create

Create inserts a new secret into the MySQL database.

func (*MySQLSecretRepository) Delete

func (m *MySQLSecretRepository) Delete(ctx context.Context, secretID uuid.UUID) error

Delete performs a soft delete on a secret by setting the DeletedAt timestamp.

func (*MySQLSecretRepository) GetByPath

func (m *MySQLSecretRepository) GetByPath(
	ctx context.Context,
	path string,
) (*secretsDomain.Secret, error)

GetByPath retrieves the latest non-deleted version of a secret by its path.

func (*MySQLSecretRepository) GetByPathAndVersion

func (m *MySQLSecretRepository) GetByPathAndVersion(
	ctx context.Context,
	path string,
	version uint,
) (*secretsDomain.Secret, error)

GetByPathAndVersion retrieves a specific version of a secret by its path and version number.

type PostgreSQLSecretRepository

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

PostgreSQLSecretRepository implements Secret persistence for PostgreSQL databases.

func NewPostgreSQLSecretRepository

func NewPostgreSQLSecretRepository(db *sql.DB) *PostgreSQLSecretRepository

NewPostgreSQLSecretRepository creates a new PostgreSQL Secret repository instance.

func (*PostgreSQLSecretRepository) Create

Create inserts a new secret into the PostgreSQL database.

func (*PostgreSQLSecretRepository) Delete

func (p *PostgreSQLSecretRepository) Delete(ctx context.Context, secretID uuid.UUID) error

Delete performs a soft delete on a secret by setting the DeletedAt timestamp.

func (*PostgreSQLSecretRepository) GetByPath

GetByPath retrieves the latest non-deleted version of a secret by its path.

func (*PostgreSQLSecretRepository) GetByPathAndVersion

func (p *PostgreSQLSecretRepository) GetByPathAndVersion(
	ctx context.Context,
	path string,
	version uint,
) (*secretsDomain.Secret, error)

GetByPathAndVersion retrieves a specific version of a secret by its path and version number.

Jump to

Keyboard shortcuts

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