feat: Update repositories to use specific create and update types for Activity and User
This commit is contained in:
@@ -4,7 +4,7 @@ import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
|
||||
"github.com/timetracker/backend/internal/domain/repositories"
|
||||
"github.com/timetracker/backend/internal/domain/persistence"
|
||||
"github.com/timetracker/backend/internal/infrastructure/persistence/db/ds"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
@@ -20,17 +20,17 @@ type DatabaseConfig struct {
|
||||
SSLMode string
|
||||
}
|
||||
|
||||
// DatasourceContainer enthält alle Repository-Instanzen
|
||||
// DatasourceContainer enthält alle Datasource-Instanzen
|
||||
type DatasourceContainer struct {
|
||||
ActivityDatasource repositories.ActivityRepository
|
||||
CompanyDatasource repositories.CompanyRepository
|
||||
CustomerDatasource repositories.CustomerRepository
|
||||
ProjectDatasource repositories.ProjectRepository
|
||||
TimeEntryDatasource repositories.TimeEntryRepository
|
||||
UserDatasource repositories.UserRepository
|
||||
ActivityDatasource persistence.ActivityDatasource
|
||||
CompanyDatasource persistence.CompanyDatasource
|
||||
CustomerDatasource persistence.CustomerDatasource
|
||||
ProjectDatasource persistence.ProjectDatasource
|
||||
TimeEntryDatasource persistence.TimeEntryDatasource
|
||||
UserDatasource persistence.UserDatasource
|
||||
}
|
||||
|
||||
// NewDatasourceContainer erstellt und initialisiert alle Repository-Instanzen
|
||||
// NewDatasourceContainer erstellt und initialisiert alle Datasource-Instanzen
|
||||
func NewDatasourceContainer(config DatabaseConfig) (*DatasourceContainer, error) {
|
||||
// Erstelle DSN (Data Source Name) für die Datenbankverbindung
|
||||
dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=%s",
|
||||
@@ -54,7 +54,7 @@ func NewDatasourceContainer(config DatabaseConfig) (*DatasourceContainer, error)
|
||||
return nil, fmt.Errorf("fehler beim Initialisieren von GORM: %w", err)
|
||||
}
|
||||
|
||||
// Erstelle alle Repository-Instanzen
|
||||
// Erstelle alle Datasource-Instanzen
|
||||
return &DatasourceContainer{
|
||||
ActivityDatasource: ds.NewActivityDatasource(gormDB),
|
||||
CompanyDatasource: ds.NewCompanyDatasource(gormDB),
|
||||
@@ -88,9 +88,9 @@ func (r *DatasourceContainer) getGormDB() (*gorm.DB, error) {
|
||||
// Hier müsste angepasst werden, wie Sie Zugriff auf die GORM-DB bekommen
|
||||
|
||||
// Beispiel (müsste angepasst werden):
|
||||
// activityDS, ok := r.ActivityRepository.(*ds.ActivityDatasource)
|
||||
// activityDS, ok := r.ActivityDatasource.(*ds.ActivityDatasource)
|
||||
// if !ok {
|
||||
// return nil, fmt.Errorf("Konnte GORM-DB nicht aus ActivityRepository extrahieren")
|
||||
// return nil, fmt.Errorf("Konnte GORM-DB nicht aus ActivityDatasource extrahieren")
|
||||
// }
|
||||
// return activityDS.GetDB(), nil
|
||||
|
||||
|
||||
Reference in New Issue
Block a user