@shipfox/client-workspace-settings 3.0.1 → 5.0.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/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +30 -0
  3. package/dist/components/members/workspace-members-section.d.ts.map +1 -1
  4. package/dist/components/members/workspace-members-section.js +4 -4
  5. package/dist/components/members/workspace-members-section.js.map +1 -1
  6. package/dist/core/invitation.d.ts +15 -0
  7. package/dist/core/invitation.d.ts.map +1 -0
  8. package/dist/core/invitation.js +3 -0
  9. package/dist/core/invitation.js.map +1 -0
  10. package/dist/feature.d.ts +0 -70
  11. package/dist/feature.d.ts.map +1 -1
  12. package/dist/feature.js +0 -84
  13. package/dist/feature.js.map +1 -1
  14. package/dist/hooks/api/create-invitation.d.ts +2 -13
  15. package/dist/hooks/api/create-invitation.d.ts.map +1 -1
  16. package/dist/hooks/api/create-invitation.js +12 -9
  17. package/dist/hooks/api/create-invitation.js.map +1 -1
  18. package/dist/hooks/api/invitation-mapper.d.ts +4 -0
  19. package/dist/hooks/api/invitation-mapper.d.ts.map +1 -0
  20. package/dist/hooks/api/invitation-mapper.js +15 -0
  21. package/dist/hooks/api/invitation-mapper.js.map +1 -0
  22. package/dist/hooks/api/list-invitations.d.ts +10 -13
  23. package/dist/hooks/api/list-invitations.d.ts.map +1 -1
  24. package/dist/hooks/api/list-invitations.js +11 -5
  25. package/dist/hooks/api/list-invitations.js.map +1 -1
  26. package/dist/hooks/api/revoke-invitation.js +2 -4
  27. package/dist/hooks/api/revoke-invitation.js.map +1 -1
  28. package/dist/index.d.ts +0 -7
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +0 -7
  31. package/dist/index.js.map +1 -1
  32. package/dist/tsconfig.test.tsbuildinfo +1 -1
  33. package/package.json +5 -30
  34. package/src/components/members/workspace-members-section.tsx +6 -11
  35. package/src/core/invitation.ts +15 -0
  36. package/src/feature.ts +0 -84
  37. package/src/hooks/api/create-invitation.ts +20 -10
  38. package/src/hooks/api/invitation-mapper.test.ts +29 -0
  39. package/src/hooks/api/invitation-mapper.ts +16 -0
  40. package/src/hooks/api/list-invitations.ts +17 -7
  41. package/src/hooks/api/revoke-invitation.ts +2 -2
  42. package/src/index.ts +0 -7
  43. package/test/pages.tsx +1 -5
  44. package/tsconfig.build.tsbuildinfo +1 -1
  45. package/dist/pages/events-settings-page.d.ts +0 -2
  46. package/dist/pages/events-settings-page.d.ts.map +0 -1
  47. package/dist/pages/events-settings-page.js +0 -30
  48. package/dist/pages/events-settings-page.js.map +0 -1
  49. package/dist/pages/integrations-settings-page.d.ts +0 -2
  50. package/dist/pages/integrations-settings-page.d.ts.map +0 -1
  51. package/dist/pages/integrations-settings-page.js +0 -10
  52. package/dist/pages/integrations-settings-page.js.map +0 -1
  53. package/dist/pages/model-providers-settings-page.d.ts +0 -2
  54. package/dist/pages/model-providers-settings-page.d.ts.map +0 -1
  55. package/dist/pages/model-providers-settings-page.js +0 -20
  56. package/dist/pages/model-providers-settings-page.js.map +0 -1
  57. package/dist/pages/provisioners-settings-page.d.ts +0 -2
  58. package/dist/pages/provisioners-settings-page.d.ts.map +0 -1
  59. package/dist/pages/provisioners-settings-page.js +0 -14
  60. package/dist/pages/provisioners-settings-page.js.map +0 -1
  61. package/dist/pages/runners-settings-page.d.ts +0 -2
  62. package/dist/pages/runners-settings-page.d.ts.map +0 -1
  63. package/dist/pages/runners-settings-page.js +0 -14
  64. package/dist/pages/runners-settings-page.js.map +0 -1
  65. package/dist/pages/secrets-settings-page.d.ts +0 -2
  66. package/dist/pages/secrets-settings-page.d.ts.map +0 -1
  67. package/dist/pages/secrets-settings-page.js +0 -14
  68. package/dist/pages/secrets-settings-page.js.map +0 -1
  69. package/dist/pages/variables-settings-page.d.ts +0 -2
  70. package/dist/pages/variables-settings-page.d.ts.map +0 -1
  71. package/dist/pages/variables-settings-page.js +0 -14
  72. package/dist/pages/variables-settings-page.js.map +0 -1
  73. package/dist/routes/agents.d.ts +0 -6
  74. package/dist/routes/agents.d.ts.map +0 -1
  75. package/dist/routes/agents.js +0 -7
  76. package/dist/routes/agents.js.map +0 -1
  77. package/dist/routes/events.d.ts +0 -8
  78. package/dist/routes/events.d.ts.map +0 -1
  79. package/dist/routes/events.js +0 -9
  80. package/dist/routes/events.js.map +0 -1
  81. package/dist/routes/integrations.d.ts +0 -6
  82. package/dist/routes/integrations.d.ts.map +0 -1
  83. package/dist/routes/integrations.js +0 -7
  84. package/dist/routes/integrations.js.map +0 -1
  85. package/dist/routes/provisioners.d.ts +0 -6
  86. package/dist/routes/provisioners.d.ts.map +0 -1
  87. package/dist/routes/provisioners.js +0 -7
  88. package/dist/routes/provisioners.js.map +0 -1
  89. package/dist/routes/runners.d.ts +0 -6
  90. package/dist/routes/runners.d.ts.map +0 -1
  91. package/dist/routes/runners.js +0 -7
  92. package/dist/routes/runners.js.map +0 -1
  93. package/dist/routes/secrets.d.ts +0 -6
  94. package/dist/routes/secrets.d.ts.map +0 -1
  95. package/dist/routes/secrets.js +0 -7
  96. package/dist/routes/secrets.js.map +0 -1
  97. package/dist/routes/variables.d.ts +0 -6
  98. package/dist/routes/variables.d.ts.map +0 -1
  99. package/dist/routes/variables.js +0 -7
  100. package/dist/routes/variables.js.map +0 -1
  101. package/src/pages/events-settings-page.tsx +0 -25
  102. package/src/pages/integrations-settings-page.test.tsx +0 -72
  103. package/src/pages/integrations-settings-page.tsx +0 -6
  104. package/src/pages/model-providers-settings-page.test.tsx +0 -48
  105. package/src/pages/model-providers-settings-page.tsx +0 -15
  106. package/src/pages/provisioners-settings-page.test.tsx +0 -29
  107. package/src/pages/provisioners-settings-page.tsx +0 -14
  108. package/src/pages/runners-settings-page.test.tsx +0 -23
  109. package/src/pages/runners-settings-page.tsx +0 -14
  110. package/src/pages/secrets-settings-page.tsx +0 -14
  111. package/src/pages/variables-settings-page.tsx +0 -14
  112. package/src/routes/agents.tsx +0 -3
  113. package/src/routes/events.tsx +0 -7
  114. package/src/routes/integrations.tsx +0 -3
  115. package/src/routes/provisioners.tsx +0 -3
  116. package/src/routes/runners.tsx +0 -3
  117. package/src/routes/secrets.tsx +0 -3
  118. package/src/routes/variables.tsx +0 -3
  119. package/test/typecheck/route-ids.tsx +0 -7
  120. package/test/typecheck/settings-composition.tsx +0 -95
