package v1

import (
	"hotgo/internal/model/entity"

	"github.com/gogf/gf/v2/frame/g"
)

// 获取课程列表请求
type LessonListReq struct {
	g.Meta `path:"/lesson/list" method:"get" tags:"课程" summary:"获取课程列表"`
}

// 获取课程列表响应
type LessonListRes struct {
	List  []*entity.Lesson `json:"list" dc:"课程列表"`
	Total int              `json:"total" dc:"总数"`
}

// 查看课程详情请求
type LessonDetailReq struct {
	g.Meta `path:"/lesson/detail" method:"get" tags:"课程" summary:"查看课程详情"`
	Id     int64 `json:"id" v:"required#课程ID必填" dc:"课程ID"`
}

// 查看课程详情响应
type LessonDetailRes struct {
	*entity.Lesson `dc:"课程"`
}

// 获取课程章节列表请求
type LessonSectionListReq struct {
	g.Meta   `path:"/lesson/section/list" method:"get" tags:"课程章节" summary:"获取课程章节列表"`
	LessonId int64 `json:"lessonId" v:"required#课程ID必填" dc:"课程ID"`
}

// 获取课程章节列表响应
type LessonSectionListRes struct {
	List  []*entity.LessonSection `json:"list" dc:"课程章节列表"`
	Total int                     `json:"total" dc:"总数"`
}

// 获取课程章节详情请求
type LessonSectionDetailReq struct {
	g.Meta `path:"/lesson/section/detail" method:"get" tags:"课程章节" summary:"获取课程章节详情"`
	Id     int64 `json:"id" v:"required#课程章节ID必填" dc:"课程章节ID"`
}

// 获取课程章节详情响应
type LessonSectionDetailRes struct {
	*entity.LessonSection `dc:"课程章节"`
}
