import { authTables } from "@convex-dev/auth/server";
import { defineSchema, defineTable } from "convex/server";
import { v } from "convex/values";

const schema = defineSchema({
  ...authTables,
  // Your other tables...

  rooms: defineTable({
    name: v.string(),
    type: v.optional(v.union(v.literal("radio"), v.literal("jam"))),

    metadata: v.optional(v.any()),
    radioState: v.optional(v.any()),
  }),

  clips: defineTable({
    sunoId: v.string(),
    metadata: v.any(),
    audio_url: v.optional(v.string()),
    title: v.string(),
    status: v.string(),
    image_url: v.optional(v.string()),

    roomId: v.id("rooms"),
    userId: v.id("users"),
  }),
});

export default schema;
