import type { BulkUserItem } from "../../../lib/adminApi"; export function parseUserCSV(text: string): BulkUserItem[] { const lines = text.split(/\r?\n/); if (lines.length < 2) { return []; } const headers = lines[0].split(",").map((h) => h.trim().toLowerCase()); const data: BulkUserItem[] = []; for (let i = 1; i < lines.length; i++) { if (!lines[i].trim()) continue; const values = lines[i].split(",").map((v) => v.trim()); const item: Partial & { metadata: Record } = { metadata: {}, }; for (let index = 0; index < headers.length; index++) { const header = headers[index]; const value = values[index]; if (value === undefined || value === "") continue; if (header === "email") { item.email = value; } else if (header === "name") { item.name = value; } else if (header === "phone") { item.phone = value; } else if (header === "role") { item.role = value; } else if (header === "tenant") { item.tenantSlug = value; } else if (header === "department") { item.department = value; } else if (header === "position") { item.position = value; } else if (header === "jobtitle") { item.jobTitle = value; } else { item.metadata[header] = value; } } if (item.email && item.name) { data.push(item as BulkUserItem); } } return data; }