summaryrefslogtreecommitdiff
path: root/app/routes/api-bands.tsx
diff options
context:
space:
mode:
authoryyamashita <yyamashita@mosquit.one>2026-05-10 00:21:04 +0900
committeryyamashita <yyamashita@mosquit.one>2026-05-10 00:21:04 +0900
commit184e6947707ecdf07dfa3a5cbc6e51cf9440e93a (patch)
tree77a75c2225ad7beafecac15ef90d0cc6cfe5871b /app/routes/api-bands.tsx
parent0e12e7238f48ffc2a5d35dae059c2f00c7250f3b (diff)
Add members table with membership period and note support
Replace band_artists + member_periods with a single members table (id, band_id, artist_id, role, since, until, note, order_index). Each row represents one membership period, so rejoining artists get multiple rows. Existing band_artists data is auto-migrated on startup. Export format bumped to version 3. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'app/routes/api-bands.tsx')
-rw-r--r--app/routes/api-bands.tsx4
1 files changed, 2 insertions, 2 deletions
diff --git a/app/routes/api-bands.tsx b/app/routes/api-bands.tsx
index 64a9269..68efdeb 100644
--- a/app/routes/api-bands.tsx
+++ b/app/routes/api-bands.tsx
@@ -1,5 +1,5 @@
import type { ActionFunctionArgs } from "react-router";
-import { createBand, getIpAddress, listBands, toSlug } from "~/lib/db.server";
+import { createBand, getIpAddress, listBands, toSlug, type MemberInput } from "~/lib/db.server";
export function loader() {
return Response.json(listBands());
@@ -33,7 +33,7 @@ export async function action({ request }: ActionFunctionArgs) {
description: (body.description as string) || null,
status: (body.status as string) || "active",
links: (body.links as { label: string; url: string }[]) || [],
- artists: (body.artists as { id: string; role: string | null }[]) || [],
+ members: (body.members as MemberInput[]) || [],
message: (body.message as string) || "API import",
ip_address: getIpAddress(request),
});