completed go backend

This commit is contained in:
2025-01-03 16:18:25 +00:00
parent f151fa7eae
commit aca98554d0
24 changed files with 610 additions and 150 deletions
@@ -0,0 +1,8 @@
package data
type Database struct {
users UserDataSource
timeEntries TimeEntryDataSource
projectTasks ProjectTaskDataSource
projects ProjectDataSource
}
@@ -9,10 +9,11 @@ import (
// ProjectRepository defines the operations for interacting with project data.
type ProjectRepository interface {
Create(ctx context.Context, project entities.ProjectCreate) E.Either[error,entities.Project]
FindByID(ctx context.Context, id string) E.Either[error,entities.Project]
FindByUserID(ctx context.Context, userID string) E.Either[error,[]entities.Project]
Update(ctx context.Context, project entities.ProjectUpdate) E.Either[error,entities.Project]
Delete(ctx context.Context, id string) E.Either[error,entities.Project]
FindAll(ctx context.Context) E.Either[error,[]entities.Project]
Create(ctx context.Context) func(project entities.ProjectCreate) E.Either[error, entities.Project]
FindByID(ctx context.Context) func(id string) E.Either[error, entities.Project]
FindByUserID(ctx context.Context) func(userID string) E.Either[error, []entities.Project]
Update(ctx context.Context) func(project entities.ProjectUpdate) E.Either[error, entities.Project]
Delete(ctx context.Context) func(id string) E.Either[error, entities.Project]
FindAll(ctx context.Context) E.Either[error, []entities.Project]
}
@@ -9,10 +9,10 @@ import (
// ProjectTaskRepository defines the operations for interacting with project task data.
type ProjectTaskRepository interface {
Create(ctx context.Context, task entities.ProjectTaskCreate) E.Either[error,entities.ProjectTask]
FindByID(ctx context.Context, id string) E.Either[error,entities.ProjectTask]
FindByProjectID(ctx context.Context, projectID string) E.Either[error,[]entities.ProjectTask]
Update(ctx context.Context, task entities.ProjectTaskUpdate) E.Either[error,entities.ProjectTask]
Delete(ctx context.Context, id string) E.Either[error,entities.ProjectTask]
FindAll(ctx context.Context) E.Either[error,[]entities.ProjectTask]
Create(ctx context.Context) func(task entities.ProjectTaskCreate) E.Either[error, entities.ProjectTask]
FindByID(ctx context.Context) func(id string) E.Either[error, entities.ProjectTask]
FindByProjectID(ctx context.Context) func(projectID string) E.Either[error, []entities.ProjectTask]
Update(ctx context.Context) func(task entities.ProjectTaskUpdate) E.Either[error, entities.ProjectTask]
Delete(ctx context.Context) func(id string) E.Either[error, entities.ProjectTask]
FindAll(ctx context.Context) E.Either[error, []entities.ProjectTask]
}
@@ -9,11 +9,11 @@ import (
// TimeEntryRepository defines the operations for interacting with time entry data.
type TimeEntryRepository interface {
Create(ctx context.Context, entry entities.TimeEntryCreate) E.Either[error,entities.TimeEntry]
FindByID(ctx context.Context, id string) E.Either[error,entities.TimeEntry]
FindByUserID(ctx context.Context, userID string) E.Either[error,[]entities.TimeEntry]
FindByProjectID(ctx context.Context, projectID string) E.Either[error,[]entities.TimeEntry]
Update(ctx context.Context, entry entities.TimeEntryUpdate) E.Either[error,entities.TimeEntry]
Delete(ctx context.Context, id string) E.Either[error,entities.TimeEntry]
FindAll(ctx context.Context) E.Either[error,[]entities.TimeEntry]
Create(ctx context.Context) func(entry entities.TimeEntryCreate) E.Either[error, entities.TimeEntry]
FindByID(ctx context.Context) func(id string) E.Either[error, entities.TimeEntry]
FindByUserID(ctx context.Context) func(userID string) E.Either[error, []entities.TimeEntry]
FindByProjectID(ctx context.Context) func(projectID string) E.Either[error, []entities.TimeEntry]
Update(ctx context.Context) func(entry entities.TimeEntryUpdate) E.Either[error, entities.TimeEntry]
Delete(ctx context.Context) func(id string) E.Either[error, entities.TimeEntry]
FindAll(ctx context.Context) E.Either[error, []entities.TimeEntry]
}