from typing import List, Dict, Any import csv import io def export_customers_csv(customers: List[Dict[str, Any]]) -> bytes: output = io.StringIO() writer = csv.writer(output) writer.writerow(["Name", "Company", "Country", "Phone", "Email", "Status", "Last Contact"]) for c in customers: writer.writerow([ c.get("name", ""), c.get("company", ""), c.get("country", ""), c.get("phone", ""), c.get("email", ""), c.get("status", ""), c.get("last_contact_at", ""), ]) return output.getvalue().encode("utf-8-sig") def export_quotations_csv(quotations: List[Dict[str, Any]]) -> bytes: output = io.StringIO() writer = csv.writer(output) writer.writerow(["Title", "Customer", "Currency", "Subtotal", "Total", "Status", "Date"]) for q in quotations: writer.writerow([ q.get("title", ""), q.get("customer_name", ""), q.get("currency", "USD"), q.get("subtotal", 0), q.get("total", 0), q.get("status", ""), q.get("created_at", ""), ]) return output.getvalue().encode("utf-8-sig")