feat: add interactive api docs, rewrite run endpoint with hono and zod validator

This commit is contained in:
BennyKok
2024-01-09 14:00:16 +08:00
parent e921d4c320
commit 7d36f8af88
11 changed files with 756 additions and 190 deletions
@@ -0,0 +1,39 @@
"use client";
import "./SwaggerUIClient.css";
import type { ComponentProps } from "react";
import React from "react";
import _SwaggerUI from "swagger-ui-react";
import "swagger-ui-react/swagger-ui.css";
// Create the layout component
class AugmentingLayout extends React.Component {
render() {
const { getComponent } = this.props;
const BaseLayout = getComponent("BaseLayout", true);
return (
<div className="not-prose">
<BaseLayout />
</div>
);
}
}
const AugmentingLayoutPlugin = () => {
return {
components: {
AugmentingLayout: AugmentingLayout,
},
};
};
export default function SwaggerUI(props: ComponentProps<typeof _SwaggerUI>) {
return (
<_SwaggerUI
{...props}
persistAuthorization={true}
plugins={[AugmentingLayoutPlugin]}
layout="AugmentingLayout"
/>
);
}