minor db schema, auth changes (prep)
This commit is contained in:
parent
25b2090961
commit
1759f30358
@ -1 +1,5 @@
|
|||||||
DATABASE_URL=local.db
|
DATABASE_URL=local.db
|
||||||
|
AUTH_DOMAIN=auth.lab.cazzzer.com
|
||||||
|
AUTH_CLIENT_ID=
|
||||||
|
AUTH_CLIENT_SECRET=
|
||||||
|
AUTH_REDIRECT_URI=
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import type { Handle } from '@sveltejs/kit';
|
import type { Handle } from '@sveltejs/kit';
|
||||||
import { dev } from '$app/environment';
|
import { dev } from '$app/environment';
|
||||||
import * as auth from '$lib/server/auth.js';
|
import * as auth from '$lib/server/auth';
|
||||||
|
|
||||||
const handleAuth: Handle = async ({ event, resolve }) => {
|
const handleAuth: Handle = async ({ event, resolve }) => {
|
||||||
const sessionId = event.cookies.get(auth.sessionCookieName);
|
const sessionId = event.cookies.get(auth.sessionCookieName);
|
||||||
|
@ -10,8 +10,7 @@ export const sessionCookieName = 'auth-session';
|
|||||||
|
|
||||||
function generateSessionToken(): string {
|
function generateSessionToken(): string {
|
||||||
const bytes = crypto.getRandomValues(new Uint8Array(20));
|
const bytes = crypto.getRandomValues(new Uint8Array(20));
|
||||||
const token = encodeBase32LowerCaseNoPadding(bytes);
|
return encodeBase32LowerCaseNoPadding(bytes);
|
||||||
return token;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function createSession(userId: string): Promise<table.Session> {
|
export async function createSession(userId: string): Promise<table.Session> {
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import { drizzle } from 'drizzle-orm/better-sqlite3';
|
import { drizzle } from 'drizzle-orm/better-sqlite3';
|
||||||
import Database from 'better-sqlite3';
|
import Database from 'better-sqlite3';
|
||||||
import { env } from '$env/dynamic/private';
|
import { env } from '$env/dynamic/private';
|
||||||
if (!env.DATABASE_URL) throw new Error('DATABASE_URL is not set');
|
import assert from 'node:assert';
|
||||||
|
|
||||||
|
assert(env.DATABASE_URL, 'DATABASE_URL is not set');
|
||||||
const client = new Database(env.DATABASE_URL);
|
const client = new Database(env.DATABASE_URL);
|
||||||
export const db = drizzle(client);
|
export const db = drizzle(client);
|
||||||
|
@ -2,7 +2,8 @@ import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
|
|||||||
|
|
||||||
export const user = sqliteTable('user', {
|
export const user = sqliteTable('user', {
|
||||||
id: text('id').primaryKey(),
|
id: text('id').primaryKey(),
|
||||||
age: integer('age')
|
username: text('username').notNull(),
|
||||||
|
name: text('name').notNull(),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const session = sqliteTable('session', {
|
export const session = sqliteTable('session', {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user