@vertebr/react 0.1.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/dist/client.js ADDED
@@ -0,0 +1,65 @@
1
+ export const VERTEBR_ENV_HEADER = "x-vertebr-env";
2
+ export function createVertebrClient(apiBaseOrOptions, getEnvironment) {
3
+ const options = typeof apiBaseOrOptions === "string"
4
+ ? {
5
+ apiBase: apiBaseOrOptions,
6
+ getEnvironment: getEnvironment ?? (() => ""),
7
+ }
8
+ : apiBaseOrOptions;
9
+ const base = options.apiBase.replace(/\/$/, "");
10
+ async function request(path, init, opts) {
11
+ const env = options.getEnvironment().trim();
12
+ const rawToken = await options.getAccessToken?.();
13
+ const token = rawToken?.trim();
14
+ const response = await fetch(`${base}${path}`, {
15
+ ...init,
16
+ headers: {
17
+ Accept: "application/json",
18
+ "Content-Type": "application/json",
19
+ ...(env ? { [VERTEBR_ENV_HEADER]: env } : {}),
20
+ ...(opts?.auth !== false && token
21
+ ? { Authorization: `Bearer ${token}` }
22
+ : {}),
23
+ ...(init?.headers ?? {}),
24
+ },
25
+ });
26
+ if (!response.ok) {
27
+ const text = await response.text();
28
+ throw new Error(text || `Request failed (${response.status})`);
29
+ }
30
+ return (await response.json());
31
+ }
32
+ return {
33
+ getBootstrap: () => request("/bootstrap", undefined, { auth: false }),
34
+ getCatalog: () => request(""),
35
+ getMetrics: () => request("/metrics"),
36
+ listResource: (id) => request(`/resources/${encodeURIComponent(id)}`),
37
+ createResource: (id, value) => request(`/resources/${encodeURIComponent(id)}`, {
38
+ method: "POST",
39
+ body: JSON.stringify(value),
40
+ }),
41
+ updateResource: (id, rowId, value) => request(`/resources/${encodeURIComponent(id)}/${encodeURIComponent(rowId)}`, {
42
+ method: "PUT",
43
+ body: JSON.stringify(value),
44
+ }),
45
+ deleteResource: (id, rowId) => request(`/resources/${encodeURIComponent(id)}/${encodeURIComponent(rowId)}`, { method: "DELETE" }),
46
+ runResourceAction: (id, rowId, actionId, input) => request(`/resources/${encodeURIComponent(id)}/${encodeURIComponent(rowId)}/actions/${encodeURIComponent(actionId)}`, {
47
+ method: "POST",
48
+ body: JSON.stringify(input ?? {}),
49
+ }),
50
+ getConfig: (id) => request(`/configs/${encodeURIComponent(id)}`),
51
+ setConfig: async (id, value) => {
52
+ const result = await request(`/configs/${encodeURIComponent(id)}`, {
53
+ method: "PUT",
54
+ body: JSON.stringify(value),
55
+ });
56
+ return {
57
+ id: result.id,
58
+ label: id,
59
+ schema: {},
60
+ environment: result.environment,
61
+ value: result.value,
62
+ };
63
+ },
64
+ };
65
+ }
@@ -0,0 +1,11 @@
1
+ export { VertebrAdmin } from "./VertebrAdmin";
2
+ export type { VertebrAdminProps } from "./VertebrAdmin";
3
+ export { createVertebrClient } from "./client";
4
+ export type { VertebrClient } from "./client";
5
+ export { MetricsBoard } from "./MetricsBoard";
6
+ export { ResourcePanel, ResourceTable } from "./ResourceTable";
7
+ export { VertebrControlsProvider, useVertebrConfig, useVertebrControls, } from "./useVertebrControls";
8
+ export type { VertebrControlsProviderProps, VertebrControlsMap, } from "./useVertebrControls";
9
+ export type { AdminEnvironment, BootstrapResponse, CatalogResponse, CatalogResource, CatalogConfig, EnvironmentAuthPublic, FieldSchema, FieldType, MetricCard, MetricsResponse, ResourceListResponse, ResourceActionMeta, ConfigResponse, } from "./types";
10
+ export { VERTEBR_ENV_HEADER } from "./client";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export { VertebrAdmin } from "./VertebrAdmin";
2
+ export { createVertebrClient } from "./client";
3
+ export { MetricsBoard } from "./MetricsBoard";
4
+ export { ResourcePanel, ResourceTable } from "./ResourceTable";
5
+ export { VertebrControlsProvider, useVertebrConfig, useVertebrControls, } from "./useVertebrControls";
6
+ export { VERTEBR_ENV_HEADER } from "./client";