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}