A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at main 24 lines 699 B view raw
1import drizzle from "./drizzle"; 2import sqliteKv from "sqliteKv"; 3import { createBidirectionalResolver, createIdResolver } from "lib/idResolver"; 4import { createStorage } from "unstorage"; 5import envpaths from "env-paths"; 6import fs from "node:fs"; 7 8fs.mkdirSync(envpaths("rocksky", { suffix: "" }).data, { recursive: true }); 9const kvPath = `${envpaths("rocksky", { suffix: "" }).data}/rocksky-kv.sqlite`; 10 11const kv = createStorage({ 12 driver: sqliteKv({ location: kvPath, table: "kv" }), 13}); 14 15const baseIdResolver = createIdResolver(kv); 16 17export const ctx = { 18 db: drizzle.db, 19 resolver: createBidirectionalResolver(baseIdResolver), 20 baseIdResolver, 21 kv, 22}; 23 24export type Context = typeof ctx;