From 1e277062344da43c5ea3fb3fb105f4d9ab40788b Mon Sep 17 00:00:00 2001 From: Bereket Engida Date: Fri, 22 Nov 2024 22:12:09 +0300 Subject: [PATCH] feat: open api docs plugin --- demo/nextjs/lib/auth.ts | 3 +- demo/nextjs/package.json | 1 - docs/app/docs/[[...slug]]/page.tsx | 85 +- docs/app/source.ts | 3 - docs/components/sidebar-content.tsx | 7 + .../docs/(api)/account/link-social.mdx | 13 - .../docs/(api)/account/list-accounts.mdx | 13 - docs/content/docs/(api)/callback/callback.mdx | 13 - .../send-verification-email.mdx | 13 - .../email--verification/verify-email.mdx | 13 - .../forget--password/forget-password.mdx | 13 - .../forget--password/reset-password-token.mdx | 13 - .../(api)/forget--password/reset-password.mdx | 13 - .../docs/(api)/sessions/get-session.mdx | 13 - .../docs/(api)/sessions/list-sessions.mdx | 13 - .../(api)/sessions/revoke-other-sessions.mdx | 13 - .../docs/(api)/sessions/revoke-session.mdx | 13 - .../docs/(api)/sessions/revoke-sessions.mdx | 13 - .../docs/(api)/sign-in/sign-in-email.mdx | 13 - .../docs/(api)/sign-in/sign-in-social.mdx | 13 - docs/content/docs/(api)/sign-out/sign-out.mdx | 13 - .../docs/(api)/sign-up/sign-up-email.mdx | 13 - .../docs/(api)/update-user/change-email.mdx | 13 - .../(api)/update-user/change-password.mdx | 13 - .../docs/(api)/update-user/delete-user.mdx | 13 - .../docs/(api)/update-user/set-password.mdx | 13 - .../docs/(api)/update-user/update-user.mdx | 13 - docs/content/docs/plugins/open-api.mdx | 38 + docs/openapi.json | 7266 ----------------- docs/openapi.yml | 1341 --- docs/package.json | 1 - docs/public/open-api-reference.png | Bin 0 -> 425349 bytes docs/public/openapi.yml | 1341 --- packages/better-auth/package.json | 2 +- .../better-auth/src/api/routes/account.ts | 64 +- .../src/api/routes/email-verification.ts | 97 +- packages/better-auth/src/api/routes/error.ts | 19 +- .../src/api/routes/forget-password.ts | 94 +- packages/better-auth/src/api/routes/ok.ts | 24 +- .../better-auth/src/api/routes/session.ts | 142 +- .../better-auth/src/api/routes/sign-in.ts | 143 +- .../better-auth/src/api/routes/sign-out.ts | 22 + .../better-auth/src/api/routes/sign-up.ts | 54 + .../better-auth/src/api/routes/update-user.ts | 135 +- packages/better-auth/src/plugins/index.ts | 1 + .../src/plugins/open-api/generator.ts | 434 + .../src/plugins/open-api}/index.ts | 19 +- .../better-auth/src/plugins/open-api/logo.ts | 10 + .../src/plugins/organization/organization.ts | 42 + .../organization/routes/crud-invites.ts | 217 +- .../organization/routes/crud-members.ts | 119 +- .../plugins/organization/routes/crud-org.ts | 177 +- packages/open-api/package.json | 28 - packages/open-api/src/generator.ts | 227 - packages/open-api/tsconfig.json | 20 - packages/open-api/tsup.config.ts | 11 - pnpm-lock.yaml | 34 +- 57 files changed, 1846 insertions(+), 10661 deletions(-) delete mode 100644 docs/content/docs/(api)/account/link-social.mdx delete mode 100644 docs/content/docs/(api)/account/list-accounts.mdx delete mode 100644 docs/content/docs/(api)/callback/callback.mdx delete mode 100644 docs/content/docs/(api)/email--verification/send-verification-email.mdx delete mode 100644 docs/content/docs/(api)/email--verification/verify-email.mdx delete mode 100644 docs/content/docs/(api)/forget--password/forget-password.mdx delete mode 100644 docs/content/docs/(api)/forget--password/reset-password-token.mdx delete mode 100644 docs/content/docs/(api)/forget--password/reset-password.mdx delete mode 100644 docs/content/docs/(api)/sessions/get-session.mdx delete mode 100644 docs/content/docs/(api)/sessions/list-sessions.mdx delete mode 100644 docs/content/docs/(api)/sessions/revoke-other-sessions.mdx delete mode 100644 docs/content/docs/(api)/sessions/revoke-session.mdx delete mode 100644 docs/content/docs/(api)/sessions/revoke-sessions.mdx delete mode 100644 docs/content/docs/(api)/sign-in/sign-in-email.mdx delete mode 100644 docs/content/docs/(api)/sign-in/sign-in-social.mdx delete mode 100644 docs/content/docs/(api)/sign-out/sign-out.mdx delete mode 100644 docs/content/docs/(api)/sign-up/sign-up-email.mdx delete mode 100644 docs/content/docs/(api)/update-user/change-email.mdx delete mode 100644 docs/content/docs/(api)/update-user/change-password.mdx delete mode 100644 docs/content/docs/(api)/update-user/delete-user.mdx delete mode 100644 docs/content/docs/(api)/update-user/set-password.mdx delete mode 100644 docs/content/docs/(api)/update-user/update-user.mdx create mode 100644 docs/content/docs/plugins/open-api.mdx delete mode 100644 docs/openapi.json delete mode 100644 docs/openapi.yml create mode 100644 docs/public/open-api-reference.png delete mode 100644 docs/public/openapi.yml create mode 100644 packages/better-auth/src/plugins/open-api/generator.ts rename packages/{open-api/src => better-auth/src/plugins/open-api}/index.ts (65%) create mode 100644 packages/better-auth/src/plugins/open-api/logo.ts delete mode 100644 packages/open-api/package.json delete mode 100644 packages/open-api/src/generator.ts delete mode 100644 packages/open-api/tsconfig.json delete mode 100644 packages/open-api/tsup.config.ts diff --git a/demo/nextjs/lib/auth.ts b/demo/nextjs/lib/auth.ts index dc9ef818..72c629c1 100644 --- a/demo/nextjs/lib/auth.ts +++ b/demo/nextjs/lib/auth.ts @@ -8,7 +8,7 @@ import { twoFactor, oneTap, oAuthProxy, - createAuthEndpoint, + openAPI, } from "better-auth/plugins"; import { reactInvitationEmail } from "./email/invitation"; import { LibsqlDialect } from "@libsql/kysely-libsql"; @@ -18,7 +18,6 @@ import { MysqlDialect } from "kysely"; import { createPool } from "mysql2/promise"; import { nextCookies } from "better-auth/next-js"; import { customSession } from "./auth/plugins/custom-session"; -import { openAPI } from "@better-auth/open-api"; const from = process.env.BETTER_AUTH_EMAIL || "delivered@resend.dev"; const to = process.env.TEST_EMAIL || ""; diff --git a/demo/nextjs/package.json b/demo/nextjs/package.json index 1720e599..6dfbca50 100644 --- a/demo/nextjs/package.json +++ b/demo/nextjs/package.json @@ -11,7 +11,6 @@ "lint": "next lint" }, "dependencies": { - "@better-auth/open-api": "workspace:1.0.0-canary.12", "@better-fetch/fetch": "1.1.12", "@hookform/resolvers": "^3.9.0", "@libsql/client": "^0.12.0", diff --git a/docs/app/docs/[[...slug]]/page.tsx b/docs/app/docs/[[...slug]]/page.tsx index a0d4fcce..86d90687 100644 --- a/docs/app/docs/[[...slug]]/page.tsx +++ b/docs/app/docs/[[...slug]]/page.tsx @@ -14,7 +14,6 @@ import { ForkButton } from "@/components/fork-button"; import Link from "next/link"; import defaultMdxComponents from "fumadocs-ui/mdx"; import { AutoTypeTable } from "fumadocs-typescript/ui"; -import { openapi } from '@/app/source'; export default async function Page({ params, @@ -74,11 +73,9 @@ export default async function Page({ Features, ForkButton, DatabaseTable, - APIPage: openapi.APIPage, iframe: (props) => (