zudoku 0.7.2-dev.0 → 0.7.2-dev.11
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/cli/cli.js +3 -3
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/common/analytics/lib.js +1 -1
- package/dist/cli/common/analytics/lib.js.map +1 -1
- package/dist/cli/common/outdated.js +11 -20
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/cli/common/xdg/lib.d.ts +3 -3
- package/dist/cli/common/xdg/lib.js +3 -3
- package/dist/cli/common/xdg/lib.js.map +1 -1
- package/dist/cli/dev/handler.js +3 -12
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/validators/InputSidebarSchema.d.ts +0 -9
- package/dist/config/validators/InputSidebarSchema.js +0 -2
- package/dist/config/validators/InputSidebarSchema.js.map +1 -1
- package/dist/config/validators/SidebarSchema.d.ts +3 -9
- package/dist/config/validators/SidebarSchema.js +3 -7
- package/dist/config/validators/SidebarSchema.js.map +1 -1
- package/dist/config/validators/validate.d.ts +0 -115
- package/dist/config/validators/validate.js +0 -43
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/lib/components/navigation/SidebarCategory.js +3 -5
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/components/navigation/SidebarItem.js +2 -2
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/ui/Button.d.ts +2 -2
- package/dist/vite/config.d.ts +3 -3
- package/dist/vite/config.js +22 -23
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +4 -1
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/dev-server.js +4 -1
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/plugin-sidebar.js +1 -10
- package/dist/vite/plugin-sidebar.js.map +1 -1
- package/dist/vite/plugin.js +0 -2
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender.js +0 -7
- package/dist/vite/prerender.js.map +1 -1
- package/lib/AuthenticationPlugin-DYnkydqa.js +55 -0
- package/lib/{AuthenticationPlugin-BMjOjKqE.js.map → AuthenticationPlugin-DYnkydqa.js.map} +1 -1
- package/lib/CategoryHeading-w2EW676o.js +10 -0
- package/lib/{CategoryHeading-BE8e6QdS.js.map → CategoryHeading-w2EW676o.js.map} +1 -1
- package/lib/DeveloperHint-D87KcpDW.js +16 -0
- package/lib/{DeveloperHint-Bl9gIdNI.js.map → DeveloperHint-D87KcpDW.js.map} +1 -1
- package/lib/ErrorPage-BdHAg3Rg.js +18 -0
- package/lib/{ErrorPage-CPR1XVKW.js.map → ErrorPage-BdHAg3Rg.js.map} +1 -1
- package/lib/Input-BmwltPfA.js +2214 -0
- package/lib/Input-BmwltPfA.js.map +1 -0
- package/lib/{Markdown-CCNihH_N.js → Markdown-BZUoEvL7.js} +3354 -3189
- package/lib/Markdown-BZUoEvL7.js.map +1 -0
- package/lib/MdxPage-E4NFxzHQ.js +183 -0
- package/lib/MdxPage-E4NFxzHQ.js.map +1 -0
- package/lib/OperationList-DVIuzHN7.js +628 -0
- package/lib/OperationList-DVIuzHN7.js.map +1 -0
- package/lib/Route-5sI-urRK.js +14 -0
- package/lib/{Route-xRJ9mJgH.js.map → Route-5sI-urRK.js.map} +1 -1
- package/lib/{SidebarBadge-2JcxswKF.js → SidebarBadge-6EEz-Bwe.js} +47 -47
- package/lib/{SidebarBadge-2JcxswKF.js.map → SidebarBadge-6EEz-Bwe.js.map} +1 -1
- package/lib/SlotletProvider-CNyl5wU0.js +262 -0
- package/lib/SlotletProvider-CNyl5wU0.js.map +1 -0
- package/lib/Spinner-B9eFggre.js +15 -0
- package/lib/Spinner-B9eFggre.js.map +1 -0
- package/lib/{ZudokuContext-JoyeA9dT.js → ZudokuContext-BHNQL3XO.js} +79 -78
- package/lib/{ZudokuContext-JoyeA9dT.js.map → ZudokuContext-BHNQL3XO.js.map} +1 -1
- package/lib/{_commonjsHelpers-BkfeUUK-.js → _commonjsHelpers-BVfed4GL.js} +3 -3
- package/lib/_commonjsHelpers-BVfed4GL.js.map +1 -0
- package/lib/{index-BLvMkqjO.js → index-BGY8VjAV.js} +26 -26
- package/lib/{index-BLvMkqjO.js.map → index-BGY8VjAV.js.map} +1 -1
- package/lib/{index-G1-TGLO1.js → index-CbJpF8Yf.js} +8 -8
- package/lib/{index-G1-TGLO1.js.map → index-CbJpF8Yf.js.map} +1 -1
- package/lib/index-ChhUJhLT.js +1771 -0
- package/lib/index-ChhUJhLT.js.map +1 -0
- package/lib/{index-BF4cn28H.js → index-DdUotMOQ.js} +2196 -1953
- package/lib/index-DdUotMOQ.js.map +1 -0
- package/lib/jsx-runtime-B6kdoens.js +635 -0
- package/lib/jsx-runtime-B6kdoens.js.map +1 -0
- package/lib/{router-D2p7Olpn.js → router-BiRCp01d.js} +22 -22
- package/lib/{router-D2p7Olpn.js.map → router-BiRCp01d.js.map} +1 -1
- package/lib/{slugify-DbLhpSPt.js → slugify-CiPVjteN.js} +2 -2
- package/lib/{slugify-DbLhpSPt.js.map → slugify-CiPVjteN.js.map} +1 -1
- package/lib/{state-lIwt9isb.js → state-DsXXkBLH.js} +15 -15
- package/lib/{state-lIwt9isb.js.map → state-DsXXkBLH.js.map} +1 -1
- package/lib/{utils-B8R4grFM.js → utils-BPHLKjns.js} +153 -152
- package/lib/{utils-B8R4grFM.js.map → utils-BPHLKjns.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +21 -16
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +37 -32
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +505 -485
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +1782 -1574
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +2 -2
- package/lib/zudoku.plugin-api-keys.js +268 -153
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-page.js +6 -5
- package/lib/zudoku.plugin-custom-page.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +13 -12
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +8 -8
- package/lib/zudoku.plugin-redirect.js +3 -3
- package/lib/zudoku.plugin-search-inkeep.js +21 -20
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
- package/package.json +4 -9
- package/src/lib/components/navigation/SidebarCategory.tsx +31 -43
- package/src/lib/components/navigation/SidebarItem.tsx +1 -2
- package/dist/lib/icons.d.ts +0 -1
- package/dist/lib/icons.js +0 -2
- package/dist/lib/icons.js.map +0 -1
- package/dist/vite/plugin-icons.d.ts +0 -3
- package/dist/vite/plugin-icons.js +0 -47
- package/dist/vite/plugin-icons.js.map +0 -1
- package/dist/vite/sitemap.d.ts +0 -19
- package/dist/vite/sitemap.js +0 -40
- package/dist/vite/sitemap.js.map +0 -1
- package/lib/AuthenticationPlugin-BMjOjKqE.js +0 -54
- package/lib/CategoryHeading-BE8e6QdS.js +0 -9
- package/lib/DeveloperHint-Bl9gIdNI.js +0 -12
- package/lib/ErrorPage-CPR1XVKW.js +0 -12
- package/lib/Input-BBlyeDuG.js +0 -2192
- package/lib/Input-BBlyeDuG.js.map +0 -1
- package/lib/Markdown-CCNihH_N.js.map +0 -1
- package/lib/MdxPage-BavkYqzi.js +0 -140
- package/lib/MdxPage-BavkYqzi.js.map +0 -1
- package/lib/OperationList-C6Ps2keZ.js +0 -460
- package/lib/OperationList-C6Ps2keZ.js.map +0 -1
- package/lib/Route-xRJ9mJgH.js +0 -13
- package/lib/SlotletProvider-CuB3Ts8r.js +0 -213
- package/lib/SlotletProvider-CuB3Ts8r.js.map +0 -1
- package/lib/Spinner-BlxzaFFF.js +0 -6
- package/lib/Spinner-BlxzaFFF.js.map +0 -1
- package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
- package/lib/index-BF4cn28H.js.map +0 -1
- package/lib/jsx-runtime-lNnQYwFN.js +0 -2403
- package/lib/jsx-runtime-lNnQYwFN.js.map +0 -1
- package/lib/zudoku.icons.js +0 -2
- package/lib/zudoku.icons.js.map +0 -1
- package/src/lib/icons.ts +0 -1
|
@@ -14,8 +14,8 @@ var vn = (t, e, n, i) => ({
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
import { C as Ua, c as Va, m as Ba, f as Ga } from "./urql-YhcsXYy8.js";
|
|
17
|
-
import {
|
|
18
|
-
import { s as xl } from "./slugify-
|
|
17
|
+
import { a as Al } from "./_commonjsHelpers-BVfed4GL.js";
|
|
18
|
+
import { s as xl } from "./slugify-CiPVjteN.js";
|
|
19
19
|
function Fl(t, e) {
|
|
20
20
|
for (var n = 0; n < e.length; n++) {
|
|
21
21
|
const i = e[n];
|
|
@@ -1,186 +1,301 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { a as b,
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { useState as
|
|
9
|
-
import { a as
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { j as e } from "./jsx-runtime-B6kdoens.js";
|
|
2
|
+
import { S as p, R as g } from "./SlotletProvider-CNyl5wU0.js";
|
|
3
|
+
import { u as j, a as u, I as v, S as k, b as w, c as b, d as K, e as N, f as y } from "./Input-BmwltPfA.js";
|
|
4
|
+
import { e as E, L as x, O as A } from "./index-ChhUJhLT.js";
|
|
5
|
+
import { u as m, t as C, j as S } from "./ZudokuContext-BHNQL3XO.js";
|
|
6
|
+
import { B as l, p as I } from "./index-BGY8VjAV.js";
|
|
7
|
+
import { D as P } from "./DeveloperHint-D87KcpDW.js";
|
|
8
|
+
import { useState as h } from "react";
|
|
9
|
+
import { c as d, a as D, C as R, g as q } from "./Markdown-BZUoEvL7.js";
|
|
10
|
+
/**
|
|
11
|
+
* @license lucide-react v0.378.0 - ISC
|
|
12
|
+
*
|
|
13
|
+
* This source code is licensed under the ISC license.
|
|
14
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
15
|
+
*/
|
|
16
|
+
const z = d("EyeOff", [
|
|
17
|
+
["path", { d: "M9.88 9.88a3 3 0 1 0 4.24 4.24", key: "1jxqfv" }],
|
|
18
|
+
[
|
|
19
|
+
"path",
|
|
20
|
+
{
|
|
21
|
+
d: "M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",
|
|
22
|
+
key: "9wicm4"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
[
|
|
26
|
+
"path",
|
|
27
|
+
{ d: "M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61", key: "1jreej" }
|
|
28
|
+
],
|
|
29
|
+
["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }]
|
|
30
|
+
]);
|
|
31
|
+
/**
|
|
32
|
+
* @license lucide-react v0.378.0 - ISC
|
|
33
|
+
*
|
|
34
|
+
* This source code is licensed under the ISC license.
|
|
35
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
+
*/
|
|
37
|
+
const O = d("Eye", [
|
|
38
|
+
["path", { d: "M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z", key: "rwhkz3" }],
|
|
39
|
+
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
40
|
+
]);
|
|
41
|
+
/**
|
|
42
|
+
* @license lucide-react v0.378.0 - ISC
|
|
43
|
+
*
|
|
44
|
+
* This source code is licensed under the ISC license.
|
|
45
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
46
|
+
*/
|
|
47
|
+
const M = d("RotateCw", [
|
|
48
|
+
["path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8", key: "1p45f6" }],
|
|
49
|
+
["path", { d: "M21 3v5h-5", key: "1q7to0" }]
|
|
50
|
+
]);
|
|
51
|
+
/**
|
|
52
|
+
* @license lucide-react v0.378.0 - ISC
|
|
53
|
+
*
|
|
54
|
+
* This source code is licensed under the ISC license.
|
|
55
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
56
|
+
*/
|
|
57
|
+
const T = d("Trash", [
|
|
58
|
+
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
59
|
+
["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
|
|
60
|
+
["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }]
|
|
61
|
+
]);
|
|
62
|
+
function c(t, s) {
|
|
63
|
+
if (t)
|
|
12
64
|
return;
|
|
13
|
-
const
|
|
14
|
-
throw new F(
|
|
65
|
+
const r = typeof s == "function" ? s() : s;
|
|
66
|
+
throw new F(r ?? "Invariant failed");
|
|
15
67
|
}
|
|
16
68
|
class F extends Error {
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
69
|
+
constructor(s) {
|
|
70
|
+
super(s), this.name = "ZudokuError";
|
|
19
71
|
}
|
|
20
72
|
}
|
|
21
|
-
const
|
|
22
|
-
const
|
|
73
|
+
const L = ({ service: t }) => {
|
|
74
|
+
const s = m(), r = E(), n = j({
|
|
23
75
|
defaultValues: {
|
|
24
76
|
expiresOn: "30"
|
|
25
77
|
}
|
|
26
|
-
}),
|
|
27
|
-
mutationFn: ({ description:
|
|
28
|
-
if (!
|
|
78
|
+
}), o = u({
|
|
79
|
+
mutationFn: ({ description: i, expiresOn: a }) => {
|
|
80
|
+
if (!t.createKey)
|
|
29
81
|
throw new Error("deleteKey not implemented");
|
|
30
|
-
const
|
|
31
|
-
return
|
|
32
|
-
{ description:
|
|
33
|
-
|
|
82
|
+
const f = a !== "never" ? V(Number(a)) : void 0;
|
|
83
|
+
return t.createKey(
|
|
84
|
+
{ description: i, expiresOn: f },
|
|
85
|
+
s
|
|
34
86
|
);
|
|
35
87
|
},
|
|
36
|
-
onSuccess: () =>
|
|
88
|
+
onSuccess: () => r("/settings/api-keys/")
|
|
37
89
|
});
|
|
38
|
-
return
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
/* @__PURE__ */ React.createElement("div", { className: "flex gap-2 flex-col" }, "Note", /* @__PURE__ */ React.createElement(g, { ...a.register("description") }), "Expiration", /* @__PURE__ */ React.createElement(
|
|
44
|
-
h,
|
|
90
|
+
return t.createKey ? /* @__PURE__ */ e.jsxs("div", { className: "max-w-screen-lg pt-[--padding-content-top] pb-[--padding-content-bottom]", children: [
|
|
91
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex justify-between mb-4 border-b pb-1", children: /* @__PURE__ */ e.jsx("h1", { className: "font-medium text-2xl", children: "New API Key" }) }),
|
|
92
|
+
/* @__PURE__ */ e.jsx(
|
|
93
|
+
"form",
|
|
45
94
|
{
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
95
|
+
onSubmit: n.handleSubmit((i) => o.mutate(i)),
|
|
96
|
+
children: /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 flex-col", children: [
|
|
97
|
+
"Note",
|
|
98
|
+
/* @__PURE__ */ e.jsx(v, { ...n.register("description") }),
|
|
99
|
+
"Expiration",
|
|
100
|
+
/* @__PURE__ */ e.jsxs(
|
|
101
|
+
k,
|
|
102
|
+
{
|
|
103
|
+
onValueChange: (i) => n.setValue("expiresOn", i),
|
|
104
|
+
defaultValue: n.getValues("expiresOn"),
|
|
105
|
+
children: [
|
|
106
|
+
/* @__PURE__ */ e.jsx(w, { children: /* @__PURE__ */ e.jsx(b, {}) }),
|
|
107
|
+
/* @__PURE__ */ e.jsx(K, { children: /* @__PURE__ */ e.jsxs(N, { children: [
|
|
108
|
+
[7, 30, 60, 90].map((i) => /* @__PURE__ */ e.jsxs(y, { value: String(i), children: [
|
|
109
|
+
i,
|
|
110
|
+
" days"
|
|
111
|
+
] }, i)),
|
|
112
|
+
/* @__PURE__ */ e.jsx(y, { value: "never", children: "Never" })
|
|
113
|
+
] }) })
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
|
|
118
|
+
/* @__PURE__ */ e.jsx(l, { children: "Generate Key" }),
|
|
119
|
+
/* @__PURE__ */ e.jsx(l, { variant: "outline", asChild: !0, children: /* @__PURE__ */ e.jsx(x, { to: "/settings/api-keys/", children: "Cancel" }) })
|
|
120
|
+
] })
|
|
121
|
+
] })
|
|
122
|
+
}
|
|
123
|
+
)
|
|
124
|
+
] }) : null;
|
|
125
|
+
}, V = (t) => {
|
|
126
|
+
const s = /* @__PURE__ */ new Date();
|
|
127
|
+
return s.setDate(s.getDate() + t), s.toISOString();
|
|
128
|
+
}, Z = () => {
|
|
129
|
+
const t = I();
|
|
130
|
+
return t.isAuthEnabled && t.isPending ? null : t.isAuthenticated ? /* @__PURE__ */ e.jsx(A, {}) : t.isAuthEnabled ? /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col justify-center gap-2 items-center h-1/2", children: [
|
|
131
|
+
"Please login first to view this page",
|
|
132
|
+
/* @__PURE__ */ e.jsx(l, { onClick: () => t.login(), children: "Login" })
|
|
133
|
+
] }) : /* @__PURE__ */ e.jsx("div", { className: "flex flex-col justify-center gap-2 items-center h-1/2", children: /* @__PURE__ */ e.jsxs(P, { className: "max-w-[600px]", children: [
|
|
134
|
+
"Authentication needs to be enabled for API keys to work. Enable it in your Zudoku configuration under ",
|
|
135
|
+
/* @__PURE__ */ e.jsx("code", { children: "authentication" }),
|
|
136
|
+
"."
|
|
137
|
+
] }) });
|
|
138
|
+
}, _ = ({ service: t }) => {
|
|
139
|
+
const s = m(), r = C(), { data: n } = S({
|
|
140
|
+
queryFn: () => t.getKeys(s),
|
|
62
141
|
queryKey: ["api-keys"],
|
|
63
142
|
retry: !1
|
|
64
|
-
}),
|
|
65
|
-
mutationFn: (
|
|
66
|
-
if (!
|
|
143
|
+
}), o = u({
|
|
144
|
+
mutationFn: (a) => {
|
|
145
|
+
if (!t.deleteKey)
|
|
67
146
|
throw new Error("deleteKey not implemented");
|
|
68
|
-
return
|
|
147
|
+
return t.deleteKey(a, s);
|
|
69
148
|
},
|
|
70
149
|
onSuccess: () => {
|
|
71
|
-
|
|
150
|
+
r.invalidateQueries({ queryKey: ["api-keys"] });
|
|
72
151
|
}
|
|
73
|
-
}),
|
|
74
|
-
mutationFn: (
|
|
75
|
-
if (!
|
|
152
|
+
}), i = u({
|
|
153
|
+
mutationFn: (a) => {
|
|
154
|
+
if (!t.rollKey)
|
|
76
155
|
throw new Error("rollKey not implemented");
|
|
77
|
-
return
|
|
156
|
+
return t.rollKey(a, s);
|
|
78
157
|
},
|
|
79
|
-
onSuccess: () =>
|
|
158
|
+
onSuccess: () => r.invalidateQueries({ queryKey: ["api-keys"] })
|
|
80
159
|
});
|
|
81
|
-
return /* @__PURE__ */
|
|
82
|
-
"
|
|
83
|
-
{
|
|
84
|
-
className:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
160
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "max-w-screen-lg h-full pt-[--padding-content-top] pb-[--padding-content-bottom]", children: [
|
|
161
|
+
/* @__PURE__ */ e.jsx(p, { name: "api-keys-list-page" }),
|
|
162
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex justify-between mb-4 border-b pb-3", children: [
|
|
163
|
+
/* @__PURE__ */ e.jsx("h1", { className: "font-medium text-2xl", children: "API Keys" }),
|
|
164
|
+
t.createKey && /* @__PURE__ */ e.jsx(l, { asChild: !0, children: /* @__PURE__ */ e.jsx(x, { to: "/settings/api-keys/new", children: "Create API Key" }) })
|
|
165
|
+
] }),
|
|
166
|
+
/* @__PURE__ */ e.jsx(p, { name: "api-keys-list-page-before-keys" }),
|
|
167
|
+
n.length === 0 ? /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col justify-center gap-4 items-center p-8 border rounded bg-muted/30 text-muted-foreground", children: [
|
|
168
|
+
/* @__PURE__ */ e.jsxs("p", { className: "text-center", children: [
|
|
169
|
+
"No API keys created yet.",
|
|
170
|
+
/* @__PURE__ */ e.jsx("br", {}),
|
|
171
|
+
"Get started and create your first key."
|
|
172
|
+
] }),
|
|
173
|
+
t.createKey && /* @__PURE__ */ e.jsx(l, { asChild: !0, variant: "outline", children: /* @__PURE__ */ e.jsx(x, { to: "/settings/api-keys/new", children: "Create API Key" }) })
|
|
174
|
+
] }) : /* @__PURE__ */ e.jsx(
|
|
175
|
+
"ul",
|
|
91
176
|
{
|
|
92
|
-
className:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
177
|
+
className: D(
|
|
178
|
+
"grid grid-cols-1 rounded border divide-y divide-border",
|
|
179
|
+
"lg:grid-cols-[minmax(250px,min-content)_1fr_min-content]"
|
|
180
|
+
),
|
|
181
|
+
children: n.map((a) => /* @__PURE__ */ e.jsxs(
|
|
182
|
+
"li",
|
|
183
|
+
{
|
|
184
|
+
className: "p-5 grid grid-cols-subgrid col-span-full gap-2 items-center",
|
|
185
|
+
children: [
|
|
186
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-1 text-sm", children: [
|
|
187
|
+
a.description ?? a.id,
|
|
188
|
+
/* @__PURE__ */ e.jsxs("div", { className: "text-muted-foreground text-xs", children: [
|
|
189
|
+
a.createdOn && /* @__PURE__ */ e.jsxs("div", { children: [
|
|
190
|
+
"Created on ",
|
|
191
|
+
new Date(a.createdOn).toLocaleDateString()
|
|
192
|
+
] }),
|
|
193
|
+
a.expiresOn && /* @__PURE__ */ e.jsxs("div", { children: [
|
|
194
|
+
"Expires on ",
|
|
195
|
+
new Date(a.expiresOn).toLocaleDateString()
|
|
196
|
+
] })
|
|
197
|
+
] })
|
|
198
|
+
] }),
|
|
199
|
+
/* @__PURE__ */ e.jsx("div", { className: "items-center flex lg:justify-center", children: /* @__PURE__ */ e.jsx(Q, { apiKey: a.key }) }),
|
|
200
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
|
|
201
|
+
t.rollKey && /* @__PURE__ */ e.jsx(
|
|
202
|
+
l,
|
|
203
|
+
{
|
|
204
|
+
size: "icon",
|
|
205
|
+
title: "Roll this key",
|
|
206
|
+
variant: "ghost",
|
|
207
|
+
onClick: () => {
|
|
208
|
+
confirm("Do you want to roll this key?") && i.mutate(a.id);
|
|
209
|
+
},
|
|
210
|
+
children: /* @__PURE__ */ e.jsx(M, { size: 16 })
|
|
211
|
+
}
|
|
212
|
+
),
|
|
213
|
+
t.deleteKey && /* @__PURE__ */ e.jsx(
|
|
214
|
+
l,
|
|
215
|
+
{
|
|
216
|
+
variant: "ghost",
|
|
217
|
+
size: "icon",
|
|
218
|
+
onClick: () => {
|
|
219
|
+
confirm("Do you want to delete this key?") && o.mutate(a.id);
|
|
220
|
+
},
|
|
221
|
+
disabled: o.isPending,
|
|
222
|
+
children: /* @__PURE__ */ e.jsx(T, { size: 16 })
|
|
223
|
+
}
|
|
224
|
+
)
|
|
225
|
+
] })
|
|
226
|
+
]
|
|
115
227
|
},
|
|
116
|
-
|
|
228
|
+
a.id
|
|
229
|
+
))
|
|
230
|
+
}
|
|
231
|
+
)
|
|
232
|
+
] });
|
|
233
|
+
}, Q = ({ apiKey: t }) => {
|
|
234
|
+
const [s, r] = h(!1), [n, o] = h(!1);
|
|
235
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-center text-sm", children: [
|
|
236
|
+
/* @__PURE__ */ e.jsx("div", { className: "border rounded bg-gray-100 dark:bg-gray-950 p-1 font-mono truncate h-9 items-center flex px-2", children: s ? t : "•".repeat(t.length) }),
|
|
237
|
+
/* @__PURE__ */ e.jsx(
|
|
238
|
+
l,
|
|
239
|
+
{
|
|
240
|
+
variant: "outline",
|
|
241
|
+
onClick: () => r((i) => !i),
|
|
242
|
+
size: "icon",
|
|
243
|
+
children: s ? /* @__PURE__ */ e.jsx(z, { size: 16 }) : /* @__PURE__ */ e.jsx(O, { size: 16 })
|
|
244
|
+
}
|
|
245
|
+
),
|
|
246
|
+
/* @__PURE__ */ e.jsx(
|
|
247
|
+
l,
|
|
248
|
+
{
|
|
249
|
+
variant: "outline",
|
|
250
|
+
onClick: () => {
|
|
251
|
+
navigator.clipboard.writeText(t).then(() => {
|
|
252
|
+
o(!0), setTimeout(() => o(!1), 2e3);
|
|
253
|
+
});
|
|
117
254
|
},
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
{
|
|
127
|
-
variant: "outline",
|
|
128
|
-
onClick: () => n((c) => !c),
|
|
129
|
-
size: "icon"
|
|
130
|
-
},
|
|
131
|
-
t ? /* @__PURE__ */ React.createElement(D, { size: 16 }) : /* @__PURE__ */ React.createElement(q, { size: 16 })
|
|
132
|
-
), /* @__PURE__ */ React.createElement(
|
|
133
|
-
l,
|
|
134
|
-
{
|
|
135
|
-
variant: "outline",
|
|
136
|
-
onClick: () => {
|
|
137
|
-
navigator.clipboard.writeText(e).then(() => {
|
|
138
|
-
s(!0), setTimeout(() => s(!1), 2e3);
|
|
139
|
-
});
|
|
140
|
-
},
|
|
141
|
-
size: "icon"
|
|
142
|
-
},
|
|
143
|
-
a ? /* @__PURE__ */ React.createElement(O, { size: 16 }) : /* @__PURE__ */ React.createElement(z, { size: 16 })
|
|
144
|
-
));
|
|
145
|
-
}, Q = "https://zudoku-rewiringamerica-main-ef9c9c0.d2.zuplo.dev", Z = (e) => ({
|
|
146
|
-
deleteKey: async (t, n) => {
|
|
147
|
-
const a = new Request(e + `/v1/developer/api-keys/${t}`, {
|
|
255
|
+
size: "icon",
|
|
256
|
+
children: n ? /* @__PURE__ */ e.jsx(R, { size: 16 }) : /* @__PURE__ */ e.jsx(q, { size: 16 })
|
|
257
|
+
}
|
|
258
|
+
)
|
|
259
|
+
] });
|
|
260
|
+
}, B = "https://zudoku-rewiringamerica-main-ef9c9c0.d2.zuplo.dev", G = (t) => ({
|
|
261
|
+
deleteKey: async (s, r) => {
|
|
262
|
+
const n = new Request(t + `/v1/developer/api-keys/${s}`, {
|
|
148
263
|
method: "DELETE"
|
|
149
264
|
});
|
|
150
|
-
await
|
|
151
|
-
const
|
|
152
|
-
|
|
265
|
+
await r.signRequest(n);
|
|
266
|
+
const o = await fetch(n);
|
|
267
|
+
c(o.ok, "Failed to delete API key");
|
|
153
268
|
},
|
|
154
|
-
rollKey: async (
|
|
155
|
-
const
|
|
156
|
-
await
|
|
157
|
-
new Request(
|
|
269
|
+
rollKey: async (s, r) => {
|
|
270
|
+
const n = await fetch(
|
|
271
|
+
await r.signRequest(
|
|
272
|
+
new Request(t + `/v1/developer/api-keys/${s}/key`, {
|
|
158
273
|
method: "DELETE"
|
|
159
274
|
})
|
|
160
275
|
)
|
|
161
276
|
);
|
|
162
|
-
|
|
277
|
+
c(n.ok, "Failed to delete API key");
|
|
163
278
|
},
|
|
164
|
-
createKey: async (
|
|
165
|
-
const
|
|
279
|
+
createKey: async (s, r) => {
|
|
280
|
+
const n = new Request(t + "/v1/developer/api-keys", {
|
|
166
281
|
method: "POST",
|
|
167
282
|
headers: {
|
|
168
283
|
"Content-Type": "application/json"
|
|
169
284
|
},
|
|
170
|
-
body: JSON.stringify(
|
|
285
|
+
body: JSON.stringify(s)
|
|
171
286
|
});
|
|
172
|
-
await
|
|
173
|
-
const
|
|
174
|
-
|
|
287
|
+
await r.signRequest(n);
|
|
288
|
+
const o = await fetch(n);
|
|
289
|
+
c(o.ok, "Failed to create API key");
|
|
175
290
|
},
|
|
176
|
-
getKeys: async (
|
|
177
|
-
const
|
|
178
|
-
await
|
|
179
|
-
const
|
|
180
|
-
return
|
|
291
|
+
getKeys: async (s) => {
|
|
292
|
+
const r = new Request(t + "/v1/developer/api-keys");
|
|
293
|
+
await s.signRequest(r);
|
|
294
|
+
const n = await fetch(r);
|
|
295
|
+
return c(n.ok, "Failed to fetch API keys"), await n.json();
|
|
181
296
|
}
|
|
182
|
-
}),
|
|
183
|
-
const
|
|
297
|
+
}), se = (t) => {
|
|
298
|
+
const s = "endpoint" in t ? t.endpoint : B, r = "getKeys" in t ? t : G(s);
|
|
184
299
|
return {
|
|
185
300
|
getProfileMenuItems: () => [
|
|
186
301
|
{
|
|
@@ -188,12 +303,12 @@ const j = ({ service: e }) => {
|
|
|
188
303
|
path: "/settings/api-keys"
|
|
189
304
|
}
|
|
190
305
|
],
|
|
191
|
-
getIdentities: async (
|
|
306
|
+
getIdentities: async (n) => {
|
|
192
307
|
try {
|
|
193
|
-
return (await
|
|
194
|
-
authorizeRequest: (
|
|
195
|
-
id:
|
|
196
|
-
label:
|
|
308
|
+
return (await r.getKeys(n)).map((i) => ({
|
|
309
|
+
authorizeRequest: (a) => (a.headers.set("Authorization", `Bearer ${i.key}`), a),
|
|
310
|
+
id: i.id,
|
|
311
|
+
label: i.description ?? i.id
|
|
197
312
|
}));
|
|
198
313
|
} catch {
|
|
199
314
|
return [];
|
|
@@ -201,16 +316,16 @@ const j = ({ service: e }) => {
|
|
|
201
316
|
},
|
|
202
317
|
getRoutes: () => [
|
|
203
318
|
{
|
|
204
|
-
element: /* @__PURE__ */
|
|
205
|
-
errorElement: /* @__PURE__ */
|
|
319
|
+
element: /* @__PURE__ */ e.jsx(Z, {}),
|
|
320
|
+
errorElement: /* @__PURE__ */ e.jsx(g, {}),
|
|
206
321
|
children: [
|
|
207
322
|
{
|
|
208
323
|
path: "/settings/api-keys",
|
|
209
|
-
element: /* @__PURE__ */
|
|
324
|
+
element: /* @__PURE__ */ e.jsx(_, { service: r })
|
|
210
325
|
},
|
|
211
326
|
{
|
|
212
327
|
path: "/settings/api-keys/new",
|
|
213
|
-
element: /* @__PURE__ */
|
|
328
|
+
element: /* @__PURE__ */ e.jsx(L, { service: r })
|
|
214
329
|
}
|
|
215
330
|
]
|
|
216
331
|
}
|
|
@@ -218,6 +333,6 @@ const j = ({ service: e }) => {
|
|
|
218
333
|
};
|
|
219
334
|
};
|
|
220
335
|
export {
|
|
221
|
-
|
|
336
|
+
se as apiKeyPlugin
|
|
222
337
|
};
|
|
223
338
|
//# sourceMappingURL=zudoku.plugin-api-keys.js.map
|