Files

52 lines
1.4 KiB
TypeScript
Raw Permalink Normal View History

2024-06-06 13:29:22 +07:00
import { H3Event } from 'h3';
import Base from './base'
2024-07-16 22:54:15 +07:00
import { useCookie } from 'nuxt/app';
2024-06-06 13:29:22 +07:00
export type PollResponse = {
id?: number; // Mã định danh
siteId?: number; // Mã hệ thống
pollId?: number; // Mã bình chọn
optionId?: number; // Mã tùy chọn
responderId?: number; // Mã người phản hồi
responderInfo?: string; // Thông tin người phản hồi
status?: number; // Trạng thái
}
2024-06-06 13:29:22 +07:00
export const create = async (event: H3Event) => {
2024-06-06 13:29:22 +07:00
try {
const { apiUrl } = useRuntimeConfig().public
const payload = await readBody<any>(event)
2024-07-17 10:35:35 +07:00
const query = getQuery(event)
2024-06-06 13:29:22 +07:00
const { item }: any = await $fetch(`${apiUrl}/cms/poll-response`, {
method: 'POST',
headers: {
2024-07-17 10:35:35 +07:00
site: getSite(query.site).toString()
2024-06-06 13:29:22 +07:00
},
body: payload
})
2024-06-13 17:24:46 +07:00
return item
} catch (error) {
handleError(error);
}
}
export const fetchByPollId = async (event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { pollId }: any = getQuery(event)
2024-07-17 10:35:35 +07:00
const query = getQuery(event)
const { items }: PollResponse[] | any = await $fetch(`${apiUrl}/cms/poll-response/poll:${pollId}`, {
method: 'GET',
headers: {
2024-07-17 10:35:35 +07:00
site: getSite(query.site).toString()
2024-07-16 22:54:15 +07:00
},
2024-06-06 13:29:22 +07:00
})
return items
2024-06-06 13:29:22 +07:00
} catch (error) {
handleError(error);
}
}