import { useParams } from 'common' import { useEffect } from 'react' import { Badge } from 'ui' import Table from 'components/to-be-cleaned/Table' import { useProjectJsonSchemaQuery } from 'data/docs/project-json-schema-query' import { useOpenAPISpecQuery } from 'data/open-api/api-spec-query' import { useAppStateSnapshot } from 'state/app-state' import { DOCS_RESOURCE_CONTENT } from '../ProjectAPIDocs.constants' import ResourceContent from '../ResourceContent' import type { ContentProps } from './Content.types' const RPC = ({ language }: ContentProps) => { const { ref } = useParams() const snap = useAppStateSnapshot() const { data: jsonSchema, refetch: refetchJsonSchema } = useProjectJsonSchemaQuery({ projectRef: ref, }) const { data, refetch: refetchOpenAPISpec } = useOpenAPISpecQuery({ projectRef: ref }) const functions = data?.functions ?? [] const rpcName = snap.activeDocsSection[1] const rpc = functions.find((fn) => fn.name === rpcName) const rpcJsonSchema = jsonSchema?.paths[rpc?.path] const summary = rpcJsonSchema?.post?.summary const parameters = rpc?.get.parameters ?? [] useEffect(() => { if (rpcName !== undefined) { refetchJsonSchema() refetchOpenAPISpec() } }, [rpcName]) if (rpc === undefined) return null return (
{summary ?? 'No description available'}
Function arguments