mirror of
https://github.com/MeshEnvy/mesh-forge.git
synced 2026-05-05 13:02:42 +02:00
fix: add query indexes
This commit is contained in:
@@ -25,7 +25,7 @@ export const listFailedBuilds = adminQuery({
|
||||
handler: async ctx => {
|
||||
const failedBuilds = await ctx.db
|
||||
.query("builds")
|
||||
.filter(q => q.eq(q.field("status"), "failure"))
|
||||
.withIndex("by_status", q => q.eq("status", "failure"))
|
||||
.order("desc")
|
||||
.collect()
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ export const getByHash = query({
|
||||
handler: async (ctx, args) => {
|
||||
const build = await ctx.db
|
||||
.query("builds")
|
||||
.filter(q => q.eq(q.field("buildHash"), args.buildHash))
|
||||
.withIndex("by_buildHash", q => q.eq("buildHash", args.buildHash))
|
||||
.unique()
|
||||
return build ?? null
|
||||
},
|
||||
@@ -146,7 +146,7 @@ export const upsertBuild = internalMutation({
|
||||
// Check if build already exists with this hash
|
||||
const existingBuild = await ctx.db
|
||||
.query("builds")
|
||||
.filter(q => q.eq(q.field("buildHash"), args.buildHash))
|
||||
.withIndex("by_buildHash", q => q.eq("buildHash", args.buildHash))
|
||||
.unique()
|
||||
|
||||
const { status, buildHash, config, flags } = args
|
||||
@@ -205,7 +205,7 @@ export const ensureBuildFromConfig = mutation({
|
||||
|
||||
const existingBuild = await ctx.db
|
||||
.query("builds")
|
||||
.filter(q => q.eq(q.field("buildHash"), buildHash))
|
||||
.withIndex("by_buildHash", q => q.eq("buildHash", buildHash))
|
||||
.unique()
|
||||
|
||||
if (existingBuild) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export const list = query({
|
||||
|
||||
return await ctx.db
|
||||
.query("profiles")
|
||||
.filter(q => q.eq(q.field("userId"), userId))
|
||||
.withIndex("by_userId", q => q.eq("userId", userId))
|
||||
.collect()
|
||||
},
|
||||
})
|
||||
@@ -21,7 +21,7 @@ export const listPublic = query({
|
||||
handler: async ctx => {
|
||||
const allProfiles = await ctx.db
|
||||
.query("profiles")
|
||||
.filter(q => q.eq(q.field("isPublic"), true))
|
||||
.withIndex("by_isPublic", q => q.eq("isPublic", true))
|
||||
.collect()
|
||||
return allProfiles.sort((a, b) => (b.flashCount ?? 0) - (a.flashCount ?? 0))
|
||||
},
|
||||
|
||||
@@ -49,8 +49,8 @@ export const userSettingsFields = {
|
||||
|
||||
export const schema = defineSchema({
|
||||
...authTables,
|
||||
profiles: defineTable(profileFields),
|
||||
builds: defineTable(buildFields),
|
||||
profiles: defineTable(profileFields).index("by_userId", ["userId"]).index("by_isPublic", ["isPublic"]),
|
||||
builds: defineTable(buildFields).index("by_buildHash", ["buildHash"]).index("by_status", ["status"]),
|
||||
plugins: defineTable(pluginFields).index("by_slug", ["slug"]),
|
||||
userSettings: defineTable(userSettingsFields).index("by_user", ["userId"]),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user