feat: add auth to webapi

This commit is contained in:
2025-03-06 02:30:04 +08:00
parent 5a4a4d7e3a
commit 383e6340ea
34 changed files with 1716 additions and 613 deletions

View File

@@ -1,33 +1,8 @@
import { Outlet, createRootRoute } from '@tanstack/solid-router';
// import {
// NavigationMenu,
// NavigationMenuItem,
// NavigationMenuLink,
// NavigationMenuTrigger,
// } from '~/components/ui/navigation-menu';
import { Outlet, createRootRouteWithContext } from '@tanstack/solid-router';
import type { RouterContext } from '../auth/context';
export const Route = createRootRoute({
export const Route = createRootRouteWithContext<RouterContext>()({
component: () => {
return (
<>
{/* <div class="sticky inset-x-0 top-0 isolate z-10 flex shrink-0 items-center gap-2 border-b bg-background">
<NavigationMenu orientation="horizontal">
<NavigationMenuItem>
<NavigationMenuTrigger>
<NavigationMenuLink as={Link} to="/">
Home
</NavigationMenuLink>
</NavigationMenuTrigger>
</NavigationMenuItem>
<NavigationMenuItem>
<NavigationMenuLink as={Link} to="/about">
About
</NavigationMenuLink>
</NavigationMenuItem>
</NavigationMenu>
</div> */}
<Outlet />
</>
);
return <Outlet />;
},
});

View File

@@ -0,0 +1,8 @@
import { createFileRoute } from '@tanstack/solid-router';
import { beforeLoadGuard } from '~/auth/guard';
import { AppLayout } from '~/components/layout/app-layout';
export const Route = createFileRoute('/_app')({
component: AppLayout,
beforeLoad: beforeLoadGuard,
});

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router';
export const Route = createFileRoute('/_app/explore')({
component: RouteComponent,
});
function RouteComponent() {
return <div>Hello "/_app/explore"!</div>;
}

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router'
export const Route = createFileRoute('/_app/playground/graphql-api')({
component: RouteComponent,
})
function RouteComponent() {
return <div>Hello "/_app/playground/group-api"!</div>
}

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router';
export const Route = createFileRoute('/_app/subscriptions/create')({
component: RouteComponent,
});
function RouteComponent() {
return <div>Hello "/subscriptions/create"!</div>;
}

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router'
export const Route = createFileRoute('/_app/subscriptions/edit/$subscription-id')({
component: RouteComponent,
})
function RouteComponent() {
return <div>Hello "/subscriptions/edit/$subscription-id"!</div>
}

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router';
export const Route = createFileRoute('/_app/subscriptions/manage')({
component: SubscriptionDashboard,
});
function SubscriptionDashboard() {
return <div>Hello "/subscriptions/manage"!</div>;
}

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router'
export const Route = createFileRoute('/auth/oidc/callback')({
component: RouteComponent,
})
function RouteComponent() {
return <div>Hello "/auth/oidc/callback"!</div>
}

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router';
export const Route = createFileRoute('/auth/sign-in')({
component: RouteComponent,
});
function RouteComponent() {
return <div>Hello "/auth/sign-in"!</div>;
}

View File

@@ -0,0 +1,9 @@
import { createFileRoute } from '@tanstack/solid-router'
export const Route = createFileRoute('/auth/sign-up')({
component: RouteComponent,
})
function RouteComponent() {
return <div>Hello "/auth/sign-up"!</div>
}

View File

@@ -16,6 +16,7 @@ import {
export const Route = createFileRoute('/')({
component: Home,
beforeLoad: async () => {},
});
function Home() {