diff --git a/internal/flags/memory.go b/internal/flags/memory.go index d5a1941..6c66823 100644 --- a/internal/flags/memory.go +++ b/internal/flags/memory.go @@ -7,28 +7,28 @@ import ( type MemoryRepository struct { mu sync.RWMutex - flags map[string]*Flag + flags map[string]Flag } func NewMemoryRepository() *MemoryRepository { return &MemoryRepository{ - flags: make(map[string]*Flag), + flags: make(map[string]Flag), } } -func (r *MemoryRepository) Get(_ context.Context, key string) (*Flag, error) { +func (r *MemoryRepository) Get(_ context.Context, key string) (Flag, error) { r.mu.RLock() defer r.mu.RUnlock() flag, ok := r.flags[key] if !ok { - return nil, ErrFlagNotFound + return Flag{}, ErrFlagNotFound } return flag, nil } -func (r *MemoryRepository) Create(_ context.Context, flag *Flag) error { +func (r *MemoryRepository) Create(_ context.Context, flag Flag) error { r.mu.Lock() defer r.mu.Unlock() diff --git a/internal/flags/memory_test.go b/internal/flags/memory_test.go index 14db2fd..de941fb 100644 --- a/internal/flags/memory_test.go +++ b/internal/flags/memory_test.go @@ -16,7 +16,7 @@ func TestMemoryRepository_Create(t *testing.T) { repo := flags.NewMemoryRepository() ctx := context.Background() - flag := &flags.Flag{ + flag := flags.Flag{ Key: "test-flag", Type: flags.FlagBool, Enabled: true, @@ -34,7 +34,7 @@ func TestMemoryRepository_Create_Duplicate(t *testing.T) { repo := flags.NewMemoryRepository() ctx := context.Background() - flag := &flags.Flag{ + flag := flags.Flag{ Key: "test-flag", Type: flags.FlagBool, Enabled: true, @@ -52,7 +52,7 @@ func TestMemoryRepository_Get(t *testing.T) { repo := flags.NewMemoryRepository() ctx := context.Background() - flag := &flags.Flag{ + flag := flags.Flag{ Key: "test-flag", Type: flags.FlagBool, Enabled: true, diff --git a/internal/flags/repository.go b/internal/flags/repository.go index ad0c0f0..3e26d68 100644 --- a/internal/flags/repository.go +++ b/internal/flags/repository.go @@ -11,6 +11,6 @@ var ( ) type Repository interface { - Get(ctx context.Context, key string) (*Flag, error) - Create(ctx context.Context, flag *Flag) error + Get(ctx context.Context, key string) (Flag, error) + Create(ctx context.Context, flag Flag) error } diff --git a/internal/flags/service.go b/internal/flags/service.go index 360273e..42c95af 100644 --- a/internal/flags/service.go +++ b/internal/flags/service.go @@ -24,7 +24,7 @@ func NewServiceWithMatcher(repo Repository, matcher RuleMatcher) *Service { func (s *Service) Create(ctx context.Context, flag Flag) (Flag, error) { flag.UpdatedAt = time.Now() - if err := s.repo.Create(ctx, &flag); err != nil { + if err := s.repo.Create(ctx, flag); err != nil { return Flag{}, err }