mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 12:37:20 +00:00
updated `hooks.server.ts` to handle `/admin` routes and prevent fallback for 404 responses. added `adminBasepath` config to match backend paths. introduced assets copying step via `postinstall` script and included `robots.txt` and `favicon.ico` under `static`.
57 lines
1.3 KiB
TypeScript
57 lines
1.3 KiB
TypeScript
import type { SvelteKitBkndConfig } from "bknd/adapter/sveltekit";
|
|
import { em, entity, text, libsql } from "bknd";
|
|
import { createClient } from "@libsql/client";
|
|
|
|
const schema = em({
|
|
todos: entity("todos", {
|
|
title: text().required(),
|
|
done: text(),
|
|
}),
|
|
});
|
|
|
|
export default {
|
|
connection: libsql(
|
|
createClient({
|
|
url: "file:data.db",
|
|
})
|
|
),
|
|
config: {
|
|
data: schema.toJSON(),
|
|
auth: {
|
|
enabled: true,
|
|
allow_register: true,
|
|
jwt: {
|
|
issuer: "bknd-sveltekit-example",
|
|
secret: "dev-secret-change-in-production-1234567890abcdef",
|
|
},
|
|
roles: {
|
|
admin: {
|
|
implicit_allow: true,
|
|
},
|
|
default: {
|
|
permissions: ["data.entity.read", "data.entity.create"],
|
|
is_default: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
adminOptions: {
|
|
// this path must be the same as in `hooks.server.ts`
|
|
adminBasepath: "/admin"
|
|
},
|
|
options: {
|
|
seed: async (ctx) => {
|
|
await ctx.app.module.auth.createUser({
|
|
email: "admin@example.com",
|
|
password: "password",
|
|
role: "admin",
|
|
});
|
|
|
|
await ctx.em.mutator("todos").insertMany([
|
|
{ title: "Learn bknd", done: "true" },
|
|
{ title: "Build with SvelteKit", done: "false" },
|
|
]);
|
|
},
|
|
},
|
|
} as const satisfies SvelteKitBkndConfig;
|