fix: allow to set is_enable separately in problem/create
This commit is contained in:
parent
0fc977a5e0
commit
976f2700ef
@ -10,8 +10,8 @@ import (
|
||||
|
||||
type updateRequest struct {
|
||||
Pid uint `form:"pid" json:"pid"`
|
||||
Title string `form:"title" json:"title" binding:"required"`
|
||||
Statement string `form:"statement" json:"statement" binding:"required"`
|
||||
Title string `form:"title" json:"title"`
|
||||
Statement string `form:"statement" json:"statement"`
|
||||
IsEnabled bool `form:"is_enabled" json:"is_enabled"`
|
||||
}
|
||||
|
||||
@ -22,8 +22,8 @@ type updateRequest struct {
|
||||
// @Accept application/x-www-form-urlencoded
|
||||
// @Produce json
|
||||
// @Param pid formData int false "problem id, 0 for create"
|
||||
// @Param title formData string true "title"
|
||||
// @Param statement formData string true "statement"
|
||||
// @Param title formData string false "title"
|
||||
// @Param statement formData string false "statement"
|
||||
// @Param is_enabled formData bool false "is enabled"
|
||||
// @Response 200 {object} e.Response[model.Problem] "problem info without provider information"
|
||||
// @Security Authentication
|
||||
@ -50,8 +50,13 @@ func (h *handler) Update(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
if req.Pid == 0 {
|
||||
// create problem
|
||||
if req.Pid == 0 { // create problem
|
||||
// Title and Statement are required
|
||||
if req.Title == "" || req.Statement == "" {
|
||||
e.Pong[any](c, e.InvalidParameter, nil)
|
||||
return
|
||||
}
|
||||
|
||||
createData := &problem.CreateData{
|
||||
Title: req.Title,
|
||||
Statement: req.Statement,
|
||||
@ -61,9 +66,7 @@ func (h *handler) Update(c *gin.Context) {
|
||||
p, status := h.problemService.Create(createData)
|
||||
e.Pong(c, status, p)
|
||||
return
|
||||
} else {
|
||||
// update problem
|
||||
|
||||
} else { // update problem
|
||||
// check if problem exists
|
||||
p, status := h.problemService.Query(req.Pid, true, false)
|
||||
if status != e.Success {
|
||||
|
Loading…
Reference in New Issue
Block a user