Expand description
Builder pattern API for creating course seed data declaratively.
§Usage
use chrono::Utc;
use sqlx::Connection;
use headless_lms_server::programs::seed::builder::{
course::CourseBuilder,
module::ModuleBuilder,
chapter::ChapterBuilder,
page::PageBuilder,
context::SeedContext,
};
let course = CourseBuilder::new("My Course", "my-course")
.desc("A sample course")
.chatbot(true)
.module(
ModuleBuilder::new()
.order(0)
.name("Introduction")
.ects(5.0)
.chapter(
ChapterBuilder::new(1, "Getting Started")
.opens(Utc::now())
.page(PageBuilder::new("/intro", "Introduction Page"))
)
);
let (course, instance, module) = course.seed(&mut context).await?;