@shipfox/client-runners 0.2.0
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/.storybook/main.ts +1 -0
- package/.storybook/preview.css +4 -0
- package/.storybook/preview.tsx +64 -0
- package/.turbo/turbo-build.log +2 -0
- package/.turbo/turbo-type$colon$emit.log +1 -0
- package/.turbo/turbo-type.log +1 -0
- package/CHANGELOG.md +112 -0
- package/LICENSE +21 -0
- package/dist/components/create-manual-registration-token-form.d.ts +10 -0
- package/dist/components/create-manual-registration-token-form.d.ts.map +1 -0
- package/dist/components/create-manual-registration-token-form.js +206 -0
- package/dist/components/create-manual-registration-token-form.js.map +1 -0
- package/dist/components/create-provisioner-token-form.d.ts +10 -0
- package/dist/components/create-provisioner-token-form.d.ts.map +1 -0
- package/dist/components/create-provisioner-token-form.js +206 -0
- package/dist/components/create-provisioner-token-form.js.map +1 -0
- package/dist/components/form-errors.d.ts +6 -0
- package/dist/components/form-errors.d.ts.map +1 -0
- package/dist/components/form-errors.js +9 -0
- package/dist/components/form-errors.js.map +1 -0
- package/dist/components/manual-registration-token-errors.d.ts +2 -0
- package/dist/components/manual-registration-token-errors.d.ts.map +1 -0
- package/dist/components/manual-registration-token-errors.js +14 -0
- package/dist/components/manual-registration-token-errors.js.map +1 -0
- package/dist/components/manual-registration-token-format.d.ts +5 -0
- package/dist/components/manual-registration-token-format.d.ts.map +1 -0
- package/dist/components/manual-registration-token-format.js +14 -0
- package/dist/components/manual-registration-token-format.js.map +1 -0
- package/dist/components/manual-registration-token-list.d.ts +8 -0
- package/dist/components/manual-registration-token-list.d.ts.map +1 -0
- package/dist/components/manual-registration-token-list.js +293 -0
- package/dist/components/manual-registration-token-list.js.map +1 -0
- package/dist/components/manual-registration-tokens-settings-section.d.ts +4 -0
- package/dist/components/manual-registration-tokens-settings-section.d.ts.map +1 -0
- package/dist/components/manual-registration-tokens-settings-section.js +109 -0
- package/dist/components/manual-registration-tokens-settings-section.js.map +1 -0
- package/dist/components/provisioner-token-errors.d.ts +2 -0
- package/dist/components/provisioner-token-errors.d.ts.map +1 -0
- package/dist/components/provisioner-token-errors.js +13 -0
- package/dist/components/provisioner-token-errors.js.map +1 -0
- package/dist/components/provisioner-token-form-errors.d.ts +6 -0
- package/dist/components/provisioner-token-form-errors.d.ts.map +1 -0
- package/dist/components/provisioner-token-form-errors.js +9 -0
- package/dist/components/provisioner-token-form-errors.js.map +1 -0
- package/dist/components/provisioner-token-format.d.ts +21 -0
- package/dist/components/provisioner-token-format.d.ts.map +1 -0
- package/dist/components/provisioner-token-format.js +36 -0
- package/dist/components/provisioner-token-format.js.map +1 -0
- package/dist/components/provisioner-token-list.d.ts +9 -0
- package/dist/components/provisioner-token-list.d.ts.map +1 -0
- package/dist/components/provisioner-token-list.js +344 -0
- package/dist/components/provisioner-token-list.js.map +1 -0
- package/dist/components/provisioner-tokens-settings-section.d.ts +4 -0
- package/dist/components/provisioner-tokens-settings-section.d.ts.map +1 -0
- package/dist/components/provisioner-tokens-settings-section.js +117 -0
- package/dist/components/provisioner-tokens-settings-section.js.map +1 -0
- package/dist/components/token-date.d.ts +6 -0
- package/dist/components/token-date.d.ts.map +1 -0
- package/dist/components/token-date.js +27 -0
- package/dist/components/token-date.js.map +1 -0
- package/dist/components/token-expiration-select.d.ts +11 -0
- package/dist/components/token-expiration-select.d.ts.map +1 -0
- package/dist/components/token-expiration-select.js +68 -0
- package/dist/components/token-expiration-select.js.map +1 -0
- package/dist/components/token-name.d.ts +4 -0
- package/dist/components/token-name.d.ts.map +1 -0
- package/dist/components/token-name.js +24 -0
- package/dist/components/token-name.js.map +1 -0
- package/dist/components/token-settings-sections.stories.d.ts +26 -0
- package/dist/components/token-settings-sections.stories.d.ts.map +1 -0
- package/dist/components/token-settings-sections.stories.js +370 -0
- package/dist/components/token-settings-sections.stories.js.map +1 -0
- package/dist/hooks/api/manual-registration-tokens.d.ts +83 -0
- package/dist/hooks/api/manual-registration-tokens.d.ts.map +1 -0
- package/dist/hooks/api/manual-registration-tokens.js +53 -0
- package/dist/hooks/api/manual-registration-tokens.js.map +1 -0
- package/dist/hooks/api/provisioner-tokens.d.ts +125 -0
- package/dist/hooks/api/provisioner-tokens.d.ts.map +1 -0
- package/dist/hooks/api/provisioner-tokens.js +81 -0
- package/dist/hooks/api/provisioner-tokens.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.test.tsbuildinfo +1 -0
- package/package.json +88 -0
- package/src/components/create-manual-registration-token-form.tsx +197 -0
- package/src/components/create-provisioner-token-form.tsx +193 -0
- package/src/components/form-errors.test.ts +24 -0
- package/src/components/form-errors.ts +9 -0
- package/src/components/manual-registration-token-errors.ts +13 -0
- package/src/components/manual-registration-token-format.test.ts +48 -0
- package/src/components/manual-registration-token-format.ts +18 -0
- package/src/components/manual-registration-token-list.tsx +246 -0
- package/src/components/manual-registration-tokens-settings-section.test.tsx +251 -0
- package/src/components/manual-registration-tokens-settings-section.tsx +110 -0
- package/src/components/provisioner-token-errors.ts +12 -0
- package/src/components/provisioner-token-form-errors.test.ts +35 -0
- package/src/components/provisioner-token-form-errors.ts +9 -0
- package/src/components/provisioner-token-format.test.ts +96 -0
- package/src/components/provisioner-token-format.ts +40 -0
- package/src/components/provisioner-token-list.tsx +280 -0
- package/src/components/provisioner-tokens-settings-section.test.tsx +362 -0
- package/src/components/provisioner-tokens-settings-section.tsx +114 -0
- package/src/components/token-date.tsx +27 -0
- package/src/components/token-expiration-select.tsx +64 -0
- package/src/components/token-name.tsx +19 -0
- package/src/components/token-settings-sections.stories.tsx +360 -0
- package/src/hooks/api/manual-registration-tokens.test.ts +87 -0
- package/src/hooks/api/manual-registration-tokens.ts +71 -0
- package/src/hooks/api/provisioner-tokens.test.ts +127 -0
- package/src/hooks/api/provisioner-tokens.ts +102 -0
- package/src/index.ts +4 -0
- package/test/setup.ts +3 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.json +3 -0
- package/tsconfig.test.json +8 -0
- package/vercel.json +8 -0
- package/vitest.config.ts +74 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { apiRequest } from '@shipfox/client-api';
|
|
2
|
+
import { useMutation, useQuery } from '@tanstack/react-query';
|
|
3
|
+
export const manualRegistrationTokenQueryKeys = {
|
|
4
|
+
all: [
|
|
5
|
+
'manual-registration-tokens'
|
|
6
|
+
],
|
|
7
|
+
list: (workspaceId)=>[
|
|
8
|
+
...manualRegistrationTokenQueryKeys.all,
|
|
9
|
+
'list',
|
|
10
|
+
workspaceId
|
|
11
|
+
]
|
|
12
|
+
};
|
|
13
|
+
export async function listManualRegistrationTokens({ workspaceId, signal }) {
|
|
14
|
+
return await apiRequest(`/workspaces/${workspaceId}/runners/manual-registration-tokens`, {
|
|
15
|
+
signal
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export async function createManualRegistrationToken({ workspaceId, body }) {
|
|
19
|
+
return await apiRequest(`/workspaces/${workspaceId}/runners/manual-registration-tokens`, {
|
|
20
|
+
method: 'POST',
|
|
21
|
+
body
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export async function revokeManualRegistrationToken({ workspaceId, tokenId }) {
|
|
25
|
+
return await apiRequest(`/workspaces/${workspaceId}/runners/manual-registration-tokens/${tokenId}/revoke`, {
|
|
26
|
+
method: 'POST'
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export function useManualRegistrationTokensQuery(workspaceId) {
|
|
30
|
+
return useQuery({
|
|
31
|
+
queryKey: workspaceId ? manualRegistrationTokenQueryKeys.list(workspaceId) : [
|
|
32
|
+
...manualRegistrationTokenQueryKeys.all,
|
|
33
|
+
'list'
|
|
34
|
+
],
|
|
35
|
+
enabled: Boolean(workspaceId),
|
|
36
|
+
queryFn: ({ signal })=>listManualRegistrationTokens({
|
|
37
|
+
workspaceId: workspaceId ?? '',
|
|
38
|
+
signal
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export function useCreateManualRegistrationTokenMutation() {
|
|
43
|
+
return useMutation({
|
|
44
|
+
mutationFn: createManualRegistrationToken
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export function useRevokeManualRegistrationTokenMutation() {
|
|
48
|
+
return useMutation({
|
|
49
|
+
mutationFn: revokeManualRegistrationToken
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=manual-registration-tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/api/manual-registration-tokens.ts"],"sourcesContent":["import type {\n CreateManualRegistrationTokenBodyDto,\n CreateManualRegistrationTokenResponseDto,\n ListManualRegistrationTokensResponseDto,\n RevokeManualRegistrationTokenResponseDto,\n} from '@shipfox/api-runners-dto';\nimport {apiRequest} from '@shipfox/client-api';\nimport {useMutation, useQuery} from '@tanstack/react-query';\n\nexport const manualRegistrationTokenQueryKeys = {\n all: ['manual-registration-tokens'] as const,\n list: (workspaceId: string) =>\n [...manualRegistrationTokenQueryKeys.all, 'list', workspaceId] as const,\n};\n\nexport async function listManualRegistrationTokens({\n workspaceId,\n signal,\n}: {\n workspaceId: string;\n signal?: AbortSignal;\n}) {\n return await apiRequest<ListManualRegistrationTokensResponseDto>(\n `/workspaces/${workspaceId}/runners/manual-registration-tokens`,\n {signal},\n );\n}\n\nexport async function createManualRegistrationToken({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: CreateManualRegistrationTokenBodyDto;\n}) {\n return await apiRequest<CreateManualRegistrationTokenResponseDto>(\n `/workspaces/${workspaceId}/runners/manual-registration-tokens`,\n {method: 'POST', body},\n );\n}\n\nexport async function revokeManualRegistrationToken({\n workspaceId,\n tokenId,\n}: {\n workspaceId: string;\n tokenId: string;\n}) {\n return await apiRequest<RevokeManualRegistrationTokenResponseDto>(\n `/workspaces/${workspaceId}/runners/manual-registration-tokens/${tokenId}/revoke`,\n {method: 'POST'},\n );\n}\n\nexport function useManualRegistrationTokensQuery(workspaceId: string | undefined) {\n return useQuery({\n queryKey: workspaceId\n ? manualRegistrationTokenQueryKeys.list(workspaceId)\n : [...manualRegistrationTokenQueryKeys.all, 'list'],\n enabled: Boolean(workspaceId),\n queryFn: ({signal}) => listManualRegistrationTokens({workspaceId: workspaceId ?? '', signal}),\n });\n}\n\nexport function useCreateManualRegistrationTokenMutation() {\n return useMutation({mutationFn: createManualRegistrationToken});\n}\n\nexport function useRevokeManualRegistrationTokenMutation() {\n return useMutation({mutationFn: revokeManualRegistrationToken});\n}\n"],"names":["apiRequest","useMutation","useQuery","manualRegistrationTokenQueryKeys","all","list","workspaceId","listManualRegistrationTokens","signal","createManualRegistrationToken","body","method","revokeManualRegistrationToken","tokenId","useManualRegistrationTokensQuery","queryKey","enabled","Boolean","queryFn","useCreateManualRegistrationTokenMutation","mutationFn","useRevokeManualRegistrationTokenMutation"],"mappings":"AAMA,SAAQA,UAAU,QAAO,sBAAsB;AAC/C,SAAQC,WAAW,EAAEC,QAAQ,QAAO,wBAAwB;AAE5D,OAAO,MAAMC,mCAAmC;IAC9CC,KAAK;QAAC;KAA6B;IACnCC,MAAM,CAACC,cACL;eAAIH,iCAAiCC,GAAG;YAAE;YAAQE;SAAY;AAClE,EAAE;AAEF,OAAO,eAAeC,6BAA6B,EACjDD,WAAW,EACXE,MAAM,EAIP;IACC,OAAO,MAAMR,WACX,CAAC,YAAY,EAAEM,YAAY,mCAAmC,CAAC,EAC/D;QAACE;IAAM;AAEX;AAEA,OAAO,eAAeC,8BAA8B,EAClDH,WAAW,EACXI,IAAI,EAIL;IACC,OAAO,MAAMV,WACX,CAAC,YAAY,EAAEM,YAAY,mCAAmC,CAAC,EAC/D;QAACK,QAAQ;QAAQD;IAAI;AAEzB;AAEA,OAAO,eAAeE,8BAA8B,EAClDN,WAAW,EACXO,OAAO,EAIR;IACC,OAAO,MAAMb,WACX,CAAC,YAAY,EAAEM,YAAY,oCAAoC,EAAEO,QAAQ,OAAO,CAAC,EACjF;QAACF,QAAQ;IAAM;AAEnB;AAEA,OAAO,SAASG,iCAAiCR,WAA+B;IAC9E,OAAOJ,SAAS;QACda,UAAUT,cACNH,iCAAiCE,IAAI,CAACC,eACtC;eAAIH,iCAAiCC,GAAG;YAAE;SAAO;QACrDY,SAASC,QAAQX;QACjBY,SAAS,CAAC,EAACV,MAAM,EAAC,GAAKD,6BAA6B;gBAACD,aAAaA,eAAe;gBAAIE;YAAM;IAC7F;AACF;AAEA,OAAO,SAASW;IACd,OAAOlB,YAAY;QAACmB,YAAYX;IAA6B;AAC/D;AAEA,OAAO,SAASY;IACd,OAAOpB,YAAY;QAACmB,YAAYR;IAA6B;AAC/D"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { CreateProvisionerTokenBodyDto } from '@shipfox/api-runners-dto';
|
|
2
|
+
export declare const provisionerTokenQueryKeys: {
|
|
3
|
+
all: readonly ["provisioner-tokens"];
|
|
4
|
+
list: (workspaceId: string) => readonly ["provisioner-tokens", "tokens", string];
|
|
5
|
+
active: (workspaceId: string) => readonly ["provisioner-tokens", "provisioners", string];
|
|
6
|
+
};
|
|
7
|
+
export declare function listProvisionerTokens({ workspaceId, signal, }: {
|
|
8
|
+
workspaceId: string;
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
}): Promise<{
|
|
11
|
+
tokens: {
|
|
12
|
+
id: string;
|
|
13
|
+
workspace_id: string;
|
|
14
|
+
prefix: string;
|
|
15
|
+
name: string | null;
|
|
16
|
+
created_by_user_id: string;
|
|
17
|
+
revoked_by_user_id: string | null;
|
|
18
|
+
expires_at: string | null;
|
|
19
|
+
revoked_at: string | null;
|
|
20
|
+
last_seen_at: string | null;
|
|
21
|
+
created_at: string;
|
|
22
|
+
updated_at: string;
|
|
23
|
+
}[];
|
|
24
|
+
}>;
|
|
25
|
+
export declare function createProvisionerToken({ workspaceId, body, }: {
|
|
26
|
+
workspaceId: string;
|
|
27
|
+
body: CreateProvisionerTokenBodyDto;
|
|
28
|
+
}): Promise<{
|
|
29
|
+
id: string;
|
|
30
|
+
raw_token: string;
|
|
31
|
+
prefix: string;
|
|
32
|
+
name: string | null;
|
|
33
|
+
workspace_id: string;
|
|
34
|
+
created_by_user_id: string;
|
|
35
|
+
revoked_by_user_id: string | null;
|
|
36
|
+
expires_at: string | null;
|
|
37
|
+
revoked_at: string | null;
|
|
38
|
+
last_seen_at: string | null;
|
|
39
|
+
created_at: string;
|
|
40
|
+
updated_at: string;
|
|
41
|
+
}>;
|
|
42
|
+
export declare function revokeProvisionerToken({ workspaceId, tokenId, }: {
|
|
43
|
+
workspaceId: string;
|
|
44
|
+
tokenId: string;
|
|
45
|
+
}): Promise<{
|
|
46
|
+
id: string;
|
|
47
|
+
workspace_id: string;
|
|
48
|
+
prefix: string;
|
|
49
|
+
name: string | null;
|
|
50
|
+
created_by_user_id: string;
|
|
51
|
+
revoked_by_user_id: string | null;
|
|
52
|
+
expires_at: string | null;
|
|
53
|
+
revoked_at: string | null;
|
|
54
|
+
last_seen_at: string | null;
|
|
55
|
+
created_at: string;
|
|
56
|
+
updated_at: string;
|
|
57
|
+
}>;
|
|
58
|
+
export declare function listActiveProvisioners({ workspaceId, signal, }: {
|
|
59
|
+
workspaceId: string;
|
|
60
|
+
signal?: AbortSignal;
|
|
61
|
+
}): Promise<{
|
|
62
|
+
provisioners: {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string | null;
|
|
65
|
+
prefix: string;
|
|
66
|
+
last_seen_at: string;
|
|
67
|
+
}[];
|
|
68
|
+
}>;
|
|
69
|
+
export declare function useProvisionerTokensQuery(workspaceId: string | undefined): import("@tanstack/react-query").UseQueryResult<NoInfer<{
|
|
70
|
+
tokens: {
|
|
71
|
+
id: string;
|
|
72
|
+
workspace_id: string;
|
|
73
|
+
prefix: string;
|
|
74
|
+
name: string | null;
|
|
75
|
+
created_by_user_id: string;
|
|
76
|
+
revoked_by_user_id: string | null;
|
|
77
|
+
expires_at: string | null;
|
|
78
|
+
revoked_at: string | null;
|
|
79
|
+
last_seen_at: string | null;
|
|
80
|
+
created_at: string;
|
|
81
|
+
updated_at: string;
|
|
82
|
+
}[];
|
|
83
|
+
}>, Error>;
|
|
84
|
+
export declare function useCreateProvisionerTokenMutation(): import("@tanstack/react-query").UseMutationResult<{
|
|
85
|
+
id: string;
|
|
86
|
+
raw_token: string;
|
|
87
|
+
prefix: string;
|
|
88
|
+
name: string | null;
|
|
89
|
+
workspace_id: string;
|
|
90
|
+
created_by_user_id: string;
|
|
91
|
+
revoked_by_user_id: string | null;
|
|
92
|
+
expires_at: string | null;
|
|
93
|
+
revoked_at: string | null;
|
|
94
|
+
last_seen_at: string | null;
|
|
95
|
+
created_at: string;
|
|
96
|
+
updated_at: string;
|
|
97
|
+
}, Error, {
|
|
98
|
+
workspaceId: string;
|
|
99
|
+
body: CreateProvisionerTokenBodyDto;
|
|
100
|
+
}, unknown>;
|
|
101
|
+
export declare function useRevokeProvisionerTokenMutation(): import("@tanstack/react-query").UseMutationResult<{
|
|
102
|
+
id: string;
|
|
103
|
+
workspace_id: string;
|
|
104
|
+
prefix: string;
|
|
105
|
+
name: string | null;
|
|
106
|
+
created_by_user_id: string;
|
|
107
|
+
revoked_by_user_id: string | null;
|
|
108
|
+
expires_at: string | null;
|
|
109
|
+
revoked_at: string | null;
|
|
110
|
+
last_seen_at: string | null;
|
|
111
|
+
created_at: string;
|
|
112
|
+
updated_at: string;
|
|
113
|
+
}, Error, {
|
|
114
|
+
workspaceId: string;
|
|
115
|
+
tokenId: string;
|
|
116
|
+
}, unknown>;
|
|
117
|
+
export declare function useActiveProvisionersQuery(workspaceId: string | undefined): import("@tanstack/react-query").UseQueryResult<NoInfer<{
|
|
118
|
+
provisioners: {
|
|
119
|
+
id: string;
|
|
120
|
+
name: string | null;
|
|
121
|
+
prefix: string;
|
|
122
|
+
last_seen_at: string;
|
|
123
|
+
}[];
|
|
124
|
+
}>, Error>;
|
|
125
|
+
//# sourceMappingURL=provisioner-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisioner-tokens.d.ts","sourceRoot":"","sources":["../../../src/hooks/api/provisioner-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAK9B,MAAM,0BAA0B,CAAC;AAMlC,eAAO,MAAM,yBAAyB;;wBAEhB,MAAM;0BACJ,MAAM;CAE7B,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,EAC1C,WAAW,EACX,MAAM,GACP,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;;;;;;;;;;;;;;GAKA;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,WAAW,EACX,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,6BAA6B,CAAC;CACrC;;;;;;;;;;;;;GAKA;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,WAAW,EACX,OAAO,GACR,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;;;;;;;;;;;;GAKA;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,WAAW,EACX,MAAM,GACP,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;;;;;;;GAKA;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;;;;;;;;;;;;;;WAUxE;AAED,wBAAgB,iCAAiC;;;;;;;;;;;;;;iBA/ClC,MAAM;UACb,6BAA6B;YAgDpC;AAED,wBAAgB,iCAAiC;;;;;;;;;;;;;iBAtClC,MAAM;aACV,MAAM;YAuChB;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;;;;;;;WAUzE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { apiRequest } from '@shipfox/client-api';
|
|
2
|
+
import { useMutation, useQuery } from '@tanstack/react-query';
|
|
3
|
+
const PROVISIONER_TOKEN_REFETCH_INTERVAL_MS = 30_000;
|
|
4
|
+
export const provisionerTokenQueryKeys = {
|
|
5
|
+
all: [
|
|
6
|
+
'provisioner-tokens'
|
|
7
|
+
],
|
|
8
|
+
list: (workspaceId)=>[
|
|
9
|
+
...provisionerTokenQueryKeys.all,
|
|
10
|
+
'tokens',
|
|
11
|
+
workspaceId
|
|
12
|
+
],
|
|
13
|
+
active: (workspaceId)=>[
|
|
14
|
+
...provisionerTokenQueryKeys.all,
|
|
15
|
+
'provisioners',
|
|
16
|
+
workspaceId
|
|
17
|
+
]
|
|
18
|
+
};
|
|
19
|
+
export async function listProvisionerTokens({ workspaceId, signal }) {
|
|
20
|
+
return await apiRequest(`/workspaces/${workspaceId}/provisioners/tokens`, {
|
|
21
|
+
signal
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export async function createProvisionerToken({ workspaceId, body }) {
|
|
25
|
+
return await apiRequest(`/workspaces/${workspaceId}/provisioners/tokens`, {
|
|
26
|
+
method: 'POST',
|
|
27
|
+
body
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export async function revokeProvisionerToken({ workspaceId, tokenId }) {
|
|
31
|
+
return await apiRequest(`/workspaces/${workspaceId}/provisioners/tokens/${tokenId}/revoke`, {
|
|
32
|
+
method: 'POST'
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export async function listActiveProvisioners({ workspaceId, signal }) {
|
|
36
|
+
return await apiRequest(`/workspaces/${workspaceId}/provisioners/active`, {
|
|
37
|
+
signal
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export function useProvisionerTokensQuery(workspaceId) {
|
|
41
|
+
return useQuery({
|
|
42
|
+
queryKey: workspaceId ? provisionerTokenQueryKeys.list(workspaceId) : [
|
|
43
|
+
...provisionerTokenQueryKeys.all,
|
|
44
|
+
'tokens'
|
|
45
|
+
],
|
|
46
|
+
enabled: Boolean(workspaceId),
|
|
47
|
+
queryFn: ({ signal })=>listProvisionerTokens({
|
|
48
|
+
workspaceId: workspaceId ?? '',
|
|
49
|
+
signal
|
|
50
|
+
}),
|
|
51
|
+
refetchInterval: PROVISIONER_TOKEN_REFETCH_INTERVAL_MS,
|
|
52
|
+
refetchIntervalInBackground: false
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
export function useCreateProvisionerTokenMutation() {
|
|
56
|
+
return useMutation({
|
|
57
|
+
mutationFn: createProvisionerToken
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
export function useRevokeProvisionerTokenMutation() {
|
|
61
|
+
return useMutation({
|
|
62
|
+
mutationFn: revokeProvisionerToken
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export function useActiveProvisionersQuery(workspaceId) {
|
|
66
|
+
return useQuery({
|
|
67
|
+
queryKey: workspaceId ? provisionerTokenQueryKeys.active(workspaceId) : [
|
|
68
|
+
...provisionerTokenQueryKeys.all,
|
|
69
|
+
'provisioners'
|
|
70
|
+
],
|
|
71
|
+
enabled: Boolean(workspaceId),
|
|
72
|
+
queryFn: ({ signal })=>listActiveProvisioners({
|
|
73
|
+
workspaceId: workspaceId ?? '',
|
|
74
|
+
signal
|
|
75
|
+
}),
|
|
76
|
+
refetchInterval: PROVISIONER_TOKEN_REFETCH_INTERVAL_MS,
|
|
77
|
+
refetchIntervalInBackground: false
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=provisioner-tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/api/provisioner-tokens.ts"],"sourcesContent":["import type {\n CreateProvisionerTokenBodyDto,\n CreateProvisionerTokenResponseDto,\n ListActiveProvisionersResponseDto,\n ListProvisionerTokensResponseDto,\n RevokeProvisionerTokenResponseDto,\n} from '@shipfox/api-runners-dto';\nimport {apiRequest} from '@shipfox/client-api';\nimport {useMutation, useQuery} from '@tanstack/react-query';\n\nconst PROVISIONER_TOKEN_REFETCH_INTERVAL_MS = 30_000;\n\nexport const provisionerTokenQueryKeys = {\n all: ['provisioner-tokens'] as const,\n list: (workspaceId: string) => [...provisionerTokenQueryKeys.all, 'tokens', workspaceId] as const,\n active: (workspaceId: string) =>\n [...provisionerTokenQueryKeys.all, 'provisioners', workspaceId] as const,\n};\n\nexport async function listProvisionerTokens({\n workspaceId,\n signal,\n}: {\n workspaceId: string;\n signal?: AbortSignal;\n}) {\n return await apiRequest<ListProvisionerTokensResponseDto>(\n `/workspaces/${workspaceId}/provisioners/tokens`,\n {signal},\n );\n}\n\nexport async function createProvisionerToken({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: CreateProvisionerTokenBodyDto;\n}) {\n return await apiRequest<CreateProvisionerTokenResponseDto>(\n `/workspaces/${workspaceId}/provisioners/tokens`,\n {method: 'POST', body},\n );\n}\n\nexport async function revokeProvisionerToken({\n workspaceId,\n tokenId,\n}: {\n workspaceId: string;\n tokenId: string;\n}) {\n return await apiRequest<RevokeProvisionerTokenResponseDto>(\n `/workspaces/${workspaceId}/provisioners/tokens/${tokenId}/revoke`,\n {method: 'POST'},\n );\n}\n\nexport async function listActiveProvisioners({\n workspaceId,\n signal,\n}: {\n workspaceId: string;\n signal?: AbortSignal;\n}) {\n return await apiRequest<ListActiveProvisionersResponseDto>(\n `/workspaces/${workspaceId}/provisioners/active`,\n {signal},\n );\n}\n\nexport function useProvisionerTokensQuery(workspaceId: string | undefined) {\n return useQuery({\n queryKey: workspaceId\n ? provisionerTokenQueryKeys.list(workspaceId)\n : [...provisionerTokenQueryKeys.all, 'tokens'],\n enabled: Boolean(workspaceId),\n queryFn: ({signal}) => listProvisionerTokens({workspaceId: workspaceId ?? '', signal}),\n refetchInterval: PROVISIONER_TOKEN_REFETCH_INTERVAL_MS,\n refetchIntervalInBackground: false,\n });\n}\n\nexport function useCreateProvisionerTokenMutation() {\n return useMutation({mutationFn: createProvisionerToken});\n}\n\nexport function useRevokeProvisionerTokenMutation() {\n return useMutation({mutationFn: revokeProvisionerToken});\n}\n\nexport function useActiveProvisionersQuery(workspaceId: string | undefined) {\n return useQuery({\n queryKey: workspaceId\n ? provisionerTokenQueryKeys.active(workspaceId)\n : [...provisionerTokenQueryKeys.all, 'provisioners'],\n enabled: Boolean(workspaceId),\n queryFn: ({signal}) => listActiveProvisioners({workspaceId: workspaceId ?? '', signal}),\n refetchInterval: PROVISIONER_TOKEN_REFETCH_INTERVAL_MS,\n refetchIntervalInBackground: false,\n });\n}\n"],"names":["apiRequest","useMutation","useQuery","PROVISIONER_TOKEN_REFETCH_INTERVAL_MS","provisionerTokenQueryKeys","all","list","workspaceId","active","listProvisionerTokens","signal","createProvisionerToken","body","method","revokeProvisionerToken","tokenId","listActiveProvisioners","useProvisionerTokensQuery","queryKey","enabled","Boolean","queryFn","refetchInterval","refetchIntervalInBackground","useCreateProvisionerTokenMutation","mutationFn","useRevokeProvisionerTokenMutation","useActiveProvisionersQuery"],"mappings":"AAOA,SAAQA,UAAU,QAAO,sBAAsB;AAC/C,SAAQC,WAAW,EAAEC,QAAQ,QAAO,wBAAwB;AAE5D,MAAMC,wCAAwC;AAE9C,OAAO,MAAMC,4BAA4B;IACvCC,KAAK;QAAC;KAAqB;IAC3BC,MAAM,CAACC,cAAwB;eAAIH,0BAA0BC,GAAG;YAAE;YAAUE;SAAY;IACxFC,QAAQ,CAACD,cACP;eAAIH,0BAA0BC,GAAG;YAAE;YAAgBE;SAAY;AACnE,EAAE;AAEF,OAAO,eAAeE,sBAAsB,EAC1CF,WAAW,EACXG,MAAM,EAIP;IACC,OAAO,MAAMV,WACX,CAAC,YAAY,EAAEO,YAAY,oBAAoB,CAAC,EAChD;QAACG;IAAM;AAEX;AAEA,OAAO,eAAeC,uBAAuB,EAC3CJ,WAAW,EACXK,IAAI,EAIL;IACC,OAAO,MAAMZ,WACX,CAAC,YAAY,EAAEO,YAAY,oBAAoB,CAAC,EAChD;QAACM,QAAQ;QAAQD;IAAI;AAEzB;AAEA,OAAO,eAAeE,uBAAuB,EAC3CP,WAAW,EACXQ,OAAO,EAIR;IACC,OAAO,MAAMf,WACX,CAAC,YAAY,EAAEO,YAAY,qBAAqB,EAAEQ,QAAQ,OAAO,CAAC,EAClE;QAACF,QAAQ;IAAM;AAEnB;AAEA,OAAO,eAAeG,uBAAuB,EAC3CT,WAAW,EACXG,MAAM,EAIP;IACC,OAAO,MAAMV,WACX,CAAC,YAAY,EAAEO,YAAY,oBAAoB,CAAC,EAChD;QAACG;IAAM;AAEX;AAEA,OAAO,SAASO,0BAA0BV,WAA+B;IACvE,OAAOL,SAAS;QACdgB,UAAUX,cACNH,0BAA0BE,IAAI,CAACC,eAC/B;eAAIH,0BAA0BC,GAAG;YAAE;SAAS;QAChDc,SAASC,QAAQb;QACjBc,SAAS,CAAC,EAACX,MAAM,EAAC,GAAKD,sBAAsB;gBAACF,aAAaA,eAAe;gBAAIG;YAAM;QACpFY,iBAAiBnB;QACjBoB,6BAA6B;IAC/B;AACF;AAEA,OAAO,SAASC;IACd,OAAOvB,YAAY;QAACwB,YAAYd;IAAsB;AACxD;AAEA,OAAO,SAASe;IACd,OAAOzB,YAAY;QAACwB,YAAYX;IAAsB;AACxD;AAEA,OAAO,SAASa,2BAA2BpB,WAA+B;IACxE,OAAOL,SAAS;QACdgB,UAAUX,cACNH,0BAA0BI,MAAM,CAACD,eACjC;eAAIH,0BAA0BC,GAAG;YAAE;SAAe;QACtDc,SAASC,QAAQb;QACjBc,SAAS,CAAC,EAACX,MAAM,EAAC,GAAKM,uBAAuB;gBAACT,aAAaA,eAAe;gBAAIG;YAAM;QACrFY,iBAAiBnB;QACjBoB,6BAA6B;IAC/B;AACF"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './components/manual-registration-tokens-settings-section.js';
|
|
2
|
+
export * from './components/provisioner-tokens-settings-section.js';
|
|
3
|
+
export * from './hooks/api/manual-registration-tokens.js';
|
|
4
|
+
export * from './hooks/api/provisioner-tokens.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6DAA6D,CAAC;AAC5E,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './components/manual-registration-tokens-settings-section.js';
|
|
2
|
+
export * from './components/provisioner-tokens-settings-section.js';
|
|
3
|
+
export * from './hooks/api/manual-registration-tokens.js';
|
|
4
|
+
export * from './hooks/api/provisioner-tokens.js';
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './components/manual-registration-tokens-settings-section.js';\nexport * from './components/provisioner-tokens-settings-section.js';\nexport * from './hooks/api/manual-registration-tokens.js';\nexport * from './hooks/api/provisioner-tokens.js';\n"],"names":[],"mappings":"AAAA,cAAc,8DAA8D;AAC5E,cAAc,sDAAsD;AACpE,cAAc,4CAA4C;AAC1D,cAAc,oCAAoC"}
|