refactor: use Convex skip sentinel in query args

This commit is contained in:
Esdras Renan 2025-11-01 02:31:17 -03:00
parent 3de7eccaa8
commit bd2f22d046
32 changed files with 167 additions and 157 deletions

View file

@ -44,12 +44,12 @@ export function BacklogReport() {
const tenantId = session?.user.tenantId ?? DEFAULT_TENANT_ID
const enabled = Boolean(isStaff && convexUserId)
const data = useQuery(
enabled ? api.reports.backlogOverview : undefined,
enabled ? { tenantId, viewerId: convexUserId as Id<"users">, range: timeRange, companyId: companyId === "all" ? undefined : (companyId as Id<"companies">) } : undefined
api.reports.backlogOverview,
enabled ? { tenantId, viewerId: convexUserId as Id<"users">, range: timeRange, companyId: companyId === "all" ? undefined : (companyId as Id<"companies">) } : "skip"
)
const companies = useQuery(
enabled ? api.companies.list : undefined,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : undefined
api.companies.list,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : "skip"
) as Array<{ id: Id<"companies">; name: string }> | undefined
const mostCriticalPriority = useMemo(() => {

View file

@ -63,8 +63,8 @@ export function CompanyReport() {
const [timeRange, setTimeRange] = useState<"7d" | "30d" | "90d">("30d")
const companies = useQuery(
isStaff && convexUserId ? api.companies.list : undefined,
isStaff && convexUserId ? { tenantId, viewerId: convexUserId as Id<"users"> } : undefined
api.companies.list,
isStaff && convexUserId ? { tenantId, viewerId: convexUserId as Id<"users"> } : "skip"
) as CompanyRecord[] | undefined
useEffect(() => {
@ -74,7 +74,7 @@ export function CompanyReport() {
}, [companies, selectedCompany])
const report = useQuery(
selectedCompany && convexUserId && isStaff ? api.reports.companyOverview : undefined,
api.reports.companyOverview,
selectedCompany && convexUserId && isStaff
? {
tenantId,
@ -82,7 +82,7 @@ export function CompanyReport() {
companyId: selectedCompany as Id<"companies">,
range: timeRange,
}
: undefined
: "skip"
)
const isLoading = selectedCompany !== "" && report === undefined

View file

@ -29,14 +29,14 @@ export function CsatReport() {
const tenantId = session?.user.tenantId ?? DEFAULT_TENANT_ID
const enabled = Boolean(isStaff && convexUserId)
const data = useQuery(
enabled ? api.reports.csatOverview : undefined,
api.reports.csatOverview,
enabled
? ({ tenantId, viewerId: convexUserId as Id<"users">, range: timeRange, companyId: companyId === "all" ? undefined : (companyId as Id<"companies">) })
: undefined
: "skip"
)
const companies = useQuery(
enabled ? api.companies.list : undefined,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : undefined
api.companies.list,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : "skip"
) as Array<{ id: Id<"companies">; name: string }> | undefined
if (!data) {

View file

@ -50,13 +50,13 @@ export function HoursReport() {
const enabled = Boolean(isStaff && convexUserId)
const data = useQuery(
enabled ? api.reports.hoursByClient : undefined,
enabled ? { tenantId, viewerId: convexUserId as Id<"users">, range: timeRange } : undefined
api.reports.hoursByClient,
enabled ? { tenantId, viewerId: convexUserId as Id<"users">, range: timeRange } : "skip"
) as { rangeDays: number; items: HoursItem[] } | undefined
const companies = useQuery(
enabled ? api.companies.list : undefined,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : undefined
api.companies.list,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : "skip"
) as Array<{ id: Id<"companies">; name: string }> | undefined
const filtered = useMemo(() => {
const items = data?.items ?? []

View file

@ -41,34 +41,34 @@ export function SlaReport() {
const tenantId = session?.user.tenantId ?? DEFAULT_TENANT_ID
const enabled = Boolean(isStaff && convexUserId)
const data = useQuery(
enabled ? api.reports.slaOverview : undefined,
api.reports.slaOverview,
enabled
? ({ tenantId, viewerId: convexUserId as Id<"users">, range: timeRange, companyId: companyId === "all" ? undefined : (companyId as Id<"companies">) })
: undefined
: "skip"
)
const agents = useQuery(
enabled ? api.reports.agentProductivity : undefined,
api.reports.agentProductivity,
enabled
? ({ tenantId, viewerId: convexUserId as Id<"users">, range: timeRange, companyId: companyId === "all" ? undefined : (companyId as Id<"companies">) })
: undefined
: "skip"
) as { rangeDays: number; items: Array<{ agentId: string; name: string | null; email: string | null; open: number; resolved: number; avgFirstResponseMinutes: number | null; avgResolutionMinutes: number | null; workedHours: number }> } | undefined
const openedResolved = useQuery(
enabled ? api.reports.openedResolvedByDay : undefined,
api.reports.openedResolvedByDay,
enabled
? ({ tenantId, viewerId: convexUserId as Id<"users">, range: timeRange, companyId: companyId === "all" ? undefined : (companyId as Id<"companies">) })
: undefined
: "skip"
) as { rangeDays: number; series: Array<{ date: string; opened: number; resolved: number }> } | undefined
const channelsSeries = useQuery(
enabled ? api.reports.ticketsByChannel : undefined,
api.reports.ticketsByChannel,
enabled
? ({ tenantId, viewerId: convexUserId as Id<"users">, range: timeRange, companyId: companyId === "all" ? undefined : (companyId as Id<"companies">) })
: undefined
: "skip"
) as { rangeDays: number; channels: string[]; points: Array<{ date: string; values: Record<string, number> }> } | undefined
const companies = useQuery(
enabled ? api.companies.list : undefined,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : undefined
api.companies.list,
enabled ? { tenantId, viewerId: convexUserId as Id<"users"> } : "skip"
) as Array<{ id: Id<"companies">; name: string }> | undefined
const queueTotal = useMemo(