Skip to main content
Glama
integrationsApi.ts3 kB
import { useContext } from "react"; import { DeploymentInfoContext } from "@common/lib/deploymentContext"; import { toast } from "@common/lib/utils"; import { createDeploymentClient } from "@convex-dev/platform"; import { CreateLogStreamArgs, UpdateLogStreamArgs, } from "@convex-dev/platform/deploymentApi"; import { useAdminKey, useDeploymentUrl } from "./deploymentApi"; export function useCreateLogStream(): ( args: CreateLogStreamArgs, ) => Promise<void> { const deploymentUrl = useDeploymentUrl(); const adminKey = useAdminKey(); const { reportHttpError } = useContext(DeploymentInfoContext); return async (args: CreateLogStreamArgs) => { const client = createDeploymentClient(deploymentUrl, adminKey); const { response } = await client.POST("/create_log_stream", { body: args, }); if (response.status !== 200) { const err = await response.json(); reportHttpError("POST", response.url, err); toast("error", err.message); } }; } export function useUpdateLogStream(): ( id: string, update: UpdateLogStreamArgs, ) => Promise<void> { const deploymentUrl = useDeploymentUrl(); const adminKey = useAdminKey(); const { reportHttpError } = useContext(DeploymentInfoContext); return async (id: string, update: UpdateLogStreamArgs) => { const client = createDeploymentClient(deploymentUrl, adminKey); const { response } = await client.POST("/update_log_stream/{id}", { params: { path: { id, }, }, body: update, }); if (response.status !== 200) { const err = await response.json(); reportHttpError("DELETE", response.url, err); toast("error", err.message); } }; } export function useDeleteLogStream(): (id: string) => Promise<void> { const { reportHttpError } = useContext(DeploymentInfoContext); const deploymentUrl = useDeploymentUrl(); const adminKey = useAdminKey(); return async (id: string) => { const client = createDeploymentClient(deploymentUrl, adminKey); const { response } = await client.POST("/delete_log_stream/{id}", { params: { path: { id, }, }, }); if (response.status !== 200) { const err = await response.json(); reportHttpError("DELETE", response.url, err); toast("error", err.message); } }; } export function useRotateWebhookSecret(): (id: string) => Promise<void> { const deploymentUrl = useDeploymentUrl(); const adminKey = useAdminKey(); const { reportHttpError } = useContext(DeploymentInfoContext); return async (id: string) => { const client = createDeploymentClient(deploymentUrl, adminKey); const { response } = await client.POST("/rotate_webhook_secret/{id}", { params: { path: { id, }, }, }); if (response.status !== 200) { const err = await response.json(); reportHttpError("POST", response.url, err); toast("error", err.message); } }; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/get-convex/convex-backend'

If you have feedback or need assistance with the MCP directory API, please join our Discord server