@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.
Files changed (120) hide show
  1. package/.storybook/main.ts +1 -0
  2. package/.storybook/preview.css +4 -0
  3. package/.storybook/preview.tsx +64 -0
  4. package/.turbo/turbo-build.log +2 -0
  5. package/.turbo/turbo-type$colon$emit.log +1 -0
  6. package/.turbo/turbo-type.log +1 -0
  7. package/CHANGELOG.md +112 -0
  8. package/LICENSE +21 -0
  9. package/dist/components/create-manual-registration-token-form.d.ts +10 -0
  10. package/dist/components/create-manual-registration-token-form.d.ts.map +1 -0
  11. package/dist/components/create-manual-registration-token-form.js +206 -0
  12. package/dist/components/create-manual-registration-token-form.js.map +1 -0
  13. package/dist/components/create-provisioner-token-form.d.ts +10 -0
  14. package/dist/components/create-provisioner-token-form.d.ts.map +1 -0
  15. package/dist/components/create-provisioner-token-form.js +206 -0
  16. package/dist/components/create-provisioner-token-form.js.map +1 -0
  17. package/dist/components/form-errors.d.ts +6 -0
  18. package/dist/components/form-errors.d.ts.map +1 -0
  19. package/dist/components/form-errors.js +9 -0
  20. package/dist/components/form-errors.js.map +1 -0
  21. package/dist/components/manual-registration-token-errors.d.ts +2 -0
  22. package/dist/components/manual-registration-token-errors.d.ts.map +1 -0
  23. package/dist/components/manual-registration-token-errors.js +14 -0
  24. package/dist/components/manual-registration-token-errors.js.map +1 -0
  25. package/dist/components/manual-registration-token-format.d.ts +5 -0
  26. package/dist/components/manual-registration-token-format.d.ts.map +1 -0
  27. package/dist/components/manual-registration-token-format.js +14 -0
  28. package/dist/components/manual-registration-token-format.js.map +1 -0
  29. package/dist/components/manual-registration-token-list.d.ts +8 -0
  30. package/dist/components/manual-registration-token-list.d.ts.map +1 -0
  31. package/dist/components/manual-registration-token-list.js +293 -0
  32. package/dist/components/manual-registration-token-list.js.map +1 -0
  33. package/dist/components/manual-registration-tokens-settings-section.d.ts +4 -0
  34. package/dist/components/manual-registration-tokens-settings-section.d.ts.map +1 -0
  35. package/dist/components/manual-registration-tokens-settings-section.js +109 -0
  36. package/dist/components/manual-registration-tokens-settings-section.js.map +1 -0
  37. package/dist/components/provisioner-token-errors.d.ts +2 -0
  38. package/dist/components/provisioner-token-errors.d.ts.map +1 -0
  39. package/dist/components/provisioner-token-errors.js +13 -0
  40. package/dist/components/provisioner-token-errors.js.map +1 -0
  41. package/dist/components/provisioner-token-form-errors.d.ts +6 -0
  42. package/dist/components/provisioner-token-form-errors.d.ts.map +1 -0
  43. package/dist/components/provisioner-token-form-errors.js +9 -0
  44. package/dist/components/provisioner-token-form-errors.js.map +1 -0
  45. package/dist/components/provisioner-token-format.d.ts +21 -0
  46. package/dist/components/provisioner-token-format.d.ts.map +1 -0
  47. package/dist/components/provisioner-token-format.js +36 -0
  48. package/dist/components/provisioner-token-format.js.map +1 -0
  49. package/dist/components/provisioner-token-list.d.ts +9 -0
  50. package/dist/components/provisioner-token-list.d.ts.map +1 -0
  51. package/dist/components/provisioner-token-list.js +344 -0
  52. package/dist/components/provisioner-token-list.js.map +1 -0
  53. package/dist/components/provisioner-tokens-settings-section.d.ts +4 -0
  54. package/dist/components/provisioner-tokens-settings-section.d.ts.map +1 -0
  55. package/dist/components/provisioner-tokens-settings-section.js +117 -0
  56. package/dist/components/provisioner-tokens-settings-section.js.map +1 -0
  57. package/dist/components/token-date.d.ts +6 -0
  58. package/dist/components/token-date.d.ts.map +1 -0
  59. package/dist/components/token-date.js +27 -0
  60. package/dist/components/token-date.js.map +1 -0
  61. package/dist/components/token-expiration-select.d.ts +11 -0
  62. package/dist/components/token-expiration-select.d.ts.map +1 -0
  63. package/dist/components/token-expiration-select.js +68 -0
  64. package/dist/components/token-expiration-select.js.map +1 -0
  65. package/dist/components/token-name.d.ts +4 -0
  66. package/dist/components/token-name.d.ts.map +1 -0
  67. package/dist/components/token-name.js +24 -0
  68. package/dist/components/token-name.js.map +1 -0
  69. package/dist/components/token-settings-sections.stories.d.ts +26 -0
  70. package/dist/components/token-settings-sections.stories.d.ts.map +1 -0
  71. package/dist/components/token-settings-sections.stories.js +370 -0
  72. package/dist/components/token-settings-sections.stories.js.map +1 -0
  73. package/dist/hooks/api/manual-registration-tokens.d.ts +83 -0
  74. package/dist/hooks/api/manual-registration-tokens.d.ts.map +1 -0
  75. package/dist/hooks/api/manual-registration-tokens.js +53 -0
  76. package/dist/hooks/api/manual-registration-tokens.js.map +1 -0
  77. package/dist/hooks/api/provisioner-tokens.d.ts +125 -0
  78. package/dist/hooks/api/provisioner-tokens.d.ts.map +1 -0
  79. package/dist/hooks/api/provisioner-tokens.js +81 -0
  80. package/dist/hooks/api/provisioner-tokens.js.map +1 -0
  81. package/dist/index.d.ts +5 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +6 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/tsconfig.test.tsbuildinfo +1 -0
  86. package/package.json +88 -0
  87. package/src/components/create-manual-registration-token-form.tsx +197 -0
  88. package/src/components/create-provisioner-token-form.tsx +193 -0
  89. package/src/components/form-errors.test.ts +24 -0
  90. package/src/components/form-errors.ts +9 -0
  91. package/src/components/manual-registration-token-errors.ts +13 -0
  92. package/src/components/manual-registration-token-format.test.ts +48 -0
  93. package/src/components/manual-registration-token-format.ts +18 -0
  94. package/src/components/manual-registration-token-list.tsx +246 -0
  95. package/src/components/manual-registration-tokens-settings-section.test.tsx +251 -0
  96. package/src/components/manual-registration-tokens-settings-section.tsx +110 -0
  97. package/src/components/provisioner-token-errors.ts +12 -0
  98. package/src/components/provisioner-token-form-errors.test.ts +35 -0
  99. package/src/components/provisioner-token-form-errors.ts +9 -0
  100. package/src/components/provisioner-token-format.test.ts +96 -0
  101. package/src/components/provisioner-token-format.ts +40 -0
  102. package/src/components/provisioner-token-list.tsx +280 -0
  103. package/src/components/provisioner-tokens-settings-section.test.tsx +362 -0
  104. package/src/components/provisioner-tokens-settings-section.tsx +114 -0
  105. package/src/components/token-date.tsx +27 -0
  106. package/src/components/token-expiration-select.tsx +64 -0
  107. package/src/components/token-name.tsx +19 -0
  108. package/src/components/token-settings-sections.stories.tsx +360 -0
  109. package/src/hooks/api/manual-registration-tokens.test.ts +87 -0
  110. package/src/hooks/api/manual-registration-tokens.ts +71 -0
  111. package/src/hooks/api/provisioner-tokens.test.ts +127 -0
  112. package/src/hooks/api/provisioner-tokens.ts +102 -0
  113. package/src/index.ts +4 -0
  114. package/test/setup.ts +3 -0
  115. package/tsconfig.build.json +9 -0
  116. package/tsconfig.build.tsbuildinfo +1 -0
  117. package/tsconfig.json +3 -0
  118. package/tsconfig.test.json +8 -0
  119. package/vercel.json +8 -0
  120. 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"}
@@ -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"}