mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
file support in progress
This commit is contained in:
@@ -23,6 +23,8 @@ export const useAssignmentQuery = (
|
||||
});
|
||||
};
|
||||
|
||||
const enable_images = process.env.NEXT_PUBLIC_ENABLE_FILE_SYNC === "true";
|
||||
|
||||
export const useUpdateImageSettingsForAssignment = ({
|
||||
moduleName,
|
||||
assignmentName,
|
||||
@@ -37,50 +39,56 @@ export const useUpdateImageSettingsForAssignment = ({
|
||||
const createCanvasUrlMutation =
|
||||
trpc.canvasFile.getCanvasFileUrl.useMutation();
|
||||
|
||||
// useEffect(() => {
|
||||
// if (isUpdatingSettings) {
|
||||
// console.log("not updating image assets, still loading");
|
||||
// return;
|
||||
// }
|
||||
// setIsUpdatingSettings(true);
|
||||
// const assignmentMarkdown = markdownToHtmlNoImages(assignment.description);
|
||||
useEffect(() => {
|
||||
if (!enable_images) {
|
||||
console.log("not uploading images, FILE_POLLING is not set to true");
|
||||
return;
|
||||
}
|
||||
|
||||
// const imageSources = extractImageSources(assignmentMarkdown);
|
||||
// const imagesToUpdate = imageSources.filter((source) =>
|
||||
// settings.assets.every((a) => a.sourceUrl !== source)
|
||||
// );
|
||||
// console.log("images to update", imagesToUpdate);
|
||||
if (isUpdatingSettings) {
|
||||
console.log("not updating image assets, still loading");
|
||||
return;
|
||||
}
|
||||
setIsUpdatingSettings(true);
|
||||
const assignmentMarkdown = markdownToHtmlNoImages(assignment.description);
|
||||
|
||||
// if (imagesToUpdate.length) {
|
||||
// Promise.all(
|
||||
// imagesToUpdate.map(async (source) => {
|
||||
// // todo: get canvas url
|
||||
// // const canvasUrl = "";
|
||||
// const canvasUrl = await createCanvasUrlMutation.mutateAsync({
|
||||
// sourceUrl: source,
|
||||
// canvasCourseId: settings.canvasId,
|
||||
// });
|
||||
// console.log("got canvas url", source, canvasUrl);
|
||||
// return { sourceUrl: source, canvasUrl };
|
||||
// })
|
||||
// ).then(async (newAssets) => {
|
||||
// await updateSettings.mutateAsync({
|
||||
// settings: {
|
||||
// ...settings,
|
||||
// assets: [...settings.assets, ...newAssets],
|
||||
// },
|
||||
// });
|
||||
// setIsUpdatingSettings(false);
|
||||
// });
|
||||
// }
|
||||
// }, [
|
||||
// assignment.description,
|
||||
// createCanvasUrlMutation,
|
||||
// isUpdatingSettings,
|
||||
// settings,
|
||||
// settings.assets,
|
||||
// updateSettings,
|
||||
// ]);
|
||||
const imageSources = extractImageSources(assignmentMarkdown);
|
||||
const imagesToUpdate = imageSources.filter((source) =>
|
||||
settings.assets.every((a) => a.sourceUrl !== source)
|
||||
);
|
||||
console.log("images to update", imagesToUpdate);
|
||||
|
||||
if (imagesToUpdate.length) {
|
||||
Promise.all(
|
||||
imagesToUpdate.map(async (source) => {
|
||||
// todo: get canvas url
|
||||
// const canvasUrl = "";
|
||||
console.log(source);
|
||||
const canvasUrl = await createCanvasUrlMutation.mutateAsync({
|
||||
sourceUrl: source,
|
||||
canvasCourseId: settings.canvasId,
|
||||
});
|
||||
console.log("got canvas url", source, canvasUrl);
|
||||
return { sourceUrl: source, canvasUrl };
|
||||
})
|
||||
).then(async (newAssets) => {
|
||||
await updateSettings.mutateAsync({
|
||||
settings: {
|
||||
...settings,
|
||||
assets: [...settings.assets, ...newAssets],
|
||||
},
|
||||
});
|
||||
setIsUpdatingSettings(false);
|
||||
});
|
||||
}
|
||||
}, [
|
||||
assignment.description,
|
||||
createCanvasUrlMutation,
|
||||
isUpdatingSettings,
|
||||
settings,
|
||||
settings.assets,
|
||||
updateSettings,
|
||||
]);
|
||||
};
|
||||
|
||||
export const useAssignmentNamesQuery = (moduleName: string) => {
|
||||
|
||||
@@ -17,7 +17,9 @@ const handler = app.getRequestHandler();
|
||||
const folderToWatch = path.join(process.cwd(), "./storage", "/");
|
||||
console.log("watching folder", folderToWatch);
|
||||
const usePolling = process.env.FILE_POLLING === "true";
|
||||
const enable_images = process.env.NEXT_PUBLIC_ENABLE_FILE_SYNC === "true";
|
||||
console.log("FILE_POLLING:", usePolling);
|
||||
console.log("NEXT_PUBLIC_ENABLE_FILE_SYNC:", enable_images);
|
||||
|
||||
const watcher = chokidar.watch(folderToWatch, {
|
||||
persistent: true,
|
||||
|
||||
Reference in New Issue
Block a user