@betterportal/config-manager 0.0.1
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/README.md +3 -0
- package/bsb-plugin.json +23 -0
- package/bsb-tests.json +14 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.d.ts +37 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.d.ts.map +1 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.js +40 -0
- package/lib/.bsb/clients/service-betterportal-config-manager.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js +235 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.js +2319 -0
- package/lib/plugins/service-betterportal-config-manager/adminApi.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.d.ts +21 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.js +269 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapEndpoint.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.d.ts +19 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.js +329 -0
- package/lib/plugins/service-betterportal-config-manager/bootstrapWizardHtml.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.js +38 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.d.ts +96 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.js +78 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.js +62 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.js +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_theme.embedded.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.d.ts +43 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.js +68 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.js +11 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.d.ts +32 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.js +32 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.js +170 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.d.ts +60 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.js +48 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.js +28 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.d.ts +48 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.js +40 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.js +194 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.d.ts +80 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.js +59 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.js +167 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.d.ts +128 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.js +89 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.d.ts +5 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.js +8 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.d.ts +89 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.js +93 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.js +61 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.d.ts +180 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.js +405 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.d.ts +26 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.js +58 -0
- package/lib/plugins/service-betterportal-config-manager/cpBootstrap.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js +365 -0
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/index.d.ts +143 -0
- package/lib/plugins/service-betterportal-config-manager/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/index.js +696 -0
- package/lib/plugins/service-betterportal-config-manager/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.js +823 -0
- package/lib/plugins/service-betterportal-config-manager/menuEditor.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.d.ts +10 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.js +11 -0
- package/lib/plugins/service-betterportal-config-manager/routeContext.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.d.ts +18 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.js +245 -0
- package/lib/plugins/service-betterportal-config-manager/setupTokens.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts +41 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.js +396 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.d.ts +10 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.js +30 -0
- package/lib/plugins/service-betterportal-config-manager/storage/file.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.d.ts +36 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.js +52 -0
- package/lib/plugins/service-betterportal-config-manager/storage/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts +15 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js +60 -0
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts +44 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.js +280 -0
- package/lib/plugins/service-betterportal-config-manager/syncApi.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.d.ts +6 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.js +372 -0
- package/lib/plugins/service-betterportal-config-manager/webhooks.js.map +1 -0
- package/lib/schemas/service-betterportal-config-manager.json +157 -0
- package/lib/schemas/service-betterportal-config-manager.plugin.json +135 -0
- package/package.json +69 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as av from "anyvali";
|
|
2
|
+
import { createHandler } from "@betterportal/framework";
|
|
3
|
+
const TenantSchema = av.object({
|
|
4
|
+
id: av.string().minLength(1),
|
|
5
|
+
title: av.string().minLength(1)
|
|
6
|
+
}, { unknownKeys: "strip" });
|
|
7
|
+
const AppSchema = av.object({
|
|
8
|
+
id: av.string().minLength(1),
|
|
9
|
+
tenantId: av.string().minLength(1),
|
|
10
|
+
title: av.string().minLength(1),
|
|
11
|
+
hostnames: av.array(av.string()).default([])
|
|
12
|
+
}, { unknownKeys: "strip" });
|
|
13
|
+
const SharedServiceSchema = av.object({
|
|
14
|
+
id: av.string().minLength(1),
|
|
15
|
+
serviceId: av.optional(av.string().minLength(1)),
|
|
16
|
+
title: av.string().minLength(1),
|
|
17
|
+
description: av.optional(av.string()),
|
|
18
|
+
baseUrl: av.string().minLength(1),
|
|
19
|
+
category: av.optional(av.string()),
|
|
20
|
+
tags: av.array(av.string()).default([]),
|
|
21
|
+
enabled: av.bool().default(true),
|
|
22
|
+
active: av.bool().default(false)
|
|
23
|
+
}, { unknownKeys: "strip" });
|
|
24
|
+
const EndpointSchema = av.object({
|
|
25
|
+
current: av.string().minLength(1),
|
|
26
|
+
services: av.string().minLength(1),
|
|
27
|
+
activateService: av.string().minLength(1),
|
|
28
|
+
routes: av.string().minLength(1),
|
|
29
|
+
fragments: av.string().minLength(1),
|
|
30
|
+
theme: av.string().minLength(1),
|
|
31
|
+
webhooks: av.string().minLength(1),
|
|
32
|
+
webhookEvents: av.string().minLength(1)
|
|
33
|
+
}, { unknownKeys: "strip" });
|
|
34
|
+
export const ResponseSchema = av.object({
|
|
35
|
+
title: av.string().minLength(1),
|
|
36
|
+
tenant: TenantSchema,
|
|
37
|
+
app: AppSchema,
|
|
38
|
+
idsVisible: av.bool().default(true),
|
|
39
|
+
managementDiscoveryUrl: av.string().minLength(1),
|
|
40
|
+
automationCatalogUrl: av.string().minLength(1),
|
|
41
|
+
endpoints: EndpointSchema,
|
|
42
|
+
sharedServices: av.array(SharedServiceSchema).default([]),
|
|
43
|
+
routeCount: av.int().min(0),
|
|
44
|
+
fragmentCount: av.int().min(0)
|
|
45
|
+
}, { unknownKeys: "strip" });
|
|
46
|
+
export const title = "App Settings";
|
|
47
|
+
export const description = "Manage the current BetterPortal app through the user management API.";
|
|
48
|
+
export const auth = {
|
|
49
|
+
required: true,
|
|
50
|
+
permissions: [
|
|
51
|
+
{ serviceId: "service.betterportal.config-manager", viewId: "settings.index", permissions: ["read", "update"] }
|
|
52
|
+
]
|
|
53
|
+
};
|
|
54
|
+
export const dependencies = [
|
|
55
|
+
"services.index",
|
|
56
|
+
"routes.index",
|
|
57
|
+
"fragments.index",
|
|
58
|
+
"config.index"
|
|
59
|
+
];
|
|
60
|
+
export const cacheHints = { ttlSeconds: 0, varyBy: ["accept", "origin", "referer"] };
|
|
61
|
+
export const demoScenarios = [
|
|
62
|
+
{
|
|
63
|
+
id: "default",
|
|
64
|
+
title: "Default",
|
|
65
|
+
response: {
|
|
66
|
+
title: "App Settings",
|
|
67
|
+
tenant: { id: "tenant-id", title: "Tenant" },
|
|
68
|
+
app: { id: "app-id", tenantId: "tenant-id", title: "App", hostnames: [] },
|
|
69
|
+
idsVisible: true,
|
|
70
|
+
managementDiscoveryUrl: "/.well-known/bp/management",
|
|
71
|
+
automationCatalogUrl: "/.well-known/bp/automation/catalog",
|
|
72
|
+
endpoints: {
|
|
73
|
+
current: "/.well-known/bp/manage/current",
|
|
74
|
+
services: "/.well-known/bp/manage/services",
|
|
75
|
+
activateService: "/.well-known/bp/manage/services/activate",
|
|
76
|
+
routes: "/.well-known/bp/manage/routes",
|
|
77
|
+
fragments: "/.well-known/bp/manage/fragments",
|
|
78
|
+
theme: "/.well-known/bp/manage/theme",
|
|
79
|
+
webhooks: "/.well-known/bp/manage/webhooks/targets",
|
|
80
|
+
webhookEvents: "/.well-known/bp/manage/webhooks/events"
|
|
81
|
+
},
|
|
82
|
+
sharedServices: [],
|
|
83
|
+
routeCount: 0,
|
|
84
|
+
fragmentCount: 0
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
export const handleGet = createHandler({ response: ResponseSchema }, (ctx) => {
|
|
89
|
+
if (ctx.responseModel)
|
|
90
|
+
return ctx.responseModel;
|
|
91
|
+
return demoScenarios[0].response;
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/settings/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAsDhD,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CA4PzD"}
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "jsx-htmx/jsx-runtime";
|
|
2
|
+
/** @jsxImportSource jsx-htmx */
|
|
3
|
+
import { js } from "jsx-htmx";
|
|
4
|
+
function tenantsScript(apiBase, serviceUrl) {
|
|
5
|
+
return js(`(() => {
|
|
6
|
+
const apiBase = ${JSON.stringify(apiBase)};
|
|
7
|
+
const serviceUrl = ${JSON.stringify(serviceUrl)};
|
|
8
|
+
|
|
9
|
+
const filterTenantScopedOptions = (form, tenantId) => {
|
|
10
|
+
form.querySelectorAll("select[data-bp-tenant-scoped]").forEach((select) => {
|
|
11
|
+
select.querySelectorAll("option[data-bp-tenant-id]").forEach((option) => {
|
|
12
|
+
option.hidden = option.getAttribute("data-bp-tenant-id") !== tenantId;
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const addAppForm = document.getElementById("bp-add-app-form");
|
|
18
|
+
const addTenantSelect = addAppForm?.querySelector("[name=tenantId]");
|
|
19
|
+
addTenantSelect?.addEventListener("change", () => {
|
|
20
|
+
filterTenantScopedOptions(addAppForm, addTenantSelect.value);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
document.querySelectorAll("[data-bp-edit-tenant]").forEach((btn) => {
|
|
24
|
+
btn.addEventListener("click", () => {
|
|
25
|
+
const data = JSON.parse(btn.dataset.bpEditTenant);
|
|
26
|
+
const form = document.getElementById("bp-edit-tenant-form");
|
|
27
|
+
if (!form) return;
|
|
28
|
+
form.querySelector("[name=tenantId]").value = data.id;
|
|
29
|
+
form.querySelector("[name=title]").value = data.title;
|
|
30
|
+
form.querySelector("[name=slug]").value = data.slug;
|
|
31
|
+
form.querySelector("[name=active]").checked = data.active;
|
|
32
|
+
if (window.htmx) window.htmx.process(form);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
document.querySelectorAll("[data-bp-edit-app]").forEach((btn) => {
|
|
37
|
+
btn.addEventListener("click", () => {
|
|
38
|
+
const data = JSON.parse(btn.dataset.bpEditApp);
|
|
39
|
+
const form = document.getElementById("bp-edit-app-form");
|
|
40
|
+
if (!form) return;
|
|
41
|
+
form.querySelector("[name=appId]").value = data.id;
|
|
42
|
+
form.querySelector("[name=title]").value = data.title;
|
|
43
|
+
form.querySelector("[name=slug]").value = data.slug;
|
|
44
|
+
form.querySelector("[name=hostnames]").value = data.hostnames.join(", ");
|
|
45
|
+
filterTenantScopedOptions(form, data.tenantId);
|
|
46
|
+
const shellSelect = form.querySelector("[name=shellServiceId]");
|
|
47
|
+
shellSelect.value = data.shellServiceId || "";
|
|
48
|
+
const authSelect = form.querySelector("[name=authServiceId]");
|
|
49
|
+
authSelect.value = data.authServiceId || "";
|
|
50
|
+
if (window.htmx) window.htmx.process(form);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
})()`);
|
|
54
|
+
}
|
|
55
|
+
export function render(data) {
|
|
56
|
+
const serviceUrl = data.serviceBaseUrl ?? "";
|
|
57
|
+
const apiBase = serviceUrl + data.adminApiBase;
|
|
58
|
+
const tenantsPath = `${serviceUrl}/tenants`;
|
|
59
|
+
return (_jsxs("div", { class: "container-fluid px-0", children: [_jsx("h2", { class: "mb-4", children: data.title }), _jsxs("div", { class: "d-flex justify-content-between align-items-center mb-3", children: [_jsx("h4", { class: "mb-0", children: "Tenants" }), _jsx("button", { class: "btn btn-sm btn-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-add-tenant-panel", children: "+ Add Tenant" })] }), data.tenants.length === 0 ? (_jsx("div", { class: "alert alert-secondary mb-4", children: "No tenants configured" })) : (_jsx("div", { class: "table-responsive mb-4", children: _jsxs("table", { class: "table table-sm table-hover align-middle", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "ID" }), _jsx("th", { children: "Slug" }), _jsx("th", { children: "Title" }), _jsx("th", { children: "Services" }), _jsx("th", { children: "Status" }), _jsx("th", {})] }) }), _jsx("tbody", { children: data.tenants.map((t) => (_jsxs("tr", { children: [_jsx("td", { class: "fw-semibold font-monospace small", children: t.id }), _jsx("td", { children: t.slug }), _jsx("td", { children: t.title }), _jsx("td", { children: _jsx("span", { class: "badge text-bg-secondary", children: t.serviceCount }) }), _jsx("td", { children: _jsx("span", { class: `badge ${t.active ? "text-bg-success" : "text-bg-secondary"}`, children: t.active ? "active" : "inactive" }) }), _jsx("td", { children: _jsxs("div", { class: "btn-group btn-group-sm", children: [_jsx("button", { class: "btn btn-outline-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-edit-tenant-panel", "data-bp-edit-tenant": JSON.stringify(t), children: "Edit" }), _jsx("button", { class: "btn btn-outline-danger", "hx-delete": `${tenantsPath}?entity=tenant&id=${encodeURIComponent(t.id)}`, "hx-confirm": `Delete tenant ${t.id} and all its apps?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "x" })] }) })] }))) })] }) })), _jsxs("div", { class: "d-flex justify-content-between align-items-center mb-3", children: [_jsx("h4", { class: "mb-0", children: "Apps" }), _jsx("button", { class: "btn btn-sm btn-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-add-app-panel", children: "+ Add App" })] }), data.apps.length === 0 ? (_jsx("div", { class: "alert alert-secondary", children: "No apps configured" })) : (_jsx("div", { class: "row g-3 mb-4", children: data.apps.map((app) => (_jsx("div", { class: "col-12 col-lg-6", children: _jsx("div", { class: "card border-0 shadow-sm h-100", children: _jsxs("div", { class: "card-body", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-start mb-2", children: [_jsxs("div", { children: [_jsx("h5", { class: "mb-0", children: app.title }), _jsx("div", { class: "small text-secondary font-monospace", children: app.id })] }), _jsxs("div", { class: "d-flex gap-1", children: [_jsx("span", { class: "badge text-bg-secondary", children: app.shellServiceId ? "shell" : "no shell" }), _jsx("span", { class: "badge text-bg-secondary", children: app.authServiceId ? "auth" : "no auth" })] })] }), _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Tenant:" }), " ", app.tenantId] }), _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Hostnames:" }), " ", app.hostnames.join(", ")] }), _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Shell:" }), " ", _jsx("span", { class: "font-monospace", children: app.shellServiceId ?? "not selected" })] }), _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Auth:" }), " ", _jsx("span", { class: "font-monospace", children: app.authServiceId ?? "not selected" })] }), _jsxs("div", { class: "small mb-2", children: [_jsx("strong", { children: "Routes:" }), " ", app.routeCount] }), _jsxs("div", { class: "btn-group btn-group-sm", children: [_jsx("button", { class: "btn btn-outline-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-edit-app-panel", "data-bp-edit-app": JSON.stringify(app), children: "Edit" }), _jsx("button", { class: "btn btn-outline-danger", "hx-delete": `${tenantsPath}?entity=app&id=${encodeURIComponent(app.id)}`, "hx-confirm": `Delete app ${app.id}?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "Delete" })] })] }) }) }))) })), _jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-add-tenant-panel", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Add Tenant" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-add-tenant-form", "hx-post": tenantsPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "entity", value: "tenant" }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Tenant Name" }), _jsx("input", { type: "text", class: "form-control", name: "title", placeholder: "My Organization", required: true }), _jsx("div", { class: "form-text", children: "ID is generated automatically." })] }), _jsx("div", { class: "alert alert-danger d-none", id: "bp-tenant-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Create Tenant" })] }) })] }), _jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-edit-tenant-panel", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Edit Tenant" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-edit-tenant-form", "hx-put": tenantsPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "entity", value: "tenant" }), _jsx("input", { type: "hidden", name: "tenantId" }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Title" }), _jsx("input", { type: "text", class: "form-control", name: "title", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Slug" }), _jsx("input", { type: "text", class: "form-control font-monospace", name: "slug", required: true })] }), _jsxs("div", { class: "form-check form-switch mb-3", children: [_jsx("input", { type: "hidden", name: "active", value: "false" }), _jsx("input", { class: "form-check-input", type: "checkbox", name: "active", value: "true", id: "bp-tenant-active" }), _jsx("label", { class: "form-check-label", for: "bp-tenant-active", children: "Active" })] }), _jsx("div", { class: "alert alert-danger d-none", id: "bp-edit-tenant-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Save" })] }) })] }), _jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-add-app-panel", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Add App" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-add-app-form", "hx-post": tenantsPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "entity", value: "app" }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Tenant" }), _jsxs("select", { class: "form-select", name: "tenantId", required: true, children: [_jsx("option", { value: "", children: "Select tenant..." }), data.tenants.map((t) => (_jsx("option", { value: t.id, children: t.title })))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "App Name" }), _jsx("input", { type: "text", class: "form-control", name: "title", placeholder: "Web App", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Hostname" }), _jsx("input", { type: "text", class: "form-control", name: "hostname", placeholder: "localhost:3100", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Shell service" }), _jsxs("select", { class: "form-select", name: "shellServiceId", "data-bp-tenant-scoped": "", children: [_jsx("option", { value: "", children: "No shell selected" }), data.shellServices.map((service) => (_jsx("option", { value: service.id, "data-bp-tenant-id": service.tenantId, children: service.title })))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Auth provider" }), _jsxs("select", { class: "form-select", name: "authServiceId", "data-bp-tenant-scoped": "", children: [_jsx("option", { value: "", children: "No auth provider" }), data.authServices.map((service) => (_jsx("option", { value: service.id, "data-bp-tenant-id": service.tenantId, children: service.title })))] })] }), _jsx("div", { class: "alert alert-danger d-none", id: "bp-app-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Create App" })] }) })] }), _jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-edit-app-panel", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Edit App" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-edit-app-form", "hx-put": tenantsPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "entity", value: "app" }), _jsx("input", { type: "hidden", name: "appId" }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Title" }), _jsx("input", { type: "text", class: "form-control", name: "title", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Slug" }), _jsx("input", { type: "text", class: "form-control font-monospace", name: "slug", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Hostnames (comma-separated)" }), _jsx("input", { type: "text", class: "form-control", name: "hostnames", placeholder: "localhost:3100, example.com", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Shell service" }), _jsxs("select", { class: "form-select", name: "shellServiceId", "data-bp-tenant-scoped": "", children: [_jsx("option", { value: "", children: "No shell selected" }), data.shellServices.map((service) => (_jsx("option", { value: service.id, "data-bp-tenant-id": service.tenantId, children: service.title })))] }), _jsx("div", { class: "form-text", children: "Only theme-capable services registered for this app's tenant should be selected." })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Auth provider" }), _jsxs("select", { class: "form-select", name: "authServiceId", "data-bp-tenant-scoped": "", children: [_jsx("option", { value: "", children: "No auth provider" }), data.authServices.map((service) => (_jsx("option", { value: service.id, "data-bp-tenant-id": service.tenantId, children: service.title })))] }), _jsx("div", { class: "form-text", children: "Only auth-capable services registered for this app's tenant should be selected." })] }), _jsx("div", { class: "alert alert-danger d-none", id: "bp-edit-app-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Save" })] }) })] }), _jsx("script", { children: tenantsScript(apiBase, serviceUrl) })] }));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/tenants/_theme.bootstrap1/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import * as av from "anyvali";
|
|
2
|
+
import type { Infer } from "anyvali";
|
|
3
|
+
import { type DemoScenario, type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
|
|
4
|
+
export declare const ResponseSchema: av.ObjectSchema<{
|
|
5
|
+
title: av.StringSchema;
|
|
6
|
+
tenants: av.ArraySchema<av.ObjectSchema<{
|
|
7
|
+
id: av.StringSchema;
|
|
8
|
+
slug: av.StringSchema;
|
|
9
|
+
title: av.StringSchema;
|
|
10
|
+
active: av.BoolSchema;
|
|
11
|
+
serviceCount: av.IntSchema;
|
|
12
|
+
}>>;
|
|
13
|
+
apps: av.ArraySchema<av.ObjectSchema<{
|
|
14
|
+
id: av.StringSchema;
|
|
15
|
+
tenantId: av.StringSchema;
|
|
16
|
+
slug: av.StringSchema;
|
|
17
|
+
title: av.StringSchema;
|
|
18
|
+
hostnames: av.ArraySchema<av.StringSchema>;
|
|
19
|
+
shellServiceId: av.OptionalSchema<av.StringSchema>;
|
|
20
|
+
authServiceId: av.OptionalSchema<av.StringSchema>;
|
|
21
|
+
routeCount: av.IntSchema;
|
|
22
|
+
}>>;
|
|
23
|
+
shellServices: av.ArraySchema<av.ObjectSchema<{
|
|
24
|
+
id: av.StringSchema;
|
|
25
|
+
tenantId: av.StringSchema;
|
|
26
|
+
title: av.StringSchema;
|
|
27
|
+
serviceId: av.OptionalSchema<av.StringSchema>;
|
|
28
|
+
}>>;
|
|
29
|
+
authServices: av.ArraySchema<av.ObjectSchema<{
|
|
30
|
+
id: av.StringSchema;
|
|
31
|
+
tenantId: av.StringSchema;
|
|
32
|
+
title: av.StringSchema;
|
|
33
|
+
serviceId: av.OptionalSchema<av.StringSchema>;
|
|
34
|
+
}>>;
|
|
35
|
+
adminApiBase: av.StringSchema;
|
|
36
|
+
serviceBaseUrl: av.OptionalSchema<av.StringSchema>;
|
|
37
|
+
}>;
|
|
38
|
+
export type ResponseData = Infer<typeof ResponseSchema>;
|
|
39
|
+
export declare const title = "Tenants & Apps";
|
|
40
|
+
export declare const description = "Manage tenants and applications.";
|
|
41
|
+
export declare const auth: ApiAuthRequirement;
|
|
42
|
+
export declare const cacheHints: CacheHints;
|
|
43
|
+
export declare const demoScenarios: DemoScenario<ResponseData>[];
|
|
44
|
+
export declare const handleGet: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
|
|
45
|
+
title: string;
|
|
46
|
+
tenants: {
|
|
47
|
+
id: string;
|
|
48
|
+
slug: string;
|
|
49
|
+
title: string;
|
|
50
|
+
active: boolean;
|
|
51
|
+
serviceCount: number;
|
|
52
|
+
}[];
|
|
53
|
+
apps: {
|
|
54
|
+
id: string;
|
|
55
|
+
tenantId: string;
|
|
56
|
+
slug: string;
|
|
57
|
+
title: string;
|
|
58
|
+
hostnames: string[];
|
|
59
|
+
routeCount: number;
|
|
60
|
+
shellServiceId?: string | undefined;
|
|
61
|
+
authServiceId?: string | undefined;
|
|
62
|
+
}[];
|
|
63
|
+
shellServices: {
|
|
64
|
+
id: string;
|
|
65
|
+
tenantId: string;
|
|
66
|
+
title: string;
|
|
67
|
+
serviceId?: string | undefined;
|
|
68
|
+
}[];
|
|
69
|
+
authServices: {
|
|
70
|
+
id: string;
|
|
71
|
+
tenantId: string;
|
|
72
|
+
title: string;
|
|
73
|
+
serviceId?: string | undefined;
|
|
74
|
+
}[];
|
|
75
|
+
adminApiBase: string;
|
|
76
|
+
serviceBaseUrl?: string | undefined;
|
|
77
|
+
}, unknown, Record<string, unknown>>;
|
|
78
|
+
export declare const handlePost: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
|
|
79
|
+
title: string;
|
|
80
|
+
tenants: {
|
|
81
|
+
id: string;
|
|
82
|
+
slug: string;
|
|
83
|
+
title: string;
|
|
84
|
+
active: boolean;
|
|
85
|
+
serviceCount: number;
|
|
86
|
+
}[];
|
|
87
|
+
apps: {
|
|
88
|
+
id: string;
|
|
89
|
+
tenantId: string;
|
|
90
|
+
slug: string;
|
|
91
|
+
title: string;
|
|
92
|
+
hostnames: string[];
|
|
93
|
+
routeCount: number;
|
|
94
|
+
shellServiceId?: string | undefined;
|
|
95
|
+
authServiceId?: string | undefined;
|
|
96
|
+
}[];
|
|
97
|
+
shellServices: {
|
|
98
|
+
id: string;
|
|
99
|
+
tenantId: string;
|
|
100
|
+
title: string;
|
|
101
|
+
serviceId?: string | undefined;
|
|
102
|
+
}[];
|
|
103
|
+
authServices: {
|
|
104
|
+
id: string;
|
|
105
|
+
tenantId: string;
|
|
106
|
+
title: string;
|
|
107
|
+
serviceId?: string | undefined;
|
|
108
|
+
}[];
|
|
109
|
+
adminApiBase: string;
|
|
110
|
+
serviceBaseUrl?: string | undefined;
|
|
111
|
+
}, unknown, Record<string, unknown>>;
|
|
112
|
+
export declare const handlePut: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
|
|
113
|
+
title: string;
|
|
114
|
+
tenants: {
|
|
115
|
+
id: string;
|
|
116
|
+
slug: string;
|
|
117
|
+
title: string;
|
|
118
|
+
active: boolean;
|
|
119
|
+
serviceCount: number;
|
|
120
|
+
}[];
|
|
121
|
+
apps: {
|
|
122
|
+
id: string;
|
|
123
|
+
tenantId: string;
|
|
124
|
+
slug: string;
|
|
125
|
+
title: string;
|
|
126
|
+
hostnames: string[];
|
|
127
|
+
routeCount: number;
|
|
128
|
+
shellServiceId?: string | undefined;
|
|
129
|
+
authServiceId?: string | undefined;
|
|
130
|
+
}[];
|
|
131
|
+
shellServices: {
|
|
132
|
+
id: string;
|
|
133
|
+
tenantId: string;
|
|
134
|
+
title: string;
|
|
135
|
+
serviceId?: string | undefined;
|
|
136
|
+
}[];
|
|
137
|
+
authServices: {
|
|
138
|
+
id: string;
|
|
139
|
+
tenantId: string;
|
|
140
|
+
title: string;
|
|
141
|
+
serviceId?: string | undefined;
|
|
142
|
+
}[];
|
|
143
|
+
adminApiBase: string;
|
|
144
|
+
serviceBaseUrl?: string | undefined;
|
|
145
|
+
}, unknown, Record<string, unknown>>;
|
|
146
|
+
export declare const handleDelete: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
|
|
147
|
+
title: string;
|
|
148
|
+
tenants: {
|
|
149
|
+
id: string;
|
|
150
|
+
slug: string;
|
|
151
|
+
title: string;
|
|
152
|
+
active: boolean;
|
|
153
|
+
serviceCount: number;
|
|
154
|
+
}[];
|
|
155
|
+
apps: {
|
|
156
|
+
id: string;
|
|
157
|
+
tenantId: string;
|
|
158
|
+
slug: string;
|
|
159
|
+
title: string;
|
|
160
|
+
hostnames: string[];
|
|
161
|
+
routeCount: number;
|
|
162
|
+
shellServiceId?: string | undefined;
|
|
163
|
+
authServiceId?: string | undefined;
|
|
164
|
+
}[];
|
|
165
|
+
shellServices: {
|
|
166
|
+
id: string;
|
|
167
|
+
tenantId: string;
|
|
168
|
+
title: string;
|
|
169
|
+
serviceId?: string | undefined;
|
|
170
|
+
}[];
|
|
171
|
+
authServices: {
|
|
172
|
+
id: string;
|
|
173
|
+
tenantId: string;
|
|
174
|
+
title: string;
|
|
175
|
+
serviceId?: string | undefined;
|
|
176
|
+
}[];
|
|
177
|
+
adminApiBase: string;
|
|
178
|
+
serviceBaseUrl?: string | undefined;
|
|
179
|
+
}, unknown, Record<string, unknown>>;
|
|
180
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/tenants/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AA+BjC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQC,CAAC;AAC7B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,mBAAmB,CAAC;AACtC,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAE9D,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAA4D,CAAC;AAEtF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAErD,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAGrB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAWtB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAWrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAYxB,CAAC"}
|