@gigamusic/admin
v4.4.0
Published
Server-only admin API handler factories for the gigamusic platform (releases CRUD, tracks, uploads, settings, links, orders).
Readme
@gigamusic/admin
Server-only admin API handler factories for the gigamusic platform: releases CRUD, track uploads, settings, links, and orders. Auth is the consumer's responsibility — these handlers trust that the request has been gated upstream (typically via the consumer's proxy.ts or middleware).
// app/api/admin/releases/route.ts (consumer)
import { createAdminReleasesHandlers } from "@gigamusic/admin/server";
import { queries, storage, audio } from "@/lib/server";
const handlers = createAdminReleasesHandlers({ queries, storage, audio });
export const GET = handlers.GET;
export const POST = handlers.POST;Each factory takes a slice of AdminDeps:
import type { AdminDeps } from "@gigamusic/admin/server";
const deps: AdminDeps = {
queries, // from createQueries(prisma)
storage, // from createR2Provider(...)
audio, // import * as audio from "@gigamusic/audio"
logger, // optional — defaults to no-op
};Available factories:
createAdminReleasesHandlers,createAdminReleaseByIdHandlerscreateAdminUploadPresignHandler,createAdminUploadProcessHandlercreateAdminSettingsHandlerscreateAdminLinksHandlerscreateAdminOrdersHandler
The admin UI is the consumer's responsibility — write whatever pages you want and wire them to these handlers.
