service backend
This commit is contained in:
27
api/pkg/mutil/helpers/taskmanager.go
Normal file
27
api/pkg/mutil/helpers/taskmanager.go
Normal file
@@ -0,0 +1,27 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user