export const get = query({
args: {
parentDocument: v.optional(v.id("documents")),
isArchived: v.optional(v.boolean()),
},
handler: async (ctx, args) => {
const identity = await ctx.auth.getUserIdentity();
if (!identity) {
throw new Error("Not authenticated");
}
const userId = identity.subject;
const documents = await ctx.db
.query("documents")
.withIndex("by_user_id", (q) => q.eq("userId", userId))
.filter((q) =>
q.and(
q.eq(q.field("isArchived"), !!args.isArchived),
q.eq(q.field("parentDocument"), args.parentDocument),
)
)
.order("desc")
.collect();
return documents;
},
});
export const get = query({
args: {
parentDocument: v.optional(v.id("documents")),
isArchived: v.optional(v.boolean()),
},
handler: async (ctx, args) => {
const identity = await ctx.auth.getUserIdentity();
if (!identity) {
throw new Error("Not authenticated");
}
const userId = identity.subject;
const documents = await ctx.db
.query("documents")
.withIndex("by_user_id", (q) => q.eq("userId", userId))
.filter((q) =>
q.and(
q.eq(q.field("isArchived"), !!args.isArchived),
q.eq(q.field("parentDocument"), args.parentDocument),
)
)
.order("desc")
.collect();
return documents;
},
});