A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at main 42 lines 1.1 kB view raw
1import drizzle from "./drizzle.ts"; 2import { configure, getConsoleSink, getLogger } from "@logtape/logtape"; 3import { getPrettyFormatter } from "@logtape/pretty"; 4import { DidResolver } from "@atp/identity"; 5import { AuthVerifier } from "./utils/auth.ts"; 6import { env } from "./utils/env.ts"; 7 8await configure({ 9 sinks: { 10 console: getConsoleSink({ 11 formatter: getPrettyFormatter({ 12 properties: true, 13 categoryStyle: "underline", 14 messageColor: "rgb(255, 255, 255)", 15 categoryColor: "rgb(255, 255, 255)", 16 messageStyle: "reset", 17 }), 18 }), 19 }, 20 loggers: [ 21 { category: "feedgen", lowestLevel: "info", sinks: ["console"] }, 22 { category: ["logtape", "meta"], lowestLevel: "error", sinks: ["console"] }, 23 ], 24}); 25 26const logger = getLogger("feedgen"); 27const ownDid = `did:web:${env.ROCKSKY_FEEDGEN_DOMAIN}`; 28const didResolver = new DidResolver({}); 29const authVerifier = new AuthVerifier(ownDid, didResolver); 30 31export const ctx = { 32 db: drizzle.db, 33 logger, 34 ownDid, 35 authVerifier, 36}; 37 38export type Context = typeof ctx; 39 40export type AppEnv = { 41 Bindings: Context; 42};