Scratch space for learning atproto app development
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

revert some style changes

+13 -19
+3 -2
src/context.ts
··· 3 3 import { pino } from 'pino' 4 4 5 5 import { createOAuthClient } from '#/auth/client' 6 - import { createDb, Database } from '#/db' 6 + import { createDb, Database, migrateToLatest } from '#/db' 7 7 import { createIngester } from '#/ingester' 8 8 import { env } from '#/env' 9 9 ··· 19 19 } 20 20 21 21 export async function createAppContext(): Promise<AppContext> { 22 - const db = await createDb() 22 + const db = createDb(env.DB_PATH) 23 + await migrateToLatest(db) 23 24 const oauthClient = await createOAuthClient(db) 24 25 const ingester = createIngester(db) 25 26 const logger = pino({ name: 'server', level: env.LOG_LEVEL })
+10 -17
src/db.ts
··· 1 1 import SqliteDb from 'better-sqlite3' 2 2 import { 3 3 Kysely, 4 - Migration, 5 - MigrationProvider, 6 4 Migrator, 7 5 SqliteDialect, 6 + Migration, 7 + MigrationProvider, 8 8 } from 'kysely' 9 - 10 - import { env } from '#/env' 11 9 12 10 // Types 13 11 ··· 79 77 80 78 // APIs 81 79 82 - export async function createDb(options?: { 83 - /** @default true */ 84 - migrate?: boolean 85 - }): Promise<Database> { 86 - const db = new Kysely<DatabaseSchema>({ 80 + export const createDb = (location: string): Database => { 81 + return new Kysely<DatabaseSchema>({ 87 82 dialect: new SqliteDialect({ 88 - database: new SqliteDb(env.DB_PATH), 83 + database: new SqliteDb(location), 89 84 }), 90 85 }) 86 + } 91 87 92 - if (options?.migrate !== false) { 93 - const migrator = new Migrator({ db, provider: migrationProvider }) 94 - const { error } = await migrator.migrateToLatest() 95 - if (error) throw error 96 - } 97 - 98 - return db 88 + export const migrateToLatest = async (db: Database) => { 89 + const migrator = new Migrator({ db, provider: migrationProvider }) 90 + const { error } = await migrator.migrateToLatest() 91 + if (error) throw error 99 92 } 100 93 101 94 export type Database = Kysely<DatabaseSchema>