Documentation
¶
Index ¶
- type AdminService
- func (a *AdminService) GetAuditLog(ctx context.Context, req *connect.Request[pbflagsv1.GetAuditLogRequest]) (*connect.Response[pbflagsv1.GetAuditLogResponse], error)
- func (a *AdminService) GetFlag(ctx context.Context, req *connect.Request[pbflagsv1.GetFlagRequest]) (*connect.Response[pbflagsv1.GetFlagResponse], error)
- func (a *AdminService) ListFeatures(ctx context.Context, _ *connect.Request[pbflagsv1.ListFeaturesRequest]) (*connect.Response[pbflagsv1.ListFeaturesResponse], error)
- func (a *AdminService) RemoveFlagOverride(ctx context.Context, req *connect.Request[pbflagsv1.RemoveFlagOverrideRequest]) (*connect.Response[pbflagsv1.RemoveFlagOverrideResponse], error)
- func (a *AdminService) SetFlagOverride(ctx context.Context, req *connect.Request[pbflagsv1.SetFlagOverrideRequest]) (*connect.Response[pbflagsv1.SetFlagOverrideResponse], error)
- func (a *AdminService) UpdateFlagState(ctx context.Context, req *connect.Request[pbflagsv1.UpdateFlagStateRequest]) (*connect.Response[pbflagsv1.UpdateFlagStateResponse], error)
- type AuditLogFilter
- type BulkOverride
- type BulkOverrideResult
- type Store
- func (s *Store) GetAuditLog(ctx context.Context, filter AuditLogFilter) ([]*pbflagsv1.AuditLogEntry, error)
- func (s *Store) GetFlag(ctx context.Context, flagID string) (*pbflagsv1.FlagDetail, error)
- func (s *Store) GetFlagState(ctx context.Context, flagID string) (*pbflagsv1.GetFlagStateResponse, error)
- func (s *Store) GetKilledFlags(ctx context.Context) (*pbflagsv1.GetKilledFlagsResponse, error)
- func (s *Store) GetOverrides(ctx context.Context, entityID string, flagIDs []string) (*pbflagsv1.GetOverridesResponse, error)
- func (s *Store) ListFeatures(ctx context.Context) ([]*pbflagsv1.FeatureDetail, error)
- func (s *Store) RemoveFlagOverride(ctx context.Context, flagID, entityID, actor string) error
- func (s *Store) SetFlagOverride(ctx context.Context, flagID, entityID string, state pbflagsv1.State, ...) error
- func (s *Store) SetFlagOverrides(ctx context.Context, flagID string, overrides []BulkOverride, ...) (*BulkOverrideResult, error)
- func (s *Store) UpdateFlagState(ctx context.Context, flagID string, state pbflagsv1.State, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdminService ¶
type AdminService struct {
// contains filtered or unexported fields
}
AdminService implements the FlagAdminService Connect handler.
func NewAdminService ¶
func NewAdminService(store *Store, logger *slog.Logger) *AdminService
NewAdminService creates a FlagAdminService handler.
func (*AdminService) GetAuditLog ¶
func (a *AdminService) GetAuditLog(ctx context.Context, req *connect.Request[pbflagsv1.GetAuditLogRequest]) (*connect.Response[pbflagsv1.GetAuditLogResponse], error)
func (*AdminService) GetFlag ¶
func (a *AdminService) GetFlag(ctx context.Context, req *connect.Request[pbflagsv1.GetFlagRequest]) (*connect.Response[pbflagsv1.GetFlagResponse], error)
func (*AdminService) ListFeatures ¶
func (a *AdminService) ListFeatures(ctx context.Context, _ *connect.Request[pbflagsv1.ListFeaturesRequest]) (*connect.Response[pbflagsv1.ListFeaturesResponse], error)
func (*AdminService) RemoveFlagOverride ¶
func (a *AdminService) RemoveFlagOverride(ctx context.Context, req *connect.Request[pbflagsv1.RemoveFlagOverrideRequest]) (*connect.Response[pbflagsv1.RemoveFlagOverrideResponse], error)
func (*AdminService) SetFlagOverride ¶
func (a *AdminService) SetFlagOverride(ctx context.Context, req *connect.Request[pbflagsv1.SetFlagOverrideRequest]) (*connect.Response[pbflagsv1.SetFlagOverrideResponse], error)
func (*AdminService) UpdateFlagState ¶
func (a *AdminService) UpdateFlagState(ctx context.Context, req *connect.Request[pbflagsv1.UpdateFlagStateRequest]) (*connect.Response[pbflagsv1.UpdateFlagStateResponse], error)
type AuditLogFilter ¶ added in v0.4.1
AuditLogFilter specifies optional filters for audit log queries.
type BulkOverride ¶ added in v0.11.0
BulkOverride represents a single entity override for batch import.
type BulkOverrideResult ¶ added in v0.11.0
BulkOverrideResult reports the outcome of a batch override import.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store provides PostgreSQL persistence for flag state.
func (*Store) GetAuditLog ¶
func (s *Store) GetAuditLog(ctx context.Context, filter AuditLogFilter) ([]*pbflagsv1.AuditLogEntry, error)
GetAuditLog returns audit log entries, optionally filtered by flag ID, action, and actor.
func (*Store) GetFlagState ¶
func (s *Store) GetFlagState(ctx context.Context, flagID string) (*pbflagsv1.GetFlagStateResponse, error)
GetFlagState returns the state and value for a single flag.
func (*Store) GetKilledFlags ¶
GetKilledFlags returns globally killed flag IDs.
func (*Store) GetOverrides ¶
func (s *Store) GetOverrides(ctx context.Context, entityID string, flagIDs []string) (*pbflagsv1.GetOverridesResponse, error)
GetOverrides returns overrides for a specific entity.
func (*Store) ListFeatures ¶
ListFeatures returns all features with their non-archived flags.
func (*Store) RemoveFlagOverride ¶
RemoveFlagOverride deletes a per-entity override.
func (*Store) SetFlagOverride ¶
func (s *Store) SetFlagOverride(ctx context.Context, flagID, entityID string, state pbflagsv1.State, value *pbflagsv1.FlagValue, actor string) error
SetFlagOverride upserts a per-entity override.
func (*Store) SetFlagOverrides ¶ added in v0.11.0
func (s *Store) SetFlagOverrides(ctx context.Context, flagID string, overrides []BulkOverride, state pbflagsv1.State, actor string) (*BulkOverrideResult, error)
SetFlagOverrides upserts multiple per-entity overrides in a single transaction using pipelined queries. It validates the flag once, then batch-inserts all overrides and their audit log entries.