feat(web): introduce API tokens in admin dashboard

This commit is contained in:
Ali BARIN
2025-04-15 16:01:34 +00:00
parent 2c1888e1b3
commit 15e8f1d5a8
20 changed files with 500 additions and 10 deletions

View File

@@ -0,0 +1,17 @@
import { useQuery } from '@tanstack/react-query';
import api from 'helpers/api';
export default function useAdminApiTokens() {
const query = useQuery({
queryKey: ['admin', 'apiTokens'],
queryFn: async ({ signal }) => {
const { data } = await api.get(`/v1/admin/api-tokens`, {
signal,
});
return data;
},
});
return query;
}

View File

@@ -0,0 +1,21 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import api from 'helpers/api';
export default function useAdminCreateApiToken() {
const queryClient = useQueryClient();
const mutation = useMutation({
mutationFn: async () => {
const { data } = await api.post('/v1/admin/api-tokens');
return data;
},
onSuccess: async () => {
await queryClient.invalidateQueries({
queryKey: ['admin', 'apiTokens'],
});
},
});
return mutation;
}

View File

@@ -0,0 +1,22 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import api from 'helpers/api';
export default function useAdminDeleteApiToken(apiTokenid) {
const queryClient = useQueryClient();
const mutation = useMutation({
mutationFn: async () => {
const { data } = await api.delete(`/v1/admin/api-tokens/${apiTokenid}`);
return data;
},
onSuccess: async () => {
await queryClient.invalidateQueries({
queryKey: ['admin', 'apiTokens'],
});
},
});
return mutation;
}