first commit

This commit is contained in:
sajjadtalkhabi
2026-05-13 01:43:05 +03:30
commit d2a577f254
297 changed files with 36274 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
import { useMutation, useQuery } from '@tanstack/vue-query'
import {
apiChangeAdminTicketStatus,
apiGetAdminTickets,
apiSendAdminTicketMessage,
apiShowAdminTicket,
} from '@/services/api/admin-tickets'
import { cleanFilters } from '@/utils/clean-filters'
export const adminTicketsKeys = {
all: ['admin', 'tickets'],
list: (filters, pagination) => ['admin', 'tickets', 'list', filters, pagination],
detail: (id) => ['admin', 'tickets', 'detail', id],
}
export const useAdminTicketsListQuery = (filtersRef, paginationRef, options = {}) =>
useQuery({
queryKey: ['admin', 'tickets', 'list', filtersRef, paginationRef],
queryFn: () =>
apiGetAdminTickets({ ...cleanFilters(filtersRef.value), ...paginationRef.value }),
...options,
})
export const useAdminTicketQuery = (idRef, options = {}) =>
useQuery({
queryKey: ['admin', 'tickets', 'detail', idRef],
queryFn: () => apiShowAdminTicket(idRef.value),
select: (response) => response?.data ?? response,
...options,
})
export const useSendAdminTicketMessageMutation = () =>
useMutation({
mutationFn: ({ id, payload }) => apiSendAdminTicketMessage(id, payload),
})
export const useChangeAdminTicketStatusMutation = () =>
useMutation({
mutationFn: ({ id, payload }) => apiChangeAdminTicketStatus(id, payload),
})