From 747a94f49c3fa947f08937bd82c6bced2d7c239c Mon Sep 17 00:00:00 2001 From: Sebastian Machuca Date: Fri, 2 Jan 2026 17:37:58 +1100 Subject: [PATCH] Remove unused things --- internal/flags/memory_test.go | 2 -- internal/flags/service.go | 5 ----- internal/flags/service_test.go | 1 - internal/flags/types.go | 35 +++----------------------------- internal/handler/handler.go | 1 - internal/handler/handler_test.go | 1 - internal/handler/mapper.go | 1 - internal/handler/mapper_test.go | 2 -- internal/handler/models.go | 2 -- 9 files changed, 3 insertions(+), 47 deletions(-) diff --git a/internal/flags/memory_test.go b/internal/flags/memory_test.go index 305054b..14db2fd 100644 --- a/internal/flags/memory_test.go +++ b/internal/flags/memory_test.go @@ -21,7 +21,6 @@ func TestMemoryRepository_Create(t *testing.T) { Type: flags.FlagBool, Enabled: true, DefaultValue: flags.BoolValue(false), - Version: 1, UpdatedAt: time.Now(), } @@ -58,7 +57,6 @@ func TestMemoryRepository_Get(t *testing.T) { Type: flags.FlagBool, Enabled: true, DefaultValue: flags.BoolValue(true), - Version: 1, } require.NoError(t, repo.Create(ctx, flag)) diff --git a/internal/flags/service.go b/internal/flags/service.go index 56cbb7e..66cc3d2 100644 --- a/internal/flags/service.go +++ b/internal/flags/service.go @@ -27,10 +27,6 @@ func NewServiceWithMatcher(repo Repository, matcher RuleMatcher) *Service { func (s *Service) Create(ctx context.Context, flag *Flag) error { flag.UpdatedAt = time.Now() - if flag.Version == 0 { - flag.Version = 1 - } - return s.repo.Create(ctx, flag) } @@ -42,7 +38,6 @@ func (s *Service) Evaluate(ctx context.Context, key string, evalCtx EvalContext) result := &EvalResult{ FlagKey: key, - Version: flag.Version, EvaluatedAt: time.Now(), } diff --git a/internal/flags/service_test.go b/internal/flags/service_test.go index 3ea6ee2..8b20e85 100644 --- a/internal/flags/service_test.go +++ b/internal/flags/service_test.go @@ -26,7 +26,6 @@ func TestService_Create(t *testing.T) { err := svc.Create(ctx, flag) require.NoError(t, err) - assert.Equal(t, int64(1), flag.Version) assert.False(t, flag.UpdatedAt.IsZero()) } diff --git a/internal/flags/types.go b/internal/flags/types.go index 74976e8..e89dced 100644 --- a/internal/flags/types.go +++ b/internal/flags/types.go @@ -16,7 +16,6 @@ type Flag struct { Enabled bool // global kill switch DefaultValue Value Rules []Rule // ordered: first match wins - Version int64 UpdatedAt time.Time } @@ -24,7 +23,6 @@ type Rule struct { ID string Conditions []Condition // AND across conditions Value Value - Rollout *Rollout // optional percentage rollout gate } type ConditionOp string @@ -44,30 +42,6 @@ type Condition struct { Value any // string | float64 | bool | []any depending on Op } -type Rollout struct { - Percentage int // 0..100 - Salt string // changes bucket assignment when rotated - Subject string // "user" or "tenant" (who gets bucketed) -} - -type OverrideScope string - -const ( - ScopeUser OverrideScope = "user" - ScopeTenant OverrideScope = "tenant" -) - -type Override struct { - FlagKey string - Scope OverrideScope - SubjectID string // user_id or tenant_id - Value Value - Reason string - CreatedAt time.Time - CreatedBy string - ExpiresAt *time.Time // optional safety valve -} - type Value struct { Kind FlagType Bool *bool @@ -96,11 +70,9 @@ type EvalContext struct { type EvalReason string const ( - ReasonDisabled EvalReason = "disabled" - ReasonUserOverride EvalReason = "user_override" - ReasonTenantOverride EvalReason = "tenant_override" - ReasonRuleMatch EvalReason = "rule_match" - ReasonDefault EvalReason = "default" + ReasonDisabled EvalReason = "disabled" + ReasonRuleMatch EvalReason = "rule_match" + ReasonDefault EvalReason = "default" ) type EvalResult struct { @@ -108,6 +80,5 @@ type EvalResult struct { Value Value Reason EvalReason RuleID string - Version int64 EvaluatedAt time.Time } diff --git a/internal/handler/handler.go b/internal/handler/handler.go index 5e82550..97bfb15 100644 --- a/internal/handler/handler.go +++ b/internal/handler/handler.go @@ -50,7 +50,6 @@ func (h *Handler) CreateFlag(ctx context.Context, req *CreateFlagRequest) (*Crea return &CreateFlagResponse{ Body: CreateFlagResponseBody{ Key: flag.Key, - Version: flag.Version, CreatedAt: flag.UpdatedAt, }, }, nil diff --git a/internal/handler/handler_test.go b/internal/handler/handler_test.go index 076dfbc..4822a17 100644 --- a/internal/handler/handler_test.go +++ b/internal/handler/handler_test.go @@ -48,7 +48,6 @@ func TestHandler_CreateFlag(t *testing.T) { require.NoError(t, err) assert.Equal(t, "test-flag", resp.Body.Key) - assert.Equal(t, int64(1), resp.Body.Version) assert.False(t, resp.Body.CreatedAt.IsZero()) } diff --git a/internal/handler/mapper.go b/internal/handler/mapper.go index d56e452..037c7df 100644 --- a/internal/handler/mapper.go +++ b/internal/handler/mapper.go @@ -73,7 +73,6 @@ func ToEvalResultBody(result *flags.EvalResult) EvalResultBody { Value: toValueBody(result.Value), Reason: string(result.Reason), RuleID: result.RuleID, - Version: result.Version, EvaluatedAt: result.EvaluatedAt, } } diff --git a/internal/handler/mapper_test.go b/internal/handler/mapper_test.go index f154d35..56e4072 100644 --- a/internal/handler/mapper_test.go +++ b/internal/handler/mapper_test.go @@ -97,7 +97,6 @@ func TestToEvalResultBody(t *testing.T) { }, Reason: flags.ReasonRuleMatch, RuleID: "rule-1", - Version: 5, EvaluatedAt: now, } @@ -108,7 +107,6 @@ func TestToEvalResultBody(t *testing.T) { assert.True(t, *body.Value.Bool) assert.Equal(t, "rule_match", body.Reason) assert.Equal(t, "rule-1", body.RuleID) - assert.Equal(t, int64(5), body.Version) assert.Equal(t, now, body.EvaluatedAt) } diff --git a/internal/handler/models.go b/internal/handler/models.go index c99c14e..5a1135e 100644 --- a/internal/handler/models.go +++ b/internal/handler/models.go @@ -43,7 +43,6 @@ type CreateFlagResponse struct { type CreateFlagResponseBody struct { Key string `json:"key"` - Version int64 `json:"version"` CreatedAt time.Time `json:"createdAt"` } @@ -69,6 +68,5 @@ type EvalResultBody struct { Value ValueBody `json:"value"` Reason string `json:"reason"` RuleID string `json:"ruleId,omitempty"` - Version int64 `json:"version"` EvaluatedAt time.Time `json:"evaluatedAt"` }