ReferenciaContrato API tipado de CommunityÍndice
Referencia

Contrato API tipado de Community

templates/shared/api-contract.ts es la fuente de los tipos públicos de autenticación, usuarios, espacios, organizaciones, facturación y administración. Las tres plantillas frontend incluyen una copia idéntica para que también puedan compilarse por separado; packages/cli/test/api-contract.test.js impide que diverjan. Al cambiar el contrato, actualiza las tres copias.

El contrato distingue las formas recibidas por HTTP (UserWire y AuthenticationWire) de las formas normalizadas que usan las páginas (User y Authentication). Los clientes aceptan snake_case y camelCase para los campos de usuario y token. Las diferencias de rutas de billing entre FastAPI y NestJS siguen resueltas por los adaptadores existentes.

CoreApi describe las operaciones presentes en los tres backends. OrganizationApi y BillingApi describen capacidades que Fastify no ofrece: este backend solo admite el modelo individual. AdminApi describe las consultas administrativas; los tres backends ofrecen acceso, resumen y usuarios, pero solo FastAPI y NestJS ofrecen organizaciones y suscripciones. Astro sin la extensión de billing tampoco muestra flujos de organización o facturación. La selección real de capacidades permanece en el manifiesto de las plantillas y en el contexto de POST /workspaces/bootstrap. Para administración, GET /admin/access anuncia los recursos disponibles. Consulta los modelos de producto y la guía de administración.

Las pruebas HTTP de proyectos generados verifican los contratos de backend y frontend en las combinaciones afectadas. TypeScript comprueba las tres plantillas frontend; las respuestas externas siguen siendo datos no fiables y los adaptadores validan o normalizan los campos que usan antes de mostrarlos.

Planes públicos

FastAPI y NestJS ofrecen GET /billing/plans sin sesión, con el límite de peticiones público y Cache-Control: public, max-age=60. La respuesta contiene plans, una lista de objetos con priceId, name, priceLabel (texto o null) y labels (lista de textos). Proceden de STRIPE_PRICE_PLANS; no se consulta Stripe ni se devuelven secretos, clientes o límites internos. Fastify carece de la capacidad billing.plans.public.

¿Ves algo mejorable en esta página?Propón un cambio directamente en GitHub.