@coursebuilder/adapter-drizzle
Version:
Drizzle adapter for Course Builder.
63 lines (61 loc) • 1.71 kB
JavaScript
import {
__name
} from "./chunk-H736K5TN.js";
// src/lib/mysql/schemas/content/lesson-progress.ts
import { sql } from "drizzle-orm";
import { datetime, index, varchar } from "drizzle-orm/mysql-core";
function getLessonProgressSchema(mysqlTable) {
return mysqlTable("LessonProgress", {
id: varchar("id", {
length: 191
}).notNull().primaryKey(),
userId: varchar("userId", {
length: 191
}).notNull(),
organizationId: varchar("organizationId", {
length: 191
}),
organizationMembershipId: varchar("organizationMembershipId", {
length: 191
}),
lessonId: varchar("lessonId", {
length: 191
}),
lessonSlug: varchar("lessonSlug", {
length: 191
}),
lessonVersion: varchar("lessonVersion", {
length: 191
}),
sectionId: varchar("sectionId", {
length: 191
}),
moduleId: varchar("moduleId", {
length: 191
}),
completedAt: datetime("completedAt", {
mode: "date",
fsp: 3
}),
updatedAt: datetime("updatedAt", {
mode: "date",
fsp: 3
}),
createdAt: datetime("createdAt", {
mode: "date",
fsp: 3
}).default(sql`CURRENT_TIMESTAMP(3)`).notNull()
}, (crp) => {
return {
userIdLessonIdIdx: index("crp_userId_contentResourceId_idx").on(crp.userId, crp.lessonId),
userIdIdx: index("userId_idx").on(crp.userId),
lessonIdIdx: index("lessonId_idx").on(crp.lessonId),
organizationMembershipIdIdx: index("organizationMembershipId_idx").on(crp.organizationMembershipId)
};
});
}
__name(getLessonProgressSchema, "getLessonProgressSchema");
export {
getLessonProgressSchema
};
//# sourceMappingURL=chunk-ET3QAIY7.js.map