Files
sendico/api/pkg/mutil/helpers/taskmanager.go
Stephan D 62a6631b9a
All checks were successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
service backend
2025-11-07 18:35:26 +01:00

28 lines
1.3 KiB
Go

package helpers
import (
"context"
"github.com/tech/sendico/pkg/model"
"go.mongodb.org/mongo-driver/bson/primitive"
)
// TaskManager defines the interface for task management operations
type TaskManager interface {
// CreateTask creates a new task with proper ordering and numbering
// The caller is responsible for wrapping this in a transaction
CreateTask(ctx context.Context, accountRef, organizationRef primitive.ObjectID, task *model.Task) error
// MoveTask moves a task to a new project and status with proper ordering and numbering
// The caller is responsible for wrapping this in a transaction
MoveTask(ctx context.Context, accountRef, organizationRef primitive.ObjectID, taskRef, targetProjectRef, targetStatusRef primitive.ObjectID) error
// MoveTasks moves multiple tasks to a new project and status with proper ordering and numbering
// The caller is responsible for wrapping this in a transaction
MoveTasks(ctx context.Context, accountRef, organizationRef, sourceProjectRef, targetProjectRef, targetStatusRef primitive.ObjectID) error
// DeleteTask deletes a task and updates the project if necessary
// The caller is responsible for wrapping this in a transaction
DeleteTask(ctx context.Context, accountRef, taskRef primitive.ObjectID) error
}