import { v } from "convex/values";
import { internalMutation, mutation, query } from "./_generated/server";

export const get = query({
  args: {},
  handler: async (ctx) => {
    return await ctx.db.query("rooms").collect();
  },
});

export const getById = query({
  args: {
    roomId: v.id("rooms"),
  },
  handler: async (ctx, args) => {
    return await ctx.db.get(args.roomId);
  },
});

export const updateMetadata = mutation({
  args: {
    roomId: v.id("rooms"),
    metadata: v.optional(v.any()),
  },
  handler: async (ctx, args) => {
    return await ctx.db.patch(args.roomId, { metadata: args.metadata });
  },
});

export const updateRoomRadioState = internalMutation({
  args: {
    roomId: v.id("rooms"),
    radioState: v.optional(v.any()),
  },
  handler: async (ctx, args) => {
    return await ctx.db.patch(args.roomId, { radioState: args.radioState });
  },
});
