more refactor

This commit is contained in:
2025-07-23 09:55:30 -06:00
parent 1885431574
commit aa15b2b335
19 changed files with 48 additions and 54 deletions

View File

@@ -1,5 +1,5 @@
import { createTrpcContext } from "@/services/serverFunctions/context"; import { createTrpcContext } from "@/services/serverFunctions/context";
import { trpcAppRouter } from "@/services/serverFunctions/router/appRouter"; import { trpcAppRouter } from "@/services/serverFunctions/appRouter";
import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; import { fetchRequestHandler } from "@trpc/server/adapters/fetch";
const handler = async (request: Request) => { const handler = async (request: Request) => {

View File

@@ -7,7 +7,7 @@ import {
import { import {
lectureToString, lectureToString,
parseLecture, parseLecture,
} from "@/services/fileStorage/utils/lectureUtils"; } from "@/features/local/lectures/lectureUtils";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import LecturePreview from "./LecturePreview"; import LecturePreview from "./LecturePreview";
import EditLectureTitle from "./EditLectureTitle"; import EditLectureTitle from "./EditLectureTitle";

View File

@@ -1,6 +1,6 @@
import { useLocalCourseSettingsQuery } from "@/features/local/course/localCoursesHooks"; import { useLocalCourseSettingsQuery } from "@/features/local/course/localCoursesHooks";
import { getDateFromString } from "@/features/local/utils/timeUtils"; import { getDateFromString } from "@/features/local/utils/timeUtils";
import { getLectureWeekName } from "@/services/fileStorage/utils/lectureUtils"; import { getLectureWeekName } from "@/features/local/lectures/lectureUtils";
import { getCourseUrl, getLecturePreviewUrl } from "@/services/urlUtils"; import { getCourseUrl, getLecturePreviewUrl } from "@/services/urlUtils";
import { useCourseContext } from "../../context/courseContext"; import { useCourseContext } from "../../context/courseContext";
import Link from "next/link"; import Link from "next/link";

View File

@@ -5,7 +5,7 @@ import { Suspense } from "react";
import { dehydrate, HydrationBoundary } from "@tanstack/react-query"; import { dehydrate, HydrationBoundary } from "@tanstack/react-query";
import { MyToaster } from "./MyToaster"; import { MyToaster } from "./MyToaster";
import { createServerSideHelpers } from "@trpc/react-query/server"; import { createServerSideHelpers } from "@trpc/react-query/server";
import { trpcAppRouter } from "@/services/serverFunctions/router/appRouter"; import { trpcAppRouter } from "@/services/serverFunctions/appRouter";
import { createTrpcContext } from "@/services/serverFunctions/context"; import { createTrpcContext } from "@/services/serverFunctions/context";
import superjson from "superjson"; import superjson from "superjson";
import { fileStorageService } from "@/features/local/utils/fileStorageService"; import { fileStorageService } from "@/features/local/utils/fileStorageService";

View File

@@ -7,7 +7,7 @@ import path from "path";
import { promises as fs } from "fs"; import { promises as fs } from "fs";
import { courseItemFileStorageService } from "@/features/local/course/courseItemFileStorageService"; import { courseItemFileStorageService } from "@/features/local/course/courseItemFileStorageService";
import { getCoursePathByName } from "@/features/local/globalSettings/globalSettingsFileStorageService"; import { getCoursePathByName } from "@/features/local/globalSettings/globalSettingsFileStorageService";
import { directoryOrFileExists } from "@/services/fileStorage/utils/fileSystemUtils"; import { directoryOrFileExists } from "@/features/local/utils/fileSystemUtils";
const getAssignmentNames = async (courseName: string, moduleName: string) => { const getAssignmentNames = async (courseName: string, moduleName: string) => {
const courseDirectory = await getCoursePathByName(courseName); const courseDirectory = await getCoursePathByName(courseName);

View File

@@ -1,5 +1,5 @@
import path from "path"; import path from "path";
import { directoryOrFileExists } from "../../../services/fileStorage/utils/fileSystemUtils"; import { directoryOrFileExists } from "../utils/fileSystemUtils";
import fs from "fs/promises"; import fs from "fs/promises";
import { import {
LocalAssignment, LocalAssignment,

View File

@@ -1,9 +1,6 @@
import { promises as fs } from "fs"; import { promises as fs } from "fs";
import path from "path"; import path from "path";
import { import { basePath, directoryOrFileExists } from "../utils/fileSystemUtils";
basePath,
directoryOrFileExists,
} from "../../../services/fileStorage/utils/fileSystemUtils";
import { AssignmentSubmissionType } from "@/features/local/assignments/models/assignmentSubmissionType"; import { AssignmentSubmissionType } from "@/features/local/assignments/models/assignmentSubmissionType";
import { import {
getCoursePathByName, getCoursePathByName,

View File

@@ -1,6 +1,6 @@
import { promises as fs } from "fs"; import { promises as fs } from "fs";
import path from "path"; import path from "path";
import { basePath } from "../../../services/fileStorage/utils/fileSystemUtils"; import { basePath } from "../utils/fileSystemUtils";
import { import {
GlobalSettings, GlobalSettings,
zodGlobalSettings, zodGlobalSettings,

View File

@@ -8,7 +8,7 @@ import {
parseLecture, parseLecture,
getLectureWeekName, getLectureWeekName,
lectureToString, lectureToString,
} from "@/services/fileStorage/utils/lectureUtils"; } from "@/features/local/lectures/lectureUtils";
import { import {
LocalCourseSettings, LocalCourseSettings,
getDayOfWeek, getDayOfWeek,

View File

@@ -1,5 +1,5 @@
import { promises as fs } from "fs"; import { promises as fs } from "fs";
import { lectureFolderName } from "../../../services/fileStorage/utils/lectureUtils"; import { lectureFolderName } from "../lectures/lectureUtils";
import { getCoursePathByName } from "../globalSettings/globalSettingsFileStorageService"; import { getCoursePathByName } from "../globalSettings/globalSettingsFileStorageService";
export const moduleFileStorageService = { export const moduleFileStorageService = {

View File

@@ -1,9 +1,6 @@
import { promises as fs } from "fs"; import { promises as fs } from "fs";
import path from "path"; import path from "path";
import { import { basePath, directoryOrFileExists } from "./fileSystemUtils";
basePath,
directoryOrFileExists,
} from "../../../services/fileStorage/utils/fileSystemUtils";
import { quizFileStorageService } from "../quizzes/quizFileStorageService"; import { quizFileStorageService } from "../quizzes/quizFileStorageService";
import { pageFileStorageService } from "../pages/pageFileStorageService"; import { pageFileStorageService } from "../pages/pageFileStorageService";
import { moduleFileStorageService } from "../modules/moduleFileStorageService"; import { moduleFileStorageService } from "../modules/moduleFileStorageService";

View File

@@ -1,5 +1,5 @@
import { promises as fs } from "fs"; import { promises as fs } from "fs";
import { getGlobalSettings } from "../../../features/local/globalSettings/globalSettingsFileStorageService"; import { getGlobalSettings } from "../globalSettings/globalSettingsFileStorageService";
export const directoryOrFileExists = async ( export const directoryOrFileExists = async (
directoryPath: string directoryPath: string

View File

@@ -0,0 +1,32 @@
import { createTrpcContext } from "./context";
import { createCallerFactory, router } from "./trpcSetup";
import { assignmentRouter } from "../../features/local/assignments/assignmentRouter";
import { canvasFileRouter } from "./canvasFileRouter";
import { directoriesRouter } from "../../features/local/utils/directoriesRouter";
import { globalSettingsRouter } from "../../features/local/globalSettings/globalSettingsRouter";
import { lectureRouter } from "../../features/local/lectures/lectureRouter";
import { pageRouter } from "../../features/local/pages/pageRouter";
import { quizRouter } from "../../features/local/quizzes/quizRouter";
import { settingsRouter } from "../../features/local/course/settingsRouter";
import { moduleRouter } from "@/features/local/modules/moduleRouter";
export const trpcAppRouter = router({
assignment: assignmentRouter,
lectures: lectureRouter,
settings: settingsRouter,
quiz: quizRouter,
page: pageRouter,
module: moduleRouter,
directories: directoriesRouter,
canvasFile: canvasFileRouter,
globalSettings: globalSettingsRouter,
});
export const createCaller = createCallerFactory(trpcAppRouter);
export const createAsyncCaller = async () => {
const context = await createTrpcContext();
return createCaller(context);
};
export type AppRouter = typeof trpcAppRouter;

View File

@@ -1,32 +0,0 @@
import { createTrpcContext } from "../context";
import { createCallerFactory, router } from "../trpcSetup";
import { assignmentRouter } from "../../../features/local/assignments/assignmentRouter";
import { canvasFileRouter } from "./canvasFileRouter";
import { directoriesRouter } from "../../../features/local/utils/directoriesRouter";
import { globalSettingsRouter } from "../../../features/local/globalSettings/globalSettingsRouter";
import { lectureRouter } from "../../../features/local/lectures/lectureRouter";
import { pageRouter } from "../../../features/local/pages/pageRouter";
import { quizRouter } from "../../../features/local/quizzes/quizRouter";
import { settingsRouter } from "../../../features/local/course/settingsRouter";
import { moduleRouter } from "@/features/local/modules/moduleRouter";
export const trpcAppRouter = router({
assignment: assignmentRouter,
lectures: lectureRouter,
settings: settingsRouter,
quiz: quizRouter,
page: pageRouter,
module: moduleRouter,
directories: directoriesRouter,
canvasFile: canvasFileRouter,
globalSettings: globalSettingsRouter,
});
export const createCaller = createCallerFactory(trpcAppRouter);
export const createAsyncCaller = async () => {
const context = await createTrpcContext();
return createCaller(context);
};
export type AppRouter = typeof trpcAppRouter;

View File

@@ -1,6 +1,6 @@
import { createTRPCReact } from "@trpc/react-query"; import { createTRPCReact } from "@trpc/react-query";
import { createTRPCContext } from "@trpc/tanstack-react-query"; import { createTRPCContext } from "@trpc/tanstack-react-query";
import { AppRouter } from "./router/appRouter"; import { AppRouter } from "./appRouter";
export const trpc = createTRPCReact<AppRouter>(); export const trpc = createTRPCReact<AppRouter>();

View File

@@ -1,7 +1,7 @@
import { describe, it, expect, beforeEach } from "vitest"; import { describe, it, expect, beforeEach } from "vitest";
import { promises as fs } from "fs"; import { promises as fs } from "fs";
import { fileStorageService } from "../../features/local/utils/fileStorageService"; import { fileStorageService } from "../../features/local/utils/fileStorageService";
import { basePath } from "../fileStorage/utils/fileSystemUtils"; import { basePath } from "../../features/local/utils/fileSystemUtils";
describe("FileStorageTests", () => { describe("FileStorageTests", () => {
beforeEach(async () => { beforeEach(async () => {

View File

@@ -1,6 +1,6 @@
import { describe, expect, it } from "vitest"; import { describe, expect, it } from "vitest";
import { lectureToString } from "../fileStorage/utils/lectureUtils"; import { lectureToString } from "../../features/local/lectures/lectureUtils";
import { parseLecture } from "../fileStorage/utils/lectureUtils"; import { parseLecture } from "../../features/local/lectures/lectureUtils";
import { Lecture } from "@/features/local/lectures/lectureModel"; import { Lecture } from "@/features/local/lectures/lectureModel";
describe("can parse and stringify lectures", () => { describe("can parse and stringify lectures", () => {