headless_lms_server/programs/seed/builder/context.rs
1use sqlx::PgConnection;
2use uuid::Uuid;
3
4/// Shared context for seed operations with database connection and deterministic ID generation.
5pub struct SeedContext<'a> {
6 pub conn: &'a mut PgConnection,
7 pub teacher: Uuid,
8 pub org: Uuid,
9 /// Namespace for generating deterministic UUIDv5 IDs
10 pub base_course_ns: Uuid,
11}
12
13impl<'a> SeedContext<'a> {
14 /// Generates a deterministic UUIDv5 using the course namespace.
15 pub fn v5(&self, name: &[u8]) -> Uuid {
16 Uuid::new_v5(&self.base_course_ns, name)
17 }
18}