Files
yatm/apis/job_list.go
2023-10-06 07:56:07 +08:00

34 lines
910 B
Go

package apis
import (
"context"
"fmt"
"github.com/samuelncui/yatm/entity"
)
func (api *API) JobList(ctx context.Context, req *entity.JobListRequest) (*entity.JobListReply, error) {
switch param := req.Param.(type) {
case *entity.JobListRequest_Mget:
jobs, err := api.exe.MGetJob(ctx, param.Mget.Ids...)
if err != nil {
return nil, err
}
return &entity.JobListReply{Jobs: convertJobs(map2list(jobs)...)}, nil
case *entity.JobListRequest_List:
jobs, err := api.exe.ListJob(ctx, param.List)
if err != nil {
return nil, err
}
return &entity.JobListReply{Jobs: convertJobs(jobs...)}, nil
case *entity.JobListRequest_RecentlyUpdate:
jobs, err := api.exe.ListRecentlyUpdateJob(ctx, param.RecentlyUpdate)
if err != nil {
return nil, err
}
return &entity.JobListReply{Jobs: convertJobs(jobs...)}, nil
default:
return nil, fmt.Errorf("unexpected param, %T", req.Param)
}
}