import { H3Event } from 'h3';
export type SurveySetting = {
    participantType?: number; // Loại thành phần tham gia
    resultPublication?: number; // Nguyên tắc công bố kết quả
  }

export type Survey = {
  id?: number; // Mã định danh
  siteId?: number; // Mã hệ thống
  title?: string; // Tiêu đề
  code?: string; // Nhận diện
  keywords?: string; // Từ khóa
  thumbnail?: string; // Ảnh nhỏ
  description?: string; // Mô tả
  startTime?: string; // Bắt đầu, assuming date is handled as ISO string
  endTime?: string; // Kết thúc, assuming date is handled as ISO string
  type?: number; // Phân loại
  settings?: SurveySetting; // Thiết lập, as a JSON string
  features?: string; // Đặc trưng
  taxonomy?: string; // Phân nhóm
  isPublished?: boolean; // Đã xuất bản
  publishedBy?: number; // Xuất bản bởi
  publishedOn?: string; // Xuất bản vào lúc, assuming date is handled as ISO string
  expiresOn?: string; // Đã hết hạn vào lúc, assuming date is handled as ISO string
  order?: number; // Thứ tự sắp xếp
  status?: number; // Trạng thái
  }

  export const fetchById = async (event: H3Event) => {
    try {

        const { apiUrl } = useRuntimeConfig().public
        const { surveyId }: any = getQuery(event)
        const { item }: Survey | any = await $fetch(`${apiUrl}/cms/survey/${surveyId}`, {
            method: 'GET',
            headers: {
                site: 1
            }
        })

        return item

    } catch (error) {
        handleError(error);
    }
  }