@betterportal/config-manager 10.4.0 → 10.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/.bsb/clients/service-betterportal-config-manager.d.ts +1 -1
- package/lib/.bsb/clients/service-betterportal-config-manager.js +1 -1
- package/lib/bp-contracts/org.betterportal.config-manager.json +2169 -2
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts +1426 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js +35 -0
- package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/adminApi.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/adminApi.js +15 -2
- package/lib/plugins/service-betterportal-config-manager/adminApi.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.d.ts +8 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.js +10 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.d.ts +18 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.js +15 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.d.ts +8 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.js +10 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.d.ts +8 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.js +10 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/DELETE.d.ts +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/DELETE.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/DELETE.js +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/DELETE.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.js +172 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/POST.d.ts +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/POST.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/POST.js +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/POST.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/PUT.d.ts +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/PUT.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/PUT.js +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/PUT.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/index.d.ts +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/index.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/index.js +2 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/index.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.d.ts +4 -0
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.js +3 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_renderer.bootstrap5/GET.js +1 -1
- package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_renderer.bootstrap5/GET.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js +12 -15
- package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/index.d.ts +3 -0
- package/lib/plugins/service-betterportal-config-manager/index.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/index.js +67 -18
- package/lib/plugins/service-betterportal-config-manager/index.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/previewApi.d.ts +7 -0
- package/lib/plugins/service-betterportal-config-manager/previewApi.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/previewApi.js +112 -0
- package/lib/plugins/service-betterportal-config-manager/previewApi.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.d.ts +419 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.js +398 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironmentManagement.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironments.d.ts +62 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironments.d.ts.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironments.js +763 -0
- package/lib/plugins/service-betterportal-config-manager/previewEnvironments.js.map +1 -0
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts +6 -2
- package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/core.js +12 -2
- package/lib/plugins/service-betterportal-config-manager/storage/core.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/file.d.ts +3 -1
- package/lib/plugins/service-betterportal-config-manager/storage/file.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/file.js +3 -2
- package/lib/plugins/service-betterportal-config-manager/storage/file.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts +3 -1
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js +3 -2
- package/lib/plugins/service-betterportal-config-manager/storage/postgres.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts +4 -1
- package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/syncApi.js +58 -4
- package/lib/plugins/service-betterportal-config-manager/syncApi.js.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/tenantManagement.d.ts.map +1 -1
- package/lib/plugins/service-betterportal-config-manager/tenantManagement.js +12 -1
- package/lib/plugins/service-betterportal-config-manager/tenantManagement.js.map +1 -1
- package/lib/schemas/service-betterportal-config-manager.json +1 -1
- package/lib/schemas/service-betterportal-config-manager.plugin.json +1 -1
- package/package.json +6 -6
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ApiAuthRequirement } from "@betterportal/framework";
|
|
2
|
+
export declare const operationId = "admin.preview-environments.delete";
|
|
3
|
+
export declare const title = "Delete preview resources";
|
|
4
|
+
export declare const description = "Delete a preview deployment or group.";
|
|
5
|
+
export declare const auth: ApiAuthRequirement;
|
|
6
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
7
|
+
export { handleDelete as default } from "../../previewEnvironmentManagement.js";
|
|
8
|
+
//# sourceMappingURL=DELETE.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DELETE.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAC/D,eAAO,MAAM,KAAK,6BAA6B,CAAC;AAChD,eAAO,MAAM,WAAW,0CAA0C,CAAC;AACnE,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const operationId = "admin.preview-environments.delete";
|
|
2
|
+
export const title = "Delete preview resources";
|
|
3
|
+
export const description = "Delete a preview deployment or group.";
|
|
4
|
+
export const auth = {
|
|
5
|
+
required: true,
|
|
6
|
+
permissions: [{ serviceId: "org.betterportal.config-manager", viewId: "preview-environments.index", permissions: ["delete"] }]
|
|
7
|
+
};
|
|
8
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
9
|
+
export { handleDelete as default } from "../../previewEnvironmentManagement.js";
|
|
10
|
+
//# sourceMappingURL=DELETE.js.map
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DELETE.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/DELETE.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,mCAAmC,CAAC;AAC/D,MAAM,CAAC,MAAM,KAAK,GAAG,0BAA0B,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AACnE,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,EAAE,4BAA4B,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC/H,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ApiAuthRequirement } from "@betterportal/framework";
|
|
2
|
+
export declare const operationId = "admin.preview-environments.view";
|
|
3
|
+
export declare const title = "View preview environments";
|
|
4
|
+
export declare const description = "List preview groups and their disposable deployments.";
|
|
5
|
+
export declare const dependencies: readonly [{
|
|
6
|
+
readonly operationId: "admin.preview-environments.create";
|
|
7
|
+
readonly method: "POST";
|
|
8
|
+
}, {
|
|
9
|
+
readonly operationId: "admin.preview-environments.update";
|
|
10
|
+
readonly method: "PUT";
|
|
11
|
+
}, {
|
|
12
|
+
readonly operationId: "admin.preview-environments.delete";
|
|
13
|
+
readonly method: "DELETE";
|
|
14
|
+
}];
|
|
15
|
+
export declare const auth: ApiAuthRequirement;
|
|
16
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
17
|
+
export { handleGet as default } from "../../previewEnvironmentManagement.js";
|
|
18
|
+
//# sourceMappingURL=GET.d.ts.map
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,WAAW,oCAAoC,CAAC;AAC7D,eAAO,MAAM,KAAK,8BAA8B,CAAC;AACjD,eAAO,MAAM,WAAW,0DAA0D,CAAC;AACnF,eAAO,MAAM,YAAY;;;;;;;;;EAIf,CAAC;AACX,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const operationId = "admin.preview-environments.view";
|
|
2
|
+
export const title = "View preview environments";
|
|
3
|
+
export const description = "List preview groups and their disposable deployments.";
|
|
4
|
+
export const dependencies = [
|
|
5
|
+
{ operationId: "admin.preview-environments.create", method: "POST" },
|
|
6
|
+
{ operationId: "admin.preview-environments.update", method: "PUT" },
|
|
7
|
+
{ operationId: "admin.preview-environments.delete", method: "DELETE" }
|
|
8
|
+
];
|
|
9
|
+
export const auth = {
|
|
10
|
+
required: true,
|
|
11
|
+
permissions: [{ serviceId: "org.betterportal.config-manager", viewId: "preview-environments.index", permissions: ["read"] }]
|
|
12
|
+
};
|
|
13
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
14
|
+
export { handleGet as default } from "../../previewEnvironmentManagement.js";
|
|
15
|
+
//# sourceMappingURL=GET.js.map
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/GET.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAC7D,MAAM,CAAC,MAAM,KAAK,GAAG,2BAA2B,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,uDAAuD,CAAC;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,WAAW,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE;IACpE,EAAE,WAAW,EAAE,mCAAmC,EAAE,MAAM,EAAE,KAAK,EAAE;IACnE,EAAE,WAAW,EAAE,mCAAmC,EAAE,MAAM,EAAE,QAAQ,EAAE;CAC9D,CAAC;AACX,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,EAAE,4BAA4B,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;CAC7H,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ApiAuthRequirement } from "@betterportal/framework";
|
|
2
|
+
export declare const operationId = "admin.preview-environments.create";
|
|
3
|
+
export declare const title = "Create preview resources";
|
|
4
|
+
export declare const description = "Create preview groups, rotate group credentials, or create a preview deployment.";
|
|
5
|
+
export declare const auth: ApiAuthRequirement;
|
|
6
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
7
|
+
export { handlePost as default } from "../../previewEnvironmentManagement.js";
|
|
8
|
+
//# sourceMappingURL=POST.d.ts.map
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"POST.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAC/D,eAAO,MAAM,KAAK,6BAA6B,CAAC;AAChD,eAAO,MAAM,WAAW,qFAAqF,CAAC;AAC9G,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const operationId = "admin.preview-environments.create";
|
|
2
|
+
export const title = "Create preview resources";
|
|
3
|
+
export const description = "Create preview groups, rotate group credentials, or create a preview deployment.";
|
|
4
|
+
export const auth = {
|
|
5
|
+
required: true,
|
|
6
|
+
permissions: [{ serviceId: "org.betterportal.config-manager", viewId: "preview-environments.index", permissions: ["create"] }]
|
|
7
|
+
};
|
|
8
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
9
|
+
export { handlePost as default } from "../../previewEnvironmentManagement.js";
|
|
10
|
+
//# sourceMappingURL=POST.js.map
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"POST.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/POST.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,mCAAmC,CAAC;AAC/D,MAAM,CAAC,MAAM,KAAK,GAAG,0BAA0B,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,kFAAkF,CAAC;AAC9G,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,EAAE,4BAA4B,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC/H,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ApiAuthRequirement } from "@betterportal/framework";
|
|
2
|
+
export declare const operationId = "admin.preview-environments.update";
|
|
3
|
+
export declare const title = "Update preview resources";
|
|
4
|
+
export declare const description = "Update a preview group or deployment expiry.";
|
|
5
|
+
export declare const auth: ApiAuthRequirement;
|
|
6
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
7
|
+
export { handlePut as default } from "../../previewEnvironmentManagement.js";
|
|
8
|
+
//# sourceMappingURL=PUT.d.ts.map
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PUT.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAC/D,eAAO,MAAM,KAAK,6BAA6B,CAAC;AAChD,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAC1E,eAAO,MAAM,IAAI,EAAE,kBAGlB,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const operationId = "admin.preview-environments.update";
|
|
2
|
+
export const title = "Update preview resources";
|
|
3
|
+
export const description = "Update a preview group or deployment expiry.";
|
|
4
|
+
export const auth = {
|
|
5
|
+
required: true,
|
|
6
|
+
permissions: [{ serviceId: "org.betterportal.config-manager", viewId: "preview-environments.index", permissions: ["update"] }]
|
|
7
|
+
};
|
|
8
|
+
export { cacheHints, demoScenarios, ResponseSchema } from "../../previewEnvironmentManagement.js";
|
|
9
|
+
export { handlePut as default } from "../../previewEnvironmentManagement.js";
|
|
10
|
+
//# sourceMappingURL=PUT.js.map
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PUT.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/PUT.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,mCAAmC,CAAC;AAC/D,MAAM,CAAC,MAAM,KAAK,GAAG,0BAA0B,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,8CAA8C,CAAC;AAC1E,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,EAAE,4BAA4B,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC/H,CAAC;AACF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DELETE.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/DELETE.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DELETE.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/DELETE.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAgP7E,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAgKzD"}
|
|
@@ -0,0 +1,172 @@
|
|
|
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 pageScript() {
|
|
5
|
+
return js(`(() => {
|
|
6
|
+
const tenant = document.getElementById("bp-preview-source-tenant");
|
|
7
|
+
const app = document.getElementById("bp-preview-source-app");
|
|
8
|
+
const services = document.getElementById("bp-preview-service-ids");
|
|
9
|
+
const syncApps = () => {
|
|
10
|
+
if (!tenant || !app) return;
|
|
11
|
+
[...app.options].forEach((option) => {
|
|
12
|
+
option.hidden = !!option.value && option.dataset.tenantId !== tenant.value;
|
|
13
|
+
});
|
|
14
|
+
if (app.selectedOptions[0]?.hidden) app.value = "";
|
|
15
|
+
};
|
|
16
|
+
const syncServices = () => {
|
|
17
|
+
const option = app?.selectedOptions[0];
|
|
18
|
+
if (!services || !option?.value) return;
|
|
19
|
+
services.value = option.dataset.requiredServices || option.dataset.services || "";
|
|
20
|
+
};
|
|
21
|
+
tenant?.addEventListener("change", syncApps);
|
|
22
|
+
app?.addEventListener("change", syncServices);
|
|
23
|
+
syncApps();
|
|
24
|
+
|
|
25
|
+
document.querySelectorAll("[data-bp-copy-target]").forEach((button) => {
|
|
26
|
+
button.addEventListener("click", async () => {
|
|
27
|
+
const target = document.getElementById(button.dataset.bpCopyTarget);
|
|
28
|
+
if (!target) return;
|
|
29
|
+
await navigator.clipboard.writeText(target.value || target.textContent || "");
|
|
30
|
+
const original = button.textContent;
|
|
31
|
+
button.textContent = "Copied";
|
|
32
|
+
setTimeout(() => { button.textContent = original; }, 1500);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const decode64 = (value) => {
|
|
37
|
+
const base64 = value.replace(/-/g, "+").replace(/_/g, "/") + "===".slice((value.length + 3) % 4);
|
|
38
|
+
return Uint8Array.from(atob(base64), (char) => char.charCodeAt(0));
|
|
39
|
+
};
|
|
40
|
+
const encode64 = (value) => btoa(String.fromCharCode(...new Uint8Array(value)))
|
|
41
|
+
.replace(/\\+/g, "-").replace(/\\//g, "_").replace(/=+$/, "");
|
|
42
|
+
const importPreviewKey = async (value) => {
|
|
43
|
+
if (!value.startsWith("bp_pck_")) throw new Error("Config key must start with bp_pck_");
|
|
44
|
+
const bytes = decode64(value.slice(7));
|
|
45
|
+
if (bytes.length !== 32) throw new Error("Config key must contain 32 bytes");
|
|
46
|
+
return crypto.subtle.importKey("raw", bytes, "AES-GCM", false, ["encrypt", "decrypt"]);
|
|
47
|
+
};
|
|
48
|
+
const aad = (scope, key) => new TextEncoder().encode("betterportal.preview-config.v1\\n" + scope + "\\n" + key);
|
|
49
|
+
const encryptValue = async (cryptoKey, scope, path, value) => {
|
|
50
|
+
const iv = crypto.getRandomValues(new Uint8Array(12));
|
|
51
|
+
const encrypted = await crypto.subtle.encrypt({ name: "AES-GCM", iv, additionalData: aad(scope, path), tagLength: 128 }, cryptoKey, new TextEncoder().encode(value));
|
|
52
|
+
return "encrypted:bp-aes256gcm-v1:" + encode64(iv) + ":" + encode64(encrypted);
|
|
53
|
+
};
|
|
54
|
+
const decryptValue = async (cryptoKey, scope, path, value) => {
|
|
55
|
+
const prefix = "encrypted:bp-aes256gcm-v1:";
|
|
56
|
+
if (!value.startsWith(prefix)) throw new Error("Unsupported encrypted config envelope");
|
|
57
|
+
const [iv, encrypted] = value.slice(prefix.length).split(":");
|
|
58
|
+
const clear = await crypto.subtle.decrypt({ name: "AES-GCM", iv: decode64(iv), additionalData: aad(scope, path), tagLength: 128 }, cryptoKey, decode64(encrypted));
|
|
59
|
+
return new TextDecoder().decode(clear);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
document.querySelectorAll("[data-bp-preview-config-form]").forEach((form) => {
|
|
63
|
+
const keyInput = form.querySelector("[data-bp-preview-key]");
|
|
64
|
+
const status = form.querySelector("[data-bp-preview-config-status]");
|
|
65
|
+
const existing = {};
|
|
66
|
+
form.querySelectorAll("[data-bp-existing-config]").forEach((node) => {
|
|
67
|
+
existing[node.dataset.serviceId] = {
|
|
68
|
+
tenant: JSON.parse(node.dataset.tenant || "{}"),
|
|
69
|
+
app: JSON.parse(node.dataset.app || "{}")
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
form.querySelector("[data-bp-generate-key]")?.addEventListener("click", () => {
|
|
73
|
+
keyInput.value = "bp_pck_" + encode64(crypto.getRandomValues(new Uint8Array(32)));
|
|
74
|
+
keyInput.dispatchEvent(new Event("input"));
|
|
75
|
+
});
|
|
76
|
+
form.querySelector("[data-bp-decrypt-config]")?.addEventListener("click", async () => {
|
|
77
|
+
try {
|
|
78
|
+
const cryptoKey = await importPreviewKey(keyInput.value.trim());
|
|
79
|
+
for (const input of form.querySelectorAll("[data-bp-config-field][data-secret=true]")) {
|
|
80
|
+
const encrypted = existing[input.dataset.serviceId]?.[input.dataset.scope]?.[input.dataset.key];
|
|
81
|
+
if (encrypted) input.value = await decryptValue(cryptoKey, input.dataset.scope, input.dataset.key, encrypted);
|
|
82
|
+
}
|
|
83
|
+
status.textContent = "Secrets decrypted in this browser only.";
|
|
84
|
+
status.className = "alert alert-success py-2";
|
|
85
|
+
} catch (error) {
|
|
86
|
+
status.textContent = error.message || String(error);
|
|
87
|
+
status.className = "alert alert-danger py-2";
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
form.addEventListener("submit", async (event) => {
|
|
91
|
+
event.preventDefault();
|
|
92
|
+
event.stopImmediatePropagation();
|
|
93
|
+
try {
|
|
94
|
+
const values = structuredClone(existing);
|
|
95
|
+
const clearedSecrets = new Set([...form.querySelectorAll("[data-bp-clear-secret]:checked")].map((input) =>
|
|
96
|
+
input.dataset.serviceId + "\\n" + input.dataset.scope + "\\n" + input.dataset.key
|
|
97
|
+
));
|
|
98
|
+
let cryptoKey;
|
|
99
|
+
for (const input of form.querySelectorAll("[data-bp-config-field]")) {
|
|
100
|
+
const service = values[input.dataset.serviceId] ||= { tenant: {}, app: {} };
|
|
101
|
+
const scope = service[input.dataset.scope] ||= {};
|
|
102
|
+
const value = input.value.trim();
|
|
103
|
+
if (!value) {
|
|
104
|
+
const secretKey = input.dataset.serviceId + "\\n" + input.dataset.scope + "\\n" + input.dataset.key;
|
|
105
|
+
if (input.dataset.secret === "true" && scope[input.dataset.key] && !clearedSecrets.has(secretKey)) continue;
|
|
106
|
+
if (input.required && !(input.dataset.secret === "true" && scope[input.dataset.key])) throw new Error(input.dataset.title + " is required");
|
|
107
|
+
if (!input.required || clearedSecrets.has(secretKey)) delete scope[input.dataset.key];
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
if (input.dataset.secret === "true") {
|
|
111
|
+
cryptoKey ||= await importPreviewKey(keyInput.value.trim());
|
|
112
|
+
scope[input.dataset.key] = await encryptValue(cryptoKey, input.dataset.scope, input.dataset.key, value);
|
|
113
|
+
} else {
|
|
114
|
+
scope[input.dataset.key] = value;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
status.textContent = "Saving encrypted config...";
|
|
118
|
+
status.className = "alert alert-info py-2";
|
|
119
|
+
await window.htmx.ajax("POST", form.dataset.path, {
|
|
120
|
+
source: form,
|
|
121
|
+
target: "#bp-main",
|
|
122
|
+
swap: "innerHTML",
|
|
123
|
+
values: { action: "save-config", groupId: form.dataset.groupId, configs: JSON.stringify(values) }
|
|
124
|
+
});
|
|
125
|
+
} catch (error) {
|
|
126
|
+
status.textContent = error.message || String(error);
|
|
127
|
+
status.className = "alert alert-danger py-2";
|
|
128
|
+
}
|
|
129
|
+
}, true);
|
|
130
|
+
});
|
|
131
|
+
})()`);
|
|
132
|
+
}
|
|
133
|
+
function oidcFields(prefix, oidc) {
|
|
134
|
+
return (_jsxs("details", { class: "border rounded p-3 mb-3", children: [_jsx("summary", { class: "fw-semibold", children: "OIDC restrictions (recommended for CI)" }), _jsxs("div", { class: "mt-3", children: [_jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: `${prefix}-oidc-issuer`, children: "Issuer" }), _jsx("input", { id: `${prefix}-oidc-issuer`, class: "form-control font-monospace", type: "url", name: "oidcIssuer", value: oidc?.issuer ?? "", placeholder: "https://token.actions.githubusercontent.com" })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: `${prefix}-oidc-audience`, children: "Audience" }), _jsx("input", { id: `${prefix}-oidc-audience`, class: "form-control font-monospace", name: "oidcAudience", value: oidc?.audience ?? "" })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: `${prefix}-oidc-jwks`, children: "JWKS URL" }), _jsx("input", { id: `${prefix}-oidc-jwks`, class: "form-control font-monospace", type: "url", name: "oidcJwksUri", value: oidc?.jwksUri ?? "", placeholder: "https://token.actions.githubusercontent.com/.well-known/jwks" })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: `${prefix}-oidc-subject`, children: "Subject prefix" }), _jsx("input", { id: `${prefix}-oidc-subject`, class: "form-control font-monospace", name: "oidcSubjectPrefix", value: oidc?.subjectPrefix ?? "", placeholder: "repo:org/repository:" })] }), _jsxs("div", { children: [_jsx("label", { class: "form-label", for: `${prefix}-oidc-claims`, children: "Required claims (JSON string values)" }), _jsx("textarea", { id: `${prefix}-oidc-claims`, class: "form-control font-monospace", name: "oidcRequiredClaims", rows: 3, children: oidc?.requiredClaimsJson ?? "{}" })] })] })] }));
|
|
135
|
+
}
|
|
136
|
+
function expiryInput(current, includeDefault = false, label = "Expiry") {
|
|
137
|
+
return _jsx("input", { class: "form-control", name: "expiresInDays", inputmode: "numeric", maxlength: "5", pattern: "(?:never|[1-9][0-9]{0,3})", value: current === undefined ? includeDefault ? "" : "never" : String(current), placeholder: includeDefault ? "Group default" : "30 or never", "aria-label": label, required: !includeDefault });
|
|
138
|
+
}
|
|
139
|
+
function credentials(data) {
|
|
140
|
+
if (!data.issuedApiKey && data.issuedCredentials.length === 0)
|
|
141
|
+
return null;
|
|
142
|
+
return (_jsxs("div", { class: "alert alert-warning", role: "status", children: [_jsx("h3", { class: "h6", children: "Copy these credentials now" }), _jsx("p", { class: "small mb-3", children: "They are shown once and cannot be recovered." }), data.issuedApiKey ? (_jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-issued-group-key", children: "Preview group API key" }), _jsxs("div", { class: "input-group", children: [_jsx("input", { id: "bp-issued-group-key", class: "form-control font-monospace", value: data.issuedApiKey, readonly: true }), _jsx("button", { class: "btn btn-outline-dark", type: "button", "data-bp-copy-target": "bp-issued-group-key", children: "Copy" })] })] })) : null, data.issuedCredentials.map((credential, index) => {
|
|
143
|
+
const id = `bp-issued-service-${index}`;
|
|
144
|
+
return (_jsxs("div", { class: "mb-3", children: [_jsx("div", { class: "fw-semibold", children: credential.serviceId }), _jsx("textarea", { id: id, class: "form-control font-monospace small", rows: 2, readonly: true, children: `BP_CONTROL_PLANE_URL=${credential.controlPlaneUrl}\nBP_SERVICE_API_KEY=${credential.apiKey}` }), _jsx("button", { class: "btn btn-sm btn-outline-dark mt-2", type: "button", "data-bp-copy-target": id, children: "Copy environment" })] }));
|
|
145
|
+
})] }));
|
|
146
|
+
}
|
|
147
|
+
function configEditor(group, path) {
|
|
148
|
+
const hasFields = group.services.some((service) => service.fields.length > 0);
|
|
149
|
+
const existing = (service, scope) => {
|
|
150
|
+
try {
|
|
151
|
+
return JSON.parse(scope === "tenant" ? service.encryptedTenantConfig : service.encryptedAppConfig);
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return {};
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
const fieldControl = (service, field) => {
|
|
158
|
+
const current = existing(service, field.scope)[field.key];
|
|
159
|
+
if (!field.secret && field.control === "select" && field.options.length > 0) {
|
|
160
|
+
return _jsxs("select", { class: "form-select", "data-bp-config-field": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, "data-title": field.title, "data-secret": "false", required: field.required, children: [!field.required ? _jsx("option", { value: "", children: "Not set" }) : null, field.options.map((option) => _jsx("option", { value: option.value, selected: current === option.value, children: option.label }))] });
|
|
161
|
+
}
|
|
162
|
+
return _jsx("input", { class: "form-control", type: field.secret ? "password" : field.control === "email" || field.control === "url" ? field.control : "text", maxlength: "255", value: field.secret ? "" : current ?? "", autocomplete: field.secret ? "new-password" : "off", "data-bp-config-field": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, "data-title": field.title, "data-secret": field.secret ? "true" : "false", required: field.required && !field.secret });
|
|
163
|
+
};
|
|
164
|
+
return (_jsxs("details", { class: "border rounded p-3 mt-3", children: [_jsx("summary", { class: "fw-semibold", children: "Encrypted service configuration" }), !hasFields ? _jsx("div", { class: "alert alert-secondary mt-3 mb-0", children: "No synced service config schemas are available for this group." }) : (_jsxs("form", { class: "mt-3", "data-bp-preview-config-form": "", "data-group-id": group.id, "data-path": path, children: [_jsxs("div", { class: "alert alert-warning small", children: ["Use preview-only values. The key and decrypted secrets stay in this browser; BetterPortal stores only ", _jsx("code", { children: "encrypted:" }), " envelopes."] }), _jsx("label", { class: "form-label", for: `bp-preview-key-${group.id}`, children: "Preview config key" }), _jsxs("div", { class: "input-group mb-2", children: [_jsx("input", { id: `bp-preview-key-${group.id}`, class: "form-control font-monospace", type: "password", autocomplete: "off", "data-bp-preview-key": "" }), _jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-generate-key": "", children: "Generate" }), _jsx("button", { class: "btn btn-outline-secondary", type: "button", "data-bp-copy-target": `bp-preview-key-${group.id}`, children: "Copy" })] }), _jsxs("div", { class: "form-text mb-3", children: ["Set this exact value as ", _jsx("code", { children: "BP_PREVIEW_CONFIG_KEY" }), " on every configured preview service. Keep it outside BetterPortal."] }), _jsx("button", { class: "btn btn-sm btn-outline-secondary mb-3", type: "button", "data-bp-decrypt-config": "", children: "Decrypt stored secrets" }), group.services.map((service) => (_jsxs("fieldset", { class: "border rounded p-3 mb-3", children: [_jsx("legend", { class: "float-none w-auto px-2 fs-6", children: service.title }), _jsx("span", { hidden: true, "data-bp-existing-config": "", "data-service-id": service.serviceId, "data-tenant": service.encryptedTenantConfig, "data-app": service.encryptedAppConfig }), ["tenant", "app"].map((scope) => {
|
|
165
|
+
const fields = service.fields.filter((field) => field.scope === scope);
|
|
166
|
+
return fields.length === 0 ? null : _jsxs("div", { class: "mb-3", children: [_jsxs("div", { class: "text-uppercase text-secondary small fw-semibold mb-2", children: [scope, " config"] }), _jsx("div", { class: "row g-3", children: fields.map((field) => _jsxs("div", { class: "col-12 col-lg-6", children: [_jsxs("label", { class: "form-label", children: [field.title, field.required ? " *" : ""] }), fieldControl(service, field), _jsxs("div", { class: "form-text", children: [field.description, field.secret ? " Blank keeps the stored value." : ""] }), field.secret && !field.required ? _jsxs("div", { class: "form-check mt-1", children: [_jsx("input", { class: "form-check-input", type: "checkbox", "data-bp-clear-secret": "", "data-service-id": service.serviceId, "data-scope": field.scope, "data-key": field.key, id: `bp-clear-${group.id}-${service.serviceId}-${field.scope}-${field.key}` }), _jsx("label", { class: "form-check-label small", for: `bp-clear-${group.id}-${service.serviceId}-${field.scope}-${field.key}`, children: "Clear stored value" })] }) : null] })) })] });
|
|
167
|
+
})] }))), _jsx("div", { class: "alert alert-secondary py-2", "data-bp-preview-config-status": "", role: "status", children: "Key is never submitted." }), _jsx("button", { class: "btn btn-primary", type: "submit", children: "Encrypt and save config" })] }))] }));
|
|
168
|
+
}
|
|
169
|
+
export function render(data) {
|
|
170
|
+
return (_jsxs("div", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex flex-wrap justify-content-between align-items-start gap-3 mb-4", children: [_jsxs("div", { children: [_jsx("h2", { class: "mb-1", children: data.title }), _jsx("p", { class: "text-secondary mb-0", children: "Clone an existing tenant/app configuration while CI owns where each service runs." })] }), _jsx("button", { class: "btn btn-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-create-preview-group", children: "Create group" })] }), data.notice ? _jsx("div", { class: "alert alert-success", role: "status", children: data.notice }) : null, data.error ? _jsx("div", { class: "alert alert-danger", role: "alert", children: data.error }) : null, credentials(data), _jsxs("div", { class: "alert alert-info d-flex gap-2 align-items-start", children: [_jsx("span", { "aria-hidden": "true", children: "i" }), _jsxs("div", { children: [_jsx("strong", { children: "Pull setup only." }), " Services receive credentials from CI, publish their manifest on first sync, and rebuild preview routes/menu automatically."] })] }), data.groups.length === 0 ? (_jsx("div", { class: "card border-0 shadow-sm", children: _jsx("div", { class: "card-body py-5 text-center text-secondary", children: "No preview groups configured." }) })) : data.groups.map((group) => (_jsx("section", { class: "card border-0 shadow-sm mb-4", "aria-labelledby": `bp-group-${group.id}`, children: _jsxs("div", { class: "card-body", children: [_jsxs("div", { class: "d-flex flex-wrap justify-content-between align-items-start gap-3 mb-3", children: [_jsxs("div", { children: [_jsx("h3", { class: "h5 mb-1", id: `bp-group-${group.id}`, children: group.name }), _jsx("div", { class: "small text-secondary", children: group.sourceLabel }), _jsx("code", { class: "small", children: group.id })] }), _jsxs("div", { class: "d-flex flex-wrap gap-2", children: [_jsx("button", { class: "btn btn-sm btn-outline-primary", "data-bs-toggle": "collapse", "data-bs-target": `#bp-new-${group.id}`, children: "New preview" }), _jsx("button", { class: "btn btn-sm btn-outline-secondary", "data-bs-toggle": "collapse", "data-bs-target": `#bp-settings-${group.id}`, children: "Settings" }), _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.previewPath}?entity=group&id=${encodeURIComponent(group.id)}`, "hx-confirm": `Delete ${group.name} and all of its previews?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "Delete" })] })] }), _jsxs("div", { class: "row g-3 mb-3", children: [_jsxs("div", { class: "col-12 col-xl-7", children: [_jsx("div", { class: "small text-secondary mb-1", children: "CI endpoint" }), _jsxs("code", { class: "d-block text-break", children: ["POST ", data.deploymentApiBase, "/", group.id, "/deployments/<key>"] })] }), _jsxs("div", { class: "col-12 col-xl-5", children: [_jsx("div", { class: "small text-secondary mb-1", children: "Managed services" }), _jsx("div", { class: "d-flex flex-wrap gap-1", children: group.services.map((service) => _jsx("span", { class: "badge text-bg-secondary", children: service.serviceId })) })] })] }), _jsx("div", { class: "collapse mb-4", id: `bp-new-${group.id}`, children: _jsxs("div", { class: "border rounded p-3 bg-body-tertiary", children: [_jsx("h4", { class: "h6", children: "Create preview manually" }), _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "create-deployment" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsxs("div", { class: "row g-3", children: [_jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Key" }), _jsx("input", { class: "form-control font-monospace", name: "key", maxlength: "255", pattern: "[A-Za-z0-9][A-Za-z0-9._:-]*", required: true })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Name" }), _jsx("input", { class: "form-control", name: "name" })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Expiry" }), expiryInput(undefined, true)] }), _jsxs("div", { class: "col-12", children: [_jsx("label", { class: "form-label", children: "App hostname or origin" }), _jsx("input", { class: "form-control font-monospace", name: "hostname", placeholder: "pr-123.preview.example.com", required: true })] }), group.services.map((service) => (_jsxs("div", { class: "col-12 col-lg-6", children: [_jsxs("label", { class: "form-label", children: [service.title, " URL"] }), _jsx("input", { class: "form-control font-monospace", type: "url", name: `service.${service.serviceId}`, placeholder: "https://service-pr-123.example.com", required: true }), _jsx("div", { class: "form-text font-monospace", children: service.serviceId })] })))] }), _jsx("button", { class: "btn btn-primary mt-3", type: "submit", children: "Create preview" })] })] }) }), _jsx("div", { class: "collapse mb-4", id: `bp-settings-${group.id}`, children: _jsxs("div", { class: "border rounded p-3", children: [_jsxs("form", { "hx-put": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "update-group" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsxs("div", { class: "row g-3 mb-3", children: [_jsxs("div", { class: "col-12 col-md-8", children: [_jsx("label", { class: "form-label", children: "Group name" }), _jsx("input", { class: "form-control", name: "name", value: group.name, required: true })] }), _jsxs("div", { class: "col-12 col-md-4", children: [_jsx("label", { class: "form-label", children: "Maximum/default expiry" }), expiryInput(group.expiresInDays)] })] }), oidcFields(`bp-group-${group.id}`, group.oidc), _jsx("button", { class: "btn btn-primary", type: "submit", children: "Save settings" })] }), _jsx("hr", {}), _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "rotate-key" }), _jsx("input", { type: "hidden", name: "groupId", value: group.id }), _jsx("button", { class: "btn btn-outline-warning", type: "submit", "hx-confirm": "Rotate this group API key? Existing CI credentials will stop working.", children: "Rotate API key" })] }), configEditor(group, data.previewPath)] }) }), group.deployments.length === 0 ? _jsx("div", { class: "text-secondary small", children: "No active previews." }) : (_jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm align-middle mb-0", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Preview" }), _jsx("th", { children: "App" }), _jsx("th", { children: "Services" }), _jsx("th", { children: "Expiry" }), _jsx("th", {})] }) }), _jsx("tbody", { children: group.deployments.map((deployment) => (_jsxs("tr", { children: [_jsxs("td", { children: [_jsx("div", { class: "fw-semibold", children: deployment.name }), _jsx("code", { class: "small", children: deployment.key }), _jsx("div", { children: _jsx("span", { class: `badge ${deployment.ready ? "text-bg-success" : "text-bg-warning"}`, children: deployment.ready ? "Synced" : "Waiting for sync" }) })] }), _jsx("td", { children: _jsx("a", { href: deployment.hostname.startsWith("http") ? deployment.hostname : `https://${deployment.hostname}`, target: "_blank", rel: "noreferrer", children: deployment.hostname }) }), _jsx("td", { children: deployment.services.map((service) => _jsxs("div", { class: "small", children: [_jsx("span", { class: `badge ${service.ready ? "text-bg-success" : "text-bg-warning"}`, children: service.ready ? "Synced" : "Waiting" }), " ", _jsx("span", { class: "font-monospace", children: service.serviceId })] })) }), _jsxs("td", { children: [_jsxs("form", { class: "d-flex gap-2", "hx-put": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "update-expiry" }), _jsx("input", { type: "hidden", name: "deploymentId", value: deployment.id }), expiryInput(deployment.expiresInDays, false, `Expiry for ${deployment.name}`), _jsx("button", { class: "btn btn-sm btn-outline-secondary", type: "submit", children: "Save" })] }), _jsx("div", { class: "small text-secondary mt-1", children: deployment.expiresAt ? new Date(deployment.expiresAt).toLocaleString() : "Never expires" })] }), _jsx("td", { children: _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.previewPath}?entity=deployment&id=${encodeURIComponent(deployment.id)}`, "hx-confirm": `Delete preview ${deployment.name}?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "Delete" }) })] }))) })] }) }))] }) }))), _jsxs("aside", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-create-preview-group", "aria-labelledby": "bp-create-preview-group-title", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h3", { class: "offcanvas-title h5", id: "bp-create-preview-group-title", children: "Create preview group" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas", "aria-label": "Close" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { "hx-post": data.previewPath, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "action", value: "create-group" }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-group-name", children: "Name" }), _jsx("input", { id: "bp-preview-group-name", class: "form-control", name: "name", maxlength: "120", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-source-tenant", children: "Source tenant" }), _jsxs("select", { id: "bp-preview-source-tenant", class: "form-select", name: "sourceTenantId", required: true, children: [_jsx("option", { value: "", children: "Select tenant" }), data.sourceTenants.map((tenant) => _jsx("option", { value: tenant.id, children: tenant.title }))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-source-app", children: "Source app" }), _jsxs("select", { id: "bp-preview-source-app", class: "form-select", name: "sourceAppId", required: true, children: [_jsx("option", { value: "", children: "Select app" }), data.sourceApps.map((app) => _jsx("option", { value: app.id, "data-tenant-id": app.tenantId, "data-services": app.serviceIds.join(","), "data-required-services": app.requiredServiceIds.join(","), children: app.title }))] })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", for: "bp-preview-service-ids", children: "Service plugin IDs" }), _jsx("textarea", { id: "bp-preview-service-ids", class: "form-control font-monospace", name: "serviceIds", rows: 4, required: true }), _jsx("div", { class: "form-text", children: "Required source services are filled automatically. Add more tenant services if CI will deploy them." })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Maximum/default expiry" }), expiryInput(30)] }), oidcFields("bp-new-group"), _jsx("button", { class: "btn btn-primary w-100", type: "submit", children: "Create group" })] }) })] }), _jsx("script", { children: pageScript() })] }));
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=GET.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"POST.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/POST.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"POST.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/POST.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PUT.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/PUT.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PUT.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/_renderer.bootstrap5/PUT.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC"}
|
package/lib/plugins/service-betterportal-config-manager/bp-routes/preview-environments/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/preview-environments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -13,6 +13,8 @@ export declare const ResponseSchema: av.ObjectSchema<{
|
|
|
13
13
|
description: av.OptionalSchema<av.StringSchema>;
|
|
14
14
|
createdAt: av.StringSchema;
|
|
15
15
|
lastSeenAt: av.OptionalSchema<av.StringSchema>;
|
|
16
|
+
lastSyncAt: av.OptionalSchema<av.StringSchema>;
|
|
17
|
+
syncedVersion: av.OptionalSchema<av.StringSchema>;
|
|
16
18
|
enabled: av.BoolSchema;
|
|
17
19
|
scope: av.StringSchema;
|
|
18
20
|
tenantId: av.OptionalSchema<av.StringSchema>;
|
|
@@ -108,6 +110,8 @@ declare const _default: import("@betterportal/framework").RouteHandler<Record<st
|
|
|
108
110
|
title?: string | undefined;
|
|
109
111
|
description?: string | undefined;
|
|
110
112
|
lastSeenAt?: string | undefined;
|
|
113
|
+
lastSyncAt?: string | undefined;
|
|
114
|
+
syncedVersion?: string | undefined;
|
|
111
115
|
tenantId?: string | undefined;
|
|
112
116
|
customUiPath?: string | undefined;
|
|
113
117
|
}[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/services/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/services/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAwFjC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAazB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,qBAAqB,CAAC;AACxC,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAElE,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAA4D,CAAC;AAEtF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAMrD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAME"}
|
|
@@ -9,7 +9,9 @@ const RegisteredServiceItemSchema = av.object({
|
|
|
9
9
|
title: av.optional(av.string()).describe("Human-readable service title from the manifest or registration."),
|
|
10
10
|
description: av.optional(av.string()).describe("Human-readable service description from the manifest."),
|
|
11
11
|
createdAt: av.string().describe("ISO timestamp when the service registration was created."),
|
|
12
|
-
lastSeenAt: av.optional(av.string()).describe("ISO timestamp when the service last
|
|
12
|
+
lastSeenAt: av.optional(av.string()).describe("ISO timestamp when the service last authenticated with config-manager."),
|
|
13
|
+
lastSyncAt: av.optional(av.string()).describe("ISO timestamp when config-manager last delivered configuration to the service."),
|
|
14
|
+
syncedVersion: av.optional(av.string()).describe("Latest service manifest version received by config-manager."),
|
|
13
15
|
enabled: av.bool().describe("Whether this service registration is active."),
|
|
14
16
|
scope: av.string().minLength(1).describe("Registration scope: tenant, shared, platform, or shell."),
|
|
15
17
|
tenantId: av.optional(av.string()).describe("Owning tenant id for tenant-scoped service registrations."),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/services/GET.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,aAAa,EAId,MAAM,yBAAyB,CAAC;AAEjC,MAAM,2BAA2B,GAAG,EAAE,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC3E,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IAC5G,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC5F,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC5G,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC3G,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACvG,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IAC3F,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/services/GET.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ function renderServiceCard(service, data, tenantById) {
|
|
|
46
46
|
return (_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: title }), _jsx("div", { class: "small text-secondary font-monospace", children: service.id })] }), _jsx("span", { class: `badge ${service.scope === "platform" ? "text-bg-info" :
|
|
47
47
|
service.scope === "shell" ? "text-bg-warning" :
|
|
48
48
|
service.scope === "shared" ? "text-bg-success" :
|
|
49
|
-
"text-bg-primary"}`, children: service.scope })] }), service.tenantId ? _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Tenant:" }), " ", tenant?.title ?? service.tenantId] }) : "", service.scope === "shell" && apps.length > 0 ? _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Apps:" }), " ", apps.map((app) => app.title).join(", ")] }) : "", _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "URL:" }), " ", _jsx("span", { class: "font-monospace", children: service.hostname })] }), service.serviceId ? _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Plugin:" }), " ", _jsx("span", { class: "font-monospace", children: service.serviceId })] }) : "", service.capabilities.length > 0 ? (_jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Capabilities:" }), " ", service.capabilities.map((capability) => _jsx("span", { class: "badge text-bg-light border me-1", children: capability }))] })) : "", _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Status:" }), " ", _jsx("span", { class: `badge ${service.enabled ? "text-bg-success" : "text-bg-secondary"}`, children: service.enabled ? "active" : "disabled" })] }), _jsxs("div", { class: "small mb-2", children: [_jsx("strong", { children: "Created:" }), " ", service.createdAt, service.lastSeenAt ? ` - Last seen: ${service.lastSeenAt}` : ""] }), _jsxs("div", { class: "d-flex gap-2 flex-wrap align-items-center", children: [service.scope !== "shared" ? (_jsxs(_Fragment, { children: [_jsx("button", { class: "btn btn-sm btn-outline-secondary", type: "button", "data-bp-change-hostname": "", "data-bp-service-id": service.id, "data-bp-service-url": normalizeUrl(service.hostname), "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-change-hostname-panel", children: "Change URL" }), service.serviceId ? (_jsx("button", { class: "btn btn-sm btn-outline-warning", type: "button", hidden: true, "data-bp-reconfigure-service": "", "data-bp-service-id": service.id, "data-bp-service-plugin-id": service.serviceId, "data-bp-service-url": normalizeUrl(service.hostname), "data-bp-tenant-id": service.tenantId ?? "", children: "Reset / reconfigure" })) : ""] })) : "", apps.length > 0 && service.hasConfigurableOptions ? (_jsxs("div", { class: "btn-group btn-group-sm", children: [_jsx("button", { class: "btn btn-outline-primary dropdown-toggle", type: "button", "data-bs-toggle": "dropdown", children: "Configure" }), _jsxs("ul", { class: "dropdown-menu", children: [_jsx("li", { children: _jsx("button", { type: "button", class: "dropdown-item", ...configureAttrs(service, undefined, `${title} - Tenant defaults`, adminApiBase), children: "Tenant defaults" }) }), apps.map((app) => (_jsx("li", { children: _jsx("button", { type: "button", class: "dropdown-item", ...configureAttrs(service, app.id, `${title} - ${app.title}`, adminApiBase), children: app.title }) })))] })] })) : (configureButton(service, undefined, title, adminApiBase)), service.scope === "shared" && service.tenantId ? (_jsx("button", { class: "btn btn-sm btn-outline-secondary", "hx-delete": `${data.adminApiBase}/shared-services/${encodeURIComponent(service.serviceId ?? service.id)}/activations?tenantId=${encodeURIComponent(service.tenantId)}`, "hx-target": "#bp-services-alerts", "hx-swap": "innerHTML", "data-bp-error-modal": "", "hx-confirm": "Deactivate this shared service?", children: "Deactivate" })) : service.tenantId ? (_jsxs(_Fragment, { children: [service.serviceId && service.serviceId !== "org.betterportal.config-manager" ? (_jsx("button", { class: "btn btn-sm btn-outline-success", "hx-post": `${data.adminApiBase}/tenants/${encodeURIComponent(service.tenantId)}/services/${encodeURIComponent(service.id)}/migrate-to-shared`, "hx-target": "#bp-services-alerts", "hx-swap": "innerHTML", "hx-confirm": "Convert this tenant service to a shared service and rewrite app references?", children: "Convert to shared" })) : "", _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.adminApiBase}/tenants/${encodeURIComponent(service.tenantId)}/services/${encodeURIComponent(service.id)}`, "hx-target": "#bp-services-alerts", "hx-swap": "innerHTML", "data-bp-error-modal": "", "hx-confirm": "Remove this service registration?", children: "Remove" })] })) : ""] })] }) }) }));
|
|
49
|
+
"text-bg-primary"}`, children: service.scope })] }), service.tenantId ? _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Tenant:" }), " ", tenant?.title ?? service.tenantId] }) : "", service.scope === "shell" && apps.length > 0 ? _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Apps:" }), " ", apps.map((app) => app.title).join(", ")] }) : "", _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "URL:" }), " ", _jsx("span", { class: "font-monospace", children: service.hostname })] }), service.serviceId ? _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Plugin:" }), " ", _jsx("span", { class: "font-monospace", children: service.serviceId })] }) : "", service.capabilities.length > 0 ? (_jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Capabilities:" }), " ", service.capabilities.map((capability) => _jsx("span", { class: "badge text-bg-light border me-1", children: capability }))] })) : "", _jsxs("div", { class: "small mb-1", children: [_jsx("strong", { children: "Status:" }), " ", _jsx("span", { class: `badge ${service.enabled ? "text-bg-success" : "text-bg-secondary"}`, children: service.enabled ? "active" : "disabled" })] }), _jsxs("div", { class: "small mb-2", children: [_jsx("strong", { children: "Created:" }), " ", service.createdAt, service.lastSeenAt ? ` - Last seen: ${service.lastSeenAt}` : "", service.lastSyncAt ? ` - Last sync: ${service.lastSyncAt}` : "", service.syncedVersion ? ` - Synced version: ${service.syncedVersion}` : ""] }), _jsxs("div", { class: "d-flex gap-2 flex-wrap align-items-center", children: [service.scope !== "shared" ? (_jsxs(_Fragment, { children: [_jsx("button", { class: "btn btn-sm btn-outline-secondary", type: "button", "data-bp-change-hostname": "", "data-bp-service-id": service.id, "data-bp-service-url": normalizeUrl(service.hostname), "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-change-hostname-panel", children: "Change URL" }), service.serviceId ? (_jsx("button", { class: "btn btn-sm btn-outline-warning", type: "button", hidden: true, "data-bp-reconfigure-service": "", "data-bp-service-id": service.id, "data-bp-service-plugin-id": service.serviceId, "data-bp-service-url": normalizeUrl(service.hostname), "data-bp-tenant-id": service.tenantId ?? "", children: "Reset / reconfigure" })) : ""] })) : "", apps.length > 0 && service.hasConfigurableOptions ? (_jsxs("div", { class: "btn-group btn-group-sm", children: [_jsx("button", { class: "btn btn-outline-primary dropdown-toggle", type: "button", "data-bs-toggle": "dropdown", children: "Configure" }), _jsxs("ul", { class: "dropdown-menu", children: [_jsx("li", { children: _jsx("button", { type: "button", class: "dropdown-item", ...configureAttrs(service, undefined, `${title} - Tenant defaults`, adminApiBase), children: "Tenant defaults" }) }), apps.map((app) => (_jsx("li", { children: _jsx("button", { type: "button", class: "dropdown-item", ...configureAttrs(service, app.id, `${title} - ${app.title}`, adminApiBase), children: app.title }) })))] })] })) : (configureButton(service, undefined, title, adminApiBase)), service.scope === "shared" && service.tenantId ? (_jsx("button", { class: "btn btn-sm btn-outline-secondary", "hx-delete": `${data.adminApiBase}/shared-services/${encodeURIComponent(service.serviceId ?? service.id)}/activations?tenantId=${encodeURIComponent(service.tenantId)}`, "hx-target": "#bp-services-alerts", "hx-swap": "innerHTML", "data-bp-error-modal": "", "hx-confirm": "Deactivate this shared service?", children: "Deactivate" })) : service.tenantId ? (_jsxs(_Fragment, { children: [service.serviceId && service.serviceId !== "org.betterportal.config-manager" ? (_jsx("button", { class: "btn btn-sm btn-outline-success", "hx-post": `${data.adminApiBase}/tenants/${encodeURIComponent(service.tenantId)}/services/${encodeURIComponent(service.id)}/migrate-to-shared`, "hx-target": "#bp-services-alerts", "hx-swap": "innerHTML", "hx-confirm": "Convert this tenant service to a shared service and rewrite app references?", children: "Convert to shared" })) : "", _jsx("button", { class: "btn btn-sm btn-outline-danger", "hx-delete": `${data.adminApiBase}/tenants/${encodeURIComponent(service.tenantId)}/services/${encodeURIComponent(service.id)}`, "hx-target": "#bp-services-alerts", "hx-swap": "innerHTML", "data-bp-error-modal": "", "hx-confirm": "Remove this service registration?", children: "Remove" })] })) : ""] })] }) }) }));
|
|
50
50
|
}
|
|
51
51
|
function normalizeUrl(value) {
|
|
52
52
|
return value.replace(/\/+$/, "");
|