独自Lexiconを呼べるクライアントの作成
import * as xrpc from "@/api" // apiはlex-cliで生成されたコードのディレクトリ
import { ServiceClient } from "@atproto/xrpc"
export const createClient = (hostname: string) => {
const baseClient = new xrpc.AtpBaseClient();
const serviceClient = new ServiceClient(baseClient.xrpc, `https://${hostname}`);
const atpServiceClient = new xrpc.AtpServiceClient(baseClient, serviceClient);
return atpServiceClient
}
// 使い方
const client=createClient(/*PDSのホスト名を入れる*/)
client.setHeader("Authorization", `Bearer <createSession結果のaccessJwt>`)
const appViewClient=createClient(/*AppViewのホスト名を入れる*/)
// AppViewに直接新規エントリを通知する
await appViewClient.com.whtwnd.blog.notifyOfNewEntry({ entryUri: blogEntryUri })
// 新規ブログエントリをPDSに作成する
createResult = await client.com.whtwnd.blog.entry.create({ repo: username, collection: "com.whtwnd.blog.entry", validate: false }, blogEntry)
apiディレクトリの構造