Skip to main content

connect-api

Wire a frontend page in the Authgear Site Admin Portal to the real Site Admin API, replacing mock data from src/data/. Use this skill when asked to connect a page to the API, replace dummy/mock data with live data, implement an API call on a screen, or fetch real data for any page in this project.

Ir a la instalación

Datos de origen

Repositorio
authgear/authgear-site-admin-portal
Última actividad en el origen
9 de junio de 2026 a las 08:20
Idioma detectado de SKILL.md
inglés
Estrellas
0
Forks
3

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
2 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
connect-api
description
Wire a frontend page in the Authgear Site Admin Portal to the real Site Admin API, replacing mock data from src/data/. Use this skill when asked to connect a page to the API, replace dummy/mock data with live data, implement an API call on a screen, or fetch real data for any page in this project.
# Connect API to Page ## Infrastructure All plumbing is already in `src/api/`: | File | Purpose | |---|---| | `types.ts` | TypeScript interfaces matching every schema in the API spec | | `client.ts` | `apiRequest<T>(path, init?)` — uses `authgear.fetch()`, throws `SiteAdminAPIError` on non-2xx | | `siteadmin.ts` | One typed function per operation (see `references/api.md` for full list) | Base URL: `VITE_SITEADMIN_API_URL` env var (set to `https://siteadmin.authgear-staging.com`). ## Steps 1. **Read the page** — understand what mock data it uses and which fields it renders. 2. **Find the operation** — check `references/api.md` for the matching function. If missing from `siteadmin.ts`, add it following the existing pattern. 3. **Add async state** to the component: ```tsx const [data, setData] = useState<T | null>(null); const [loading, setLoading] = useState(true); const [error, setError] = useState<SiteAdminAPIError | null>(null); ``` 4. **Fetch in useEffect**: ```tsx useEffect(() => { setLoading(true); someApiFunction(params) .then(setData) .catch((err: SiteAdminAPIError) => setError(err)) .finally(() => setLoading(false)); }, [deps]); ``` 5. **Map API shape to UI** — API uses `snake_case`; map inside the effect or via `useMemo`. Never rename fields in `src/api/`. 6. **Wire shimmer** — pass `enableShimmer={loading}` to `ShimmeredDetailsList`. 7. **Show errors** — render `<MessageBar messageBarType={MessageBarType.error}>` when `error !== null`. 8. **Remove mock data** — delete the import from `src/data/`. If the data file is now unused, delete it. ## Notes - `authgear.fetch()` auto-refreshes the access token — no manual retry needed. - `listApps` is paginated server-side; do not slice results client-side. - `SiteAdminAPIError` has `.code`, `.errorName`, `.reason`, `.message` fields. - **Date parameters:** the server stores everything in UTC. Always construct date strings using UTC methods — use `/date-handling` for the full rules. ## References See `references/api.md` for the full list of available API operations and response types.
Ver en GitHub