mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
started making mutation to put things together
This commit is contained in:
@@ -35,7 +35,7 @@ const getFileSize = async (pathToFile: string): Promise<number> => {
|
||||
|
||||
export const uploadToCanvasPart1 = async (
|
||||
pathToUpload: string,
|
||||
canvasCourseId: string
|
||||
canvasCourseId: number
|
||||
) => {
|
||||
try {
|
||||
const url = `${canvasApi}/courses/${canvasCourseId}/assignment_groups`;
|
||||
@@ -57,11 +57,15 @@ export const uploadToCanvasPart1 = async (
|
||||
}
|
||||
};
|
||||
|
||||
export const uploadToCanvasPart2 = async (
|
||||
pathToUpload: string,
|
||||
upload_url: string,
|
||||
upload_params: { [key: string]: string }
|
||||
) => {
|
||||
export const uploadToCanvasPart2 = async ({
|
||||
pathToUpload,
|
||||
upload_url,
|
||||
upload_params,
|
||||
}: {
|
||||
pathToUpload: string;
|
||||
upload_url: string;
|
||||
upload_params: { [key: string]: string };
|
||||
}) => {
|
||||
try {
|
||||
const formData = new FormData();
|
||||
|
||||
@@ -89,6 +93,7 @@ export const uploadToCanvasPart2 = async (
|
||||
const redirectResponse = await axiosClient.get(redirectUrl);
|
||||
console.log("redirect response", redirectResponse.data);
|
||||
}
|
||||
return response.data.url;
|
||||
} catch (error) {
|
||||
console.error("Error uploading file to Canvas part 1:", error);
|
||||
throw error;
|
||||
|
||||
@@ -33,7 +33,6 @@ export function convertImagesToCanvasImages(
|
||||
}
|
||||
mutableHtml = mutableHtml.replaceAll(imageSrc, destinationUrl);
|
||||
}
|
||||
// console.log(imageSources, imageLookup, mutableHtml);
|
||||
return mutableHtml;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { createTrpcContext } from "../context";
|
||||
import { createCallerFactory, router } from "../trpcSetup";
|
||||
import { assignmentRouter } from "./assignmentRouter";
|
||||
import { canvasFileRouter } from "./canvasFileRouter";
|
||||
import { directoriesRouter } from "./directoriesRouter";
|
||||
import { lectureRouter } from "./lectureRouter";
|
||||
import { moduleRouter } from "./moduleRouter";
|
||||
@@ -16,6 +17,7 @@ export const trpcAppRouter = router({
|
||||
page: pageRouter,
|
||||
module: moduleRouter,
|
||||
directories: directoriesRouter,
|
||||
canvasFile: canvasFileRouter,
|
||||
});
|
||||
|
||||
export const createCaller = createCallerFactory(trpcAppRouter);
|
||||
|
||||
@@ -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;
|
||||
}),
|
||||
});
|
||||
Reference in New Issue
Block a user