shoal-web-sdk 0.0.53 → 0.0.55

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.
@@ -1,5 +1,5 @@
1
1
  import type { Client, Options as Options2, TDataShape } from './client';
2
- import type { AddEdgesData, AddEdgesErrors, AddEdgesResponses, AddNodesData, AddNodesErrors, AddNodesResponses, CreateEnvironmentData, CreateEnvironmentErrors, CreateEnvironmentResponses, CreateProjectData, CreateProjectErrors, CreateProjectResponses, CreateSpaceData, CreateSpaceErrors, CreateSpaceResponses, DeleteAccountIdentityData, DeleteAccountIdentityErrors, DeleteAccountIdentityResponses, FetchKindeOrganisationBillingAgreementsData, FetchKindeOrganisationBillingAgreementsErrors, FetchKindeOrganisationBillingAgreementsResponses, GetConnectedAppUrlData, GetConnectedAppUrlErrors, GetConnectedAppUrlResponses, GetEnvironmentOverviewData, GetEnvironmentOverviewErrors, GetEnvironmentOverviewResponses, GetGraphOverviewData, GetGraphOverviewErrors, GetGraphOverviewResponses, GetProjectOverviewData, GetProjectOverviewErrors, GetProjectOverviewResponses, GetServiceHealthData, GetServiceHealthResponses, GetSpaceOverviewData, GetSpaceOverviewErrors, GetSpaceOverviewResponses, GetUserIdentitiesData, GetUserIdentitiesErrors, GetUserIdentitiesResponses, GetUserProfileData, GetUserProfileErrors, GetUserProfileResponses, ListInstallationBranchesData, ListInstallationBranchesErrors, ListInstallationBranchesResponses, ListInstallationRepositoriesData, ListInstallationRepositoriesErrors, ListInstallationRepositoriesResponses, ListUserInstallationsData, ListUserInstallationsErrors, ListUserInstallationsResponses, RemoveEdgesData, RemoveEdgesErrors, RemoveEdgesResponses, RemoveNodesData, RemoveNodesErrors, RemoveNodesResponses, RequestAccountPasswordResetData, RequestAccountPasswordResetErrors, RequestAccountPasswordResetResponses, UpdateConnectedAppTokenData, UpdateConnectedAppTokenErrors, UpdateConnectedAppTokenResponses } from './types.gen';
2
+ import type { AddEdgesData, AddEdgesErrors, AddEdgesResponses, AddNodesData, AddNodesErrors, AddNodesResponses, CreateEnvironmentData, CreateEnvironmentErrors, CreateEnvironmentResponses, CreateProjectData, CreateProjectErrors, CreateProjectResponses, CreateSpaceData, CreateSpaceErrors, CreateSpaceResponses, DeleteAccountIdentityData, DeleteAccountIdentityErrors, DeleteAccountIdentityResponses, FetchKindeOrganisationBillingAgreementsData, FetchKindeOrganisationBillingAgreementsErrors, FetchKindeOrganisationBillingAgreementsResponses, GetConnectedAppUrlData, GetConnectedAppUrlErrors, GetConnectedAppUrlResponses, GetEnvironmentOverviewData, GetEnvironmentOverviewErrors, GetEnvironmentOverviewResponses, GetGraphOverviewData, GetGraphOverviewErrors, GetGraphOverviewResponses, GetProjectOverviewData, GetProjectOverviewErrors, GetProjectOverviewResponses, GetServiceHealthData, GetServiceHealthResponses, GetSpaceOverviewData, GetSpaceOverviewErrors, GetSpaceOverviewResponses, GetUserIdentitiesData, GetUserIdentitiesErrors, GetUserIdentitiesResponses, GetUserProfileData, GetUserProfileErrors, GetUserProfileResponses, ListInstallationBranchesData, ListInstallationBranchesErrors, ListInstallationBranchesResponses, ListInstallationRepositoriesData, ListInstallationRepositoriesErrors, ListInstallationRepositoriesResponses, ListUserInstallationsData, ListUserInstallationsErrors, ListUserInstallationsResponses, RemoveEdgesData, RemoveEdgesErrors, RemoveEdgesResponses, RemoveNodesData, RemoveNodesErrors, RemoveNodesResponses, RequestAccountPasswordResetData, RequestAccountPasswordResetErrors, RequestAccountPasswordResetResponses, UpdateConnectedAppTokenData, UpdateConnectedAppTokenErrors, UpdateConnectedAppTokenResponses, UpdateNodesData, UpdateNodesErrors, UpdateNodesResponses } from './types.gen';
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -93,6 +93,10 @@ export declare const removeNodes: <ThrowOnError extends boolean = false>(options
93
93
  * Add nodes to a graph for a version. This creates initialised node rows that must later be updated.
94
94
  */
95
95
  export declare const addNodes: <ThrowOnError extends boolean = false>(options: Options<AddNodesData, ThrowOnError>) => import("./client").RequestResult<AddNodesResponses, AddNodesErrors, ThrowOnError, "fields">;
96
+ /**
97
+ * Updates nodes to a graph for a version. This operates like a put, so all fields are required when updating to persist data.
98
+ */
99
+ export declare const updateNodes: <ThrowOnError extends boolean = false>(options: Options<UpdateNodesData, ThrowOnError>) => import("./client").RequestResult<UpdateNodesResponses, UpdateNodesErrors, ThrowOnError, "fields">;
96
100
  /**
97
101
  * Remove edges from a graph.
98
102
  */
@@ -320,6 +320,25 @@ export const addNodes = (options) => {
320
320
  }
321
321
  });
