111 lines
1.8 KiB
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
|
|
}
|