feat: Implement a new dashboard layout with sidebar, introduce project and data source management, and add various UI components.
This commit is contained in:
@@ -1,9 +1,37 @@
|
||||
import { defineSchema, defineTable } from "convex/server";
|
||||
import { v } from "convex/values";
|
||||
import { authTables } from "@convex-dev/auth/server";
|
||||
|
||||
const schema = defineSchema({
|
||||
...authTables,
|
||||
// Your other tables here
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user