import { factories } from "@strapi/strapi";

const POPULATE = {
  hero: { populate: { slides: { populate: { image_3x2: true } } } },
  about: { populate: { paragraphs: true } },
  globalPresence: {
    populate: {
      countries: {
        populate: {
          image_1x1: true,
          resorts: { populate: { image_6x5: true } },
          restaurants: { populate: { image_6x5: true } },
        },
      },
    },
  },
  impact: { populate: { stats: { populate: { vector_1x1: true } } } },
  inquiry: { populate: { image_1x1: true, enquiryTypes: true } },
};

export default factories.createCoreController("api::hospitality.hospitality", () => ({
  async find(ctx) {
    const data = await strapi
      .documents("api::hospitality.hospitality")!
      .findFirst({ populate: POPULATE });
    return this.transformResponse(data);
  },
}));
