This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# bknd + SvelteKit Example
|
||||
# userbase + SvelteKit Example
|
||||
|
||||
This example shows how to integrate bknd with SvelteKit.
|
||||
This example shows how to integrate userbase with SvelteKit.
|
||||
|
||||
## Setup
|
||||
|
||||
@@ -11,8 +11,8 @@ bun run dev
|
||||
|
||||
## How it works
|
||||
|
||||
1. **`bknd.config.ts`** - bknd configuration with database connection, schema, and seed data
|
||||
2. **`src/hooks.server.ts`** - Routes `/api/*` requests to bknd
|
||||
1. **`userbase.config.ts`** - userbase configuration with database connection, schema, and seed data
|
||||
2. **`src/hooks.server.ts`** - Routes `/api/*` requests to userbase
|
||||
3. **`src/routes/+page.server.ts`** - Uses `getApp()` to fetch data server-side
|
||||
|
||||
## API Endpoints
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { SvelteKitBkndConfig } from "bknd/adapter/sveltekit";
|
||||
import { em, entity, text, libsql } from "bknd";
|
||||
import type { SvelteKitUserbaseConfig } from "userbase/adapter/sveltekit";
|
||||
import { em, entity, text, libsql } from "userbase";
|
||||
import { createClient } from "@libsql/client";
|
||||
|
||||
const schema = em({
|
||||
@@ -21,7 +21,7 @@ export default {
|
||||
enabled: true,
|
||||
allow_register: true,
|
||||
jwt: {
|
||||
issuer: "bknd-sveltekit-example",
|
||||
issuer: "userbase-sveltekit-example",
|
||||
secret: "dev-secret-change-in-production-1234567890abcdef",
|
||||
},
|
||||
roles: {
|
||||
@@ -48,9 +48,9 @@ export default {
|
||||
});
|
||||
|
||||
await ctx.em.mutator("todos").insertMany([
|
||||
{ title: "Learn bknd", done: "true" },
|
||||
{ title: "Learn userbase", done: "true" },
|
||||
{ title: "Build with SvelteKit", done: "false" },
|
||||
]);
|
||||
},
|
||||
},
|
||||
} as const satisfies SvelteKitBkndConfig;
|
||||
} as const satisfies SvelteKitUserbaseConfig;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "bknd-sveltekit-example",
|
||||
"name": "userbase-sveltekit-example",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview",
|
||||
"postinstall": "node node_modules/.bin/bknd copy-assets --out static"
|
||||
"postinstall": "node node_modules/.bin/userbase copy-assets --out static"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^7.0.0",
|
||||
@@ -17,7 +17,7 @@
|
||||
"vite": "^7.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bknd": "file:../../app",
|
||||
"userbase": "file:../../app",
|
||||
"@libsql/client": "^0.15.0"
|
||||
},
|
||||
"type": "module"
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import type { Handle } from "@sveltejs/kit";
|
||||
import { serve } from "bknd/adapter/sveltekit";
|
||||
import { serve } from "userbase/adapter/sveltekit";
|
||||
import { env } from "$env/dynamic/private";
|
||||
import config from "../bknd.config";
|
||||
import config from "../userbase.config";
|
||||
|
||||
const bkndHandler = serve(config, env);
|
||||
const userbaseHandler = serve(config, env);
|
||||
|
||||
export const handle: Handle = async ({ event, resolve }) => {
|
||||
// Handle bknd API requests
|
||||
// Handle userbase API requests
|
||||
const pathname = event.url.pathname;
|
||||
if (pathname.startsWith("/api/") || pathname.startsWith("/admin")) {
|
||||
const res = await bkndHandler(event);
|
||||
const res = await userbaseHandler(event);
|
||||
if (res.status !== 404) {
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { PageServerLoad } from "./$types";
|
||||
import { getApp } from "bknd/adapter/sveltekit";
|
||||
import { getApp } from "userbase/adapter/sveltekit";
|
||||
import { env } from "$env/dynamic/private";
|
||||
import config from "../../bknd.config";
|
||||
import config from "../../userbase.config";
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
const app = await getApp(config, env);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
let { data }: { data: PageData } = $props();
|
||||
</script>
|
||||
|
||||
<h1>bknd + SvelteKit Example</h1>
|
||||
<h1>userbase + SvelteKit Example</h1>
|
||||
|
||||
<h2>Todos</h2>
|
||||
<ul>
|
||||
|
||||
Reference in New Issue
Block a user