Documentation
¶
Overview ¶
Package repository provides interfaces for implementing storage solutions for types
Index ¶
- Variables
- type Codec
- type DB
- type ProtoCodec
- type Repo
- func NewBackendRepo[T *backendv1.Backend](db DB) *Repo[*backendv1.Backend]
- func NewCertificateAuthorityRepo[T *cav1.CertificateAuthority](db DB) *Repo[*cav1.CertificateAuthority]
- func NewCertificateRepo[T *certv1.Certificate](db DB) *Repo[*certv1.Certificate]
- func NewCredentialRepo[T *credentialv1.Credential](db DB) *Repo[*credentialv1.Credential]
- func NewPolicyRepo[T *policyv1.Policy](db DB) *Repo[*policyv1.Policy]
- func NewRepo[T Resource](db DB, codec Codec[T], prefix, iprefix, idxprefix []byte) *Repo[T]
- func NewRouteRepo[T *routev1.Route](db DB) *Repo[*routev1.Route]
- func (r *Repo[T]) Create(ctx context.Context, resource T) (T, error)
- func (r Repo[T]) Delete(ctx context.Context, id keys.ID) error
- func (r Repo[T]) Get(ctx context.Context, id keys.ID) (T, error)
- func (r Repo[T]) List(ctx context.Context, limit int32) ([]T, error)
- func (r Repo[T]) Update(ctx context.Context, id keys.ID, resource T) (T, error)
- type Resource
- type Txn
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotFound = errors.New("item not found") ErrIdxExists = errors.New("index already exists") )
View Source
var BackendCodec = ProtoCodec[*backendv1.Backend]{ New: func() *backendv1.Backend { return &backendv1.Backend{} }, }
View Source
var CertificateAuthorityCodec = ProtoCodec[*cav1.CertificateAuthority]{ New: func() *cav1.CertificateAuthority { return &cav1.CertificateAuthority{} }, }
View Source
var CertificateCodec = ProtoCodec[*certv1.Certificate]{ New: func() *certv1.Certificate { return &certv1.Certificate{} }, }
View Source
var CredentialCodec = ProtoCodec[*credentialv1.Credential]{ New: func() *credentialv1.Credential { return &credentialv1.Credential{} }, }
View Source
var PolicyCodec = ProtoCodec[*policyv1.Policy]{ New: func() *policyv1.Policy { return &policyv1.Policy{} }, }
View Source
var RouteCodec = ProtoCodec[*routev1.Route]{ New: func() *routev1.Route { return &routev1.Route{} }, }
Functions ¶
This section is empty.
Types ¶
type ProtoCodec ¶
func (ProtoCodec[T]) Decode ¶
func (c ProtoCodec[T]) Decode(b []byte) (T, error)
type Repo ¶
func NewCertificateAuthorityRepo ¶
func NewCertificateAuthorityRepo[T *cav1.CertificateAuthority](db DB) *Repo[*cav1.CertificateAuthority]
func NewCertificateRepo ¶
func NewCertificateRepo[T *certv1.Certificate](db DB) *Repo[*certv1.Certificate]
func NewCredentialRepo ¶
func NewCredentialRepo[T *credentialv1.Credential](db DB) *Repo[*credentialv1.Credential]
Click to show internal directories.
Click to hide internal directories.