|
1 |
| -import { v1 } from "@docker/extension-api-client-types"; |
2 |
| -import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; |
3 |
| -import Secrets from "../Secrets"; |
4 |
| -import { Secret } from "../types"; |
| 1 | +import { v1 } from '@docker/extension-api-client-types'; |
| 2 | +import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; |
| 3 | +import Secrets from '../Secrets'; |
| 4 | +import { Secret } from '../types'; |
5 | 5 |
|
6 | 6 | export function useSecrets(client: v1.DockerDesktopClient) {
|
7 | 7 | const queryClient = useQueryClient();
|
8 | 8 |
|
9 | 9 | const { data, isLoading, error } = useQuery({
|
10 |
| - queryKey: ["secrets"], |
| 10 | + queryKey: ['secrets'], |
11 | 11 | queryFn: async () => {
|
12 | 12 | const secrets = await Secrets.getSecrets(client);
|
13 | 13 | return secrets;
|
14 | 14 | },
|
15 | 15 | });
|
16 | 16 | const mutate = useMutation({
|
17 | 17 | mutationFn: async (secret: Secret) => {
|
18 |
| - queryClient.setQueryData(["secrets"], (old: Secret[]) => { |
19 |
| - if (!secret.value) { |
20 |
| - return old.filter((s) => s.name !== secret.name); |
21 |
| - } |
22 |
| - return [...old, secret]; |
23 |
| - }); |
24 | 18 | if (!secret.value) {
|
25 | 19 | return Secrets.deleteSecret(client, secret.name);
|
26 | 20 | }
|
27 | 21 | return Secrets.addSecret(client, secret);
|
28 | 22 | },
|
29 | 23 | onSuccess: () => {
|
30 | 24 | // Invalidate and refetch secrets after mutation
|
31 |
| - queryClient.invalidateQueries({ queryKey: ["secrets"] }); |
| 25 | + queryClient.invalidateQueries({ queryKey: ['secrets'] }); |
32 | 26 | },
|
33 | 27 | });
|
34 | 28 | return { data, isLoading, error, mutate };
|
|
0 commit comments