package grpc import ( "context" pb "datarush/pkg/api/task" "google.golang.org/protobuf/types/known/emptypb" ) type TaskService interface { CreateTask(ctx context.Context, req *pb.Task) (*pb.Task, error) GetTask(ctx context.Context, req *pb.GetTaskRequest) (*pb.Task, error) EditTask(ctx context.Context, req *pb.Task) (*pb.Task, error) DeleteTask(ctx context.Context, req *pb.DeleteTaskRequest) (*emptypb.Empty, error) ListCompetitionTasks(ctx context.Context, req *pb.ListCompetitionTasksRequest) (*pb.ListCompetitionTasksResponse, error) GetTaskAttachments(ctx context.Context, req *pb.GetTaskAttachmentsRequest) (*pb.GetTaskAttachmentsResponse, error) } type TaskHandler struct { pb.UnimplementedTaskServiceServer service TaskService } func NewTaskHandler(service TaskService) *TaskHandler { return &TaskHandler{service: service} } func (h *TaskHandler) CreateTask(ctx context.Context, req *pb.Task) (*pb.Task, error) { return h.service.CreateTask(ctx, req) } func (h *TaskHandler) GetTask(ctx context.Context, req *pb.GetTaskRequest) (*pb.Task, error) { return h.service.GetTask(ctx, req) } func (h *TaskHandler) EditTask(ctx context.Context, req *pb.Task) (*pb.Task, error) { return h.service.EditTask(ctx, req) } func (h *TaskHandler) DeleteTask(ctx context.Context, req *pb.DeleteTaskRequest) (*emptypb.Empty, error) { return h.service.DeleteTask(ctx, req) } func (h *TaskHandler) ListCompetitionTasks(ctx context.Context, req *pb.ListCompetitionTasksRequest) (*pb.ListCompetitionTasksResponse, error) { return h.service.ListCompetitionTasks(ctx, req) } func (h *TaskHandler) GetTaskAttachments(ctx context.Context, req *pb.GetTaskAttachmentsRequest) (*pb.GetTaskAttachmentsResponse, error) { return h.service.GetTaskAttachments(ctx, req) }