Files
tyapi-server/internal/domains/article/repositories/scheduled_task_repository.go
2025-09-03 13:51:52 +08:00

34 lines
1.1 KiB
Go

package repositories
import (
"context"
"tyapi-server/internal/domains/article/entities"
)
// ScheduledTaskRepository 定时任务仓储接口
type ScheduledTaskRepository interface {
// Create 创建定时任务记录
Create(ctx context.Context, task entities.ScheduledTask) (entities.ScheduledTask, error)
// GetByTaskID 根据Asynq任务ID获取任务记录
GetByTaskID(ctx context.Context, taskID string) (entities.ScheduledTask, error)
// GetByArticleID 根据文章ID获取任务记录
GetByArticleID(ctx context.Context, articleID string) (entities.ScheduledTask, error)
// Update 更新任务记录
Update(ctx context.Context, task entities.ScheduledTask) error
// Delete 删除任务记录
Delete(ctx context.Context, taskID string) error
// MarkAsCancelled 标记任务为已取消
MarkAsCancelled(ctx context.Context, taskID string) error
// GetActiveTasks 获取活动状态的任务列表
GetActiveTasks(ctx context.Context) ([]entities.ScheduledTask, error)
// GetExpiredTasks 获取过期的任务列表
GetExpiredTasks(ctx context.Context) ([]entities.ScheduledTask, error)
}