Expose has_practice booleans for LMS and pre-exam hierarchy entities, wire SQL/repository mappings, and regenerate SQLC/Swagger artifacts. Also update the Resend sender display name for outbound emails. Co-authored-by: Cursor <cursoragent@cursor.com>
34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package domain
|
|
|
|
import "time"
|
|
|
|
// Lesson belongs to a Module.
|
|
type Lesson struct {
|
|
ID int64 `json:"id"`
|
|
ModuleID int64 `json:"module_id"`
|
|
Title string `json:"title"`
|
|
VideoURL *string `json:"video_url,omitempty"`
|
|
Thumbnail *string `json:"thumbnail,omitempty"`
|
|
Description *string `json:"description,omitempty"`
|
|
SortOrder int `json:"sort_order"`
|
|
HasPractice bool `json:"has_practice"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
|
Access *LMSEntityAccess `json:"access,omitempty"`
|
|
}
|
|
|
|
type CreateLessonInput struct {
|
|
Title string `json:"title" validate:"required"`
|
|
VideoURL *string `json:"video_url,omitempty"`
|
|
Thumbnail *string `json:"thumbnail,omitempty"`
|
|
Description *string `json:"description,omitempty"`
|
|
}
|
|
|
|
type UpdateLessonInput struct {
|
|
Title *string `json:"title,omitempty"`
|
|
VideoURL *string `json:"video_url,omitempty"`
|
|
Thumbnail *string `json:"thumbnail,omitempty"`
|
|
Description *string `json:"description,omitempty"`
|
|
SortOrder *int `json:"sort_order,omitempty"`
|
|
}
|