package grpc import ( "context" "google.golang.org/protobuf/types/known/emptypb" pb "datarush/pkg/api/task" ) 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) }