82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
type CreateCourseResourceReq {
|
|
CourseId int `json:"course_id" form:"course_id" validate:"required"`
|
|
Title string `json:"title" form:"title" validate:"required,max=255"`
|
|
ResourceUrl string `json:"resource_url" form:"resource_url" validate:"required,max=512"`
|
|
Size int `json:"size" form:"size" validate:"omitempty,min=0"`
|
|
Sort int `json:"sort" form:"sort" validate:"omitempty,min=0"`
|
|
}
|
|
|
|
type CreateCourseResourceResp {
|
|
Id int `json:"id"`
|
|
Message string `json:"message"`
|
|
}
|
|
|
|
type GetCourseResourceReq {
|
|
Id int `path:"id" validate:"required"`
|
|
}
|
|
|
|
type GetCourseResourceResp {
|
|
Id int `json:"id"`
|
|
CourseId int `json:"course_id"`
|
|
Title string `json:"title"`
|
|
ResourceUrl string `json:"resource_url"`
|
|
Size int `json:"size"`
|
|
Sort int `json:"sort"`
|
|
}
|
|
|
|
type ListCourseResourceReq {
|
|
CourseId int `form:"course_id" validate:"omitempty"`
|
|
Page int `form:"page" validate:"required,min=1"`
|
|
PageSize int `form:"page_size" validate:"required,min=1,max=100"`
|
|
}
|
|
|
|
type ListCourseResourceResp {
|
|
Total int `json:"total"`
|
|
List []GetCourseResourceResp `json:"list"`
|
|
Page int `json:"page"`
|
|
PageSize int `json:"page_size"`
|
|
}
|
|
|
|
type UpdateCourseResourceReq {
|
|
Id int `json:"id" validate:"required"`
|
|
CourseId int `json:"course_id" validate:"omitempty"`
|
|
Title string `json:"title" validate:"omitempty,max=255"`
|
|
ResourceUrl string `json:"resource_url" validate:"omitempty,max=512"`
|
|
Size int `json:"size" validate:"omitempty,min=0"`
|
|
Sort int `json:"sort" validate:"omitempty,min=0"`
|
|
}
|
|
|
|
type UpdateCourseResourceResp {
|
|
Message string `json:"message"`
|
|
}
|
|
|
|
type DeleteCourseResourceReq {
|
|
Id int `path:"id" validate:"required"`
|
|
}
|
|
|
|
type DeleteCourseResourceResp {
|
|
Message string `json:"message"`
|
|
}
|
|
|
|
@server (
|
|
group: course_resource
|
|
prefix: /api/course-resource
|
|
)
|
|
service course_resource_api {
|
|
@handler CreateCourseResourceHandler
|
|
post / (CreateCourseResourceReq) returns (CreateCourseResourceResp)
|
|
|
|
@handler GetCourseResourceHandler
|
|
get /:id (GetCourseResourceReq) returns (GetCourseResourceResp)
|
|
|
|
@handler ListCourseResourceHandler
|
|
post /list (ListCourseResourceReq) returns (ListCourseResourceResp)
|
|
|
|
@handler UpdateCourseResourceHandler
|
|
put / (UpdateCourseResourceReq) returns (UpdateCourseResourceResp)
|
|
|
|
@handler DeleteCourseResourceHandler
|
|
delete /:id (DeleteCourseResourceReq) returns (DeleteCourseResourceResp)
|
|
}
|
|
|