2024-06-12 17:17:49 +07:00
|
|
|
import type { PollResponse } from "~/server/models/poll-response"
|
|
|
|
|
export const usePollResponseStore = defineStore('usePollResponseStore', () => {
|
|
|
|
|
const currentPollResponse = shallowReactive<PollResponse>({})
|
|
|
|
|
const currentPollResponses = shallowRef<PollResponse[]>([])
|
|
|
|
|
const create = async (pollResponse: any) => {
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
const { data } = await useFetch<any>(`/api/services/poll-response`, {
|
|
|
|
|
method: 'POST',
|
|
|
|
|
body: pollResponse
|
|
|
|
|
})
|
|
|
|
|
data.value && (Object.assign(currentPollResponse, data.value))
|
|
|
|
|
return currentPollResponse
|
|
|
|
|
} catch (error) {
|
|
|
|
|
|
2024-06-06 13:29:22 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-12 17:17:49 +07:00
|
|
|
async function fetchByPollId(id: string) {
|
|
|
|
|
try {
|
|
|
|
|
const { data } = await useFetch<any>(`/api/services/poll-response/pollId`, {
|
|
|
|
|
query: {
|
|
|
|
|
pollId: id
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
data.value && (currentPollResponses.value = data.value)
|
|
|
|
|
return currentPollResponses.value
|
|
|
|
|
} catch (error) { }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return { currentPollResponse, currentPollResponses, create, fetchByPollId }
|
2024-06-06 13:29:22 +07:00
|
|
|
})
|
|
|
|
|
|
2024-06-12 17:17:49 +07:00
|
|
|
if (import.meta.hot) {
|
|
|
|
|
import.meta.hot.accept(acceptHMRUpdate(usePollResponseStore, import.meta.hot))
|
2024-06-06 13:29:22 +07:00
|
|
|
}
|