import { Request, Response } from "express";
import { PropertyModel } from "../models/propertyModel";

export const mapController = {
  getGeoProperties: async (_req: Request, res: Response): Promise<void> => {
    try {
      const props = await PropertyModel.findAll();
      const geoProps = props
        .filter((p) => p.lat && p.lng)
        .map((p) => ({
          id: p.id, title: p.title, price: p.price,
          municipality: p.municipality || p.location,
          property_type: p.property_type,
          rooms: p.rooms, size_m2: p.size_m2,
          url: p.url, source: p.source,
          image_url: p.image_url,
          lat: p.lat, lng: p.lng,
        }));
      res.json({ success: true, data: geoProps });
    } catch (err) {
      res.status(500).json({ success: false, error: "Error" });
    }
  },
};

export default mapController;
