You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.0 KiB
52 lines
1.0 KiB
package subject
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"product/backend/handlers/base"
|
|
"product/backend/models"
|
|
)
|
|
|
|
// 请求结构体
|
|
|
|
type WithParams struct {
|
|
WithKnowledgeGroup bool `json:"withKnowledgeGroup" form:"withKnowledgeGroup"`
|
|
WithDirectiveGroup bool `json:"withDirectiveGroup" form:"withDirectiveGroup"`
|
|
WithProductGroup bool `json:"withProductGroup" form:"withProductGroup"`
|
|
WithLessonType bool `json:"withLessonType" form:"withLessonType"`
|
|
}
|
|
|
|
type PostReq struct {
|
|
Type string `json:"type" binding:"oneof='common''special'''"`
|
|
models.Subject
|
|
|
|
WithParams
|
|
}
|
|
|
|
type PutReq struct {
|
|
ID uint `json:"id" binding:"required"`
|
|
Type string `json:"type" binding:"oneof='common''special'''"`
|
|
models.Subject
|
|
|
|
WithParams
|
|
}
|
|
|
|
type GetReq struct {
|
|
base.GetReq
|
|
Type string `json:"type" binding:"oneof='common''special'''"`
|
|
WithParams
|
|
}
|
|
|
|
func (getReq *GetReq) BindAndInit(ctx *gin.Context) error {
|
|
if err := ctx.ShouldBindQuery(&getReq); err != nil {
|
|
return err
|
|
}
|
|
|
|
getReq.GetReq.Init()
|
|
|
|
return nil
|
|
}
|
|
|
|
type DelReq struct {
|
|
base.DelReq
|
|
}
|