feat: productionize learning engine and classroom

This commit is contained in:
inman
2026-08-16 21:44:52 +08:00
parent 2d04197f3f
commit ba35adfbfa
124 changed files with 9071 additions and 796 deletions

View File

@@ -172,7 +172,7 @@ async function routeFetch(
repos: Awaited<ReturnType<typeof serverRepos>>,
statuses: number[],
): Promise<typeof fetch> {
const { handleCoursePublishRequest } = await import('@/app/api/internal/course-publish/route');
const { handleCoursePublishRequest } = await import('@/lib/server/course-publish-route');
return (async (input: RequestInfo | URL, init?: RequestInit) => {
const request = new NextRequest(typeof input === 'string' ? input : input.toString(), {
method: init?.method,
@@ -618,7 +618,7 @@ describe('remote transactional course publish', () => {
);
const server = await serverRepos();
const { handleCoursePublishRequest } = await import('@/app/api/internal/course-publish/route');
const { handleCoursePublishRequest } = await import('@/lib/server/course-publish-route');
// Retain the server module instance in this closure, then load the ops
// route with a fresh mutex exactly as two Node processes would.
vi.resetModules();