feat: init client

This commit is contained in:
2025-08-12 18:38:22 +02:00
commit a145da0d2d
24 changed files with 713 additions and 0 deletions

40
client/series.go Normal file
View File

@@ -0,0 +1,40 @@
package client
import (
"context"
"net/http"
"github.com/kratisto/tcgdex-golang/models"
)
// Series retrieves all series.
// This function returns a list of all series available in the Pokémon TCG database.
func (s *tcgDexClient) Series(ctx context.Context) ([]*models.Serie, error) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, s.baseURL+"/series", nil)
if err != nil {
return nil, err
}
series, err := doRequest[[]*models.Serie](s.httpClient, req)
if err != nil {
return nil, err
}
return series, nil
}
// GetSerie retrieves a specific serie by its ID.
// This function is used to get detailed information about a specific series.
func (s *tcgDexClient) GetSerie(ctx context.Context, seriesID string) (*models.Serie, error) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, s.baseURL+"/series/"+seriesID, nil)
if err != nil {
return nil, err
}
serie, err := doRequest[*models.Serie](s.httpClient, req)
if err != nil {
return nil, err
}
return serie, nil
}