@osise/api-client 0.0.1
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 +474 -0
- package/dist/cjs/api/admin.js +277 -0
- package/dist/cjs/api/admin.js.map +1 -0
- package/dist/cjs/api/artisans.js +277 -0
- package/dist/cjs/api/artisans.js.map +1 -0
- package/dist/cjs/api/auth.js +83 -0
- package/dist/cjs/api/auth.js.map +1 -0
- package/dist/cjs/api/consumers.js +170 -0
- package/dist/cjs/api/consumers.js.map +1 -0
- package/dist/cjs/api/index.js +22 -0
- package/dist/cjs/api/index.js.map +1 -0
- package/dist/cjs/api/jobs.js +202 -0
- package/dist/cjs/api/jobs.js.map +1 -0
- package/dist/cjs/hooks/index.js +435 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/index.js +189 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/admin.js +6 -0
- package/dist/cjs/types/admin.js.map +1 -0
- package/dist/cjs/types/artisan.js +6 -0
- package/dist/cjs/types/artisan.js.map +1 -0
- package/dist/cjs/types/auth.js +6 -0
- package/dist/cjs/types/auth.js.map +1 -0
- package/dist/cjs/types/common.js +6 -0
- package/dist/cjs/types/common.js.map +1 -0
- package/dist/cjs/types/consumer.js +6 -0
- package/dist/cjs/types/consumer.js.map +1 -0
- package/dist/cjs/types/enums.js +226 -0
- package/dist/cjs/types/enums.js.map +1 -0
- package/dist/cjs/types/index.js +35 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/job.js +6 -0
- package/dist/cjs/types/job.js.map +1 -0
- package/dist/cjs/utils/http-client.js +214 -0
- package/dist/cjs/utils/http-client.js.map +1 -0
- package/dist/cjs/utils/index.js +19 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/storage.js +105 -0
- package/dist/cjs/utils/storage.js.map +1 -0
- package/dist/esm/api/admin.js +269 -0
- package/dist/esm/api/admin.js.map +1 -0
- package/dist/esm/api/artisans.js +270 -0
- package/dist/esm/api/artisans.js.map +1 -0
- package/dist/esm/api/auth.js +79 -0
- package/dist/esm/api/auth.js.map +1 -0
- package/dist/esm/api/consumers.js +165 -0
- package/dist/esm/api/consumers.js.map +1 -0
- package/dist/esm/api/index.js +6 -0
- package/dist/esm/api/index.js.map +1 -0
- package/dist/esm/api/jobs.js +197 -0
- package/dist/esm/api/jobs.js.map +1 -0
- package/dist/esm/hooks/index.js +408 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/index.js +165 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/admin.js +5 -0
- package/dist/esm/types/admin.js.map +1 -0
- package/dist/esm/types/artisan.js +5 -0
- package/dist/esm/types/artisan.js.map +1 -0
- package/dist/esm/types/auth.js +5 -0
- package/dist/esm/types/auth.js.map +1 -0
- package/dist/esm/types/common.js +5 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/consumer.js +5 -0
- package/dist/esm/types/consumer.js.map +1 -0
- package/dist/esm/types/enums.js +223 -0
- package/dist/esm/types/enums.js.map +1 -0
- package/dist/esm/types/index.js +19 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/job.js +5 -0
- package/dist/esm/types/job.js.map +1 -0
- package/dist/esm/utils/http-client.js +208 -0
- package/dist/esm/utils/http-client.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/storage.js +99 -0
- package/dist/esm/utils/storage.js.map +1 -0
- package/dist/types/api/admin.d.ts +188 -0
- package/dist/types/api/admin.d.ts.map +1 -0
- package/dist/types/api/artisans.d.ts +183 -0
- package/dist/types/api/artisans.d.ts.map +1 -0
- package/dist/types/api/auth.d.ts +58 -0
- package/dist/types/api/auth.d.ts.map +1 -0
- package/dist/types/api/consumers.d.ts +113 -0
- package/dist/types/api/consumers.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +6 -0
- package/dist/types/api/index.d.ts.map +1 -0
- package/dist/types/api/jobs.d.ts +136 -0
- package/dist/types/api/jobs.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +225 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +127 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/admin.d.ts +226 -0
- package/dist/types/types/admin.d.ts.map +1 -0
- package/dist/types/types/artisan.d.ts +438 -0
- package/dist/types/types/artisan.d.ts.map +1 -0
- package/dist/types/types/auth.d.ts +92 -0
- package/dist/types/types/auth.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +105 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/consumer.d.ts +144 -0
- package/dist/types/types/consumer.d.ts.map +1 -0
- package/dist/types/types/enums.d.ts +199 -0
- package/dist/types/types/enums.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +12 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/job.d.ts +226 -0
- package/dist/types/types/job.d.ts.map +1 -0
- package/dist/types/utils/http-client.d.ts +65 -0
- package/dist/types/utils/http-client.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +3 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/storage.d.ts +48 -0
- package/dist/types/utils/storage.d.ts.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OsiseProvider = OsiseProvider;
|
|
4
|
+
exports.useOsiseClient = useOsiseClient;
|
|
5
|
+
exports.useIsAuthenticated = useIsAuthenticated;
|
|
6
|
+
exports.useQuery = useQuery;
|
|
7
|
+
exports.useMutation = useMutation;
|
|
8
|
+
exports.useRequestOtp = useRequestOtp;
|
|
9
|
+
exports.useVerifyOtp = useVerifyOtp;
|
|
10
|
+
exports.useLogout = useLogout;
|
|
11
|
+
exports.useCurrentUser = useCurrentUser;
|
|
12
|
+
exports.useConsumerProfile = useConsumerProfile;
|
|
13
|
+
exports.useConsumerAddresses = useConsumerAddresses;
|
|
14
|
+
exports.useFavoriteArtisans = useFavoriteArtisans;
|
|
15
|
+
exports.useArtisanProfile = useArtisanProfile;
|
|
16
|
+
exports.useApplicationStatus = useApplicationStatus;
|
|
17
|
+
exports.useArtisanDocuments = useArtisanDocuments;
|
|
18
|
+
exports.useArtisanAvailability = useArtisanAvailability;
|
|
19
|
+
exports.useArtisanEarnings = useArtisanEarnings;
|
|
20
|
+
exports.useArtisanPerformance = useArtisanPerformance;
|
|
21
|
+
exports.useConsumerJobs = useConsumerJobs;
|
|
22
|
+
exports.useArtisanJobs = useArtisanJobs;
|
|
23
|
+
exports.useJob = useJob;
|
|
24
|
+
exports.useDashboardStats = useDashboardStats;
|
|
25
|
+
exports.useAdminArtisans = useAdminArtisans;
|
|
26
|
+
exports.useAdminConsumers = useAdminConsumers;
|
|
27
|
+
exports.usePendingApplications = usePendingApplications;
|
|
28
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
29
|
+
const react_1 = require("react");
|
|
30
|
+
const index_1 = require("../index");
|
|
31
|
+
const OsiseContext = (0, react_1.createContext)(null);
|
|
32
|
+
function OsiseProvider({ config, children }) {
|
|
33
|
+
const [isAuthenticated, setAuthenticated] = (0, react_1.useState)(false);
|
|
34
|
+
const client = (0, react_1.useMemo)(() => {
|
|
35
|
+
const osiseClient = new index_1.OsiseClient({
|
|
36
|
+
...config,
|
|
37
|
+
onAuthRequired: () => {
|
|
38
|
+
setAuthenticated(false);
|
|
39
|
+
config.onAuthRequired?.();
|
|
40
|
+
},
|
|
41
|
+
onTokenRefresh: (accessToken, refreshToken) => {
|
|
42
|
+
setAuthenticated(true);
|
|
43
|
+
config.onTokenRefresh?.(accessToken, refreshToken);
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
// Check initial auth state
|
|
47
|
+
setAuthenticated(osiseClient.isAuthenticated());
|
|
48
|
+
return osiseClient;
|
|
49
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
+
}, [config.baseUrl]);
|
|
51
|
+
const contextValue = (0, react_1.useMemo)(() => ({ client, isAuthenticated, setAuthenticated }), [client, isAuthenticated]);
|
|
52
|
+
return ((0, jsx_runtime_1.jsx)(OsiseContext.Provider, { value: contextValue, children: children }));
|
|
53
|
+
}
|
|
54
|
+
function useOsiseContext() {
|
|
55
|
+
const context = (0, react_1.useContext)(OsiseContext);
|
|
56
|
+
if (!context) {
|
|
57
|
+
throw new Error('useOsiseClient must be used within an OsiseProvider');
|
|
58
|
+
}
|
|
59
|
+
return context;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Hook to access the Osise client
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* function MyComponent() {
|
|
67
|
+
* const client = useOsiseClient();
|
|
68
|
+
*
|
|
69
|
+
* const handleLogin = async () => {
|
|
70
|
+
* await client.auth.requestOtp({ phoneNumber: '+234...' });
|
|
71
|
+
* };
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
function useOsiseClient() {
|
|
76
|
+
return useOsiseContext().client;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Hook to check authentication status
|
|
80
|
+
*/
|
|
81
|
+
function useIsAuthenticated() {
|
|
82
|
+
return useOsiseContext().isAuthenticated;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Generic query hook for API calls
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```tsx
|
|
89
|
+
* function Profile() {
|
|
90
|
+
* const { data, isLoading, error } = useQuery(
|
|
91
|
+
* () => client.consumers.getProfile(),
|
|
92
|
+
* { enabled: isAuthenticated }
|
|
93
|
+
* );
|
|
94
|
+
*
|
|
95
|
+
* if (isLoading) return <Loading />;
|
|
96
|
+
* if (error) return <Error message={error.message} />;
|
|
97
|
+
* return <div>{data?.firstName}</div>;
|
|
98
|
+
* }
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
function useQuery(queryFn, options = {}) {
|
|
102
|
+
const { enabled = true, refetchOnMount = true } = options;
|
|
103
|
+
const [state, setState] = (0, react_1.useState)({
|
|
104
|
+
data: null,
|
|
105
|
+
error: null,
|
|
106
|
+
isLoading: enabled,
|
|
107
|
+
isError: false,
|
|
108
|
+
isSuccess: false,
|
|
109
|
+
});
|
|
110
|
+
const execute = (0, react_1.useCallback)(async () => {
|
|
111
|
+
if (!enabled)
|
|
112
|
+
return;
|
|
113
|
+
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
114
|
+
try {
|
|
115
|
+
const response = await queryFn();
|
|
116
|
+
setState({
|
|
117
|
+
data: response.data,
|
|
118
|
+
error: null,
|
|
119
|
+
isLoading: false,
|
|
120
|
+
isError: false,
|
|
121
|
+
isSuccess: true,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
const error = err instanceof index_1.OsiseApiError ? err : new index_1.OsiseApiError('Unknown error', 500);
|
|
126
|
+
setState({
|
|
127
|
+
data: null,
|
|
128
|
+
error,
|
|
129
|
+
isLoading: false,
|
|
130
|
+
isError: true,
|
|
131
|
+
isSuccess: false,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}, [queryFn, enabled]);
|
|
135
|
+
(0, react_1.useEffect)(() => {
|
|
136
|
+
if (refetchOnMount) {
|
|
137
|
+
void execute();
|
|
138
|
+
}
|
|
139
|
+
}, [execute, refetchOnMount]);
|
|
140
|
+
return {
|
|
141
|
+
...state,
|
|
142
|
+
refetch: execute,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Generic mutation hook for API calls
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```tsx
|
|
150
|
+
* function RequestOtp() {
|
|
151
|
+
* const { mutate, isLoading } = useMutation(
|
|
152
|
+
* (phone: string) => client.auth.requestOtp({ phoneNumber: phone, purpose: 'Login' }),
|
|
153
|
+
* {
|
|
154
|
+
* onSuccess: () => navigate('/verify-otp'),
|
|
155
|
+
* onError: (error) => toast.error(error.message),
|
|
156
|
+
* }
|
|
157
|
+
* );
|
|
158
|
+
*
|
|
159
|
+
* return (
|
|
160
|
+
* <button onClick={() => mutate('+234...')} disabled={isLoading}>
|
|
161
|
+
* Request OTP
|
|
162
|
+
* </button>
|
|
163
|
+
* );
|
|
164
|
+
* }
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
function useMutation(mutationFn, options = {}) {
|
|
168
|
+
const [state, setState] = (0, react_1.useState)({
|
|
169
|
+
data: null,
|
|
170
|
+
error: null,
|
|
171
|
+
isLoading: false,
|
|
172
|
+
isError: false,
|
|
173
|
+
isSuccess: false,
|
|
174
|
+
});
|
|
175
|
+
const reset = (0, react_1.useCallback)(() => {
|
|
176
|
+
setState({
|
|
177
|
+
data: null,
|
|
178
|
+
error: null,
|
|
179
|
+
isLoading: false,
|
|
180
|
+
isError: false,
|
|
181
|
+
isSuccess: false,
|
|
182
|
+
});
|
|
183
|
+
}, []);
|
|
184
|
+
const mutateAsync = (0, react_1.useCallback)(async (variables) => {
|
|
185
|
+
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
186
|
+
try {
|
|
187
|
+
const response = await mutationFn(variables);
|
|
188
|
+
const data = response.data;
|
|
189
|
+
setState({
|
|
190
|
+
data,
|
|
191
|
+
error: null,
|
|
192
|
+
isLoading: false,
|
|
193
|
+
isError: false,
|
|
194
|
+
isSuccess: true,
|
|
195
|
+
});
|
|
196
|
+
options.onSuccess?.(data);
|
|
197
|
+
options.onSettled?.();
|
|
198
|
+
return data;
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
const error = err instanceof index_1.OsiseApiError ? err : new index_1.OsiseApiError('Unknown error', 500);
|
|
202
|
+
setState({
|
|
203
|
+
data: null,
|
|
204
|
+
error,
|
|
205
|
+
isLoading: false,
|
|
206
|
+
isError: true,
|
|
207
|
+
isSuccess: false,
|
|
208
|
+
});
|
|
209
|
+
options.onError?.(error);
|
|
210
|
+
options.onSettled?.();
|
|
211
|
+
throw error;
|
|
212
|
+
}
|
|
213
|
+
}, [mutationFn, options]);
|
|
214
|
+
const mutate = (0, react_1.useCallback)(async (variables) => {
|
|
215
|
+
try {
|
|
216
|
+
return await mutateAsync(variables);
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
}, [mutateAsync]);
|
|
222
|
+
return {
|
|
223
|
+
...state,
|
|
224
|
+
mutate,
|
|
225
|
+
mutateAsync,
|
|
226
|
+
reset,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Hook for OTP request
|
|
231
|
+
*/
|
|
232
|
+
function useRequestOtp() {
|
|
233
|
+
const client = useOsiseClient();
|
|
234
|
+
return useMutation((data) => client.auth.requestOtp(data));
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Hook for OTP verification
|
|
238
|
+
*/
|
|
239
|
+
function useVerifyOtp() {
|
|
240
|
+
const client = useOsiseClient();
|
|
241
|
+
const { setAuthenticated } = useOsiseContext();
|
|
242
|
+
return useMutation((data) => client.auth.verifyOtp(data), {
|
|
243
|
+
onSuccess: (data) => {
|
|
244
|
+
if (data?.tokens) {
|
|
245
|
+
client.setTokens(data.tokens.accessToken, data.tokens.refreshToken);
|
|
246
|
+
setAuthenticated(true);
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Hook for logout
|
|
253
|
+
*/
|
|
254
|
+
function useLogout() {
|
|
255
|
+
const client = useOsiseClient();
|
|
256
|
+
const { setAuthenticated } = useOsiseContext();
|
|
257
|
+
return useMutation(() => client.auth.logout(), {
|
|
258
|
+
onSettled: () => {
|
|
259
|
+
client.clearTokens();
|
|
260
|
+
setAuthenticated(false);
|
|
261
|
+
},
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Hook for getting current user
|
|
266
|
+
*/
|
|
267
|
+
function useCurrentUser() {
|
|
268
|
+
const client = useOsiseClient();
|
|
269
|
+
const isAuthenticated = useIsAuthenticated();
|
|
270
|
+
return useQuery(() => client.auth.getCurrentUser(), {
|
|
271
|
+
enabled: isAuthenticated,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Hook for consumer profile
|
|
276
|
+
*/
|
|
277
|
+
function useConsumerProfile() {
|
|
278
|
+
const client = useOsiseClient();
|
|
279
|
+
const isAuthenticated = useIsAuthenticated();
|
|
280
|
+
return useQuery(() => client.consumers.getProfile(), {
|
|
281
|
+
enabled: isAuthenticated,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Hook for consumer addresses
|
|
286
|
+
*/
|
|
287
|
+
function useConsumerAddresses() {
|
|
288
|
+
const client = useOsiseClient();
|
|
289
|
+
const isAuthenticated = useIsAuthenticated();
|
|
290
|
+
return useQuery(() => client.consumerAddresses.getAll(), {
|
|
291
|
+
enabled: isAuthenticated,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Hook for favorite artisans
|
|
296
|
+
*/
|
|
297
|
+
function useFavoriteArtisans(params) {
|
|
298
|
+
const client = useOsiseClient();
|
|
299
|
+
const isAuthenticated = useIsAuthenticated();
|
|
300
|
+
return useQuery(() => client.consumers.getFavorites(params), {
|
|
301
|
+
enabled: isAuthenticated,
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
// ==================== Artisan Hooks ====================
|
|
305
|
+
/**
|
|
306
|
+
* Hook for artisan profile
|
|
307
|
+
*/
|
|
308
|
+
function useArtisanProfile() {
|
|
309
|
+
const client = useOsiseClient();
|
|
310
|
+
const isAuthenticated = useIsAuthenticated();
|
|
311
|
+
return useQuery(() => client.artisans.getProfile(), {
|
|
312
|
+
enabled: isAuthenticated,
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Hook for artisan application status
|
|
317
|
+
*/
|
|
318
|
+
function useApplicationStatus() {
|
|
319
|
+
const client = useOsiseClient();
|
|
320
|
+
const isAuthenticated = useIsAuthenticated();
|
|
321
|
+
return useQuery(() => client.artisans.getApplicationStatus(), {
|
|
322
|
+
enabled: isAuthenticated,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Hook for artisan documents
|
|
327
|
+
*/
|
|
328
|
+
function useArtisanDocuments() {
|
|
329
|
+
const client = useOsiseClient();
|
|
330
|
+
const isAuthenticated = useIsAuthenticated();
|
|
331
|
+
return useQuery(() => client.artisans.getDocuments(), {
|
|
332
|
+
enabled: isAuthenticated,
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Hook for artisan availability
|
|
337
|
+
*/
|
|
338
|
+
function useArtisanAvailability() {
|
|
339
|
+
const client = useOsiseClient();
|
|
340
|
+
const isAuthenticated = useIsAuthenticated();
|
|
341
|
+
return useQuery(() => client.artisanAvailability.getStatus(), {
|
|
342
|
+
enabled: isAuthenticated,
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Hook for artisan earnings
|
|
347
|
+
*/
|
|
348
|
+
function useArtisanEarnings() {
|
|
349
|
+
const client = useOsiseClient();
|
|
350
|
+
const isAuthenticated = useIsAuthenticated();
|
|
351
|
+
return useQuery(() => client.artisanEarnings.getSummary(), {
|
|
352
|
+
enabled: isAuthenticated,
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Hook for artisan performance
|
|
357
|
+
*/
|
|
358
|
+
function useArtisanPerformance() {
|
|
359
|
+
const client = useOsiseClient();
|
|
360
|
+
const isAuthenticated = useIsAuthenticated();
|
|
361
|
+
return useQuery(() => client.artisanPerformance.getRating(), {
|
|
362
|
+
enabled: isAuthenticated,
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Hook for consumer jobs
|
|
367
|
+
*/
|
|
368
|
+
function useConsumerJobs(params) {
|
|
369
|
+
const client = useOsiseClient();
|
|
370
|
+
const isAuthenticated = useIsAuthenticated();
|
|
371
|
+
return useQuery(() => client.jobs.list(params), {
|
|
372
|
+
enabled: isAuthenticated,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Hook for artisan jobs
|
|
377
|
+
*/
|
|
378
|
+
function useArtisanJobs(params) {
|
|
379
|
+
const client = useOsiseClient();
|
|
380
|
+
const isAuthenticated = useIsAuthenticated();
|
|
381
|
+
return useQuery(() => client.artisanJobs.list(params), {
|
|
382
|
+
enabled: isAuthenticated,
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Hook for a specific job
|
|
387
|
+
*/
|
|
388
|
+
function useJob(jobId) {
|
|
389
|
+
const client = useOsiseClient();
|
|
390
|
+
const isAuthenticated = useIsAuthenticated();
|
|
391
|
+
return useQuery(() => client.jobs.get(jobId), {
|
|
392
|
+
enabled: isAuthenticated && !!jobId,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Hook for admin dashboard stats
|
|
397
|
+
*/
|
|
398
|
+
function useDashboardStats() {
|
|
399
|
+
const client = useOsiseClient();
|
|
400
|
+
const isAuthenticated = useIsAuthenticated();
|
|
401
|
+
return useQuery(() => client.adminDashboard.getStats(), {
|
|
402
|
+
enabled: isAuthenticated,
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Hook for admin artisan list
|
|
407
|
+
*/
|
|
408
|
+
function useAdminArtisans(params) {
|
|
409
|
+
const client = useOsiseClient();
|
|
410
|
+
const isAuthenticated = useIsAuthenticated();
|
|
411
|
+
return useQuery(() => client.adminArtisans.list(params), {
|
|
412
|
+
enabled: isAuthenticated,
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Hook for admin consumer list
|
|
417
|
+
*/
|
|
418
|
+
function useAdminConsumers(params) {
|
|
419
|
+
const client = useOsiseClient();
|
|
420
|
+
const isAuthenticated = useIsAuthenticated();
|
|
421
|
+
return useQuery(() => client.adminConsumers.list(params), {
|
|
422
|
+
enabled: isAuthenticated,
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Hook for pending applications
|
|
427
|
+
*/
|
|
428
|
+
function usePendingApplications(params) {
|
|
429
|
+
const client = useOsiseClient();
|
|
430
|
+
const isAuthenticated = useIsAuthenticated();
|
|
431
|
+
return useQuery(() => client.adminApplications.list(params), {
|
|
432
|
+
enabled: isAuthenticated,
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Osise API Client SDK
|
|
4
|
+
* Official TypeScript SDK for the Osise API
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.OsiseClient = exports.SecureTokenStorage = exports.BrowserTokenStorage = exports.MemoryTokenStorage = exports.HttpClient = exports.OsiseApiError = void 0;
|
|
24
|
+
exports.createOsiseClient = createOsiseClient;
|
|
25
|
+
const http_client_1 = require("./utils/http-client");
|
|
26
|
+
const storage_1 = require("./utils/storage");
|
|
27
|
+
const auth_1 = require("./api/auth");
|
|
28
|
+
const consumers_1 = require("./api/consumers");
|
|
29
|
+
const artisans_1 = require("./api/artisans");
|
|
30
|
+
const jobs_1 = require("./api/jobs");
|
|
31
|
+
const admin_1 = require("./api/admin");
|
|
32
|
+
// Re-export all types
|
|
33
|
+
__exportStar(require("./types"), exports);
|
|
34
|
+
// Re-export utilities
|
|
35
|
+
var http_client_2 = require("./utils/http-client");
|
|
36
|
+
Object.defineProperty(exports, "OsiseApiError", { enumerable: true, get: function () { return http_client_2.OsiseApiError; } });
|
|
37
|
+
var http_client_3 = require("./utils/http-client");
|
|
38
|
+
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_3.HttpClient; } });
|
|
39
|
+
var storage_2 = require("./utils/storage");
|
|
40
|
+
Object.defineProperty(exports, "MemoryTokenStorage", { enumerable: true, get: function () { return storage_2.MemoryTokenStorage; } });
|
|
41
|
+
Object.defineProperty(exports, "BrowserTokenStorage", { enumerable: true, get: function () { return storage_2.BrowserTokenStorage; } });
|
|
42
|
+
Object.defineProperty(exports, "SecureTokenStorage", { enumerable: true, get: function () { return storage_2.SecureTokenStorage; } });
|
|
43
|
+
// Re-export API classes for advanced usage
|
|
44
|
+
__exportStar(require("./api"), exports);
|
|
45
|
+
/**
|
|
46
|
+
* Main Osise API Client
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* import { OsiseClient } from '@osise/api-client';
|
|
51
|
+
*
|
|
52
|
+
* const client = new OsiseClient({
|
|
53
|
+
* baseUrl: 'https://api.osise.com',
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* // Request OTP
|
|
57
|
+
* const response = await client.auth.requestOtp({
|
|
58
|
+
* phoneNumber: '+2348012345678',
|
|
59
|
+
* purpose: 'Login',
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* // Verify OTP and get tokens
|
|
63
|
+
* const authResponse = await client.auth.verifyOtp({
|
|
64
|
+
* phoneNumber: '+2348012345678',
|
|
65
|
+
* code: '123456',
|
|
66
|
+
* deviceId: 'unique-device-id',
|
|
67
|
+
* });
|
|
68
|
+
*
|
|
69
|
+
* // Access consumer features
|
|
70
|
+
* const profile = await client.consumers.getProfile();
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
class OsiseClient {
|
|
74
|
+
constructor(config) {
|
|
75
|
+
this.storage = config.storage ?? new storage_1.MemoryTokenStorage();
|
|
76
|
+
const httpConfig = {
|
|
77
|
+
baseUrl: config.baseUrl,
|
|
78
|
+
timeout: config.timeout,
|
|
79
|
+
headers: config.headers,
|
|
80
|
+
getAccessToken: () => this.storage.getAccessToken(),
|
|
81
|
+
getRefreshToken: () => this.storage.getRefreshToken(),
|
|
82
|
+
setTokens: (accessToken, refreshToken) => {
|
|
83
|
+
this.storage.setTokens(accessToken, refreshToken);
|
|
84
|
+
config.onTokenRefresh?.(accessToken, refreshToken);
|
|
85
|
+
},
|
|
86
|
+
onError: async (error) => {
|
|
87
|
+
if (error.isUnauthorized) {
|
|
88
|
+
this.storage.clearTokens();
|
|
89
|
+
config.onAuthRequired?.();
|
|
90
|
+
}
|
|
91
|
+
config.onError?.(error);
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
// Add token refresh if enabled
|
|
95
|
+
if (config.autoRefresh !== false) {
|
|
96
|
+
httpConfig.onTokenRefresh = async () => {
|
|
97
|
+
const refreshToken = this.storage.getRefreshToken();
|
|
98
|
+
if (!refreshToken) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
const response = await this.http.post('/api/v1/auth/token/refresh', { refreshToken });
|
|
103
|
+
if (response.success && response.data) {
|
|
104
|
+
const { accessToken, refreshToken: newRefreshToken } = response.data.tokens;
|
|
105
|
+
this.storage.setTokens(accessToken, newRefreshToken);
|
|
106
|
+
config.onTokenRefresh?.(accessToken, newRefreshToken);
|
|
107
|
+
return accessToken;
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
this.storage.clearTokens();
|
|
113
|
+
config.onAuthRequired?.();
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
this.http = new http_client_1.HttpClient(httpConfig);
|
|
119
|
+
// Initialize API modules
|
|
120
|
+
this.auth = new auth_1.AuthApi(this.http);
|
|
121
|
+
this.consumers = new consumers_1.ConsumersApi(this.http);
|
|
122
|
+
this.consumerAddresses = new consumers_1.ConsumerAddressesApi(this.http);
|
|
123
|
+
this.artisans = new artisans_1.ArtisansApi(this.http);
|
|
124
|
+
this.artisanAvailability = new artisans_1.ArtisanAvailabilityApi(this.http);
|
|
125
|
+
this.artisanEarnings = new artisans_1.ArtisanEarningsApi(this.http);
|
|
126
|
+
this.artisanPerformance = new artisans_1.ArtisanPerformanceApi(this.http);
|
|
127
|
+
this.jobs = new jobs_1.JobsApi(this.http);
|
|
128
|
+
this.artisanJobs = new jobs_1.ArtisanJobsApi(this.http);
|
|
129
|
+
// Admin modules
|
|
130
|
+
this.adminArtisans = new admin_1.AdminArtisansApi(this.http);
|
|
131
|
+
this.adminApplications = new admin_1.AdminApplicationsApi(this.http);
|
|
132
|
+
this.adminConsumers = new admin_1.AdminConsumersApi(this.http);
|
|
133
|
+
this.adminDashboard = new admin_1.AdminDashboardApi(this.http);
|
|
134
|
+
this.adminJobs = new admin_1.AdminJobsApi(this.http);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Set authentication tokens manually
|
|
138
|
+
*/
|
|
139
|
+
setTokens(accessToken, refreshToken) {
|
|
140
|
+
this.storage.setTokens(accessToken, refreshToken);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Clear authentication tokens (logout)
|
|
144
|
+
*/
|
|
145
|
+
clearTokens() {
|
|
146
|
+
this.storage.clearTokens();
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Check if user is authenticated
|
|
150
|
+
*/
|
|
151
|
+
isAuthenticated() {
|
|
152
|
+
return this.storage.getAccessToken() !== null;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get the current access token
|
|
156
|
+
*/
|
|
157
|
+
getAccessToken() {
|
|
158
|
+
return this.storage.getAccessToken();
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get the underlying HTTP client for advanced usage
|
|
162
|
+
*/
|
|
163
|
+
getHttpClient() {
|
|
164
|
+
return this.http;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
exports.OsiseClient = OsiseClient;
|
|
168
|
+
/**
|
|
169
|
+
* Create an Osise client instance
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* import { createOsiseClient, BrowserTokenStorage } from '@osise/api-client';
|
|
174
|
+
*
|
|
175
|
+
* const client = createOsiseClient({
|
|
176
|
+
* baseUrl: 'https://api.osise.com',
|
|
177
|
+
* storage: new BrowserTokenStorage(),
|
|
178
|
+
* onAuthRequired: () => {
|
|
179
|
+
* window.location.href = '/login';
|
|
180
|
+
* },
|
|
181
|
+
* });
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
function createOsiseClient(config) {
|
|
185
|
+
return new OsiseClient(config);
|
|
186
|
+
}
|
|
187
|
+
// Default export
|
|
188
|
+
exports.default = OsiseClient;
|
|
189
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/types/admin.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artisan.js","sourceRoot":"","sources":["../../../src/types/artisan.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/types/auth.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|