woj-server/internal/service/task/problem.go

39 lines
874 B
Go

package task
import (
"encoding/json"
"git.0x7f.app/WOJ/woj-server/internal/e"
"git.0x7f.app/WOJ/woj-server/internal/model"
"go.uber.org/zap"
)
func (s *service) ProblemBuild(data *model.ProblemBuildPayload) (string, e.Status) {
payload, err := json.Marshal(data)
if err != nil {
s.log.Warn("json marshal error",
zap.Error(err),
zap.Any("data", data),
)
return "", e.InternalError
}
info, status := s.submit(model.TypeProblemBuild, payload, model.QueueRunner)
return info.ID, status
}
func (s *service) ProblemUpdate(data *model.ProblemUpdatePayload) (string, e.Status) {
payload, err := json.Marshal(data)
if err != nil {
s.log.Warn("json marshal error",
zap.Error(err),
zap.Any("data", data),
)
return "", e.InternalError
}
info, status := s.submit(model.TypeProblemUpdate, payload, model.QueueServer)
return info.ID, status
}