@better-s3/db
v5.0.0
Published
Optional FumaDB persistence for better-s3 — db() plugin + storage_object schema
Maintainers
Readme
@better-s3/db
Optional FumaDB persistence for better-s3 — storage_object table via the db() plugin.
Docs: Setup · Hooks · Example: examples/with-db
import { BetterS3DB, db } from "@better-s3/db";
import { betterS3 } from "@better-s3/server";
import { drizzleAdapter } from "fumadb/adapters/drizzle";
export const betterS3Db = BetterS3DB.client(
drizzleAdapter({ db: drizzleDb, provider: "sqlite" }),
);
export const s3 = betterS3({
s3: s3Client,
defaultBucket,
upload: { enabled: true },
multipart: { enabled: true },
download: { enabled: true },
delete: { enabled: true },
plugins: [
db({
client: betterS3Db,
resolveScope: async (request) => {
const session = await getSession(request);
return session ? `user:${session.userId}` : null;
},
}),
],
});
s3.db.objects.listByScope({ scope });Copy-paste schemas (with indexes): drizzle.ts · schema.prisma
