Yimaru-BackEnd/internal/domain/course_management.go

111 lines
1.8 KiB
Go

package domain
import "time"
type TreeModule struct {
ID int64
Title string
}
type TreeLevel struct {
ID int64
Title string
Modules []TreeModule
}
type TreeProgram struct {
ID int64
Title string
Levels []TreeLevel
}
type TreeCourse struct {
ID int64
Title string
Programs []TreeProgram
}
type CourseCategory struct {
ID int64
Name string
IsActive bool
CreatedAt time.Time
}
type Program struct {
ID int64
CourseID int64
Title string
Description *string
Thumbnail *string
DisplayOrder int32
IsActive bool
}
type Course struct {
ID int64
CategoryID int64
Title string
Description *string
IsActive bool
}
type Module struct {
ID int64
LevelID int64
Title string
Content *string
DisplayOrder int32
IsActive bool
}
type ModuleVideo struct {
ID int64
ModuleID int64
Title string
Description *string
VideoURL string
Duration int32
Resolution *string
InstructorID *string
Thumbnail *string
Visibility *string
IsPublished bool
PublishDate *time.Time
IsActive bool
}
type PracticeQuestion struct {
ID int64
PracticeID int64
Question string
QuestionVoicePrompt *string
SampleAnswerVoicePrompt *string
SampleAnswer *string
Tips *string
Type string
}
type Practice struct {
ID int64
OwnerType string
OwnerID int64
Title string
Description *string
BannerImage *string
Persona *string
IsActive bool
}
type Level struct {
ID int64
ProgramID int64
Title string
Description *string
LevelIndex int
NumberOfModules int
NumberOfPractices int
NumberOfVideos int
IsActive bool
}