feat: Update repository interfaces to use specific create and update types for Company, Customer, Project, TimeEntry, and User

This commit is contained in:
Jean Jacques Avril 2025-03-10 08:06:10 +00:00
parent 3193204dac
commit 3b0b2b4340
8 changed files with 18 additions and 18 deletions

View File

@ -9,7 +9,7 @@ import (
type CompanyRepository interface { type CompanyRepository interface {
Get(ctx context.Context, id ulid.ULID) (*entities.Company, error) Get(ctx context.Context, id ulid.ULID) (*entities.Company, error)
Create(ctx context.Context, company *entities.Company) error Create(ctx context.Context, company *entities.CompanyCreate) error
Update(ctx context.Context, company *entities.Company) error Update(ctx context.Context, company *entities.CompanyUpdate) error
Delete(ctx context.Context, id ulid.ULID) error Delete(ctx context.Context, id ulid.ULID) error
} }

View File

@ -9,7 +9,7 @@ import (
type CustomerRepository interface { type CustomerRepository interface {
Get(ctx context.Context, id ulid.ULID) (*entities.Customer, error) Get(ctx context.Context, id ulid.ULID) (*entities.Customer, error)
Create(ctx context.Context, customer *entities.Customer) error Create(ctx context.Context, customer *entities.CustomerCreate) error
Update(ctx context.Context, customer *entities.Customer) error Update(ctx context.Context, customer *entities.CustomerUpdate) error
Delete(ctx context.Context, id ulid.ULID) error Delete(ctx context.Context, id ulid.ULID) error
} }

View File

@ -9,7 +9,7 @@ import (
type ProjectRepository interface { type ProjectRepository interface {
Get(ctx context.Context, id ulid.ULID) (*entities.Project, error) Get(ctx context.Context, id ulid.ULID) (*entities.Project, error)
Create(ctx context.Context, project *entities.Project) error Create(ctx context.Context, project *entities.ProjectCreate) error
Update(ctx context.Context, project *entities.Project) error Update(ctx context.Context, project *entities.ProjectUpdate) error
Delete(ctx context.Context, id ulid.ULID) error Delete(ctx context.Context, id ulid.ULID) error
} }

View File

@ -11,8 +11,8 @@ import (
type TimeEntryRepository interface { type TimeEntryRepository interface {
Get(ctx context.Context, id ulid.ULID) (*entities.TimeEntry, error) Get(ctx context.Context, id ulid.ULID) (*entities.TimeEntry, error)
Create(ctx context.Context, timeEntry *entities.TimeEntry) error Create(ctx context.Context, timeEntry *entities.TimeEntryCreate) error
Update(ctx context.Context, timeEntry *entities.TimeEntry) error Update(ctx context.Context, timeEntry *entities.TimeEntryUpdate) error
Delete(ctx context.Context, id ulid.ULID) error Delete(ctx context.Context, id ulid.ULID) error
GetByRange(ctx context.Context, userID ulid.ULID, from time.Time, to time.Time) ([]*entities.TimeEntry, error) GetByRange(ctx context.Context, userID ulid.ULID, from time.Time, to time.Time) ([]*entities.TimeEntry, error)
} }

View File

@ -12,5 +12,5 @@ type UserRepository interface {
Create(ctx context.Context, user *entities.UserCreate) error Create(ctx context.Context, user *entities.UserCreate) error
Update(ctx context.Context, user *entities.UserUpdate) error Update(ctx context.Context, user *entities.UserUpdate) error
Delete(ctx context.Context, id ulid.ULID) error Delete(ctx context.Context, id ulid.ULID) error
GetByUsername(ctx context.Context, username string) (*entities.User, error) GetByUsername(ctx context.Context, email string) (*entities.User, error)
} }

View File

@ -4,11 +4,11 @@ package main
import ( import (
"net/http" "net/http"
"github.com/email/timetracker/internal/application/timetracking"
"github.com/email/timetracker/internal/interfaces/http/dto"
"github.com/email/timetracker/internal/interfaces/http/middleware"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/username/timetracker/internal/application/timetracking"
"github.com/username/timetracker/internal/interfaces/http/dto"
"github.com/username/timetracker/internal/interfaces/http/middleware"
) )
// TimeEntryHandler behandelt HTTP-Anfragen für Zeitbuchungen // TimeEntryHandler behandelt HTTP-Anfragen für Zeitbuchungen

View File

@ -5,9 +5,9 @@ import (
"context" "context"
"time" "time"
"github.com/email/timetracker/internal/domain/entities"
"github.com/email/timetracker/pkg/functional"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/username/timetracker/internal/domain/entities"
"github.com/username/timetracker/pkg/functional"
) )
// TimeEntryFilter enthält Filter für die Suche nach Zeitbuchungen // TimeEntryFilter enthält Filter für die Suche nach Zeitbuchungen

View File

@ -5,11 +5,11 @@ import (
"context" "context"
"time" "time"
"github.com/email/timetracker/internal/domain/entities"
"github.com/email/timetracker/internal/domain/repositories"
"github.com/email/timetracker/pkg/functional"
"github.com/email/timetracker/pkg/validator"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/username/timetracker/internal/domain/entities"
"github.com/username/timetracker/internal/domain/repositories"
"github.com/username/timetracker/pkg/functional"
"github.com/username/timetracker/pkg/validator"
) )
// CreateTimeEntryCommand enthält die Daten zum Erstellen einer Zeitbuchung // CreateTimeEntryCommand enthält die Daten zum Erstellen einer Zeitbuchung