zudoku 0.3.0-dev.2 → 0.3.0-dev.4
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/lib/components/Header.js +2 -2
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/core/DevPortalContext.js +1 -0
- package/dist/lib/core/DevPortalContext.js.map +1 -1
- package/dist/lib/plugins/api-key/index.js +14 -9
- package/dist/lib/plugins/api-key/index.js.map +1 -1
- package/lib/zudoku.components.js +19 -18
- package/lib/zudoku.plugins.js +11 -5
- package/package.json +1 -1
- package/src/lib/components/Header.tsx +18 -15
- package/src/lib/core/DevPortalContext.ts +1 -0
- package/src/lib/plugins/api-key/index.tsx +14 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { MoonStarIcon, SearchIcon, SunIcon } from "lucide-react";
|
|
3
3
|
import { memo } from "react";
|
|
4
4
|
import { useAuth } from "../authentication/hook.js";
|
|
@@ -10,6 +10,6 @@ export const Header = memo(function HeaderInner() {
|
|
|
10
10
|
const { isAuthenticated, profile, isAuthEnabled, login, logout } = useAuth();
|
|
11
11
|
const { meta } = useDevPortal();
|
|
12
12
|
const ThemeIcon = isDark ? MoonStarIcon : SunIcon;
|
|
13
|
-
return (_jsx("header", { className: "fixed top-0 w-full z-10 bg-background/80 backdrop-blur", children: _jsxs("div", { className: "max-w-screen-2xl mx-auto", children: [_jsxs("div", { className: "grid grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center border-b border-border px-12 h-[--top-header-height]", children: [_jsxs("div", { className: "flex items-center gap-3.5", children: [meta?.logo && (_jsx("img", { src: meta.logo, alt: "My Dev Portal", className: "h-10" })), _jsx("span", { className: "font-bold text-2xl text-foreground/85 tracking-wide", children: meta?.headerTitle })] }), _jsxs("div", { className: "grid grid-cols-[--sidecar-grid-cols] items-center gap-8", children: [_jsx("div", { className: "w-full max-w-prose", children: _jsxs("button", { className: "flex items-center border border-input hover:bg-accent hover:text-accent-foreground p-4 relative h-8 justify-start rounded-lg bg-background text-sm text-muted-foreground shadow-none w-40 sm:w-72", children: [_jsxs("div", { className: "flex items-center gap-2 flex-grow", children: [_jsx(SearchIcon, { size: 14 }), "Search"] }), _jsx("kbd", { className: "absolute right-[0.3rem] top-[0.3rem] hidden h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex", children: "\u2318K" })] }) }), _jsxs("div", { className: "items-center justify-self-end text-sm hidden lg:flex", children: [isAuthenticated ? (_jsxs("button", { className: "cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded text-nowrap", onClick: logout, children: ["Logout ", profile?.email ? `(${profile.email})` : null] })) : (_jsx("button", { className: "cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded", onClick: login, children: "Login" })), _jsx("button", { className: "cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full", onClick: toggleTheme, children: _jsx(ThemeIcon, { size: 18 }) })] })] })] }), _jsx(TopNavigation, {})] }) }));
|
|
13
|
+
return (_jsx("header", { className: "fixed top-0 w-full z-10 bg-background/80 backdrop-blur", children: _jsxs("div", { className: "max-w-screen-2xl mx-auto", children: [_jsxs("div", { className: "grid grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center border-b border-border px-12 h-[--top-header-height]", children: [_jsxs("div", { className: "flex items-center gap-3.5", children: [meta?.logo && (_jsx("img", { src: meta.logo, alt: "My Dev Portal", className: "h-10" })), _jsx("span", { className: "font-bold text-2xl text-foreground/85 tracking-wide", children: meta?.headerTitle })] }), _jsxs("div", { className: "grid grid-cols-[--sidecar-grid-cols] items-center gap-8", children: [_jsx("div", { className: "w-full max-w-prose", children: _jsxs("button", { className: "flex items-center border border-input hover:bg-accent hover:text-accent-foreground p-4 relative h-8 justify-start rounded-lg bg-background text-sm text-muted-foreground shadow-none w-40 sm:w-72", children: [_jsxs("div", { className: "flex items-center gap-2 flex-grow", children: [_jsx(SearchIcon, { size: 14 }), "Search"] }), _jsx("kbd", { className: "absolute right-[0.3rem] top-[0.3rem] hidden h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex", children: "\u2318K" })] }) }), _jsxs("div", { className: "items-center justify-self-end text-sm hidden lg:flex", children: [isAuthEnabled && (_jsx(_Fragment, { children: isAuthenticated ? (_jsxs("button", { className: "cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded text-nowrap", onClick: logout, children: ["Logout ", profile?.email ? `(${profile.email})` : null] })) : (_jsx("button", { className: "cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded", onClick: login, children: "Login" })) })), _jsx("button", { className: "cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full", onClick: toggleTheme, children: _jsx(ThemeIcon, { size: 18 }) })] })] })] }), _jsx(TopNavigation, {})] }) }));
|
|
14
14
|
});
|
|
15
15
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,WAAW;IAC7C,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAE,CAAC;IACzC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAElD,OAAO,CACL,iBAAQ,SAAS,EAAC,wDAAwD,YACxE,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,8HAA8H,aAC3I,eAAK,SAAS,EAAC,2BAA2B,aACvC,IAAI,EAAE,IAAI,IAAI,CACb,cAAK,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAC,eAAe,EAAC,SAAS,EAAC,MAAM,GAAG,CAC7D,EACD,eAAM,SAAS,EAAC,qDAAqD,YAClE,IAAI,EAAE,WAAW,GACb,IACH,EACN,eAAK,SAAS,EAAC,yDAAyD,aACtE,cAAK,SAAS,EAAC,oBAAoB,YACjC,kBAAQ,SAAS,EAAC,mMAAmM,aACnN,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,cAEpB,EACN,cAAK,SAAS,EAAC,mLAAmL,wBAE5L,IACC,GACL,EAEN,eAAK,SAAS,EAAC,sDAAsD,aAClE,eAAe,CAAC,CAAC,CAAC,CACjB,kBACE,SAAS,EAAC,qEAAqE,EAC/E,OAAO,EAAE,MAAM,wBAEP,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,IAC7C,CACV,CAAC,CAAC,CAAC,CACF,iBACE,SAAS,EAAC,yDAAyD,EACnE,OAAO,EAAE,KAAK,sBAGP,CACV,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/lib/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,WAAW;IAC7C,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAE,CAAC;IACzC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IAElD,OAAO,CACL,iBAAQ,SAAS,EAAC,wDAAwD,YACxE,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,8HAA8H,aAC3I,eAAK,SAAS,EAAC,2BAA2B,aACvC,IAAI,EAAE,IAAI,IAAI,CACb,cAAK,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAC,eAAe,EAAC,SAAS,EAAC,MAAM,GAAG,CAC7D,EACD,eAAM,SAAS,EAAC,qDAAqD,YAClE,IAAI,EAAE,WAAW,GACb,IACH,EACN,eAAK,SAAS,EAAC,yDAAyD,aACtE,cAAK,SAAS,EAAC,oBAAoB,YACjC,kBAAQ,SAAS,EAAC,mMAAmM,aACnN,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,cAEpB,EACN,cAAK,SAAS,EAAC,mLAAmL,wBAE5L,IACC,GACL,EAEN,eAAK,SAAS,EAAC,sDAAsD,aAClE,aAAa,IAAI,CAChB,4BACG,eAAe,CAAC,CAAC,CAAC,CACjB,kBACE,SAAS,EAAC,qEAAqE,EAC/E,OAAO,EAAE,MAAM,wBAEP,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,IAC7C,CACV,CAAC,CAAC,CAAC,CACF,iBACE,SAAS,EAAC,yDAAyD,EACnE,OAAO,EAAE,KAAK,sBAGP,CACV,GACA,CACJ,EACD,iBACE,SAAS,EAAC,6DAA6D,EACvE,OAAO,EAAE,WAAW,YAEpB,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,IACL,IACF,IACF,EACN,KAAC,aAAa,KAAG,IACb,GACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -22,6 +22,7 @@ export class DevPortalContext {
|
|
|
22
22
|
this.plugins
|
|
23
23
|
.filter(needsInitialization)
|
|
24
24
|
.forEach((plugin) => plugin.initialize(this));
|
|
25
|
+
this.authentication?.initialize(this);
|
|
25
26
|
};
|
|
26
27
|
invalidateCache = async (key) => {
|
|
27
28
|
await queryClient.invalidateQueries({ queryKey: key });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevPortalContext.js","sourceRoot":"","sources":["../../../src/lib/core/DevPortalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GAGpB,MAAM,cAAc,CAAC;AA+CtB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAe,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAKhE,MAAM,OAAO,gBAAgB;IACnB,OAAO,GAAsB,EAAE,CAAC;IAChC,iBAAiB,CAAqB;IAEvC,UAAU,CAAmB;IAC7B,IAAI,CAAyB;IAC7B,cAAc,CAA0B;IACxC,KAAK,CAAyB;IAErC,YAAY,MAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;IAC/B,CAAC;IAED,UAAU,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,mBAAmB,CAAC;aAC3B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"DevPortalContext.js","sourceRoot":"","sources":["../../../src/lib/core/DevPortalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GAGpB,MAAM,cAAc,CAAC;AA+CtB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAe,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAKhE,MAAM,OAAO,gBAAgB;IACnB,OAAO,GAAsB,EAAE,CAAC;IAChC,iBAAiB,CAAqB;IAEvC,UAAU,CAAmB;IAC7B,IAAI,CAAyB;IAC7B,cAAc,CAA0B;IACxC,KAAK,CAAyB;IAErC,YAAY,MAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;IAC/B,CAAC;IAED,UAAU,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,mBAAmB,CAAC;aAC3B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,eAAe,GAAG,KAAK,EAAE,GAAwB,EAAE,EAAE;QACnD,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,mBAAmB,CAAC;aAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAC1C,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAC7B,CACF,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,KAAK,CAAC,WAAW,CAAC,OAAgB;QAChC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAE/D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,WAAW,EAAE,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -35,15 +35,20 @@ export const apiKeyPlugin = (options) => {
|
|
|
35
35
|
const service = "getKeys" in options ? options : createDefaultHandler(endpoint);
|
|
36
36
|
return {
|
|
37
37
|
getIdentities: async (context) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
request
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
try {
|
|
39
|
+
const keys = await service.getKeys(context);
|
|
40
|
+
return keys.map((key) => ({
|
|
41
|
+
authorizeRequest: (request) => {
|
|
42
|
+
request.headers.set("Authorization", `Bearer ${key.key}`);
|
|
43
|
+
return request;
|
|
44
|
+
},
|
|
45
|
+
id: key.id,
|
|
46
|
+
label: key.description ?? key.id,
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
47
52
|
},
|
|
48
53
|
getRoutes: () => {
|
|
49
54
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-key/index.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,wBAAwB,GAC5B,0DAA0D,CAAC;AA8B7D,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAiB,EAAE;IAC/D,OAAO;QACL,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,GAAG,0BAA0B,EAAE,EAAE,EAAE;gBACrE,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEnC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,GAAG,wBAAwB,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAC7B,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,GAAG,wBAAwB,CAAC,CAAC;YAEjE,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEnC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAElC,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAA4B,EACS,EAAE;IACvC,MAAM,QAAQ,GACZ,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAEtE,MAAM,OAAO,GACX,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAElE,OAAO;QACL,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-key/index.tsx"],"names":[],"mappings":"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"}
|
package/lib/zudoku.components.js
CHANGED
|
@@ -5,7 +5,7 @@ var se = (t) => {
|
|
|
5
5
|
var Se = (t, e, s) => e in t ? De(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
|
|
6
6
|
var y = (t, e, s) => Se(t, typeof e != "symbol" ? e + "" : e, s), ae = (t, e, s) => e.has(t) || se("Cannot " + s);
|
|
7
7
|
var i = (t, e, s) => (ae(t, e, "read from private field"), s ? s.call(t) : e.get(t)), m = (t, e, s) => e.has(t) ? se("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, s), u = (t, e, s, a) => (ae(t, e, "write to private field"), a ? a.call(t, s) : e.set(t, s), s);
|
|
8
|
-
var
|
|
8
|
+
var F = (t, e, s, a) => ({
|
|
9
9
|
set _(r) {
|
|
10
10
|
u(t, e, r, s);
|
|
11
11
|
},
|
|
@@ -14,7 +14,7 @@ var R = (t, e, s, a) => ({
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
import { j as n, u as D, O as Ee } from "./index-DNx3xWa2.js";
|
|
17
|
-
import { S as me, h as ge, Q as Te, n as p, m as ne, M as Ie, a as re, b as j, e as
|
|
17
|
+
import { S as me, h as ge, Q as Te, n as p, m as ne, M as Ie, a as re, b as j, e as Fe, c as Re, d as He, f as Le, o as ie, r as oe, g as ze, i as le, p as ce, s as Ke, j as E, u as K, N as V, k as _e, l as Be, q as W, t as X, v as U, w as ve, x as Ve, y as z, R as ye, T as xe, C as be, A as Ue, z as We, B as Xe, D as $e, H as Ge, E as Je, F as Ye, G as Ze, I as et, J as tt, K as st, L as at, O as nt, P as rt, V as it } from "./Spinner-7LezPqGn.js";
|
|
18
18
|
import { W as Vt, U as Ut } from "./Spinner-7LezPqGn.js";
|
|
19
19
|
import { memo as je, createContext as ot, useEffect as T, useRef as _, useState as lt, forwardRef as ct, Suspense as we, useMemo as L } from "react";
|
|
20
20
|
import { c as ht, u as ut } from "./state-oycsxkHz.js";
|
|
@@ -100,19 +100,19 @@ var x, de, dt = (de = class extends me {
|
|
|
100
100
|
build(e, s, a) {
|
|
101
101
|
const r = new Ie({
|
|
102
102
|
mutationCache: this,
|
|
103
|
-
mutationId: ++
|
|
103
|
+
mutationId: ++F(this, S)._,
|
|
104
104
|
options: e.defaultMutationOptions(s),
|
|
105
105
|
state: a
|
|
106
106
|
});
|
|
107
107
|
return this.add(r), r;
|
|
108
108
|
}
|
|
109
109
|
add(e) {
|
|
110
|
-
const s =
|
|
110
|
+
const s = R(e), a = i(this, f).get(s) ?? [];
|
|
111
111
|
a.push(e), i(this, f).set(s, a), this.notify({ type: "added", mutation: e });
|
|
112
112
|
}
|
|
113
113
|
remove(e) {
|
|
114
114
|
var a;
|
|
115
|
-
const s =
|
|
115
|
+
const s = R(e);
|
|
116
116
|
if (i(this, f).has(s)) {
|
|
117
117
|
const r = (a = i(this, f).get(s)) == null ? void 0 : a.filter((o) => o !== e);
|
|
118
118
|
r && (r.length === 0 ? i(this, f).delete(s) : i(this, f).set(s, r));
|
|
@@ -121,12 +121,12 @@ var x, de, dt = (de = class extends me {
|
|
|
121
121
|
}
|
|
122
122
|
canRun(e) {
|
|
123
123
|
var a;
|
|
124
|
-
const s = (a = i(this, f).get(
|
|
124
|
+
const s = (a = i(this, f).get(R(e))) == null ? void 0 : a.find((r) => r.state.status === "pending");
|
|
125
125
|
return !s || s === e;
|
|
126
126
|
}
|
|
127
127
|
runNext(e) {
|
|
128
128
|
var a;
|
|
129
|
-
const s = (a = i(this, f).get(
|
|
129
|
+
const s = (a = i(this, f).get(R(e))) == null ? void 0 : a.find((r) => r !== e && r.state.isPaused);
|
|
130
130
|
return (s == null ? void 0 : s.continue()) ?? Promise.resolve();
|
|
131
131
|
}
|
|
132
132
|
clear() {
|
|
@@ -164,7 +164,7 @@ var x, de, dt = (de = class extends me {
|
|
|
164
164
|
);
|
|
165
165
|
}
|
|
166
166
|
}, f = new WeakMap(), S = new WeakMap(), fe);
|
|
167
|
-
function
|
|
167
|
+
function R(t) {
|
|
168
168
|
var e;
|
|
169
169
|
return ((e = t.options.scope) == null ? void 0 : e.id) ?? String(t.mutationId);
|
|
170
170
|
}
|
|
@@ -182,7 +182,7 @@ function pt(t) {
|
|
|
182
182
|
b = !0;
|
|
183
183
|
}), e.signal)
|
|
184
184
|
});
|
|
185
|
-
}, Qe =
|
|
185
|
+
}, Qe = Fe(e.options, e.fetchOptions), B = async (v, w, O) => {
|
|
186
186
|
if (b)
|
|
187
187
|
return Promise.reject();
|
|
188
188
|
if (w == null && v.pages.length)
|
|
@@ -196,7 +196,7 @@ function pt(t) {
|
|
|
196
196
|
d(I);
|
|
197
197
|
const qe = await Qe(
|
|
198
198
|
I
|
|
199
|
-
), { maxPages: ee } = e.options, te = O ?
|
|
199
|
+
), { maxPages: ee } = e.options, te = O ? Re : He;
|
|
200
200
|
return {
|
|
201
201
|
pages: te(v.pages, qe, ee),
|
|
202
202
|
pageParams: te(v.pageParams, w, ee)
|
|
@@ -270,7 +270,7 @@ var c, P, N, C, M, k, Q, q, pe, gt = (pe = class {
|
|
|
270
270
|
u(this, c, t.queryCache || new dt()), u(this, P, t.mutationCache || new ft()), u(this, N, t.defaultOptions || {}), u(this, C, /* @__PURE__ */ new Map()), u(this, M, /* @__PURE__ */ new Map()), u(this, k, 0);
|
|
271
271
|
}
|
|
272
272
|
mount() {
|
|
273
|
-
|
|
273
|
+
F(this, k)._++, i(this, k) === 1 && (u(this, Q, Le.subscribe(async (t) => {
|
|
274
274
|
t && (await this.resumePausedMutations(), i(this, c).onFocus());
|
|
275
275
|
})), u(this, q, ie.subscribe(async (t) => {
|
|
276
276
|
t && (await this.resumePausedMutations(), i(this, c).onOnline());
|
|
@@ -278,7 +278,7 @@ var c, P, N, C, M, k, Q, q, pe, gt = (pe = class {
|
|
|
278
278
|
}
|
|
279
279
|
unmount() {
|
|
280
280
|
var t, e;
|
|
281
|
-
|
|
281
|
+
F(this, k)._--, i(this, k) === 0 && ((t = i(this, Q)) == null || t.call(this), u(this, Q, void 0), (e = i(this, q)) == null || e.call(this), u(this, q, void 0));
|
|
282
282
|
}
|
|
283
283
|
isFetching(t) {
|
|
284
284
|
return i(this, c).findAll({ ...t, fetchStatus: "fetching" }).length;
|
|
@@ -468,7 +468,8 @@ class bt {
|
|
|
468
468
|
y(this, "authentication");
|
|
469
469
|
y(this, "state");
|
|
470
470
|
y(this, "initialize", async () => {
|
|
471
|
-
|
|
471
|
+
var e;
|
|
472
|
+
this.plugins.filter(vt).forEach((s) => s.initialize(this)), (e = this.authentication) == null || e.initialize(this);
|
|
472
473
|
});
|
|
473
474
|
y(this, "invalidateCache", async (e) => {
|
|
474
475
|
await Ne.invalidateQueries({ queryKey: e });
|
|
@@ -597,7 +598,7 @@ const Nt = E("Sun", [
|
|
|
597
598
|
/* @__PURE__ */ n.jsx("kbd", { className: "absolute right-[0.3rem] top-[0.3rem] hidden h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex", children: "⌘K" })
|
|
598
599
|
] }) }),
|
|
599
600
|
/* @__PURE__ */ n.jsxs("div", { className: "items-center justify-self-end text-sm hidden lg:flex", children: [
|
|
600
|
-
a ? /* @__PURE__ */ n.jsxs(
|
|
601
|
+
o && /* @__PURE__ */ n.jsx(n.Fragment, { children: a ? /* @__PURE__ */ n.jsxs(
|
|
601
602
|
"button",
|
|
602
603
|
{
|
|
603
604
|
className: "cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded text-nowrap",
|
|
@@ -614,7 +615,7 @@ const Nt = E("Sun", [
|
|
|
614
615
|
onClick: l,
|
|
615
616
|
children: "Login"
|
|
616
617
|
}
|
|
617
|
-
),
|
|
618
|
+
) }),
|
|
618
619
|
/* @__PURE__ */ n.jsx(
|
|
619
620
|
"button",
|
|
620
621
|
{
|
|
@@ -916,10 +917,10 @@ const It = (t) => {
|
|
|
916
917
|
)
|
|
917
918
|
}
|
|
918
919
|
) }) }) }) }) }) }) });
|
|
919
|
-
},
|
|
920
|
-
|
|
920
|
+
}, Ft = je(It);
|
|
921
|
+
Ft.displayName = "DevPortal";
|
|
921
922
|
export {
|
|
922
|
-
|
|
923
|
+
Ft as DevPortal,
|
|
923
924
|
Vt as Link,
|
|
924
925
|
Ut as useMDXComponents
|
|
925
926
|
};
|
package/lib/zudoku.plugins.js
CHANGED
|
@@ -4874,11 +4874,17 @@ const xx = ({
|
|
|
4874
4874
|
}), PO = (e) => {
|
|
4875
4875
|
const t = "endpoint" in e ? e.endpoint : vx, n = "getKeys" in e ? e : wx(t);
|
|
4876
4876
|
return {
|
|
4877
|
-
getIdentities: async (r) =>
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
4877
|
+
getIdentities: async (r) => {
|
|
4878
|
+
try {
|
|
4879
|
+
return (await n.getKeys(r)).map((a) => ({
|
|
4880
|
+
authorizeRequest: (o) => (o.headers.set("Authorization", `Bearer ${a.key}`), o),
|
|
4881
|
+
id: a.id,
|
|
4882
|
+
label: a.description ?? a.id
|
|
4883
|
+
}));
|
|
4884
|
+
} catch {
|
|
4885
|
+
return [];
|
|
4886
|
+
}
|
|
4887
|
+
},
|
|
4882
4888
|
getRoutes: () => [
|
|
4883
4889
|
{
|
|
4884
4890
|
path: "/settings/api-keys",
|
package/package.json
CHANGED
|
@@ -39,22 +39,25 @@ export const Header = memo(function HeaderInner() {
|
|
|
39
39
|
</div>
|
|
40
40
|
|
|
41
41
|
<div className="items-center justify-self-end text-sm hidden lg:flex">
|
|
42
|
-
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
{isAuthEnabled && (
|
|
43
|
+
<>
|
|
44
|
+
{isAuthenticated ? (
|
|
45
|
+
<button
|
|
46
|
+
className="cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded text-nowrap"
|
|
47
|
+
onClick={logout}
|
|
48
|
+
>
|
|
49
|
+
Logout {profile?.email ? `(${profile.email})` : null}
|
|
50
|
+
</button>
|
|
51
|
+
) : (
|
|
52
|
+
<button
|
|
53
|
+
className="cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded"
|
|
54
|
+
onClick={login}
|
|
55
|
+
>
|
|
56
|
+
Login
|
|
57
|
+
</button>
|
|
58
|
+
)}
|
|
59
|
+
</>
|
|
56
60
|
)}
|
|
57
|
-
|
|
58
61
|
<button
|
|
59
62
|
className="cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full"
|
|
60
63
|
onClick={toggleTheme}
|
|
@@ -84,16 +84,20 @@ export const apiKeyPlugin = (
|
|
|
84
84
|
|
|
85
85
|
return {
|
|
86
86
|
getIdentities: async (context) => {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
request
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
87
|
+
try {
|
|
88
|
+
const keys = await service.getKeys(context);
|
|
89
|
+
|
|
90
|
+
return keys.map((key) => ({
|
|
91
|
+
authorizeRequest: (request) => {
|
|
92
|
+
request.headers.set("Authorization", `Bearer ${key.key}`);
|
|
93
|
+
return request;
|
|
94
|
+
},
|
|
95
|
+
id: key.id,
|
|
96
|
+
label: key.description ?? key.id,
|
|
97
|
+
}));
|
|
98
|
+
} catch {
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
97
101
|
},
|
|
98
102
|
getRoutes: () => {
|
|
99
103
|
return [
|