322
322
  };
323
+ /**
324
+ * Updates nodes to a graph for a version. This operates like a put, so all fields are required when updating to persist data.
325
+ */
326
+ export const updateNodes = (options) => {
327
+ return (options.client ?? client).put({
328
+ security: [
329
+ {
330
+ scheme: 'bearer',
331
+ type: 'http'
332
+ }
333
+ ],
334
+ url: '/auth/{spaceHandle}/{projectHandle}/{environmentHandle}/{version}/nodes',
335
+ ...options,
336
+ headers: {
337
+ 'Content-Type': 'application/json',
338
+ ...options.headers
339
+ }
340
+ });
341
+ };
323
342
  /**
324
343
  * Remove edges from a graph.
325
344
  */
@@ -202,59 +202,56 @@ export type EdgeVertices = {
202
202
  export type AddEdges = {
203
203
  edges: Array<EdgeVertices>;
204
204
  };
205
- export type RemoveEdges = {
206
- edges: Array<EdgeVertices>;
207
- };
208
- export type AddNodes = {
205
+ export type Nodes = {
209
206
  nodes: Array<Node>;
210
207
  };
211
- export type RemoveNodes = {
208
+ export type Uuids = {
212
209
  ids: Array<string>;
213
210
  };
211
+ export type Edge = {
212
+ id: string;
213
+ src: string;
214
+ dst: string;
215
+ };
216
+ export type Graph = {
217
+ nodes: Array<Node>;
218
+ };
219
+ export type BaseNode = {
220
+ id: string;
221
+ versionId?: string;
222
+ name?: string;
223
+ description?: string;
224
+ x?: number;
225
+ y?: number;
226
+ edges?: Array<Edge>;
227
+ };
214
228
  export type NodeType = 'cache' | 'comment' | 'container' | 'cronjob' | 'database' | 'function' | 'message_queue' | 'proxy' | 'vm';
215
229
  export type CommentNodeProps = {
216
- comment?: string;
230
+ [key: string]: unknown;
217
231
  };
218
232
  export type CacheNodeProps = {
219
- a?: string;
233
+ [key: string]: unknown;
220
234
  };
221
235
  export type ContainerNodeProps = {
222
- b?: string;
236
+ [key: string]: unknown;
223
237
  };
224
238
  export type CronJobNodeProps = {
225
- c?: string;
239
+ [key: string]: unknown;
226
240
  };
227
241
  export type DatabaseNodeProps = {
228
- d?: string;
242
+ [key: string]: unknown;
229
243
  };
230
244
  export type FunctionNodeProps = {
231
- e?: string;
245
+ [key: string]: unknown;
232
246
  };
233
247
  export type MessageQueueNodeProps = {
234
- f?: string;
248
+ [key: string]: unknown;
235
249
  };
236
250
  export type ProxyNodeProps = {
237
- g?: string;
251
+ [key: string]: unknown;
238
252
  };
239
253
  export type VmNodeProps = {
240
- h?: string;
241
- };
242
- export type Edge = {
243
- id: string;
244
- src: string;
245
- dst: string;
246
- };
247
- export type Graph = {
248
- nodes: Array<Node>;
249
- };
250
- export type BaseNode = {
251
- id: string;
252
- versionId?: string;
253
- name?: string;
254
- description?: string;
255
- x?: number;
256
- y?: number;
257
- edges?: Array<Edge>;
254
+ [key: string]: unknown;
258
255
  };
259
256
  export type CommentNode = BaseNode & {
260
257
  typ: 'comment';
@@ -1043,7 +1040,7 @@ export type GetGraphOverviewResponses = {
1043
1040
  };
1044
1041
  export type GetGraphOverviewResponse = GetGraphOverviewResponses[keyof GetGraphOverviewResponses];
1045
1042
  export type RemoveNodesData = {
1046
- body: RemoveNodes;
1043
+ body: Uuids;
1047
1044
  path: {
1048
1045
  /**
1049
1046
  * The space handle. This must be globally unique.
@@ -1092,7 +1089,7 @@ export type RemoveNodesResponses = {
1092
1089
  };
1093
1090
  export type RemoveNodesResponse = RemoveNodesResponses[keyof RemoveNodesResponses];
1094
1091
  export type AddNodesData = {
1095
- body: AddNodes;
1092
+ body: Nodes;
1096
1093
  path: {
1097
1094
  /**
1098
1095
  * The space handle. This must be globally unique.
@@ -1139,8 +1136,56 @@ export type AddNodesResponses = {
1139
1136
  */
1140
1137
  201: unknown;
1141
1138
  };
1139
+ export type UpdateNodesData = {
1140
+ body: Nodes;
1141
+ path: {
1142
+ /**
1143
+ * The space handle. This must be globally unique.
1144
+ */
1145
+ spaceHandle: string;
1146
+ /**
1147
+ * A project name. This must be unique to a space.
1148
+ */
1149
+ projectHandle: string;
1150
+ /**
1151
+ * An environment name (e.g., dev, prod, foo-bar). This must be unique to a project.
1152
+ */
1153
+ environmentHandle: string;
1154
+ /**
1155
+ * A version number with in an environment.
1156
+ */
1157
+ version: string;
1158
+ };
1159
+ query?: never;
1160
+ url: '/auth/{spaceHandle}/{projectHandle}/{environmentHandle}/{version}/nodes';
1161
+ };
1162
+ export type UpdateNodesErrors = {
1163
+ /**
1164
+ * Unauthorised user.
1165
+ */
1166
+ 401: ErrorResponse;
1167
+ /**
1168
+ * Invalid credentials.
1169
+ */
1170
+ 403: ErrorResponse;
1171
+ /**
1172
+ * Related content not found.
1173
+ */
1174
+ 404: ErrorResponse;
1175
+ /**
1176
+ * Unexpected error.
1177
+ */
1178
+ 500: ErrorResponse;
1179
+ };
1180
+ export type UpdateNodesError = UpdateNodesErrors[keyof UpdateNodesErrors];
1181
+ export type UpdateNodesResponses = {
1182
+ /**
1183
+ * A node is successfully update in the graph.
1184
+ */
1185
+ 202: unknown;
1186
+ };
1142
1187
  export type RemoveEdgesData = {
1143
- body: RemoveEdges;
1188
+ body: Uuids;
1144
1189
  path: {
1145
1190
  /**
1146
1191
  * The space handle. This must be globally unique.
@@ -1,6 +1,6 @@
1
1
  import { useMutation } from "@tanstack/react-query";
2
2
  import { GetSuccessResponse } from "../util";
3
- import { GetServiceHealthData, RequestAccountPasswordResetData, RequestAccountPasswordResetResponses, GetUserProfileData, GetUserIdentitiesData, DeleteAccountIdentityData, DeleteAccountIdentityResponses, GetConnectedAppUrlData, UpdateConnectedAppTokenData, UpdateConnectedAppTokenResponses, ListInstallationRepositoriesData, ListInstallationBranchesData, ListUserInstallationsData, CreateSpaceData, CreateSpaceResponses, GetSpaceOverviewData, FetchKindeOrganisationBillingAgreementsData, CreateProjectData, CreateProjectResponses, GetProjectOverviewData, CreateEnvironmentData, CreateEnvironmentResponses, GetEnvironmentOverviewData, GetGraphOverviewData, RemoveNodesData, RemoveNodesResponses, AddNodesData, AddNodesResponses, RemoveEdgesData, RemoveEdgesResponses, AddEdgesData, AddEdgesResponses } from "../../sdk/types.gen";
3
+ import { GetServiceHealthData, RequestAccountPasswordResetData, RequestAccountPasswordResetResponses, GetUserProfileData, GetUserIdentitiesData, DeleteAccountIdentityData, DeleteAccountIdentityResponses, GetConnectedAppUrlData, UpdateConnectedAppTokenData, UpdateConnectedAppTokenResponses, ListInstallationRepositoriesData, ListInstallationBranchesData, ListUserInstallationsData, CreateSpaceData, CreateSpaceResponses, GetSpaceOverviewData, FetchKindeOrganisationBillingAgreementsData, CreateProjectData, CreateProjectResponses, GetProjectOverviewData, CreateEnvironmentData, CreateEnvironmentResponses, GetEnvironmentOverviewData, GetGraphOverviewData, RemoveNodesData, RemoveNodesResponses, AddNodesData, AddNodesResponses, UpdateNodesData, UpdateNodesResponses, RemoveEdgesData, RemoveEdgesResponses, AddEdgesData, AddEdgesResponses } from "../../sdk/types.gen";
4
4
  export declare const useGetServiceHealth: (options?: Omit<GetServiceHealthData, "url"> & {
5
5
  enabled?: boolean;
6
6
  }) => import("@tanstack/react-query").UseQueryResult<import("../../sdk/types.gen").HealthResponse | undefined, Error>;
@@ -77,6 +77,11 @@ export declare const useAddNodes: (config?: {
77
77
  onError?: Parameters<typeof useMutation>["0"]["onError"];
78
78
  retry?: boolean;
79
79
  }) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, Omit<AddNodesData, "url">, unknown>;
80
+ export declare const useUpdateNodes: (config?: {
81
+ onSuccess?: (data: GetSuccessResponse<UpdateNodesResponses>) => void;
82
+ onError?: Parameters<typeof useMutation>["0"]["onError"];
83
+ retry?: boolean;
84
+ }) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, Omit<UpdateNodesData, "url">, unknown>;
80
85
  export declare const useRemoveEdges: (config?: {
81
86
  onSuccess?: (data: GetSuccessResponse<RemoveEdgesResponses>) => void;
82
87
  onError?: Parameters<typeof useMutation>["0"]["onError"];
@@ -2,7 +2,7 @@
2
2
  import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
3
3
  import { isPromise } from "../util";
4
4
  import { useToken } from "../../provider/token-provider";
5
- import { getServiceHealth, requestAccountPasswordReset, getUserProfile, getUserIdentities, deleteAccountIdentity, getConnectedAppUrl, updateConnectedAppToken, listInstallationRepositories, listInstallationBranches, listUserInstallations, createSpace, getSpaceOverview, fetchKindeOrganisationBillingAgreements, createProject, getProjectOverview, createEnvironment, getEnvironmentOverview, getGraphOverview, removeNodes, addNodes, removeEdges, addEdges } from "../../sdk/sdk.gen";
5
+ import { getServiceHealth, requestAccountPasswordReset, getUserProfile, getUserIdentities, deleteAccountIdentity, getConnectedAppUrl, updateConnectedAppToken, listInstallationRepositories, listInstallationBranches, listUserInstallations, createSpace, getSpaceOverview, fetchKindeOrganisationBillingAgreements, createProject, getProjectOverview, createEnvironment, getEnvironmentOverview, getGraphOverview, removeNodes, addNodes, updateNodes, removeEdges, addEdges } from "../../sdk/sdk.gen";
6
6
  export const useGetServiceHealth = (options) => {
7
7
  const token = useToken();
8
8
  let { enabled, ...rest } = options || { enabled: true };
@@ -407,6 +407,25 @@ export const useAddNodes = (config) => {
407
407
  retry: config?.retry
408
408
  });
409
409
  };
410
+ export const useUpdateNodes = (config) => {
411
+ const token = useToken();
412
+ const queryClient = useQueryClient();
413
+ const opts = { throwOnError: true, url: "/auth/{spaceHandle}/{projectHandle}/{environmentHandle}/{version}/nodes" };
414
+ const funcer = async (options) => {
415
+ const auth = isPromise(token) ? (await token) || "" : token || "";
416
+ const res = await updateNodes({ ...opts, ...options, auth });
417
+ return res?.data;
418
+ };
419
+ return useMutation({
420
+ mutationFn: funcer,
421
+ onSuccess: (res, options, c, ctx) => {
422
+ queryClient.invalidateQueries({ queryKey: [options?.path?.spaceHandle, options?.path?.projectHandle, options?.path?.environmentHandle, options?.path?.version, "nodes"] });
423
+ config?.onSuccess && config.onSuccess(res);
424
+ },
425
+ onError: config?.onError,
426
+ retry: config?.retry
427
+ });
428
+ };
410
429
  export const useRemoveEdges = (config) => {
411
430
  const token = useToken();
412
431
  const queryClient = useQueryClient();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shoal-web-sdk",
3
- "version": "0.0.53",
3
+ "version": "0.0.55",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "build-hooks": "npx tsx tanstack-codegen/generator.ts",