implemented data sources with prisma in go
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"actatempus_backend/internal/domain/entities"
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
)
|
||||
|
||||
// ProjectDataSource defines the operations for interacting with project data.
|
||||
type ProjectDataSource 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]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"actatempus_backend/internal/domain/entities"
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
)
|
||||
|
||||
// ProjectTaskDataSource defines the operations for interacting with project task data.
|
||||
type ProjectTaskDataSource 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]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"actatempus_backend/internal/domain/entities"
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
)
|
||||
|
||||
// TimeEntryDataSource defines the operations for interacting with time entry data.
|
||||
type TimeEntryDataSource 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]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"actatempus_backend/internal/domain/entities"
|
||||
"context"
|
||||
E "github.com/IBM/fp-go/either"
|
||||
)
|
||||
|
||||
// UserDataSource defines the operations for interacting with user data.
|
||||
type UserDataSource interface {
|
||||
Create(ctx context.Context, user entities.UserCreate) E.Either[error,entities.User]
|
||||
FindByID(ctx context.Context, id string) E.Either[error,entities.User]
|
||||
FindByEmail(ctx context.Context, email string) E.Either[error,entities.User]
|
||||
Update(ctx context.Context, user entities.UserUpdate) E.Either[error,entities.User]
|
||||
Delete(ctx context.Context, id string) E.Either[error,entities.User]
|
||||
FindAll(ctx context.Context) E.Either[error,[]entities.User]
|
||||
}
|
||||
Reference in New Issue
Block a user