From b61fddd45932eef43ec98e12bc4b034ea564125a Mon Sep 17 00:00:00 2001 From: ZEKE320 <46393375+ZEKE320@users.noreply.github.com> Date: Sun, 7 Apr 2024 13:51:16 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20API=E5=91=BC=E3=81=B3?= =?UTF-8?q?=E5=87=BA=E3=81=97=E7=AE=87=E6=89=80=E3=81=AE=E5=9E=8B=E5=AE=9A?= =?UTF-8?q?=E7=BE=A9=E6=9B=B4=E6=96=B0=E3=81=AB=E4=BC=B4=E3=81=84=E3=80=81?= =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E5=88=A4=E5=AE=9A=E7=AE=87=E6=89=80?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Client/bsky/buttons/PostButton.tsx | 6 +++--- .../components/Client/pagedb/PageDeleteButton.tsx | 5 +++-- .../src/components/Client/pagedb/PageViewForm.tsx | 15 +++++++++------ astro/src/pages/posts/[slug].astro | 10 ++++++---- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/astro/src/components/Client/bsky/buttons/PostButton.tsx b/astro/src/components/Client/bsky/buttons/PostButton.tsx index aa273a9..687a70c 100644 --- a/astro/src/components/Client/bsky/buttons/PostButton.tsx +++ b/astro/src/components/Client/bsky/buttons/PostButton.tsx @@ -20,7 +20,7 @@ import resolveHandle, { } from "@/utils/atproto_api/resolveHandle" // backend api -import createPage from "@/lib/pagedbAPI/createPage" +import createPage, { pageCreationOutput } from "@/lib/pagedbAPI/createPage" import browserImageCompression from "@/utils/browserImageCompression" import { getOgpBlob, getOgpMeta } from "@/lib/getOgp" @@ -303,7 +303,7 @@ export const Component = ({ accessJwt: session.accessJwt, uri: createRecordResult.uri, }) - if (typeof createPageResult?.error !== "undefined") { + if ("error" in createPageResult && typeof createPageResult.error != "undefined") { const e: Error = new Error(createPageResult.message) e.name = createPageResult.error throw e @@ -312,7 +312,7 @@ export const Component = ({ msg: "Twitter用リンクを生成しました!", isError: false, }) - const [id, rkey] = createPageResult.uri.split("/") + const [id, rkey] = (createPageResult as pageCreationOutput).uri.split("/") const ogpUrl = new URL(`${pagesPrefix}/${id}@${rkey}/`, siteurl) // 本文に生成URLを付与 callbackPostOptions.postText += `${ diff --git a/astro/src/components/Client/pagedb/PageDeleteButton.tsx b/astro/src/components/Client/pagedb/PageDeleteButton.tsx index dc8fd60..818a286 100644 --- a/astro/src/components/Client/pagedb/PageDeleteButton.tsx +++ b/astro/src/components/Client/pagedb/PageDeleteButton.tsx @@ -3,6 +3,7 @@ import deletePage from "@/lib/pagedbAPI/deletePage" import ProcButton from "../common/ProcButton" import { type Session_info } from "../common/contexts" import { type msgInfo } from "../common/types" +import etype from "@/lib/pagedbAPI/models/error.json" const Component = ({ id, @@ -28,7 +29,7 @@ const Component = ({ did: session.did, accessJwt: session.accessJwt }) - if (typeof resDeletePage?.error === "undefined" && + if (!("error" in resDeletePage) && resDeletePage.result === "ok") { setMsgInfo({ isError: false, @@ -36,7 +37,7 @@ const Component = ({ }) window.location.reload() } else { - let e: Error = new Error(resDeletePage.message) + const e: Error = new Error((resDeletePage as typeof etype).message) e.name = "pagedelete.tsx" throw e } diff --git a/astro/src/components/Client/pagedb/PageViewForm.tsx b/astro/src/components/Client/pagedb/PageViewForm.tsx index b4140ae..7342a0d 100644 --- a/astro/src/components/Client/pagedb/PageViewForm.tsx +++ b/astro/src/components/Client/pagedb/PageViewForm.tsx @@ -1,6 +1,6 @@ import { useEffect, useContext, useState, ReactNode, Dispatch, SetStateAction } from "react" import { pagesPrefix } from "@/env/envs" -import getIds from "@/lib/pagedbAPI/getIds" +import getIds, { idsFetchOutput } from "@/lib/pagedbAPI/getIds" import { Session_context } from "../common/contexts" import { load_circle, link } from "../common/tailwindVariants" import ProfileCard from "./ProfileCard" @@ -31,23 +31,26 @@ const Component = ({ const pageIds = async () => { try { - const ids = await getIds({ + const getIdsResult = await getIds({ handle: session.handle! }) - if (typeof ids?.error !== "undefined") { - let e: Error = new Error(ids.message) - e.name = ids.error + if ("error" in getIdsResult && typeof getIdsResult?.error !== "undefined") { + const e: Error = new Error(getIdsResult.message) + e.name = getIdsResult.error throw e } setMsgInfo({ isError: false, msg: "投稿一覧を読み込みました!" }) + + const ids = getIdsResult as idsFetchOutput + setList(
OGP生成したページ一覧
- {ids?.ids.map((value) => { + {ids.ids.map((value) => { return (