diff --git a/backend/src/index.ts b/backend/src/index.ts index a22168a..68ced2c 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -25,17 +25,22 @@ export const app = express(); app.use(attachCorsHeaders); app.use(express.json()); -app.use(authenticateUser); // ローカル:モック or JWT検証 -// ルート定義例 -app.get("/api/docs", DocumentController.getDocumentsOfLoggedInUser); -app.get("/api/docs/:slug", DocumentController.getDocumentBySlugOfLoggedInUser); +// ===================== +// 認証不要ルート +// ===================== +app.get("/api/documents/:slug", DocumentController.getDocumentBySlugOfPublic); + + +// ===================== +// 認証が必要なルート +// ===================== +app.get("/api/docs", authenticateUser, DocumentController.getDocumentsOfLoggedInUser); +app.get("/api/docs/:slug", authenticateUser, DocumentController.getDocumentBySlugOfLoggedInUser); // @ts-ignore -app.post("/api/docs", DocumentController.createDocument); +app.post("/api/docs", authenticateUser, DocumentController.createDocument); // @ts-ignore -app.put("/api/docs/:slug", DocumentController.updateDocument); -app.delete("/api/docs/:slug", DocumentController.deleteDocument); - -app.get("/api/documents/:slug", DocumentController.getDocumentBySlugOfPublic); +app.put("/api/docs/:slug", authenticateUser, DocumentController.updateDocument); +app.delete("/api/docs/:slug", authenticateUser, DocumentController.deleteDocument); export const handler: Handler = serverlessHttp(app) as Handler; \ No newline at end of file diff --git a/frontend/src/pages/PublicDocumentPage.tsx b/frontend/src/pages/PublicDocumentPage.tsx index ceb814b..0890c61 100644 --- a/frontend/src/pages/PublicDocumentPage.tsx +++ b/frontend/src/pages/PublicDocumentPage.tsx @@ -1,7 +1,6 @@ // PublicDocumentPage.tsx import React, { useEffect, useState } from "react"; import { useParams, Link } from "react-router-dom"; -import { useAuthContextSwitch as useAuthContext } from "../context/useAuthContextSwitch"; import { useApiClient } from "../services/apiClient"; import styles from "../styles/DocPage.module.scss"; @@ -12,7 +11,6 @@ import ReactMarkdown from "react-markdown"; import DOMPurify from "dompurify"; const PublicDocumentPage: React.FC = () => { - const { user } = useAuthContext(); const { slug } = useParams<{ slug: string }>(); const [content, setContent] = useState(""); const [error, setError] = useState(null); @@ -31,7 +29,7 @@ const PublicDocumentPage: React.FC = () => { } }; fetchDocument(); - }, [slug, user, api]); + }, [slug, api]); if (error) { return (