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 ¶
- type MySQLTransitKeyRepository
- func (m *MySQLTransitKeyRepository) Create(ctx context.Context, transitKey *transitDomain.TransitKey) error
- func (m *MySQLTransitKeyRepository) Delete(ctx context.Context, transitKeyID uuid.UUID) error
- func (m *MySQLTransitKeyRepository) GetByName(ctx context.Context, name string) (*transitDomain.TransitKey, error)
- func (m *MySQLTransitKeyRepository) GetByNameAndVersion(ctx context.Context, name string, version uint) (*transitDomain.TransitKey, error)
- type PostgreSQLTransitKeyRepository
- func (p *PostgreSQLTransitKeyRepository) Create(ctx context.Context, transitKey *transitDomain.TransitKey) error
- func (p *PostgreSQLTransitKeyRepository) Delete(ctx context.Context, transitKeyID uuid.UUID) error
- func (p *PostgreSQLTransitKeyRepository) GetByName(ctx context.Context, name string) (*transitDomain.TransitKey, error)
- func (p *PostgreSQLTransitKeyRepository) GetByNameAndVersion(ctx context.Context, name string, version uint) (*transitDomain.TransitKey, error)
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 ¶
func (m *MySQLTransitKeyRepository) Create(ctx context.Context, transitKey *transitDomain.TransitKey) error
Create inserts a new transit key into the MySQL database.
func (*MySQLTransitKeyRepository) Delete ¶
Delete soft-deletes a transit key by setting its deleted_at timestamp.
func (*MySQLTransitKeyRepository) GetByName ¶
func (m *MySQLTransitKeyRepository) GetByName( ctx context.Context, name string, ) (*transitDomain.TransitKey, error)
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 ¶
func (p *PostgreSQLTransitKeyRepository) Create( ctx context.Context, transitKey *transitDomain.TransitKey, ) error
Create inserts a new transit key into the PostgreSQL database.
func (*PostgreSQLTransitKeyRepository) Delete ¶
Delete soft-deletes a transit key by setting its deleted_at timestamp.
func (*PostgreSQLTransitKeyRepository) GetByName ¶
func (p *PostgreSQLTransitKeyRepository) GetByName( ctx context.Context, name string, ) (*transitDomain.TransitKey, error)
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.