import { defineSchema, defineTable } from "convex/server"; import { v } from "convex/values"; import { authTables } from "@convex-dev/auth/server"; const schema = defineSchema({ ...authTables, projects: defineTable({ userId: v.id("users"), name: v.string(), isDefault: v.boolean(), dorkingConfig: v.object({ selectedSourceIds: v.array(v.id("dataSources")), }), }), dataSources: defineTable({ projectId: v.id("projects"), type: v.literal("website"), url: v.string(), name: v.string(), analysisStatus: v.union( v.literal("pending"), v.literal("completed"), v.literal("failed") ), analysisResults: v.optional( v.object({ features: v.array(v.string()), painPoints: v.array(v.string()), keywords: v.array(v.string()), summary: v.string(), }) ), metadata: v.optional(v.any()), }), }); export default schema;