@@ -1,18 +1,24 @@
1
- import { apiRequest } from '@shipfox/client-api';
2
- import { useQuery } from '@tanstack/react-query';
1
+ import { listInvitationsResponseSchema } from '@shipfox/api-workspaces-dto';
2
+ import { checkedApiRequest } from '@shipfox/client-api';
3
+ import { queryOptions, useQuery } from '@tanstack/react-query';
4
+ import { toInvitation } from './invitation-mapper.js';
3
5
  export const listInvitationsQueryKey = (workspaceId)=>[
4
6
  'workspaces',
5
7
  workspaceId,
6
8
  'invitations'
7
9
  ];
8
10
  async function listInvitations(workspaceId) {
9
- return await apiRequest(`/workspaces/${workspaceId}/invitations`);
11
+ const response = await checkedApiRequest(listInvitationsResponseSchema, `/workspaces/${workspaceId}/invitations`);
12
+ return response.invitations.map(toInvitation);
10
13
  }
11
- export function useListInvitations(workspaceId) {
12
- return useQuery({
14
+ export function listInvitationsQueryOptions(workspaceId) {
15
+ return queryOptions({
13
16
  queryKey: listInvitationsQueryKey(workspaceId),
14
17
  queryFn: ()=>listInvitations(workspaceId)
15
18
  });
16
19
  }
20
+ export function useListInvitations(workspaceId) {
21
+ return useQuery(listInvitationsQueryOptions(workspaceId));
22
+ }
17
23
 
18
24
  //# sourceMappingURL=list-invitations.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/api/list-invitations.ts"],"sourcesContent":["import type {ListInvitationsResponseDto} from '@shipfox/api-workspaces-dto';\nimport {apiRequest} from '@shipfox/client-api';\nimport {useQuery} from '@tanstack/react-query';\n\nexport const listInvitationsQueryKey = (workspaceId: string) =>\n ['workspaces', workspaceId, 'invitations'] as const;\n\nasync function listInvitations(workspaceId: string): Promise<ListInvitationsResponseDto> {\n return await apiRequest<ListInvitationsResponseDto>(`/workspaces/${workspaceId}/invitations`);\n}\n\nexport function useListInvitations(workspaceId: string) {\n return useQuery({\n queryKey: listInvitationsQueryKey(workspaceId),\n queryFn: () => listInvitations(workspaceId),\n });\n}\n"],"names":["apiRequest","useQuery","listInvitationsQueryKey","workspaceId","listInvitations","useListInvitations","queryKey","queryFn"],"mappings":"AACA,SAAQA,UAAU,QAAO,sBAAsB;AAC/C,SAAQC,QAAQ,QAAO,wBAAwB;AAE/C,OAAO,MAAMC,0BAA0B,CAACC,cACtC;QAAC;QAAcA;QAAa;KAAc,CAAU;AAEtD,eAAeC,gBAAgBD,WAAmB;IAChD,OAAO,MAAMH,WAAuC,CAAC,YAAY,EAAEG,YAAY,YAAY,CAAC;AAC9F;AAEA,OAAO,SAASE,mBAAmBF,WAAmB;IACpD,OAAOF,SAAS;QACdK,UAAUJ,wBAAwBC;QAClCI,SAAS,IAAMH,gBAAgBD;IACjC;AACF"}
1
+ {"version":3,"sources":["../../../src/hooks/api/list-invitations.ts"],"sourcesContent":["import {listInvitationsResponseSchema} from '@shipfox/api-workspaces-dto';\nimport {checkedApiRequest} from '@shipfox/client-api';\nimport {queryOptions, useQuery} from '@tanstack/react-query';\nimport type {Invitation} from '#core/invitation.js';\nimport {toInvitation} from './invitation-mapper.js';\n\nexport const listInvitationsQueryKey = (workspaceId: string) =>\n ['workspaces', workspaceId, 'invitations'] as const;\n\nasync function listInvitations(workspaceId: string): Promise<Invitation[]> {\n const response = await checkedApiRequest(\n listInvitationsResponseSchema,\n `/workspaces/${workspaceId}/invitations`,\n );\n return response.invitations.map(toInvitation);\n}\n\nexport function listInvitationsQueryOptions(workspaceId: string) {\n return queryOptions({\n queryKey: listInvitationsQueryKey(workspaceId),\n queryFn: () => listInvitations(workspaceId),\n });\n}\n\nexport function useListInvitations(workspaceId: string) {\n return useQuery(listInvitationsQueryOptions(workspaceId));\n}\n"],"names":["listInvitationsResponseSchema","checkedApiRequest","queryOptions","useQuery","toInvitation","listInvitationsQueryKey","workspaceId","listInvitations","response","invitations","map","listInvitationsQueryOptions","queryKey","queryFn","useListInvitations"],"mappings":"AAAA,SAAQA,6BAA6B,QAAO,8BAA8B;AAC1E,SAAQC,iBAAiB,QAAO,sBAAsB;AACtD,SAAQC,YAAY,EAAEC,QAAQ,QAAO,wBAAwB;AAE7D,SAAQC,YAAY,QAAO,yBAAyB;AAEpD,OAAO,MAAMC,0BAA0B,CAACC,cACtC;QAAC;QAAcA;QAAa;KAAc,CAAU;AAEtD,eAAeC,gBAAgBD,WAAmB;IAChD,MAAME,WAAW,MAAMP,kBACrBD,+BACA,CAAC,YAAY,EAAEM,YAAY,YAAY,CAAC;IAE1C,OAAOE,SAASC,WAAW,CAACC,GAAG,CAACN;AAClC;AAEA,OAAO,SAASO,4BAA4BL,WAAmB;IAC7D,OAAOJ,aAAa;QAClBU,UAAUP,wBAAwBC;QAClCO,SAAS,IAAMN,gBAAgBD;IACjC;AACF;AAEA,OAAO,SAASQ,mBAAmBR,WAAmB;IACpD,OAAOH,SAASQ,4BAA4BL;AAC9C"}
@@ -1,6 +1,6 @@
1
1
  import { apiRequest } from '@shipfox/client-api';
2
2
  import { useMutation, useQueryClient } from '@tanstack/react-query';
3
- import { listInvitationsQueryKey } from './list-invitations.js';
3
+ import { listInvitationsQueryOptions } from './list-invitations.js';
4
4
  async function revokeInvitation(params) {
5
5
  await apiRequest(`/workspaces/${params.workspaceId}/invitations/${params.invitationId}`, {
6
6
  method: 'DELETE'
@@ -14,9 +14,7 @@ export function useRevokeInvitation(workspaceId) {
14
14
  invitationId
15
15
  }),
16
16
  onSuccess: async ()=>{
17
- await queryClient.invalidateQueries({
18
- queryKey: listInvitationsQueryKey(workspaceId)
19
- });
17
+ await queryClient.invalidateQueries(listInvitationsQueryOptions(workspaceId));
20
18
  }
21
19
  });
22
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/api/revoke-invitation.ts"],"sourcesContent":["import {apiRequest} from '@shipfox/client-api';\nimport {useMutation, useQueryClient} from '@tanstack/react-query';\nimport {listInvitationsQueryKey} from './list-invitations.js';\n\nasync function revokeInvitation(params: {workspaceId: string; invitationId: string}) {\n await apiRequest<void>(`/workspaces/${params.workspaceId}/invitations/${params.invitationId}`, {\n method: 'DELETE',\n });\n}\n\nexport function useRevokeInvitation(workspaceId: string) {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (invitationId: string) => revokeInvitation({workspaceId, invitationId}),\n onSuccess: async () => {\n await queryClient.invalidateQueries({queryKey: listInvitationsQueryKey(workspaceId)});\n },\n });\n}\n"],"names":["apiRequest","useMutation","useQueryClient","listInvitationsQueryKey","revokeInvitation","params","workspaceId","invitationId","method","useRevokeInvitation","queryClient","mutationFn","onSuccess","invalidateQueries","queryKey"],"mappings":"AAAA,SAAQA,UAAU,QAAO,sBAAsB;AAC/C,SAAQC,WAAW,EAAEC,cAAc,QAAO,wBAAwB;AAClE,SAAQC,uBAAuB,QAAO,wBAAwB;AAE9D,eAAeC,iBAAiBC,MAAmD;IACjF,MAAML,WAAiB,CAAC,YAAY,EAAEK,OAAOC,WAAW,CAAC,aAAa,EAAED,OAAOE,YAAY,EAAE,EAAE;QAC7FC,QAAQ;IACV;AACF;AAEA,OAAO,SAASC,oBAAoBH,WAAmB;IACrD,MAAMI,cAAcR;IACpB,OAAOD,YAAY;QACjBU,YAAY,CAACJ,eAAyBH,iBAAiB;gBAACE;gBAAaC;YAAY;QACjFK,WAAW;YACT,MAAMF,YAAYG,iBAAiB,CAAC;gBAACC,UAAUX,wBAAwBG;YAAY;QACrF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/hooks/api/revoke-invitation.ts"],"sourcesContent":["import {apiRequest} from '@shipfox/client-api';\nimport {useMutation, useQueryClient} from '@tanstack/react-query';\nimport {listInvitationsQueryOptions} from './list-invitations.js';\n\nasync function revokeInvitation(params: {workspaceId: string; invitationId: string}) {\n await apiRequest<void>(`/workspaces/${params.workspaceId}/invitations/${params.invitationId}`, {\n method: 'DELETE',\n });\n}\n\nexport function useRevokeInvitation(workspaceId: string) {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (invitationId: string) => revokeInvitation({workspaceId, invitationId}),\n onSuccess: async () => {\n await queryClient.invalidateQueries(listInvitationsQueryOptions(workspaceId));\n },\n });\n}\n"],"names":["apiRequest","useMutation","useQueryClient","listInvitationsQueryOptions","revokeInvitation","params","workspaceId","invitationId","method","useRevokeInvitation","queryClient","mutationFn","onSuccess","invalidateQueries"],"mappings":"AAAA,SAAQA,UAAU,QAAO,sBAAsB;AAC/C,SAAQC,WAAW,EAAEC,cAAc,QAAO,wBAAwB;AAClE,SAAQC,2BAA2B,QAAO,wBAAwB;AAElE,eAAeC,iBAAiBC,MAAmD;IACjF,MAAML,WAAiB,CAAC,YAAY,EAAEK,OAAOC,WAAW,CAAC,aAAa,EAAED,OAAOE,YAAY,EAAE,EAAE;QAC7FC,QAAQ;IACV;AACF;AAEA,OAAO,SAASC,oBAAoBH,WAAmB;IACrD,MAAMI,cAAcR;IACpB,OAAOD,YAAY;QACjBU,YAAY,CAACJ,eAAyBH,iBAAiB;gBAACE;gBAAaC;YAAY;QACjFK,WAAW;YACT,MAAMF,YAAYG,iBAAiB,CAACV,4BAA4BG;QAClE;IACF;AACF"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,2 @@
1
- export * from './pages/events-settings-page.js';
2
- export * from './pages/integrations-settings-page.js';
3
1
  export * from './pages/members-settings-page.js';
