|
1 |
| -import getFeaturesFlags from 'api/features/getFeatureFlags'; |
| 1 | +import list from 'api/v1/features/list'; |
2 | 2 | import { REACT_QUERY_KEY } from 'constants/reactQueryKeys';
|
3 | 3 | import { useQuery, UseQueryResult } from 'react-query';
|
| 4 | +import { SuccessResponseV2 } from 'types/api'; |
| 5 | +import APIError from 'types/api/error'; |
4 | 6 | import { FeatureFlagProps } from 'types/api/features/getFeaturesFlags';
|
5 | 7 |
|
6 |
| -const useGetFeatureFlag = ( |
| 8 | +export interface Props { |
| 9 | + onSuccessHandler: (routes: FeatureFlagProps[]) => void; |
| 10 | + isLoggedIn: boolean; |
| 11 | +} |
| 12 | +type UseGetFeatureFlag = UseQueryResult< |
| 13 | + SuccessResponseV2<FeatureFlagProps[]>, |
| 14 | + APIError |
| 15 | +>; |
| 16 | + |
| 17 | +export const useGetFeatureFlag = ( |
7 | 18 | onSuccessHandler: (routes: FeatureFlagProps[]) => void,
|
8 | 19 | isLoggedIn: boolean,
|
9 |
| -): UseQueryResult<FeatureFlagProps[], unknown> => |
10 |
| - useQuery<FeatureFlagProps[]>({ |
11 |
| - queryFn: getFeaturesFlags, |
| 20 | +): UseGetFeatureFlag => |
| 21 | + useQuery<SuccessResponseV2<FeatureFlagProps[]>, APIError>({ |
12 | 22 | queryKey: [REACT_QUERY_KEY.GET_FEATURES_FLAGS],
|
13 |
| - onSuccess: onSuccessHandler, |
| 23 | + queryFn: () => list(), |
| 24 | + onSuccess: (data) => { |
| 25 | + onSuccessHandler(data.data); |
| 26 | + }, |
14 | 27 | retryOnMount: false,
|
15 | 28 | enabled: !!isLoggedIn,
|
16 | 29 | });
|
17 |
| - |
18 |
| -export default useGetFeatureFlag; |
|
0 commit comments