@axcode/axcloud-sdk 0.2.0-dev.1e6c3d5 → 0.2.0-dev.85285e0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -0
- package/dist/analytics-BOxmSWNt.d.ts +432 -0
- package/dist/analytics-LYZxP7PC.d.mts +432 -0
- package/dist/barnsport.d.mts +30 -0
- package/dist/barnsport.d.ts +30 -0
- package/dist/barnsport.js +69 -0
- package/dist/barnsport.js.map +1 -0
- package/dist/barnsport.mjs +4 -0
- package/dist/barnsport.mjs.map +1 -0
- package/dist/chunk-2A5NJAFA.mjs +15 -0
- package/dist/chunk-2A5NJAFA.mjs.map +1 -0
- package/dist/chunk-DI4M6A7K.js +474 -0
- package/dist/chunk-DI4M6A7K.js.map +1 -0
- package/dist/chunk-DSWRJZWR.js +18 -0
- package/dist/chunk-DSWRJZWR.js.map +1 -0
- package/dist/chunk-EX66R5IA.js +278 -0
- package/dist/chunk-EX66R5IA.js.map +1 -0
- package/dist/chunk-F3JPEND3.mjs +461 -0
- package/dist/chunk-F3JPEND3.mjs.map +1 -0
- package/dist/chunk-HRNRGCCT.mjs +262 -0
- package/dist/chunk-HRNRGCCT.mjs.map +1 -0
- package/dist/client-FOpKwe3e.d.mts +75 -0
- package/dist/client-FOpKwe3e.d.ts +75 -0
- package/dist/index.d.mts +41 -744
- package/dist/index.d.ts +41 -744
- package/dist/index.js +112 -632
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -585
- package/dist/index.mjs.map +1 -1
- package/dist/public.d.mts +27 -0
- package/dist/public.d.ts +27 -0
- package/dist/public.js +111 -0
- package/dist/public.js.map +1 -0
- package/dist/public.mjs +99 -0
- package/dist/public.mjs.map +1 -0
- package/dist/useBarnsport-1DObGZDl.d.mts +526 -0
- package/dist/useBarnsport-1DObGZDl.d.ts +526 -0
- package/package.json +13 -3
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkDSWRJZWR_js = require('./chunk-DSWRJZWR.js');
|
|
4
|
+
var reactQuery = require('@tanstack/react-query');
|
|
5
|
+
|
|
6
|
+
// src/core/barnsportClient.ts
|
|
7
|
+
var BarnsportClient = class {
|
|
8
|
+
constructor(client, orgId) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
this.orgId = orgId;
|
|
11
|
+
}
|
|
12
|
+
path(path) {
|
|
13
|
+
return `/barnsport/public/${encodeURIComponent(this.orgId)}${path}`;
|
|
14
|
+
}
|
|
15
|
+
listMunicipalities() {
|
|
16
|
+
return this.client.get(this.path("/municipalities"));
|
|
17
|
+
}
|
|
18
|
+
listSports() {
|
|
19
|
+
return this.client.get(this.path("/sports"));
|
|
20
|
+
}
|
|
21
|
+
getSport(slug) {
|
|
22
|
+
return this.client.get(this.path(`/sports/${encodeURIComponent(slug)}`));
|
|
23
|
+
}
|
|
24
|
+
listActivities(filters = {}) {
|
|
25
|
+
return this.client.get(this.path("/activities"), { ...filters });
|
|
26
|
+
}
|
|
27
|
+
getActivity(slug) {
|
|
28
|
+
return this.client.get(this.path(`/activities/${encodeURIComponent(slug)}`));
|
|
29
|
+
}
|
|
30
|
+
getSitemap(baseUrl) {
|
|
31
|
+
return this.client.get(this.path("/sitemap"), { baseUrl });
|
|
32
|
+
}
|
|
33
|
+
listProviders(filters = {}) {
|
|
34
|
+
return this.client.get(this.path("/providers"), { ...filters });
|
|
35
|
+
}
|
|
36
|
+
getProvider(slug) {
|
|
37
|
+
return this.client.get(this.path(`/providers/${encodeURIComponent(slug)}`));
|
|
38
|
+
}
|
|
39
|
+
listActivityOffers(filters = {}) {
|
|
40
|
+
return this.client.get(this.path("/activity-offers"), { ...filters });
|
|
41
|
+
}
|
|
42
|
+
submitInterest(request) {
|
|
43
|
+
return this.client.post(this.path("/interest"), request);
|
|
44
|
+
}
|
|
45
|
+
submitFeedback(request) {
|
|
46
|
+
return this.client.post(this.path("/feedback"), request);
|
|
47
|
+
}
|
|
48
|
+
submitReview(request) {
|
|
49
|
+
return this.client.post(this.path("/reviews"), request);
|
|
50
|
+
}
|
|
51
|
+
trackEvent(request) {
|
|
52
|
+
return this.client.post(this.path("/events"), request);
|
|
53
|
+
}
|
|
54
|
+
submitClubRemovalRequest(clubSlug, request) {
|
|
55
|
+
return this.client.post(
|
|
56
|
+
this.path(`/clubs/${encodeURIComponent(clubSlug)}/removal-request`),
|
|
57
|
+
request
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
function createBarnsportClient(client, orgId) {
|
|
62
|
+
return new BarnsportClient(client, orgId);
|
|
63
|
+
}
|
|
64
|
+
function barnsportQueryRoot(context) {
|
|
65
|
+
return ["axcloud", "barnsport", context.stage, context.config.apiUrl, context.orgId];
|
|
66
|
+
}
|
|
67
|
+
function useBarnsportMunicipalities() {
|
|
68
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
69
|
+
const query = reactQuery.useQuery({
|
|
70
|
+
queryKey: ["axcloud", "barnsport", "municipalities", orgId],
|
|
71
|
+
queryFn: () => client.get(
|
|
72
|
+
`/barnsport/public/${orgId}/municipalities`
|
|
73
|
+
),
|
|
74
|
+
staleTime: 1e3 * 60 * 30
|
|
75
|
+
});
|
|
76
|
+
return {
|
|
77
|
+
municipalities: query.data?.items ?? [],
|
|
78
|
+
count: query.data?.count ?? 0,
|
|
79
|
+
isLoading: query.isLoading,
|
|
80
|
+
isError: query.isError,
|
|
81
|
+
error: query.error,
|
|
82
|
+
refetch: query.refetch
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function useBarnsportSports() {
|
|
86
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
87
|
+
const query = reactQuery.useQuery({
|
|
88
|
+
queryKey: ["axcloud", "barnsport", "sports", orgId],
|
|
89
|
+
queryFn: () => client.get(`/barnsport/public/${orgId}/sports`),
|
|
90
|
+
staleTime: 1e3 * 60 * 30
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
sports: query.data?.items ?? [],
|
|
94
|
+
count: query.data?.count ?? 0,
|
|
95
|
+
isLoading: query.isLoading,
|
|
96
|
+
isError: query.isError,
|
|
97
|
+
error: query.error,
|
|
98
|
+
refetch: query.refetch
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function useBarnsportSport(slug) {
|
|
102
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
103
|
+
const query = reactQuery.useQuery({
|
|
104
|
+
queryKey: ["axcloud", "barnsport", "sport", orgId, slug],
|
|
105
|
+
queryFn: () => client.get(`/barnsport/public/${orgId}/sports/${slug || ""}`),
|
|
106
|
+
enabled: Boolean(slug),
|
|
107
|
+
staleTime: 1e3 * 60 * 15
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
sport: query.data?.sport ?? null,
|
|
111
|
+
isLoading: query.isLoading,
|
|
112
|
+
isError: query.isError,
|
|
113
|
+
error: query.error,
|
|
114
|
+
refetch: query.refetch
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function useBarnsportActivities(filters = {}) {
|
|
118
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
119
|
+
const params = { ...filters };
|
|
120
|
+
const query = reactQuery.useQuery({
|
|
121
|
+
queryKey: ["axcloud", "barnsport", "activities", orgId, filters],
|
|
122
|
+
queryFn: () => client.get(
|
|
123
|
+
`/barnsport/public/${orgId}/activities`,
|
|
124
|
+
params
|
|
125
|
+
),
|
|
126
|
+
staleTime: 1e3 * 60 * 5
|
|
127
|
+
});
|
|
128
|
+
return {
|
|
129
|
+
activities: query.data?.items ?? [],
|
|
130
|
+
count: query.data?.count ?? 0,
|
|
131
|
+
nextCursor: query.data?.nextCursor ?? null,
|
|
132
|
+
isLoading: query.isLoading,
|
|
133
|
+
isError: query.isError,
|
|
134
|
+
error: query.error,
|
|
135
|
+
refetch: query.refetch
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function useBarnsportActivity(slug) {
|
|
139
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
140
|
+
const query = reactQuery.useQuery({
|
|
141
|
+
queryKey: ["axcloud", "barnsport", "activity", orgId, slug],
|
|
142
|
+
queryFn: () => client.get(`/barnsport/public/${orgId}/activities/${slug || ""}`),
|
|
143
|
+
enabled: Boolean(slug),
|
|
144
|
+
staleTime: 1e3 * 60 * 5
|
|
145
|
+
});
|
|
146
|
+
return {
|
|
147
|
+
activity: query.data?.activity ?? null,
|
|
148
|
+
isLoading: query.isLoading,
|
|
149
|
+
isError: query.isError,
|
|
150
|
+
error: query.error,
|
|
151
|
+
refetch: query.refetch
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function useBarnsportSitemap(baseUrl) {
|
|
155
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
156
|
+
const query = reactQuery.useQuery({
|
|
157
|
+
queryKey: ["axcloud", "barnsport", "sitemap", orgId, baseUrl],
|
|
158
|
+
queryFn: () => client.get(`/barnsport/public/${orgId}/sitemap`, {
|
|
159
|
+
baseUrl
|
|
160
|
+
}),
|
|
161
|
+
staleTime: 1e3 * 60 * 15
|
|
162
|
+
});
|
|
163
|
+
return {
|
|
164
|
+
sitemap: query.data ?? null,
|
|
165
|
+
urls: query.data?.urls ?? [],
|
|
166
|
+
isLoading: query.isLoading,
|
|
167
|
+
isError: query.isError,
|
|
168
|
+
error: query.error,
|
|
169
|
+
refetch: query.refetch
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function useSubmitBarnsportInterest() {
|
|
173
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
174
|
+
return reactQuery.useMutation({
|
|
175
|
+
mutationFn: (submission) => client.post(
|
|
176
|
+
`/barnsport/public/${orgId}/interest`,
|
|
177
|
+
submission
|
|
178
|
+
)
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
function useBarnsportProviderSearch(filters) {
|
|
182
|
+
const context = chunkDSWRJZWR_js.useAxCloudContext();
|
|
183
|
+
const api = createBarnsportClient(context.client, context.orgId);
|
|
184
|
+
const normalizedFilters = { ...filters, q: filters.q?.trim() };
|
|
185
|
+
const query = reactQuery.useQuery({
|
|
186
|
+
queryKey: [...barnsportQueryRoot(context), "providers", normalizedFilters],
|
|
187
|
+
queryFn: () => api.listProviders(normalizedFilters),
|
|
188
|
+
enabled: (normalizedFilters.q?.length ?? 0) >= 2,
|
|
189
|
+
staleTime: 1e3 * 60
|
|
190
|
+
});
|
|
191
|
+
return {
|
|
192
|
+
providers: query.data?.items ?? [],
|
|
193
|
+
count: query.data?.count ?? query.data?.items.length ?? 0,
|
|
194
|
+
nextCursor: query.data?.nextCursor ?? null,
|
|
195
|
+
hasMore: query.data?.hasMore ?? false,
|
|
196
|
+
isLoading: query.isLoading,
|
|
197
|
+
isFetching: query.isFetching,
|
|
198
|
+
isError: query.isError,
|
|
199
|
+
error: query.error,
|
|
200
|
+
refetch: query.refetch
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
function useBarnsportProvider(slug) {
|
|
204
|
+
const context = chunkDSWRJZWR_js.useAxCloudContext();
|
|
205
|
+
const api = createBarnsportClient(context.client, context.orgId);
|
|
206
|
+
const query = reactQuery.useQuery({
|
|
207
|
+
queryKey: [...barnsportQueryRoot(context), "provider", slug],
|
|
208
|
+
queryFn: () => api.getProvider(slug || ""),
|
|
209
|
+
enabled: Boolean(slug),
|
|
210
|
+
staleTime: 1e3 * 60 * 5
|
|
211
|
+
});
|
|
212
|
+
return {
|
|
213
|
+
provider: query.data?.item ?? null,
|
|
214
|
+
isLoading: query.isLoading,
|
|
215
|
+
isError: query.isError,
|
|
216
|
+
error: query.error,
|
|
217
|
+
refetch: query.refetch
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
function useBarnsportActivityOffers(filters = {}) {
|
|
221
|
+
const context = chunkDSWRJZWR_js.useAxCloudContext();
|
|
222
|
+
const api = createBarnsportClient(context.client, context.orgId);
|
|
223
|
+
const query = reactQuery.useQuery({
|
|
224
|
+
queryKey: [...barnsportQueryRoot(context), "activity-offers", filters],
|
|
225
|
+
queryFn: () => api.listActivityOffers(filters),
|
|
226
|
+
staleTime: 1e3 * 60 * 5
|
|
227
|
+
});
|
|
228
|
+
return {
|
|
229
|
+
activityOffers: query.data?.items ?? [],
|
|
230
|
+
count: query.data?.count ?? query.data?.items.length ?? 0,
|
|
231
|
+
nextCursor: query.data?.nextCursor ?? null,
|
|
232
|
+
hasMore: query.data?.hasMore ?? false,
|
|
233
|
+
isLoading: query.isLoading,
|
|
234
|
+
isFetching: query.isFetching,
|
|
235
|
+
isError: query.isError,
|
|
236
|
+
error: query.error,
|
|
237
|
+
refetch: query.refetch
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function useSubmitBarnsportFeedback() {
|
|
241
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
242
|
+
const api = createBarnsportClient(client, orgId);
|
|
243
|
+
return reactQuery.useMutation({
|
|
244
|
+
mutationFn: (request) => api.submitFeedback(request)
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
function useSubmitBarnsportReview() {
|
|
248
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
249
|
+
const api = createBarnsportClient(client, orgId);
|
|
250
|
+
return reactQuery.useMutation({
|
|
251
|
+
mutationFn: (request) => api.submitReview(request)
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
function useTrackBarnsportEvent() {
|
|
255
|
+
const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
|
|
256
|
+
const api = createBarnsportClient(client, orgId);
|
|
257
|
+
return reactQuery.useMutation({
|
|
258
|
+
mutationFn: (request) => api.trackEvent(request)
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
exports.BarnsportClient = BarnsportClient;
|
|
263
|
+
exports.createBarnsportClient = createBarnsportClient;
|
|
264
|
+
exports.useBarnsportActivities = useBarnsportActivities;
|
|
265
|
+
exports.useBarnsportActivity = useBarnsportActivity;
|
|
266
|
+
exports.useBarnsportActivityOffers = useBarnsportActivityOffers;
|
|
267
|
+
exports.useBarnsportMunicipalities = useBarnsportMunicipalities;
|
|
268
|
+
exports.useBarnsportProvider = useBarnsportProvider;
|
|
269
|
+
exports.useBarnsportProviderSearch = useBarnsportProviderSearch;
|
|
270
|
+
exports.useBarnsportSitemap = useBarnsportSitemap;
|
|
271
|
+
exports.useBarnsportSport = useBarnsportSport;
|
|
272
|
+
exports.useBarnsportSports = useBarnsportSports;
|
|
273
|
+
exports.useSubmitBarnsportFeedback = useSubmitBarnsportFeedback;
|
|
274
|
+
exports.useSubmitBarnsportInterest = useSubmitBarnsportInterest;
|
|
275
|
+
exports.useSubmitBarnsportReview = useSubmitBarnsportReview;
|
|
276
|
+
exports.useTrackBarnsportEvent = useTrackBarnsportEvent;
|
|
277
|
+
//# sourceMappingURL=chunk-EX66R5IA.js.map
|
|
278
|
+
//# sourceMappingURL=chunk-EX66R5IA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/barnsportClient.ts","../src/react/hooks/useBarnsport.ts"],"names":["useAxCloudContext","useQuery","useMutation"],"mappings":"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","file":"chunk-EX66R5IA.js","sourcesContent":["import type { AxCloudClient } from './client';\nimport type {\n BarnsportActivitiesFilter,\n BarnsportActivityListItem,\n BarnsportActivityOffersFilter,\n BarnsportActivityResponse,\n BarnsportActivityOffer,\n BarnsportClubRemovalRequest,\n BarnsportClubRemovalResponse,\n BarnsportCollectionResponse,\n BarnsportEventRequest,\n BarnsportEventResponse,\n BarnsportFeedbackRequest,\n BarnsportFeedbackResponse,\n BarnsportInterestSubmissionRequest,\n BarnsportInterestSubmissionResponse,\n BarnsportItemResponse,\n BarnsportListResponse,\n BarnsportMunicipality,\n BarnsportProviderProfile,\n BarnsportProvider,\n BarnsportProvidersFilter,\n BarnsportReviewSubmissionRequest,\n BarnsportReviewSubmissionResponse,\n BarnsportSitemapResponse,\n BarnsportSport,\n} from './barnsport';\n\ntype QueryParams = Record<string, string | number | boolean | undefined>;\n\nexport class BarnsportClient {\n constructor(\n private readonly client: AxCloudClient,\n private readonly orgId: string\n ) {}\n\n private path(path: string): string {\n return `/barnsport/public/${encodeURIComponent(this.orgId)}${path}`;\n }\n\n listMunicipalities(): Promise<BarnsportListResponse<BarnsportMunicipality>> {\n return this.client.get(this.path('/municipalities'));\n }\n\n listSports(): Promise<BarnsportListResponse<BarnsportSport>> {\n return this.client.get(this.path('/sports'));\n }\n\n getSport(slug: string): Promise<{ sport: BarnsportSport }> {\n return this.client.get(this.path(`/sports/${encodeURIComponent(slug)}`));\n }\n\n listActivities(\n filters: BarnsportActivitiesFilter = {}\n ): Promise<BarnsportListResponse<BarnsportActivityListItem>> {\n return this.client.get(this.path('/activities'), { ...filters } as QueryParams);\n }\n\n getActivity(slug: string): Promise<BarnsportActivityResponse> {\n return this.client.get(this.path(`/activities/${encodeURIComponent(slug)}`));\n }\n\n getSitemap(baseUrl?: string): Promise<BarnsportSitemapResponse> {\n return this.client.get(this.path('/sitemap'), { baseUrl });\n }\n\n listProviders(\n filters: BarnsportProvidersFilter = {}\n ): Promise<BarnsportCollectionResponse<BarnsportProvider, BarnsportProvidersFilter>> {\n return this.client.get(this.path('/providers'), { ...filters } as QueryParams);\n }\n\n getProvider(slug: string): Promise<BarnsportItemResponse<BarnsportProviderProfile>> {\n return this.client.get(this.path(`/providers/${encodeURIComponent(slug)}`));\n }\n\n listActivityOffers(\n filters: BarnsportActivityOffersFilter = {}\n ): Promise<BarnsportCollectionResponse<BarnsportActivityOffer, BarnsportActivityOffersFilter>> {\n return this.client.get(this.path('/activity-offers'), { ...filters } as QueryParams);\n }\n\n submitInterest(\n request: BarnsportInterestSubmissionRequest\n ): Promise<BarnsportInterestSubmissionResponse> {\n return this.client.post(this.path('/interest'), request);\n }\n\n submitFeedback(request: BarnsportFeedbackRequest): Promise<BarnsportFeedbackResponse> {\n return this.client.post(this.path('/feedback'), request);\n }\n\n submitReview(\n request: BarnsportReviewSubmissionRequest\n ): Promise<BarnsportReviewSubmissionResponse> {\n return this.client.post(this.path('/reviews'), request);\n }\n\n trackEvent(request: BarnsportEventRequest): Promise<BarnsportEventResponse> {\n return this.client.post(this.path('/events'), request);\n }\n\n submitClubRemovalRequest(\n clubSlug: string,\n request: BarnsportClubRemovalRequest\n ): Promise<BarnsportClubRemovalResponse> {\n return this.client.post(\n this.path(`/clubs/${encodeURIComponent(clubSlug)}/removal-request`),\n request\n );\n }\n}\n\nexport function createBarnsportClient(client: AxCloudClient, orgId: string): BarnsportClient {\n return new BarnsportClient(client, orgId);\n}\n","import { useMutation, useQuery } from '@tanstack/react-query';\nimport { useAxCloudContext } from '../context';\nimport type {\n BarnsportActivitiesFilter,\n BarnsportActivityListItem,\n BarnsportActivityResponse,\n BarnsportClubRemovalRequest,\n BarnsportClubRemovalResponse,\n BarnsportInterestSubmissionRequest,\n BarnsportInterestSubmissionResponse,\n BarnsportListResponse,\n BarnsportMunicipality,\n BarnsportSitemapResponse,\n BarnsportSport,\n BarnsportActivityOffersFilter,\n BarnsportActivityOffer,\n BarnsportCollectionResponse,\n BarnsportEventRequest,\n BarnsportEventResponse,\n BarnsportFeedbackRequest,\n BarnsportFeedbackResponse,\n BarnsportProvider,\n BarnsportProviderProfile,\n BarnsportProvidersFilter,\n BarnsportReviewSubmissionRequest,\n BarnsportReviewSubmissionResponse,\n} from '../../core/barnsport';\nimport { createBarnsportClient } from '../../core/barnsportClient';\n\nfunction barnsportQueryRoot(context: ReturnType<typeof useAxCloudContext>) {\n return ['axcloud', 'barnsport', context.stage, context.config.apiUrl, context.orgId] as const;\n}\n\nexport function useBarnsportMunicipalities() {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportListResponse<BarnsportMunicipality>>({\n queryKey: ['axcloud', 'barnsport', 'municipalities', orgId],\n queryFn: () =>\n client.get<BarnsportListResponse<BarnsportMunicipality>>(\n `/barnsport/public/${orgId}/municipalities`\n ),\n staleTime: 1000 * 60 * 30,\n });\n\n return {\n municipalities: query.data?.items ?? [],\n count: query.data?.count ?? 0,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportSports() {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportListResponse<BarnsportSport>>({\n queryKey: ['axcloud', 'barnsport', 'sports', orgId],\n queryFn: () =>\n client.get<BarnsportListResponse<BarnsportSport>>(`/barnsport/public/${orgId}/sports`),\n staleTime: 1000 * 60 * 30,\n });\n\n return {\n sports: query.data?.items ?? [],\n count: query.data?.count ?? 0,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportSport(slug: string | undefined) {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<{ sport: BarnsportSport }>({\n queryKey: ['axcloud', 'barnsport', 'sport', orgId, slug],\n queryFn: () =>\n client.get<{ sport: BarnsportSport }>(`/barnsport/public/${orgId}/sports/${slug || ''}`),\n enabled: Boolean(slug),\n staleTime: 1000 * 60 * 15,\n });\n\n return {\n sport: query.data?.sport ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportActivities(filters: BarnsportActivitiesFilter = {}) {\n const { client, orgId } = useAxCloudContext();\n const params: Record<string, string | number | boolean | undefined> = { ...filters };\n\n const query = useQuery<BarnsportListResponse<BarnsportActivityListItem>>({\n queryKey: ['axcloud', 'barnsport', 'activities', orgId, filters],\n queryFn: () =>\n client.get<BarnsportListResponse<BarnsportActivityListItem>>(\n `/barnsport/public/${orgId}/activities`,\n params\n ),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n activities: query.data?.items ?? [],\n count: query.data?.count ?? 0,\n nextCursor: query.data?.nextCursor ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportActivity(slug: string | undefined) {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportActivityResponse>({\n queryKey: ['axcloud', 'barnsport', 'activity', orgId, slug],\n queryFn: () =>\n client.get<BarnsportActivityResponse>(`/barnsport/public/${orgId}/activities/${slug || ''}`),\n enabled: Boolean(slug),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n activity: query.data?.activity ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportSitemap(baseUrl?: string) {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportSitemapResponse>({\n queryKey: ['axcloud', 'barnsport', 'sitemap', orgId, baseUrl],\n queryFn: () =>\n client.get<BarnsportSitemapResponse>(`/barnsport/public/${orgId}/sitemap`, {\n baseUrl,\n }),\n staleTime: 1000 * 60 * 15,\n });\n\n return {\n sitemap: query.data ?? null,\n urls: query.data?.urls ?? [],\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useSubmitBarnsportInterest() {\n const { client, orgId } = useAxCloudContext();\n\n return useMutation<\n BarnsportInterestSubmissionResponse,\n Error,\n BarnsportInterestSubmissionRequest\n >({\n mutationFn: (submission) =>\n client.post<BarnsportInterestSubmissionResponse>(\n `/barnsport/public/${orgId}/interest`,\n submission\n ),\n });\n}\n\nexport function useSubmitBarnsportClubRemovalRequest(clubSlug: string | undefined) {\n const { client, orgId } = useAxCloudContext();\n\n return useMutation<BarnsportClubRemovalResponse, Error, BarnsportClubRemovalRequest>({\n mutationFn: (request) =>\n client.post<BarnsportClubRemovalResponse>(\n `/barnsport/public/${orgId}/clubs/${clubSlug || ''}/removal-request`,\n request\n ),\n });\n}\n\nexport function useBarnsportProviderSearch(filters: BarnsportProvidersFilter) {\n const context = useAxCloudContext();\n const api = createBarnsportClient(context.client, context.orgId);\n const normalizedFilters = { ...filters, q: filters.q?.trim() };\n const query = useQuery<BarnsportCollectionResponse<BarnsportProvider, BarnsportProvidersFilter>>({\n queryKey: [...barnsportQueryRoot(context), 'providers', normalizedFilters],\n queryFn: () => api.listProviders(normalizedFilters),\n enabled: (normalizedFilters.q?.length ?? 0) >= 2,\n staleTime: 1000 * 60,\n });\n\n return {\n providers: query.data?.items ?? [],\n count: query.data?.count ?? query.data?.items.length ?? 0,\n nextCursor: query.data?.nextCursor ?? null,\n hasMore: query.data?.hasMore ?? false,\n isLoading: query.isLoading,\n isFetching: query.isFetching,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportProvider(slug: string | undefined) {\n const context = useAxCloudContext();\n const api = createBarnsportClient(context.client, context.orgId);\n const query = useQuery<{ item: BarnsportProviderProfile }>({\n queryKey: [...barnsportQueryRoot(context), 'provider', slug],\n queryFn: () => api.getProvider(slug || ''),\n enabled: Boolean(slug),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n provider: query.data?.item ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportActivityOffers(filters: BarnsportActivityOffersFilter = {}) {\n const context = useAxCloudContext();\n const api = createBarnsportClient(context.client, context.orgId);\n const query = useQuery<\n BarnsportCollectionResponse<BarnsportActivityOffer, BarnsportActivityOffersFilter>\n >({\n queryKey: [...barnsportQueryRoot(context), 'activity-offers', filters],\n queryFn: () => api.listActivityOffers(filters),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n activityOffers: query.data?.items ?? [],\n count: query.data?.count ?? query.data?.items.length ?? 0,\n nextCursor: query.data?.nextCursor ?? null,\n hasMore: query.data?.hasMore ?? false,\n isLoading: query.isLoading,\n isFetching: query.isFetching,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useSubmitBarnsportFeedback() {\n const { client, orgId } = useAxCloudContext();\n const api = createBarnsportClient(client, orgId);\n return useMutation<BarnsportFeedbackResponse, Error, BarnsportFeedbackRequest>({\n mutationFn: (request) => api.submitFeedback(request),\n });\n}\n\nexport function useSubmitBarnsportReview() {\n const { client, orgId } = useAxCloudContext();\n const api = createBarnsportClient(client, orgId);\n return useMutation<BarnsportReviewSubmissionResponse, Error, BarnsportReviewSubmissionRequest>({\n mutationFn: (request) => api.submitReview(request),\n });\n}\n\nexport function useTrackBarnsportEvent() {\n const { client, orgId } = useAxCloudContext();\n const api = createBarnsportClient(client, orgId);\n return useMutation<BarnsportEventResponse, Error, BarnsportEventRequest>({\n mutationFn: (request) => api.trackEvent(request),\n });\n}\n"]}
|