mirror of
https://github.com/samuelncui/yatm.git
synced 2025-12-23 06:15:22 +00:00
34 lines
910 B
Go
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)
|
|
}
|
|
}
|