Files
HiveGrid-Wireframes/hivegrid-cloud/apps/web/app/routes/admin/api/docs.tsx
T

30 lines
974 B
TypeScript

import { LoaderFunctionArgs, useLoaderData } from "react-router";
import ApiSpecsService, { ApiSpecsDto } from "~/modules/api/services/ApiSpecsService";
import EditPageLayout from "~/components/ui/layouts/EditPageLayout";
import ApiSpecs from "~/modules/api/components/ApiSpecs";
import { verifyUserHasPermission } from "~/utils/helpers/.server/PermissionsService";
import { useTranslation } from "react-i18next";
type LoaderData = {
apiSpecs: ApiSpecsDto;
};
export const loader = async ({ request }: LoaderFunctionArgs) => {
await verifyUserHasPermission(request, "admin.apiKeys.view");
const apiSpecs = await ApiSpecsService.generateSpecs({ request });
const data: LoaderData = {
apiSpecs,
};
return data;
};
export default function () {
const data = useLoaderData<LoaderData>();
const { t } = useTranslation();
return (
<EditPageLayout title={t("models.entity.apiDocs")}>
<ApiSpecs item={data.apiSpecs} />
</EditPageLayout>
);
}