4
- export * from './pages/model-providers-settings-page.js';
5
- export * from './pages/provisioners-settings-page.js';
6
- export * from './pages/runners-settings-page.js';
7
- export * from './pages/secrets-settings-page.js';
8
- export * from './pages/variables-settings-page.js';
9
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,3 @@
1
- export * from './pages/events-settings-page.js';
2
- export * from './pages/integrations-settings-page.js';
3
1
  export * from './pages/members-settings-page.js';
4
- export * from './pages/model-providers-settings-page.js';
5
- export * from './pages/provisioners-settings-page.js';
6
- export * from './pages/runners-settings-page.js';
7
- export * from './pages/secrets-settings-page.js';
8
- export * from './pages/variables-settings-page.js';
9
2
 
10
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './pages/events-settings-page.js';\nexport * from './pages/integrations-settings-page.js';\nexport * from './pages/members-settings-page.js';\nexport * from './pages/model-providers-settings-page.js';\nexport * from './pages/provisioners-settings-page.js';\nexport * from './pages/runners-settings-page.js';\nexport * from './pages/secrets-settings-page.js';\nexport * from './pages/variables-settings-page.js';\n"],"names":[],"mappings":"AAAA,cAAc,kCAAkC;AAChD,cAAc,wCAAwC;AACtD,cAAc,mCAAmC;AACjD,cAAc,2CAA2C;AACzD,cAAc,wCAAwC;AACtD,cAAc,mCAAmC;AACjD,cAAc,mCAAmC;AACjD,cAAc,qCAAqC"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './pages/members-settings-page.js';\n"],"names":[],"mappings":"AAAA,cAAc,mCAAmC"}