feat: add drizzle
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
import { betterAuth } from "better-auth";
|
||||
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
||||
import { genericOAuth } from "better-auth/plugins";
|
||||
import { expo } from "@better-auth/expo";
|
||||
import { Pool } from "pg";
|
||||
import { drizzleSchema } from "@money/shared/db";
|
||||
import { db } from "./db";
|
||||
|
||||
export const auth = betterAuth({
|
||||
database: new Pool({
|
||||
connectionString: process.env.DATABASE_URL,
|
||||
database: drizzleAdapter(db, {
|
||||
schema: drizzleSchema,
|
||||
provider: "pg",
|
||||
usePlural: true,
|
||||
}),
|
||||
trustedOrigins: ["money://", "http://localhost:8081"],
|
||||
plugins: [
|
||||
|
||||
9
api/src/db.ts
Normal file
9
api/src/db.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { getDb } from "@money/shared/db";
|
||||
|
||||
if (!process.env.ZERO_UPSTREAM_DB) {
|
||||
throw new Error("ZERO_UPSTREAM_DB is not set");
|
||||
}
|
||||
|
||||
export const db = getDb({
|
||||
connectionString: process.env.ZERO_UPSTREAM_DB,
|
||||
});
|
||||
@@ -13,6 +13,7 @@ import {
|
||||
createMutators as createMutatorsShared,
|
||||
queries,
|
||||
schema,
|
||||
type Mutators,
|
||||
} from "@money/shared";
|
||||
import type { AuthData } from "@money/shared/auth";
|
||||
import { getHono } from "./hono";
|
||||
@@ -25,11 +26,18 @@ const processor = new PushProcessor(
|
||||
),
|
||||
);
|
||||
|
||||
const createMutators = (authData: AuthData | null) => {
|
||||
const mutators = createMutatorsShared(authData);
|
||||
return {
|
||||
...mutators,
|
||||
} as const satisfies Mutators;
|
||||
}
|
||||
|
||||
const zero = getHono()
|
||||
.post("/mutate", async (c) => {
|
||||
const authData = c.get("auth");
|
||||
|
||||
const result = await processor.process(createMutatorsShared(authData), c.req.raw);
|
||||
const result = await processor.process(createMutators(authData), c.req.raw);
|
||||
|
||||
return c.json(result);
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user