started making mutation to put things together

This commit is contained in:
2024-11-20 09:21:20 -07:00
parent 9cba83e51c
commit f575434006
4 changed files with 44 additions and 7 deletions

View File

@@ -35,7 +35,7 @@ const getFileSize = async (pathToFile: string): Promise<number> => {
export const uploadToCanvasPart1 = async ( export const uploadToCanvasPart1 = async (
pathToUpload: string, pathToUpload: string,
canvasCourseId: string canvasCourseId: number
) => { ) => {
try { try {
const url = `${canvasApi}/courses/${canvasCourseId}/assignment_groups`; const url = `${canvasApi}/courses/${canvasCourseId}/assignment_groups`;
@@ -57,11 +57,15 @@ export const uploadToCanvasPart1 = async (
} }
}; };
export const uploadToCanvasPart2 = async ( export const uploadToCanvasPart2 = async ({
pathToUpload: string, pathToUpload,
upload_url: string, upload_url,
upload_params: { [key: string]: string } upload_params,
) => { }: {
pathToUpload: string;
upload_url: string;
upload_params: { [key: string]: string };
}) => {
try { try {
const formData = new FormData(); const formData = new FormData();
@@ -89,6 +93,7 @@ export const uploadToCanvasPart2 = async (
const redirectResponse = await axiosClient.get(redirectUrl); const redirectResponse = await axiosClient.get(redirectUrl);
console.log("redirect response", redirectResponse.data); console.log("redirect response", redirectResponse.data);
} }
return response.data.url;
} catch (error) { } catch (error) {
console.error("Error uploading file to Canvas part 1:", error); console.error("Error uploading file to Canvas part 1:", error);
throw error; throw error;

View File

@@ -33,7 +33,6 @@ export function convertImagesToCanvasImages(
} }
mutableHtml = mutableHtml.replaceAll(imageSrc, destinationUrl); mutableHtml = mutableHtml.replaceAll(imageSrc, destinationUrl);
} }
// console.log(imageSources, imageLookup, mutableHtml);
return mutableHtml; return mutableHtml;
} }

View File

@@ -1,6 +1,7 @@
import { createTrpcContext } from "../context"; import { createTrpcContext } from "../context";
import { createCallerFactory, router } from "../trpcSetup"; import { createCallerFactory, router } from "../trpcSetup";
import { assignmentRouter } from "./assignmentRouter"; import { assignmentRouter } from "./assignmentRouter";
import { canvasFileRouter } from "./canvasFileRouter";
import { directoriesRouter } from "./directoriesRouter"; import { directoriesRouter } from "./directoriesRouter";
import { lectureRouter } from "./lectureRouter"; import { lectureRouter } from "./lectureRouter";
import { moduleRouter } from "./moduleRouter"; import { moduleRouter } from "./moduleRouter";
@@ -16,6 +17,7 @@ export const trpcAppRouter = router({
page: pageRouter, page: pageRouter,
module: moduleRouter, module: moduleRouter,
directories: directoriesRouter, directories: directoriesRouter,
canvasFile: canvasFileRouter,
}); });
export const createCaller = createCallerFactory(trpcAppRouter); export const createCaller = createCallerFactory(trpcAppRouter);

View File

@@ -0,0 +1,31 @@
import publicProcedure from "../procedures/public";
import { z } from "zod";
import { router } from "../trpcSetup";
import {
downloadUrlToTempDirectory,
uploadToCanvasPart1,
uploadToCanvasPart2,
} from "@/services/canvas/files/canvasFileService";
export const canvasFileRouter = router({
getCanvasFileUrl: publicProcedure
.input(
z.object({
sourceUrl: z.string(),
canvasCourseId: z.number(),
})
)
.mutation(async ({ input: { sourceUrl, canvasCourseId } }) => {
const localTempFile = await downloadUrlToTempDirectory(sourceUrl);
const { upload_url, upload_params } = await uploadToCanvasPart1(
localTempFile,
canvasCourseId
);
const canvasUrl = await uploadToCanvasPart2({
pathToUpload: localTempFile,
upload_url,
upload_params,
});
return canvasUrl;
}),
});