gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/services/api/service.query.ts · v0.7.4
Source
1 03b3dbc Mardin 2y ago import { useQuery } from "@tanstack/react-query";
2 d636f3f Dawsh 2y ago import { fetch } from "@marzneshin/common/utils";
3 03b3dbc Mardin 2y ago import type { ServiceType } from "../types";
4 03b3dbc Mardin 2y ago
5 03b3dbc Mardin 2y ago export async function fetchService({
6 03b3dbc Mardin 2y ago queryKey,
7 03b3dbc Mardin 2y ago }: { queryKey: [string, number] }): Promise<ServiceType> {
8 03b3dbc Mardin 2y ago return await fetch(`/services/${queryKey[1]}`).then(result => {
9 03b3dbc Mardin 2y ago return {
10 03b3dbc Mardin 2y ago ...result,
11 03b3dbc Mardin 2y ago users: result.user_ids,
12 03b3dbc Mardin 2y ago inbounds: result.inbound_ids,
13 03b3dbc Mardin 2y ago };
14 03b3dbc Mardin 2y ago });
15 03b3dbc Mardin 2y ago }
16 03b3dbc Mardin 2y ago
17 4708fcb Dawsh 2y ago const ServiceQueryFetchKey = "services";
18 03b3dbc Mardin 2y ago
19 03b3dbc Mardin 2y ago export const useServiceQuery = ({ serviceId }: { serviceId: number }) => {
20 03b3dbc Mardin 2y ago return useQuery({
21 03b3dbc Mardin 2y ago queryKey: [ServiceQueryFetchKey, serviceId],
22 03b3dbc Mardin 2y ago queryFn: fetchService,
23 03b3dbc Mardin 2y ago initialData: null,
24 03b3dbc Mardin 2y ago });
25 03b3dbc Mardin 2y ago };