From 42ba6160bf84ba87b0a1061057ea76f220b21844 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Fri, 10 Oct 2025 23:14:45 +0200 Subject: [PATCH] Implement get all characters --- repositories/character.go | 13 +++++++++++++ repositories/interfaces.go | 1 + 2 files changed, 14 insertions(+) diff --git a/repositories/character.go b/repositories/character.go index 213956d..1a3e8e3 100644 --- a/repositories/character.go +++ b/repositories/character.go @@ -33,6 +33,19 @@ func (r *CharacterRepository) GetCharacterByName(characterName string) (*types.C return &char, nil } +// GetAllCharacters retrieves all characters from the database +func (r *CharacterRepository) GetAllCharacters() ([]types.Character, error) { + logger.Debug("Fetching all characters from database") + var characters []types.Character + err := r.db.Find(&characters).Error + if err != nil { + logger.Error("Failed to fetch all characters: %v", err) + return nil, err + } + logger.Debug("Found %d characters in database", len(characters)) + return characters, nil +} + // SaveCharacter saves a character to the database func (r *CharacterRepository) SaveCharacter(character *types.Character) error { logger.Debug("Saving token for character %s to database", character.CharacterName) diff --git a/repositories/interfaces.go b/repositories/interfaces.go index 039d889..bf642fe 100644 --- a/repositories/interfaces.go +++ b/repositories/interfaces.go @@ -5,6 +5,7 @@ import "go-eve-pi/types" // CharacterRepositoryInterface defines the interface for character operations type CharacterRepositoryInterface interface { GetCharacterByName(characterName string) (*types.Character, error) + GetAllCharacters() ([]types.Character, error) SaveCharacter(character *types.Character) error }