implemented data sources with prisma in go

This commit is contained in:
2025-01-02 13:19:55 +00:00
parent cfb0bdf9cf
commit 615e749a12
55 changed files with 1399 additions and 788 deletions
@@ -0,0 +1,16 @@
package repository
import (
"actatempus_backend/internal/domain/entities"
"context"
)
// ProjectRepository defines the operations for interacting with project data.
type ProjectRepository interface {
Create(ctx context.Context, project entities.Project) (entities.Project, error)
FindByID(ctx context.Context, id string) (entities.Project, error)
FindByUserID(ctx context.Context, userID string) ([]entities.Project, error)
Update(ctx context.Context, project entities.Project) (entities.Project, error)
Delete(ctx context.Context, id string) error
FindAll(ctx context.Context) ([]entities.Project, error)
}
@@ -0,0 +1,16 @@
package repository
import (
"actatempus_backend/internal/domain/entities"
"context"
)
// ProjectTaskRepository defines the operations for interacting with project task data.
type ProjectTaskRepository interface {
Create(ctx context.Context, task entities.ProjectTask) (entities.ProjectTask, error)
FindByID(ctx context.Context, id string) (entities.ProjectTask, error)
FindByProjectID(ctx context.Context, projectID string) ([]entities.ProjectTask, error)
Update(ctx context.Context, task entities.ProjectTask) (entities.ProjectTask, error)
Delete(ctx context.Context, id string) error
FindAll(ctx context.Context) ([]entities.ProjectTask, error)
}
@@ -0,0 +1,17 @@
package repository
import (
"actatempus_backend/internal/domain/entities"
"context"
)
// TimeEntryRepository defines the operations for interacting with time entry data.
type TimeEntryRepository interface {
Create(ctx context.Context, entry entities.TimeEntry) (entities.TimeEntry, error)
FindByID(ctx context.Context, id string) (entities.TimeEntry, error)
FindByUserID(ctx context.Context, userID string) ([]entities.TimeEntry, error)
FindByProjectID(ctx context.Context, projectID string) ([]entities.TimeEntry, error)
Update(ctx context.Context, entry entities.TimeEntry) (entities.TimeEntry, error)
Delete(ctx context.Context, id string) error
FindAll(ctx context.Context) ([]entities.TimeEntry, error)
}
+16
View File
@@ -0,0 +1,16 @@
package repository
import (
"actatempus_backend/internal/domain/entities"
"context"
)
// UserRepository defines the operations for interacting with user data.
type UserRepository interface {
Create(ctx context.Context, user entities.UserCreate) (entities.User, error)
FindByID(ctx context.Context, id string) (entities.User, error)
FindByEmail(ctx context.Context, email string) (entities.User, error)
Update(ctx context.Context, user entities.UserUpdate) (entities.User, error)
Delete(ctx context.Context, id string) error
FindAll(ctx context.Context) ([]entities.User, error)
}