Fix open ticket pagination and CSAT fallback

This commit is contained in:
Esdras Renan 2025-11-12 22:24:31 -03:00
parent 1ba1f4a63c
commit f9a72c8154

View file

@ -134,25 +134,18 @@ export async function fetchOpenScopedTickets(
const seen = new Set<string>();
for (const status of statuses) {
await paginateTickets(
() =>
ctx.db
.query("tickets")
.withIndex("by_tenant_status", (q) => q.eq("tenantId", tenantId).eq("status", status))
.order("desc"),
(ticket) => {
if (scopedCompanyId && ticket.companyId !== scopedCompanyId) {
return;
}
if (!OPEN_STATUSES.has(normalizeStatus(ticket.status))) {
return;
}
const key = String(ticket._id);
if (seen.has(key)) return;
seen.add(key);
results.push(ticket);
},
);
const snapshot = await ctx.db
.query("tickets")
.withIndex("by_tenant_status", (q) => q.eq("tenantId", tenantId).eq("status", status))
.collect();
for (const ticket of snapshot) {
if (!OPEN_STATUSES.has(normalizeStatus(ticket.status))) continue;
if (scopedCompanyId && ticket.companyId !== scopedCompanyId) continue;
const key = String(ticket._id);
if (seen.has(key)) continue;
seen.add(key);
results.push(ticket);
}
}
return results;