diff --git a/src/server/report-exporters.ts b/src/server/report-exporters.ts index d91eb4e..7dbef74 100644 --- a/src/server/report-exporters.ts +++ b/src/server/report-exporters.ts @@ -7,6 +7,7 @@ import type { Id } from "@/convex/_generated/dataModel" import { env } from "@/lib/env" import { buildXlsxWorkbook } from "@/lib/xlsx" import { REPORT_EXPORT_DEFINITIONS, type ReportExportKey } from "@/lib/report-definitions" +export type { ReportExportKey } type ViewerIdentity = { tenantId: string @@ -53,7 +54,7 @@ export type ReportArtifact = { type BaseOptions = { range?: string - companyId?: string + companyId?: string | null } export async function buildHoursWorkbook( @@ -123,7 +124,7 @@ export async function buildHoursWorkbook( options.companyId ? `-${options.companyId}` : "" }${options.search ? `-${encodeURIComponent(options.search)}` : ""}.xlsx` - const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) + const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) as ArrayBuffer return { fileName, mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @@ -139,7 +140,7 @@ export async function buildBacklogWorkbook( tenantId: ctx.tenantId, viewerId: ctx.viewerId, range: options.range, - companyId: options.companyId as Id<"companies"> | undefined, + companyId: (options.companyId ?? undefined) as Id<"companies"> | undefined, }) const summaryRows: Array> = [ @@ -186,7 +187,7 @@ export async function buildBacklogWorkbook( options.companyId ? `-${options.companyId}` : "" }.xlsx` - const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) + const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) as ArrayBuffer return { fileName, mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @@ -202,7 +203,7 @@ export async function buildSlaWorkbook( tenantId: ctx.tenantId, viewerId: ctx.viewerId, range: options.range, - companyId: options.companyId as Id<"companies"> | undefined, + companyId: (options.companyId ?? undefined) as Id<"companies"> | undefined, }) const summaryRows: Array> = [ @@ -234,7 +235,7 @@ export async function buildSlaWorkbook( options.companyId ? `-${options.companyId}` : "" }.xlsx` - const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) + const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) as ArrayBuffer return { fileName, mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @@ -250,7 +251,7 @@ export async function buildCsatWorkbook( tenantId: ctx.tenantId, viewerId: ctx.viewerId, range: options.range, - companyId: options.companyId as Id<"companies"> | undefined, + companyId: (options.companyId ?? undefined) as Id<"companies"> | undefined, }) const summaryRows: Array> = [ @@ -286,7 +287,7 @@ export async function buildCsatWorkbook( options.companyId ? `-${options.companyId}` : "" }.xlsx` - const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) + const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) as ArrayBuffer return { fileName, mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @@ -302,7 +303,7 @@ export async function buildTicketsByChannelWorkbook( tenantId: ctx.tenantId, viewerId: ctx.viewerId, range: options.range, - companyId: options.companyId as Id<"companies"> | undefined, + companyId: (options.companyId ?? undefined) as Id<"companies"> | undefined, }) const CHANNEL_PT: Record = { @@ -342,7 +343,7 @@ export async function buildTicketsByChannelWorkbook( options.companyId ? `-${options.companyId}` : "" }.xlsx` - const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) + const arrayBuffer = workbook.buffer.slice(workbook.byteOffset, workbook.byteOffset + workbook.byteLength) as ArrayBuffer return { fileName, mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",