moving utils

This commit is contained in:
2024-11-15 11:12:28 -07:00
parent f3390217d5
commit b889ed6e22
35 changed files with 44 additions and 48 deletions

View File

@@ -1,6 +1,6 @@
"use client"; "use client";
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
import { getDateFromStringOrThrow } from "@/models/local/timeUtils"; import { getDateFromStringOrThrow } from "@/models/local/utils/timeUtils";
import { getWeekNumber } from "./calendarMonthUtils"; import { getWeekNumber } from "./calendarMonthUtils";
import Day from "./day/Day"; import Day from "./day/Day";

View File

@@ -1,5 +1,5 @@
"use client"; "use client";
import { getDateFromStringOrThrow } from "@/models/local/timeUtils"; import { getDateFromStringOrThrow } from "@/models/local/utils/timeUtils";
import { getMonthsBetweenDates } from "./calendarMonthUtils"; import { getMonthsBetweenDates } from "./calendarMonthUtils";
import { CalendarMonth } from "./CalendarMonth"; import { CalendarMonth } from "./CalendarMonth";
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";

View File

@@ -1,7 +1,7 @@
import { import {
dateToMarkdownString, dateToMarkdownString,
getDateFromStringOrThrow, getDateFromStringOrThrow,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
export interface CalendarMonthModel { export interface CalendarMonthModel {
year: number; year: number;

View File

@@ -2,7 +2,7 @@
import { import {
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
import { useDraggingContext } from "../../context/drag/draggingContext"; import { useDraggingContext } from "../../context/drag/draggingContext";
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
import { getDayOfWeek } from "@/models/local/localCourseSettings"; import { getDayOfWeek } from "@/models/local/localCourseSettings";

View File

@@ -5,7 +5,7 @@ import { useCourseContext } from "../../context/courseContext";
import NewItemForm from "../../modules/NewItemForm"; import NewItemForm from "../../modules/NewItemForm";
import { DraggableItem } from "../../context/drag/draggingContext"; import { DraggableItem } from "../../context/drag/draggingContext";
import { useDragStyleContext } from "../../context/drag/dragStyleContext"; import { useDragStyleContext } from "../../context/drag/dragStyleContext";
import { getLectureForDay } from "@/models/local/lectureUtils"; import { getLectureForDay } from "@/models/local/utils/lectureUtils";
import { useLecturesSuspenseQuery } from "@/hooks/localCourse/lectureHooks"; import { useLecturesSuspenseQuery } from "@/hooks/localCourse/lectureHooks";
export function DayTitle({ day, dayAsDate }: { day: string; dayAsDate: Date }) { export function DayTitle({ day, dayAsDate }: { day: string; dayAsDate: Date }) {

View File

@@ -8,7 +8,7 @@ import { LocalQuiz } from "@/models/local/quiz/localQuiz";
import { import {
dateToMarkdownString, dateToMarkdownString,
getDateFromStringOrThrow, getDateFromStringOrThrow,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
import { markdownToHTMLSafe } from "@/services/htmlMarkdownUtils"; import { markdownToHTMLSafe } from "@/services/htmlMarkdownUtils";
import { htmlIsCloseEnough } from "@/services/utils/htmlIsCloseEnough"; import { htmlIsCloseEnough } from "@/services/utils/htmlIsCloseEnough";
import { ReactNode } from "react"; import { ReactNode } from "react";

View File

@@ -8,7 +8,7 @@ import { LocalQuiz } from "@/models/local/quiz/localQuiz";
import { import {
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
import { ReactNode } from "react"; import { ReactNode } from "react";
import { useCalendarItemsContext } from "../../context/calendarItemsContext"; import { useCalendarItemsContext } from "../../context/calendarItemsContext";
import { getStatus } from "./getStatus"; import { getStatus } from "./getStatus";

View File

@@ -6,7 +6,7 @@ import {
import { import {
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
import { useAllCourseDataQuery } from "@/hooks/localCourse/localCourseModuleHooks"; import { useAllCourseDataQuery } from "@/hooks/localCourse/localCourseModuleHooks";
import { trpc } from "@/services/serverFunctions/trpcClient"; import { trpc } from "@/services/serverFunctions/trpcClient";

View File

@@ -1,5 +1,5 @@
"use client"; "use client";
import { getDateFromStringOrThrow, dateToMarkdownString } from "@/models/local/timeUtils"; import { getDateFromStringOrThrow, dateToMarkdownString } from "@/models/local/utils/timeUtils";
export function getNewLockDate( export function getNewLockDate(

View File

@@ -8,18 +8,17 @@ import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHoo
import { useUpdatePageMutation } from "@/hooks/localCourse/pageHooks"; import { useUpdatePageMutation } from "@/hooks/localCourse/pageHooks";
import { LocalAssignment } from "@/models/local/assignment/localAssignment"; import { LocalAssignment } from "@/models/local/assignment/localAssignment";
import { Lecture } from "@/models/local/lecture"; import { Lecture } from "@/models/local/lecture";
import { getLectureForDay } from "@/models/local/lectureUtils"; import { getLectureForDay } from "@/models/local/utils/lectureUtils";
import { LocalCoursePage } from "@/models/local/page/localCoursePage"; import { LocalCoursePage } from "@/models/local/page/localCoursePage";
import { LocalQuiz } from "@/models/local/quiz/localQuiz"; import { LocalQuiz } from "@/models/local/quiz/localQuiz";
import { import {
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
dateToMarkdownString, dateToMarkdownString,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
import { Dispatch, SetStateAction, useCallback, DragEvent } from "react"; import { Dispatch, SetStateAction, useCallback, DragEvent } from "react";
import { DraggableItem } from "./draggingContext"; import { DraggableItem } from "./draggingContext";
import { getNewLockDate } from "./getNewLockDate"; import { getNewLockDate } from "./getNewLockDate";
import { trpc } from "@/services/serverFunctions/trpcClient";
import { useUpdateQuizMutation } from "@/hooks/localCourse/quizHooks"; import { useUpdateQuizMutation } from "@/hooks/localCourse/quizHooks";
import { useCourseContext } from "../courseContext"; import { useCourseContext } from "../courseContext";

View File

@@ -1,6 +1,6 @@
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
import { getDayOfWeek } from "@/models/local/localCourseSettings"; import { getDayOfWeek } from "@/models/local/localCourseSettings";
import { getDateFromString } from "@/models/local/timeUtils"; import { getDateFromString } from "@/models/local/utils/timeUtils";
import { getLectureWeekName } from "@/services/fileStorage/utils/lectureUtils"; import { getLectureWeekName } from "@/services/fileStorage/utils/lectureUtils";
import { getCourseUrl, getLecturePreviewUrl } from "@/services/urlUtils"; import { getCourseUrl, getLecturePreviewUrl } from "@/services/urlUtils";
import { useCourseContext } from "../../context/courseContext"; import { useCourseContext } from "../../context/courseContext";

View File

@@ -2,7 +2,7 @@ import EditLecture from "./EditLecture";
import { import {
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
export default async function page({ export default async function page({
params, params,

View File

@@ -1,7 +1,7 @@
import { import {
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
import LecturePreviewPage from "./LecturePreviewPage"; import LecturePreviewPage from "./LecturePreviewPage";
export default async function Page({ export default async function Page({

View File

@@ -5,7 +5,7 @@ import {
getDateFromString, getDateFromString,
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
} from "@/models/local/timeUtils"; } from "@/models/local/utils/timeUtils";
import { Fragment } from "react"; import { Fragment } from "react";
import Modal, { useModal } from "../../../../components/Modal"; import Modal, { useModal } from "../../../../components/Modal";
import NewItemForm from "./NewItemForm"; import NewItemForm from "./NewItemForm";

View File

@@ -8,14 +8,15 @@ import { useModuleNamesQuery } from "@/hooks/localCourse/localCourseModuleHooks"
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
import { useCreatePageMutation } from "@/hooks/localCourse/pageHooks"; import { useCreatePageMutation } from "@/hooks/localCourse/pageHooks";
import { LocalAssignmentGroup } from "@/models/local/assignment/localAssignmentGroup"; import { LocalAssignmentGroup } from "@/models/local/assignment/localAssignmentGroup";
import {
dateToMarkdownString,
getDateFromString,
getDateFromStringOrThrow,
} from "@/models/local/timeUtils";
import React, { useState } from "react"; import React, { useState } from "react";
import { useCourseContext } from "../context/courseContext"; import { useCourseContext } from "../context/courseContext";
import { useCreateQuizMutation } from "@/hooks/localCourse/quizHooks"; import { useCreateQuizMutation } from "@/hooks/localCourse/quizHooks";
import {
getDateFromString,
dateToMarkdownString,
getDateFromStringOrThrow,
} from "@/models/local/utils/timeUtils";
export default function NewItemForm({ export default function NewItemForm({
moduleName: defaultModuleName, moduleName: defaultModuleName,

View File

@@ -6,12 +6,12 @@ import {
useLocalCourseSettingsQuery, useLocalCourseSettingsQuery,
useUpdateLocalCourseSettingsMutation, useUpdateLocalCourseSettingsMutation,
} from "@/hooks/localCourse/localCoursesHooks"; } from "@/hooks/localCourse/localCoursesHooks";
import { getDateFromString } from "@/models/local/timeUtils"; import { getDateFromString } from "@/models/local/utils/timeUtils";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { import {
holidaysToString, holidaysToString,
parseHolidays, parseHolidays,
} from "../../../../models/local/settingsUtils"; } from "../../../../models/local/utils/settingsUtils";
import { settingsBox } from "./sharedSettings"; import { settingsBox } from "./sharedSettings";
const exampleString = `springBreak: const exampleString = `springBreak:

View File

@@ -1,6 +1,6 @@
"use client"; "use client";
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
import { getDateOnlyMarkdownString } from "@/models/local/timeUtils"; import { getDateOnlyMarkdownString } from "@/models/local/utils/timeUtils";
import React from "react"; import React from "react";
import { settingsBox } from "./sharedSettings"; import { settingsBox } from "./sharedSettings";

View File

@@ -1,11 +1,11 @@
"use client"; "use client";
import { getDateOnlyMarkdownString } from "@/models/local/timeUtils";
import { getLecturePreviewUrl } from "@/services/urlUtils"; import { getLecturePreviewUrl } from "@/services/urlUtils";
import Link from "next/link"; import Link from "next/link";
import { useCourseContext } from "../course/[courseName]/context/courseContext"; import { useCourseContext } from "../course/[courseName]/context/courseContext";
import { getLectureForDay } from "@/models/local/lectureUtils";
import { useLecturesSuspenseQuery as useLecturesQuery } from "@/hooks/localCourse/lectureHooks"; import { useLecturesSuspenseQuery as useLecturesQuery } from "@/hooks/localCourse/lectureHooks";
import { getLectureForDay } from "@/models/local/utils/lectureUtils";
import { getDateOnlyMarkdownString } from "@/models/local/utils/timeUtils";
export default function OneCourseLectures() { export default function OneCourseLectures() {
const { courseName } = useCourseContext(); const { courseName } = useCourseContext();

View File

@@ -10,7 +10,6 @@ export default function TodaysLectures() {
const [allSettings] = useLocalCoursesSettingsQuery(); const [allSettings] = useLocalCoursesSettingsQuery();
return ( return (
<div className="w-full"> <div className="w-full">
{/* <h3 className="text-center text-slate-400">todays lectures</h3> */}
<div className="flex justify-around w-full"> <div className="flex justify-around w-full">
<SuspenseAndErrorHandling> <SuspenseAndErrorHandling>
{allSettings.map((settings) => ( {allSettings.map((settings) => (

View File

@@ -1,7 +1,7 @@
import { import {
verifyDateOrThrow, verifyDateOrThrow,
verifyDateStringOrUndefined, verifyDateStringOrUndefined,
} from "../../timeUtils"; } from "../../utils/timeUtils";
import { AssignmentSubmissionType } from "../assignmentSubmissionType"; import { AssignmentSubmissionType } from "../assignmentSubmissionType";
import { LocalAssignment } from "../localAssignment"; import { LocalAssignment } from "../localAssignment";
import { RubricItem } from "../rubricItem"; import { RubricItem } from "../rubricItem";

View File

@@ -2,7 +2,7 @@ import { LocalAssignment } from "./assignment/localAssignment";
import { IModuleItem } from "./IModuleItem"; import { IModuleItem } from "./IModuleItem";
import { LocalCoursePage } from "./page/localCoursePage"; import { LocalCoursePage } from "./page/localCoursePage";
import { LocalQuiz } from "./quiz/localQuiz"; import { LocalQuiz } from "./quiz/localQuiz";
import { getDateFromString } from "./timeUtils"; import { getDateFromString } from "./utils/timeUtils";
export interface LocalModule { export interface LocalModule {
name: string; name: string;

View File

@@ -1,7 +1,7 @@
import { z } from "zod"; import { z } from "zod";
import { extractLabelValue } from "../assignment/utils/markdownUtils"; import { extractLabelValue } from "../assignment/utils/markdownUtils";
import { IModuleItem } from "../IModuleItem"; import { IModuleItem } from "../IModuleItem";
import { verifyDateOrThrow } from "../timeUtils"; import { verifyDateOrThrow } from "../utils/timeUtils";
export interface LocalCoursePage extends IModuleItem { export interface LocalCoursePage extends IModuleItem {
name: string; name: string;

View File

@@ -1,7 +1,7 @@
import { import {
verifyDateOrThrow, verifyDateOrThrow,
verifyDateStringOrUndefined, verifyDateStringOrUndefined,
} from "../../timeUtils"; } from "../../utils/timeUtils";
import { LocalQuiz } from "../localQuiz"; import { LocalQuiz } from "../localQuiz";
import { quizQuestionMarkdownUtils } from "./quizQuestionMarkdownUtils"; import { quizQuestionMarkdownUtils } from "./quizQuestionMarkdownUtils";

View File

@@ -1,5 +1,5 @@
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import { parseHolidays } from "../settingsUtils"; import { parseHolidays } from "../utils/settingsUtils";
describe("can parse holiday string", () => { describe("can parse holiday string", () => {
it("can parse empty list", () => { it("can parse empty list", () => {

View File

@@ -5,7 +5,7 @@ import {
prepLectureForNewSemester, prepLectureForNewSemester,
prepPageForNewSemester, prepPageForNewSemester,
prepQuizForNewSemester, prepQuizForNewSemester,
} from "../semesterTransferUtils"; } from "../utils/semesterTransferUtils";
import { LocalQuiz } from "../quiz/localQuiz"; import { LocalQuiz } from "../quiz/localQuiz";
import { LocalCoursePage } from "../page/localCoursePage"; import { LocalCoursePage } from "../page/localCoursePage";
import { Lecture } from "../lecture"; import { Lecture } from "../lecture";

View File

@@ -1,5 +1,5 @@
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import { dateToMarkdownString, getDateFromString } from "../timeUtils"; import { dateToMarkdownString, getDateFromString } from "../utils/timeUtils";
describe("Can properly handle expected date formats", () => { describe("Can properly handle expected date formats", () => {
it("can use AM/PM dates", () => { it("can use AM/PM dates", () => {

View File

@@ -1,4 +1,4 @@
import { Lecture } from "./lecture"; import { Lecture } from "../lecture";
import { getDateOnlyMarkdownString } from "./timeUtils"; import { getDateOnlyMarkdownString } from "./timeUtils";
export function getLectureForDay(weeks: { weekName: string; lectures: Lecture[]; }[], dayAsDate: Date) { export function getLectureForDay(weeks: { weekName: string; lectures: Lecture[]; }[], dayAsDate: Date) {

View File

@@ -1,7 +1,8 @@
import { LocalAssignment } from "./assignment/localAssignment";
import { Lecture } from "./lecture"; import { LocalAssignment } from "../assignment/localAssignment";
import { LocalCoursePage } from "./page/localCoursePage"; import { Lecture } from "../lecture";
import { LocalQuiz } from "./quiz/localQuiz"; import { LocalCoursePage } from "../page/localCoursePage";
import { LocalQuiz } from "../quiz/localQuiz";
import { import {
dateToMarkdownString, dateToMarkdownString,
getDateFromStringOrThrow, getDateFromStringOrThrow,

View File

@@ -1,6 +1,4 @@
import { import {
dateToMarkdownString,
getDateFromString,
getDateFromStringOrThrow, getDateFromStringOrThrow,
getDateOnlyMarkdownString, getDateOnlyMarkdownString,
} from "./timeUtils"; } from "./timeUtils";

View File

@@ -5,9 +5,7 @@ import { axiosClient } from "../axiosUtils";
import { markdownToHTMLSafe } from "../htmlMarkdownUtils"; import { markdownToHTMLSafe } from "../htmlMarkdownUtils";
import { CanvasRubricCreationResponse } from "@/models/canvas/assignments/canvasRubricCreationResponse"; import { CanvasRubricCreationResponse } from "@/models/canvas/assignments/canvasRubricCreationResponse";
import { assignmentPoints } from "@/models/local/assignment/utils/assignmentPointsUtils"; import { assignmentPoints } from "@/models/local/assignment/utils/assignmentPointsUtils";
import { getDateFromString } from "@/models/local/timeUtils"; import { getDateFromString } from "@/models/local/utils/timeUtils";
import { canvasModuleService } from "./canvasModuleService";
import { CanvasModule } from "@/models/canvas/modules/canvasModule";
import { getRubricCriterion } from "./canvasRubricUtils"; import { getRubricCriterion } from "./canvasRubricUtils";
export const canvasAssignmentService = { export const canvasAssignmentService = {

View File

@@ -3,7 +3,7 @@ import { axiosClient } from "../axiosUtils";
import { canvasApi } from "./canvasServiceUtils"; import { canvasApi } from "./canvasServiceUtils";
import { LocalQuiz } from "@/models/local/quiz/localQuiz"; import { LocalQuiz } from "@/models/local/quiz/localQuiz";
import { markdownToHTMLSafe } from "../htmlMarkdownUtils"; import { markdownToHTMLSafe } from "../htmlMarkdownUtils";
import { getDateFromStringOrThrow } from "@/models/local/timeUtils"; import { getDateFromStringOrThrow } from "@/models/local/utils/timeUtils";
import { canvasAssignmentService } from "./canvasAssignmentService"; import { canvasAssignmentService } from "./canvasAssignmentService";
import { import {
LocalQuizQuestion, LocalQuizQuestion,

View File

@@ -13,7 +13,7 @@ import {
getDayOfWeek, getDayOfWeek,
LocalCourseSettings, LocalCourseSettings,
} from "@/models/local/localCourseSettings"; } from "@/models/local/localCourseSettings";
import { getDateFromStringOrThrow } from "@/models/local/timeUtils"; import { getDateFromStringOrThrow } from "@/models/local/utils/timeUtils";
export async function getLectures(courseName: string) { export async function getLectures(courseName: string) {
const courseLectureRoot = path.join(basePath, courseName, lectureFolderName); const courseLectureRoot = path.join(basePath, courseName, lectureFolderName);

View File

@@ -1,7 +1,7 @@
import { getWeekNumber } from "@/app/course/[courseName]/calendar/calendarMonthUtils"; import { getWeekNumber } from "@/app/course/[courseName]/calendar/calendarMonthUtils";
import { extractLabelValue } from "@/models/local/assignment/utils/markdownUtils"; import { extractLabelValue } from "@/models/local/assignment/utils/markdownUtils";
import { Lecture } from "@/models/local/lecture"; import { Lecture } from "@/models/local/lecture";
import { getDateFromStringOrThrow } from "@/models/local/timeUtils"; import { getDateFromStringOrThrow } from "@/models/local/utils/timeUtils";
export function parseLecture(fileContent: string): Lecture { export function parseLecture(fileContent: string): Lecture {
try { try {

View File

@@ -13,7 +13,7 @@ import {
prepLectureForNewSemester, prepLectureForNewSemester,
prepPageForNewSemester, prepPageForNewSemester,
prepQuizForNewSemester, prepQuizForNewSemester,
} from "@/models/local/semesterTransferUtils"; } from "@/models/local/utils/semesterTransferUtils";
export const settingsRouter = router({ export const settingsRouter = router({
allCoursesSettings: publicProcedure.query(async () => { allCoursesSettings: publicProcedure.query(async () => {