import { groq } from "next-sanity";
import { client } from "../sanity";

export interface eventPost {
  title: string;
  location: string;
  currentSlug: string;
  postImage: any;
  content: any;
  eventdate: Date;
  eventfee: string;
  organizer: string;
  contactnumber: string;
  email: string;
  eventtime: string;
}

export async function getEventPosts() {
  const query = groq`
        *[_type == 'event'] | order(_createdAt desc) {
        title,
            location,
            "currentSlug":slug.current,
            "postImage": image.asset._ref,
            content,
            eventdate,
            organizer,
            email,
            contactnumber,
            eventtime,
            eventfee,
        } 
    `;

  const data: eventPost[] = await client.fetch(query, {}, { cache: "no-cache" });

  return data;
}

export async function getEventPostBySlug(slug: string) {
  const query = `
        *[_type=="event" && slug.current == '${slug}']{
        title,
          location,
          "currentSlug":slug.current,
          "postImage": image.asset._ref,
          content,
          eventdate,
          organizer,
          email,
          contactnumber,
          eventtime,
          eventfee,         
        }[0]
    `;
  const data: eventPost = await client.fetch(query, {}, { cache: "no-cache" });
  return data;
}

