@betterportal/config-manager 10.1.64 → 10.1.66

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.
Files changed (174) hide show
  1. package/lib/.bsb/clients/service-betterportal-config-manager.d.ts +1 -1
  2. package/lib/.bsb/clients/service-betterportal-config-manager.js +1 -1
  3. package/lib/bp-contracts/org.betterportal.config-manager.json +198 -14
  4. package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.d.ts.map +1 -1
  5. package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js +9 -4
  6. package/lib/plugins/service-betterportal-config-manager/.bp-generated/registry.js.map +1 -1
  7. package/lib/plugins/service-betterportal-config-manager/adminApi.d.ts +13 -4
  8. package/lib/plugins/service-betterportal-config-manager/adminApi.d.ts.map +1 -1
  9. package/lib/plugins/service-betterportal-config-manager/adminApi.js +37 -31
  10. package/lib/plugins/service-betterportal-config-manager/adminApi.js.map +1 -1
  11. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/GET.d.ts +140 -3
  12. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/GET.d.ts.map +1 -1
  13. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/GET.js +103 -3
  14. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/GET.js.map +1 -1
  15. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.d.ts +1 -1
  16. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.d.ts.map +1 -1
  17. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.js +4 -1
  18. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.js.map +1 -1
  19. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.d.ts +1 -1
  20. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.d.ts.map +1 -1
  21. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.js +1 -1
  22. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/index.js.map +1 -1
  23. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/GET.d.ts +43 -3
  24. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/GET.d.ts.map +1 -1
  25. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/GET.js +67 -3
  26. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/GET.js.map +1 -1
  27. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.bootstrap5/GET.d.ts +1 -1
  28. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.bootstrap5/GET.d.ts.map +1 -1
  29. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.embedded/GET.d.ts +1 -1
  30. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.embedded/GET.d.ts.map +1 -1
  31. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.d.ts +1 -1
  32. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.d.ts.map +1 -1
  33. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.js +1 -1
  34. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/index.js.map +1 -1
  35. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/GET.d.ts +32 -3
  36. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/GET.d.ts.map +1 -1
  37. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/GET.js +31 -3
  38. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/GET.js.map +1 -1
  39. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_renderer.bootstrap5/GET.d.ts +1 -1
  40. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/_renderer.bootstrap5/GET.d.ts.map +1 -1
  41. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.d.ts +1 -1
  42. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.d.ts.map +1 -1
  43. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.js +1 -1
  44. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/index.js.map +1 -1
  45. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/GET.d.ts +60 -3
  46. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/GET.d.ts.map +1 -1
  47. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/GET.js +47 -3
  48. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/GET.js.map +1 -1
  49. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_renderer.bootstrap5/GET.d.ts +1 -1
  50. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/_renderer.bootstrap5/GET.d.ts.map +1 -1
  51. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.d.ts +1 -1
  52. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.d.ts.map +1 -1
  53. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.js +1 -1
  54. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/index.js.map +1 -1
  55. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/GET.d.ts +48 -3
  56. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/GET.d.ts.map +1 -1
  57. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/GET.js +39 -3
  58. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/GET.js.map +1 -1
  59. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_renderer.bootstrap5/GET.d.ts +1 -1
  60. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/_renderer.bootstrap5/GET.d.ts.map +1 -1
  61. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.d.ts +1 -1
  62. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.d.ts.map +1 -1
  63. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.js +1 -1
  64. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/index.js.map +1 -1
  65. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/GET.d.ts +114 -3
  66. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/GET.d.ts.map +1 -1
  67. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/GET.js +75 -3
  68. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/GET.js.map +1 -1
  69. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_renderer.bootstrap5/GET.d.ts +1 -1
  70. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_renderer.bootstrap5/GET.d.ts.map +1 -1
  71. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_renderer.bootstrap5/GET.js +5 -3
  72. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/_renderer.bootstrap5/GET.js.map +1 -1
  73. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.d.ts +1 -1
  74. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.d.ts.map +1 -1
  75. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.js +1 -1
  76. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/index.js.map +1 -1
  77. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.d.ts +176 -3
  78. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.d.ts.map +1 -1
  79. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.js +114 -3
  80. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/GET.js.map +1 -1
  81. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_renderer.bootstrap5/GET.d.ts +1 -1
  82. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/_renderer.bootstrap5/GET.d.ts.map +1 -1
  83. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.d.ts +1 -1
  84. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.d.ts.map +1 -1
  85. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.js +1 -1
  86. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/index.js.map +1 -1
  87. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/GET.d.ts +101 -3
  88. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/GET.d.ts.map +1 -1
  89. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/GET.js +92 -3
  90. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/GET.js.map +1 -1
  91. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_renderer.bootstrap5/GET.d.ts +1 -1
  92. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/_renderer.bootstrap5/GET.d.ts.map +1 -1
  93. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.d.ts +1 -1
  94. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.d.ts.map +1 -1
  95. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.js +1 -1
  96. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/index.js.map +1 -1
  97. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/DELETE.d.ts +3 -3
  98. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/DELETE.d.ts.map +1 -1
  99. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/DELETE.js +3 -3
  100. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/DELETE.js.map +1 -1
  101. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/GET.d.ts +13 -4
  102. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/GET.d.ts.map +1 -1
  103. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/GET.js +6 -6
  104. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/GET.js.map +1 -1
  105. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/POST.d.ts +3 -3
  106. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/POST.d.ts.map +1 -1
  107. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/POST.js +3 -3
  108. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/POST.js.map +1 -1
  109. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/PUT.d.ts +3 -3
  110. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/PUT.d.ts.map +1 -1
  111. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/PUT.js +3 -3
  112. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/PUT.js.map +1 -1
  113. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_renderer.bootstrap5/GET.d.ts +1 -1
  114. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/_renderer.bootstrap5/GET.d.ts.map +1 -1
  115. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.d.ts +1 -1
  116. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.d.ts.map +1 -1
  117. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.js +1 -1
  118. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/index.js.map +1 -1
  119. package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.d.ts.map +1 -1
  120. package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js +1 -0
  121. package/lib/plugins/service-betterportal-config-manager/fragmentsEditor.js.map +1 -1
  122. package/lib/plugins/service-betterportal-config-manager/index.d.ts.map +1 -1
  123. package/lib/plugins/service-betterportal-config-manager/index.js +25 -4
  124. package/lib/plugins/service-betterportal-config-manager/index.js.map +1 -1
  125. package/lib/plugins/service-betterportal-config-manager/menuEditor.js +2 -2
  126. package/lib/plugins/service-betterportal-config-manager/menuEditor.js.map +1 -1
  127. package/lib/plugins/service-betterportal-config-manager/storage/core.d.ts.map +1 -1
  128. package/lib/plugins/service-betterportal-config-manager/storage/core.js +67 -2
  129. package/lib/plugins/service-betterportal-config-manager/storage/core.js.map +1 -1
  130. package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts +22 -3
  131. package/lib/plugins/service-betterportal-config-manager/syncApi.d.ts.map +1 -1
  132. package/lib/plugins/service-betterportal-config-manager/syncApi.js +164 -22
  133. package/lib/plugins/service-betterportal-config-manager/syncApi.js.map +1 -1
  134. package/lib/plugins/service-betterportal-config-manager/{bp-routes/tenants/route.impl.d.ts → tenantManagement.d.ts} +5 -5
  135. package/lib/plugins/service-betterportal-config-manager/tenantManagement.d.ts.map +1 -0
  136. package/lib/plugins/service-betterportal-config-manager/{bp-routes/tenants/route.impl.js → tenantManagement.js} +8 -7
  137. package/lib/plugins/service-betterportal-config-manager/tenantManagement.js.map +1 -0
  138. package/lib/schemas/service-betterportal-config-manager.json +1 -1
  139. package/lib/schemas/service-betterportal-config-manager.plugin.json +1 -1
  140. package/package.json +5 -5
  141. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/route.impl.d.ts +0 -118
  142. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/route.impl.d.ts.map +0 -1
  143. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/route.impl.js +0 -91
  144. package/lib/plugins/service-betterportal-config-manager/bp-routes/auth/route.impl.js.map +0 -1
  145. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/route.impl.d.ts +0 -43
  146. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/route.impl.d.ts.map +0 -1
  147. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/route.impl.js +0 -68
  148. package/lib/plugins/service-betterportal-config-manager/bp-routes/config/route.impl.js.map +0 -1
  149. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/route.impl.d.ts +0 -32
  150. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/route.impl.d.ts.map +0 -1
  151. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/route.impl.js +0 -32
  152. package/lib/plugins/service-betterportal-config-manager/bp-routes/fragments/route.impl.js.map +0 -1
  153. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/route.impl.d.ts +0 -60
  154. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/route.impl.d.ts.map +0 -1
  155. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/route.impl.js +0 -48
  156. package/lib/plugins/service-betterportal-config-manager/bp-routes/menu/route.impl.js.map +0 -1
  157. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/route.impl.d.ts +0 -48
  158. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/route.impl.d.ts.map +0 -1
  159. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/route.impl.js +0 -40
  160. package/lib/plugins/service-betterportal-config-manager/bp-routes/preview/route.impl.js.map +0 -1
  161. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/route.impl.d.ts +0 -104
  162. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/route.impl.d.ts.map +0 -1
  163. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/route.impl.js +0 -71
  164. package/lib/plugins/service-betterportal-config-manager/bp-routes/routes/route.impl.js.map +0 -1
  165. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/route.impl.d.ts +0 -176
  166. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/route.impl.d.ts.map +0 -1
  167. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/route.impl.js +0 -115
  168. package/lib/plugins/service-betterportal-config-manager/bp-routes/services/route.impl.js.map +0 -1
  169. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/route.impl.d.ts +0 -89
  170. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/route.impl.d.ts.map +0 -1
  171. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/route.impl.js +0 -93
  172. package/lib/plugins/service-betterportal-config-manager/bp-routes/settings/route.impl.js.map +0 -1
  173. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/route.impl.d.ts.map +0 -1
  174. package/lib/plugins/service-betterportal-config-manager/bp-routes/tenants/route.impl.js.map +0 -1
@@ -1,5 +1,142 @@
1
1
  export declare const operationId = "admin.auth.view";
2
- export { title, description, auth, cacheHints } from "./route.impl.js";
3
- export { ResponseSchema, QuerySchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import type { Infer } from "anyvali";
4
+ import { type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
5
+ export declare const QuerySchema: av.ObjectSchema<{
6
+ appId: av.OptionalSchema<av.StringSchema>;
7
+ }>;
8
+ export declare const HeadersSchema: av.ObjectSchema<{}>;
9
+ export declare const RequestSchema: av.ObjectSchema<{}>;
10
+ export declare const ResponseSchema: av.ObjectSchema<{
11
+ title: av.StringSchema;
12
+ apps: av.ArraySchema<av.ObjectSchema<{
13
+ id: av.StringSchema;
14
+ tenantId: av.StringSchema;
15
+ title: av.StringSchema;
16
+ }>>;
17
+ selectedAppId: av.OptionalSchema<av.StringSchema>;
18
+ selectedTenantId: av.OptionalSchema<av.StringSchema>;
19
+ authConfigured: av.BoolSchema;
20
+ servicePermissions: av.ArraySchema<av.ObjectSchema<{
21
+ serviceId: av.StringSchema;
22
+ title: av.StringSchema;
23
+ hostname: av.StringSchema;
24
+ manifestVersion: av.OptionalSchema<av.StringSchema>;
25
+ views: av.ArraySchema<av.ObjectSchema<{
26
+ viewId: av.StringSchema;
27
+ path: av.StringSchema;
28
+ operations: av.ArraySchema<av.ObjectSchema<{
29
+ operationId: av.StringSchema;
30
+ method: av.StringSchema;
31
+ role: av.OptionalSchema<av.StringSchema>;
32
+ requiredPermissions: av.ArraySchema<av.ObjectSchema<{
33
+ serviceId: av.StringSchema;
34
+ viewId: av.StringSchema;
35
+ permissions: av.ArraySchema<av.StringSchema>;
36
+ }>>;
37
+ }>>;
38
+ }>>;
39
+ }>>;
40
+ currentRoles: av.ArraySchema<av.ObjectSchema<{
41
+ id: av.StringSchema;
42
+ title: av.StringSchema;
43
+ description: av.OptionalSchema<av.StringSchema>;
44
+ permissions: av.ArraySchema<av.ObjectSchema<{
45
+ serviceId: av.StringSchema;
46
+ viewId: av.StringSchema;
47
+ permissions: av.ArraySchema<av.EnumSchema<readonly ["read", "create", "update", "delete"]>>;
48
+ }>>;
49
+ }>>;
50
+ derivedPermissionGrants: av.ArraySchema<av.ObjectSchema<{
51
+ roleId: av.StringSchema;
52
+ serviceId: av.StringSchema;
53
+ viewId: av.StringSchema;
54
+ permissions: av.ArraySchema<av.EnumSchema<readonly ["read", "create", "update", "delete"]>>;
55
+ requiredBy: av.ArraySchema<av.ObjectSchema<{
56
+ serviceId: av.StringSchema;
57
+ operationId: av.StringSchema;
58
+ method: av.StringSchema;
59
+ }>>;
60
+ }>>;
61
+ externalRoleSync: av.OptionalSchema<av.ObjectSchema<{
62
+ serviceTitle: av.StringSchema;
63
+ fragmentUrl: av.StringSchema;
64
+ }>>;
65
+ managedRoleSync: av.OptionalSchema<av.ObjectSchema<{
66
+ serviceTitle: av.StringSchema;
67
+ syncUrl: av.StringSchema;
68
+ }>>;
69
+ adminApiBase: av.StringSchema;
70
+ serviceBaseUrl: av.OptionalSchema<av.StringSchema>;
71
+ }>;
72
+ export type ResponseData = Infer<typeof ResponseSchema>;
73
+ export declare const title = "Permission Manager";
74
+ export declare const description = "Define role -> permission grants per app. Services advertise per-view permission requirements via their manifest.";
75
+ export declare const auth: ApiAuthRequirement;
76
+ export declare const cacheHints: CacheHints;
77
+ declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, {
78
+ appId?: string | undefined;
79
+ }, Record<string, string>, Record<string, unknown>, {
80
+ title: string;
81
+ apps: {
82
+ id: string;
83
+ tenantId: string;
84
+ title: string;
85
+ }[];
86
+ authConfigured: boolean;
87
+ servicePermissions: {
88
+ serviceId: string;
89
+ title: string;
90
+ hostname: string;
91
+ views: {
92
+ viewId: string;
93
+ path: string;
94
+ operations: {
95
+ operationId: string;
96
+ method: string;
97
+ requiredPermissions: {
98
+ serviceId: string;
99
+ viewId: string;
100
+ permissions: string[];
101
+ }[];
102
+ role?: string | undefined;
103
+ }[];
104
+ }[];
105
+ manifestVersion?: string | undefined;
106
+ }[];
107
+ currentRoles: {
108
+ id: string;
109
+ title: string;
110
+ permissions: {
111
+ serviceId: string;
112
+ viewId: string;
113
+ permissions: ("read" | "create" | "update" | "delete")[];
114
+ }[];
115
+ description?: string | undefined;
116
+ }[];
117
+ derivedPermissionGrants: {
118
+ roleId: string;
119
+ serviceId: string;
120
+ viewId: string;
121
+ permissions: ("read" | "create" | "update" | "delete")[];
122
+ requiredBy: {
123
+ serviceId: string;
124
+ operationId: string;
125
+ method: string;
126
+ }[];
127
+ }[];
128
+ adminApiBase: string;
129
+ selectedAppId?: string | undefined;
130
+ selectedTenantId?: string | undefined;
131
+ externalRoleSync?: {
132
+ serviceTitle: string;
133
+ fragmentUrl: string;
134
+ } | undefined;
135
+ managedRoleSync?: {
136
+ serviceTitle: string;
137
+ syncUrl: string;
138
+ } | undefined;
139
+ serviceBaseUrl?: string | undefined;
140
+ }, unknown, Record<string, unknown>>;
141
+ export default _default;
5
142
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAoEjC,eAAO,MAAM,WAAW;;EAEtB,CAAC;AAEH,eAAO,MAAM,aAAa,qBAAgB,CAAC;AAE3C,eAAO,MAAM,aAAa,qBAAgB,CAAC;AAE3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAazB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,WAAW,sHAAsH,CAAC;AAE/I,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAcE"}
@@ -1,5 +1,105 @@
1
1
  export const operationId = "admin.auth.view";
2
- export { title, description, auth, cacheHints } from "./route.impl.js";
3
- export { ResponseSchema, QuerySchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import { createHandler } from "@betterportal/framework";
4
+ const PermissionActionSchema = av.enum_(["read", "create", "update", "delete"]);
5
+ const ViewWithPermsSchema = av.object({
6
+ viewId: av.string().minLength(1),
7
+ path: av.string().minLength(1),
8
+ operations: av.array(av.object({
9
+ operationId: av.string().minLength(1),
10
+ method: av.string().minLength(1),
11
+ role: av.optional(av.string()),
12
+ requiredPermissions: av.array(av.object({
13
+ serviceId: av.string().minLength(1),
14
+ viewId: av.string().minLength(1),
15
+ permissions: av.array(av.string())
16
+ })).default([])
17
+ })).default([])
18
+ });
19
+ const ServiceWithViewsSchema = av.object({
20
+ serviceId: av.string().minLength(1),
21
+ title: av.string().minLength(1),
22
+ hostname: av.string(),
23
+ manifestVersion: av.optional(av.string()),
24
+ views: av.array(ViewWithPermsSchema).default([])
25
+ });
26
+ const RolePermissionGrantSchema = av.object({
27
+ serviceId: av.string().minLength(1),
28
+ viewId: av.string().minLength(1),
29
+ permissions: av.array(PermissionActionSchema).minItems(1)
30
+ });
31
+ const AppRoleSchema = av.object({
32
+ id: av.string().minLength(1),
33
+ title: av.string().minLength(1),
34
+ description: av.optional(av.string()),
35
+ permissions: av.array(RolePermissionGrantSchema).default([])
36
+ });
37
+ const DerivedPermissionGrantSchema = av.object({
38
+ roleId: av.string().minLength(1),
39
+ serviceId: av.string().minLength(1),
40
+ viewId: av.string().minLength(1),
41
+ permissions: av.array(PermissionActionSchema).minItems(1),
42
+ requiredBy: av.array(av.object({
43
+ serviceId: av.string().minLength(1),
44
+ operationId: av.string().minLength(1),
45
+ method: av.string().minLength(1)
46
+ })).minItems(1)
47
+ });
48
+ const AppSummarySchema = av.object({
49
+ id: av.string().minLength(1),
50
+ tenantId: av.string().minLength(1),
51
+ title: av.string().minLength(1)
52
+ });
53
+ const ExternalRoleSyncSchema = av.object({
54
+ serviceTitle: av.string().minLength(1),
55
+ fragmentUrl: av.string().minLength(1)
56
+ });
57
+ const ManagedRoleSyncSchema = av.object({
58
+ serviceTitle: av.string().minLength(1),
59
+ syncUrl: av.string().minLength(1)
60
+ });
61
+ export const QuerySchema = av.object({
62
+ appId: av.optional(av.string().minLength(1))
63
+ });
64
+ export const HeadersSchema = av.object({});
65
+ export const RequestSchema = av.object({});
66
+ export const ResponseSchema = av.object({
67
+ title: av.string().minLength(1),
68
+ apps: av.array(AppSummarySchema).default([]),
69
+ selectedAppId: av.optional(av.string()),
70
+ selectedTenantId: av.optional(av.string()),
71
+ authConfigured: av.bool().default(false),
72
+ servicePermissions: av.array(ServiceWithViewsSchema).default([]),
73
+ currentRoles: av.array(AppRoleSchema).default([]),
74
+ derivedPermissionGrants: av.array(DerivedPermissionGrantSchema).default([]),
75
+ externalRoleSync: av.optional(ExternalRoleSyncSchema),
76
+ managedRoleSync: av.optional(ManagedRoleSyncSchema),
77
+ adminApiBase: av.string().default("/.well-known/bp/admin"),
78
+ serviceBaseUrl: av.optional(av.string())
79
+ });
80
+ export const title = "Permission Manager";
81
+ export const description = "Define role -> permission grants per app. Services advertise per-view permission requirements via their manifest.";
82
+ export const auth = {
83
+ required: true,
84
+ permissions: [
85
+ { serviceId: "org.betterportal.config-manager", viewId: "auth.index", permissions: ["read", "create", "update", "delete"] }
86
+ ]
87
+ };
88
+ export const cacheHints = {
89
+ ttlSeconds: 0,
90
+ varyBy: ["accept", "origin"]
91
+ };
92
+ export default createHandler({ response: ResponseSchema, query: QuerySchema }, (ctx) => {
93
+ if (ctx.responseModel)
94
+ return ctx.responseModel;
95
+ return {
96
+ title: "Permission Manager",
97
+ apps: [],
98
+ authConfigured: false,
99
+ servicePermissions: [],
100
+ currentRoles: [],
101
+ derivedPermissionGrants: [],
102
+ adminApiBase: "/.well-known/bp/admin"
103
+ };
104
+ });
5
105
  //# sourceMappingURL=GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/GET.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/GET.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { HtmlRenderable } from "@betterportal/framework";
2
- import type { ResponseData } from "../route.impl.js";
2
+ import type { ResponseData } from "../GET.js";
3
3
  export declare function render(data: ResponseData): HtmlRenderable;
4
4
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAkJrD,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CA8TzD"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAkJ9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAyUzD"}
@@ -150,6 +150,9 @@ export function render(data) {
150
150
  const selectedApp = data.apps.find((a) => a.id === data.selectedAppId);
151
151
  const externalRoleSync = data.externalRoleSync;
152
152
  const managedRoleSync = data.managedRoleSync;
153
- return (_jsxs("div", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-center mb-4", children: [_jsxs("div", { children: [_jsx("h2", { class: "mb-1", children: data.title }), _jsx("p", { class: "text-secondary mb-0", children: "Define roles + permission grants per app. Services advertise per-view requirements via manifest." })] }), selectedApp && data.authConfigured && !externalRoleSync ? (_jsx("button", { class: "btn btn-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-add-role-panel", children: "+ Add Role" })) : null] }), _jsxs("div", { class: "mb-4", children: [_jsx("label", { class: "form-label", children: "App" }), _jsxs("select", { class: "form-select", id: "bp-app-select", name: "appId", "hx-get": authPath, "hx-trigger": "change", "hx-target": "#bp-main", "hx-swap": "innerHTML", "hx-push-url": "true", children: [_jsx("option", { value: "", children: "Select app..." }), data.apps.map((a) => (_jsx("option", { value: a.id, selected: a.id === data.selectedAppId ? true : undefined, children: a.title })))] })] }), !selectedApp ? (_jsxs("div", { class: "alert alert-secondary", children: ["Select an app to manage its roles. No apps? Create one in ", _jsx("strong", { children: "Tenants & Apps" }), "."] })) : !data.authConfigured ? (_jsx("div", { class: "alert alert-warning", children: "Configure an auth provider for this app before creating roles." })) : externalRoleSync ? (_jsxs("div", { children: [_jsxs("div", { class: "alert alert-info", children: ["Roles for this app are managed by ", externalRoleSync.serviceTitle, ". Config Manager mirrors those roles for BP runtime permission checks."] }), _jsx("div", { "hx-get": externalRoleSync.fragmentUrl, "hx-trigger": "load", "hx-target": "this", "hx-swap": "innerHTML", children: _jsx("div", { class: "text-secondary small", children: "Loading WorkOS role sync status..." }) })] })) : (_jsxs("div", { children: [managedRoleSync ? (_jsxs("div", { class: "alert alert-info d-flex justify-content-between align-items-center gap-3", children: [_jsxs("span", { children: ["Roles are managed by BetterPortal and synced to ", managedRoleSync.serviceTitle, "."] }), _jsx("button", { type: "button", class: "btn btn-sm btn-outline-primary", "hx-post": managedRoleSync.syncUrl, "hx-swap": "none", children: "Sync now" }), _jsx("div", { hidden: true, "hx-post": managedRoleSync.syncUrl, "hx-trigger": "load", "hx-swap": "none" })] })) : null, _jsxs("div", { class: "row g-4", children: [_jsx("div", { class: "col-lg-7", children: _jsx("div", { class: "card border-0 shadow-sm", children: _jsxs("div", { class: "card-body", children: [_jsxs("h5", { class: "card-title mb-3", children: ["Roles for ", selectedApp.title, " (", data.currentRoles.length, ")"] }), data.currentRoles.length === 0 ? (_jsx("div", { class: "alert alert-secondary mb-0", children: "No roles defined. Click \"Add Role\" to create one." })) : (_jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm align-middle", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "ID" }), _jsx("th", { children: "Title" }), _jsx("th", { children: "Grants" }), _jsx("th", {})] }) }), _jsx("tbody", { children: data.currentRoles.map((r) => (_jsxs("tr", { children: [_jsx("td", { class: "font-monospace small", children: r.id }), _jsxs("td", { children: [_jsx("div", { children: r.title }), r.description ? _jsx("div", { class: "small text-secondary", children: r.description }) : null] }), _jsx("td", { children: _jsxs("span", { class: "badge text-bg-secondary", children: [r.permissions.length, " grant", r.permissions.length === 1 ? "" : "s"] }) }), _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-role-panel", "data-bp-edit-role": JSON.stringify(r), children: "Edit" }), _jsx("button", { class: "btn btn-outline-danger", "hx-delete": `${apiBase}/apps/${selectedApp.id}/auth/roles/${r.id}`, "hx-confirm": `Delete role ${r.id}?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "x" })] }) })] }))) })] }) }))] }) }) }), _jsx("div", { class: "col-lg-5", children: _jsx("div", { class: "card border-0 shadow-sm", children: _jsxs("div", { class: "card-body", children: [_jsx("h5", { class: "card-title mb-3", children: "Available services & views" }), data.servicePermissions.length === 0 ? (_jsx("div", { class: "text-secondary small", children: "No services registered yet." })) : (data.servicePermissions.map((s) => (_jsxs("div", { class: "mb-3", children: [_jsx("div", { class: "fw-semibold", children: s.title }), _jsxs("div", { class: "font-monospace small text-secondary mb-1", children: [s.serviceId, s.manifestVersion ? ` - v${s.manifestVersion}` : " - manifest pending"] }), s.views.length === 0 ? (_jsx("div", { class: "small text-secondary fst-italic", children: "No views in manifest cache." })) : (_jsx("ul", { class: "list-unstyled small mb-0", children: s.views.map((v) => (_jsxs("li", { class: "ms-2", children: [_jsx("code", { children: v.viewId }), _jsxs("span", { class: "text-secondary", children: [" ", v.path] }), _jsx("div", { class: "ms-3", children: v.operations.map((operation) => (_jsxs("div", { children: [_jsx("code", { children: operation.operationId }), _jsx("span", { class: "badge text-bg-secondary ms-1", children: operation.method }), operation.role ? _jsx("span", { class: "badge text-bg-info ms-1", children: operation.role }) : null] }))) })] }))) }))] }))))] }) }) })] })] })), selectedApp && data.authConfigured && !externalRoleSync ? (_jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-add-role-panel", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Add Role" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-add-role-form", "hx-post": `${apiBase}/apps/${selectedApp.id}/auth/roles`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Role ID" }), _jsx("input", { type: "text", class: "form-control font-monospace", name: "id", placeholder: "admin", pattern: "[A-Za-z0-9][A-Za-z0-9._:-]{0,63}", required: true }), _jsx("div", { class: "form-text", children: "Must match the role value emitted by the auth provider. Reserved ids cannot be created here." })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Title" }), _jsx("input", { type: "text", class: "form-control", name: "title", placeholder: "Administrator", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Description (optional)" }), _jsx("textarea", { class: "form-control", name: "description", rows: 2 })] }), _jsx("div", { class: "alert alert-danger d-none", id: "bp-add-role-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Create Role" }), _jsx("p", { class: "text-secondary small mt-2 mb-0", children: "Grants are set via the Edit panel after creation." })] }) })] })) : null, selectedApp && data.authConfigured && !externalRoleSync ? (_jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-edit-role-panel", style: "--bs-offcanvas-width: 600px;", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Edit Role" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-edit-role-form", "data-bp-config": "rewrite=false", "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "roleId" }), _jsx("input", { type: "hidden", name: "grant", value: "" }), _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: "Description" }), _jsx("textarea", { class: "form-control", name: "description", rows: 2 })] }), _jsx("h6", { class: "mt-4 mb-2", children: "Permission grants" }), _jsx("p", { class: "small text-secondary", children: "Choose the actions this role grants for each service view." }), data.servicePermissions.length === 0 || data.servicePermissions.every((s) => s.views.length === 0) ? (_jsx("div", { class: "alert alert-secondary small mb-3", children: "No services or views in manifest cache yet. Services will appear here once they push their manifest (next poll cycle)." })) : (_jsxs("div", { children: [_jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label small", for: "bp-global-permission-bulk", children: "Bulk permissions" }), _jsxs("select", { class: "form-select form-select-sm", id: "bp-global-permission-bulk", "data-bp-global-permission-bulk": "", children: [_jsx("option", { value: "", children: "- Change all service permissions -" }), PERMISSION_OPTIONS.map(([value, label]) => (_jsx("option", { value: String(value), children: label })))] })] }), data.servicePermissions.map((s) => (s.views.length === 0 ? null : (_jsxs("div", { class: "mb-3", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-center gap-2 mb-2", children: [_jsxs("div", { children: [_jsx("div", { class: "fw-semibold small", children: s.title }), _jsx("div", { class: "font-monospace text-secondary small", children: s.serviceId })] }), _jsxs("select", { class: "form-select form-select-sm w-auto", "aria-label": `Change all permissions for ${s.title}`, "data-bp-service-permission-bulk": "", "data-bp-service-id": s.serviceId, children: [_jsx("option", { value: "", children: "- Change all in this service -" }), PERMISSION_OPTIONS.map(([value, label]) => (_jsx("option", { value: String(value), children: label })))] })] }), _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", { class: "small", children: "View" }), _jsx("th", { class: "small", children: "Permissions" })] }) }), _jsx("tbody", { children: s.views.map((v) => (_jsxs("tr", { "data-bp-permission-row": "", children: [_jsxs("td", { class: "small", children: [_jsx("div", { class: "font-monospace", children: v.viewId }), v.operations.map((operation) => (_jsxs("div", { class: "text-secondary", children: [_jsx("code", { children: operation.operationId }), " \u00B7 ", operation.method] })))] }), _jsxs("td", { children: [_jsx("select", { class: "form-select form-select-sm", "aria-label": `Permissions for ${v.viewId}`, "data-bp-permission-select": "", "data-bp-service-id": s.serviceId, "data-bp-view-id": v.viewId, children: PERMISSION_OPTIONS.map(([value, label]) => (_jsx("option", { value: String(value), children: label }))) }), _jsx("span", { "data-bp-grant-inputs": "" })] })] }))) })] }) })] }))))] })), _jsx("div", { class: "alert alert-danger d-none", id: "bp-edit-role-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Save Role" })] }) })] })) : null, _jsx("script", { children: permsScript(apiBase, serviceUrl, data.selectedAppId) })] }));
153
+ return (_jsxs("div", { class: "container-fluid px-0", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-center mb-4", children: [_jsxs("div", { children: [_jsx("h2", { class: "mb-1", children: data.title }), _jsx("p", { class: "text-secondary mb-0", children: "Define roles + permission grants per app. Services advertise per-view requirements via manifest." })] }), selectedApp && data.authConfigured && !externalRoleSync ? (_jsx("button", { class: "btn btn-primary", "data-bs-toggle": "offcanvas", "data-bs-target": "#bp-add-role-panel", children: "+ Add Role" })) : null] }), _jsxs("div", { class: "mb-4", children: [_jsx("label", { class: "form-label", children: "App" }), _jsxs("select", { class: "form-select", id: "bp-app-select", name: "appId", "hx-get": authPath, "hx-trigger": "change", "hx-target": "#bp-main", "hx-swap": "innerHTML", "hx-push-url": "true", children: [_jsx("option", { value: "", children: "Select app..." }), data.apps.map((a) => (_jsx("option", { value: a.id, selected: a.id === data.selectedAppId ? true : undefined, children: a.title })))] })] }), !selectedApp ? (_jsxs("div", { class: "alert alert-secondary", children: ["Select an app to manage its roles. No apps? Create one in ", _jsx("strong", { children: "Tenants & Apps" }), "."] })) : !data.authConfigured ? (_jsx("div", { class: "alert alert-warning", children: "Configure an auth provider for this app before creating roles." })) : externalRoleSync ? (_jsxs("div", { children: [_jsxs("div", { class: "alert alert-info", children: ["Roles for this app are managed by ", externalRoleSync.serviceTitle, ". Config Manager mirrors those roles for BP runtime permission checks."] }), _jsx("div", { "hx-get": externalRoleSync.fragmentUrl, "hx-trigger": "load", "hx-target": "this", "hx-swap": "innerHTML", children: _jsx("div", { class: "text-secondary small", children: "Loading WorkOS role sync status..." }) })] })) : (_jsxs("div", { children: [managedRoleSync ? (_jsxs("div", { class: "alert alert-info d-flex justify-content-between align-items-center gap-3", children: [_jsxs("span", { children: ["Roles are managed by BetterPortal and synced to ", managedRoleSync.serviceTitle, "."] }), _jsx("button", { type: "button", class: "btn btn-sm btn-outline-primary", "hx-post": managedRoleSync.syncUrl, "hx-swap": "none", children: "Sync now" }), _jsx("div", { hidden: true, "hx-post": managedRoleSync.syncUrl, "hx-trigger": "load", "hx-swap": "none" })] })) : null, _jsxs("div", { class: "row g-4", children: [_jsx("div", { class: "col-lg-7", children: _jsx("div", { class: "card border-0 shadow-sm", children: _jsxs("div", { class: "card-body", children: [_jsxs("h5", { class: "card-title mb-3", children: ["Roles for ", selectedApp.title, " (", data.currentRoles.length, ")"] }), data.currentRoles.length === 0 ? (_jsx("div", { class: "alert alert-secondary mb-0", children: "No roles defined. Click \"Add Role\" to create one." })) : (_jsx("div", { class: "table-responsive", children: _jsxs("table", { class: "table table-sm align-middle", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "ID" }), _jsx("th", { children: "Title" }), _jsx("th", { children: "Grants" }), _jsx("th", {})] }) }), _jsx("tbody", { children: data.currentRoles.map((r) => {
154
+ const derived = (data.derivedPermissionGrants ?? []).filter((grant) => grant.roleId === r.id);
155
+ return _jsxs("tr", { children: [_jsx("td", { class: "font-monospace small", children: r.id }), _jsxs("td", { children: [_jsx("div", { children: r.title }), r.description ? _jsx("div", { class: "small text-secondary", children: r.description }) : null] }), _jsxs("td", { children: [_jsxs("span", { class: "badge text-bg-secondary", children: [r.permissions.length, " explicit"] }), derived.length > 0 ? _jsxs("span", { class: "badge text-bg-info ms-1", children: [derived.length, " derived"] }) : null, derived.map((grant) => (_jsxs("div", { class: "small text-secondary mt-1", children: [grant.permissions.join(", "), " on ", _jsx("span", { class: "font-monospace", children: grant.viewId }), " via ", grant.requiredBy.map((source) => `${source.method} ${source.operationId}`).join(", ")] })))] }), _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-role-panel", "data-bp-edit-role": JSON.stringify(r), children: "Edit" }), _jsx("button", { class: "btn btn-outline-danger", "hx-delete": `${apiBase}/apps/${selectedApp.id}/auth/roles/${r.id}`, "hx-confirm": `Delete role ${r.id}?`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: "x" })] }) })] });
156
+ }) })] }) }))] }) }) }), _jsx("div", { class: "col-lg-5", children: _jsx("div", { class: "card border-0 shadow-sm", children: _jsxs("div", { class: "card-body", children: [_jsx("h5", { class: "card-title mb-3", children: "Available services & views" }), data.servicePermissions.length === 0 ? (_jsx("div", { class: "text-secondary small", children: "No services registered yet." })) : (data.servicePermissions.map((s) => (_jsxs("div", { class: "mb-3", children: [_jsx("div", { class: "fw-semibold", children: s.title }), _jsxs("div", { class: "font-monospace small text-secondary mb-1", children: [s.serviceId, s.manifestVersion ? ` - v${s.manifestVersion}` : " - manifest pending"] }), s.views.length === 0 ? (_jsx("div", { class: "small text-secondary fst-italic", children: "No views in manifest cache." })) : (_jsx("ul", { class: "list-unstyled small mb-0", children: s.views.map((v) => (_jsxs("li", { class: "ms-2", children: [_jsx("code", { children: v.viewId }), _jsxs("span", { class: "text-secondary", children: [" ", v.path] }), _jsx("div", { class: "ms-3", children: v.operations.map((operation) => (_jsxs("div", { children: [_jsx("code", { children: operation.operationId }), _jsx("span", { class: "badge text-bg-secondary ms-1", children: operation.method }), operation.role ? _jsx("span", { class: "badge text-bg-info ms-1", children: operation.role }) : null] }))) })] }))) }))] }))))] }) }) })] })] })), selectedApp && data.authConfigured && !externalRoleSync ? (_jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-add-role-panel", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Add Role" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-add-role-form", "hx-post": `${apiBase}/apps/${selectedApp.id}/auth/roles`, "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Role ID" }), _jsx("input", { type: "text", class: "form-control font-monospace", name: "id", placeholder: "admin", pattern: "[A-Za-z0-9][A-Za-z0-9._:-]{0,63}", required: true }), _jsx("div", { class: "form-text", children: "Must match the role value emitted by the auth provider. Reserved ids cannot be created here." })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Title" }), _jsx("input", { type: "text", class: "form-control", name: "title", placeholder: "Administrator", required: true })] }), _jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label", children: "Description (optional)" }), _jsx("textarea", { class: "form-control", name: "description", rows: 2 })] }), _jsx("div", { class: "alert alert-danger d-none", id: "bp-add-role-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Create Role" }), _jsx("p", { class: "text-secondary small mt-2 mb-0", children: "Grants are set via the Edit panel after creation." })] }) })] })) : null, selectedApp && data.authConfigured && !externalRoleSync ? (_jsxs("div", { class: "offcanvas offcanvas-end", tabindex: -1, id: "bp-edit-role-panel", style: "--bs-offcanvas-width: 600px;", children: [_jsxs("div", { class: "offcanvas-header", children: [_jsx("h5", { class: "offcanvas-title", children: "Edit Role" }), _jsx("button", { type: "button", class: "btn-close", "data-bs-dismiss": "offcanvas" })] }), _jsx("div", { class: "offcanvas-body", children: _jsxs("form", { id: "bp-edit-role-form", "data-bp-config": "rewrite=false", "hx-target": "#bp-main", "hx-swap": "innerHTML", children: [_jsx("input", { type: "hidden", name: "roleId" }), _jsx("input", { type: "hidden", name: "grant", value: "" }), _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: "Description" }), _jsx("textarea", { class: "form-control", name: "description", rows: 2 })] }), _jsx("h6", { class: "mt-4 mb-2", children: "Permission grants" }), _jsx("p", { class: "small text-secondary", children: "Choose the actions this role grants for each service view." }), data.servicePermissions.length === 0 || data.servicePermissions.every((s) => s.views.length === 0) ? (_jsx("div", { class: "alert alert-secondary small mb-3", children: "No services or views in manifest cache yet. Services will appear here once they push their manifest (next poll cycle)." })) : (_jsxs("div", { children: [_jsxs("div", { class: "mb-3", children: [_jsx("label", { class: "form-label small", for: "bp-global-permission-bulk", children: "Bulk permissions" }), _jsxs("select", { class: "form-select form-select-sm", id: "bp-global-permission-bulk", "data-bp-global-permission-bulk": "", children: [_jsx("option", { value: "", children: "- Change all service permissions -" }), PERMISSION_OPTIONS.map(([value, label]) => (_jsx("option", { value: String(value), children: label })))] })] }), data.servicePermissions.map((s) => (s.views.length === 0 ? null : (_jsxs("div", { class: "mb-3", children: [_jsxs("div", { class: "d-flex justify-content-between align-items-center gap-2 mb-2", children: [_jsxs("div", { children: [_jsx("div", { class: "fw-semibold small", children: s.title }), _jsx("div", { class: "font-monospace text-secondary small", children: s.serviceId })] }), _jsxs("select", { class: "form-select form-select-sm w-auto", "aria-label": `Change all permissions for ${s.title}`, "data-bp-service-permission-bulk": "", "data-bp-service-id": s.serviceId, children: [_jsx("option", { value: "", children: "- Change all in this service -" }), PERMISSION_OPTIONS.map(([value, label]) => (_jsx("option", { value: String(value), children: label })))] })] }), _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", { class: "small", children: "View" }), _jsx("th", { class: "small", children: "Permissions" })] }) }), _jsx("tbody", { children: s.views.map((v) => (_jsxs("tr", { "data-bp-permission-row": "", children: [_jsxs("td", { class: "small", children: [_jsx("div", { class: "font-monospace", children: v.viewId }), v.operations.map((operation) => (_jsxs("div", { class: "text-secondary", children: [_jsx("code", { children: operation.operationId }), " \u00B7 ", operation.method] })))] }), _jsxs("td", { children: [_jsx("select", { class: "form-select form-select-sm", "aria-label": `Permissions for ${v.viewId}`, "data-bp-permission-select": "", "data-bp-service-id": s.serviceId, "data-bp-view-id": v.viewId, children: PERMISSION_OPTIONS.map(([value, label]) => (_jsx("option", { value: String(value), children: label }))) }), _jsx("span", { "data-bp-grant-inputs": "" })] })] }))) })] }) })] }))))] })), _jsx("div", { class: "alert alert-danger d-none", id: "bp-edit-role-error" }), _jsx("button", { type: "submit", class: "btn btn-primary w-100", children: "Save Role" })] }) })] })) : null, _jsx("script", { children: permsScript(apiBase, serviceUrl, data.selectedAppId) })] }));
154
157
  }
155
158
  //# sourceMappingURL=GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1,5 +1,45 @@
1
1
  export declare const operationId = "admin.config.view";
2
- export { title, description, auth, cacheHints, demoScenarios } from "./route.impl.js";
3
- export { ResponseSchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import type { Infer } from "anyvali";
4
+ import { type DemoScenario, type ApiAuthRequirement, type CacheHints } from "@betterportal/framework";
5
+ export declare const QuerySchema: av.ObjectSchema<{}>;
6
+ export declare const HeadersSchema: av.ObjectSchema<{}>;
7
+ export declare const RequestSchema: av.ObjectSchema<{}>;
8
+ export declare const ResponseSchema: av.ObjectSchema<{
9
+ title: av.StringSchema;
10
+ tenantId: av.StringSchema;
11
+ appId: av.StringSchema;
12
+ requestTimeoutMs: av.IntSchema;
13
+ services: av.ArraySchema<av.ObjectSchema<{
14
+ serviceId: av.StringSchema;
15
+ bindingId: av.StringSchema;
16
+ endpointBaseUrl: av.StringSchema;
17
+ deploymentMode: av.StringSchema;
18
+ healthUrl: av.StringSchema;
19
+ schemaUrl: av.StringSchema;
20
+ manifestUrl: av.StringSchema;
21
+ }>>;
22
+ }>;
23
+ export type ResponseData = Infer<typeof ResponseSchema>;
24
+ export declare const title = "Config Manager";
25
+ export declare const description = "Admin service that discovers BetterPortal service config surfaces.";
26
+ export declare const auth: ApiAuthRequirement;
27
+ export declare const cacheHints: CacheHints;
28
+ export declare const demoScenarios: DemoScenario<ResponseData>[];
29
+ declare const _default: import("@betterportal/framework").RouteHandler<Record<string, string>, Record<string, unknown>, Record<string, string>, Record<string, unknown>, {
30
+ title: string;
31
+ tenantId: string;
32
+ appId: string;
33
+ requestTimeoutMs: number;
34
+ services: {
35
+ serviceId: string;
36
+ bindingId: string;
37
+ endpointBaseUrl: string;
38
+ deploymentMode: string;
39
+ healthUrl: string;
40
+ schemaUrl: string;
41
+ manifestUrl: string;
42
+ }[];
43
+ }, unknown, Record<string, unknown>>;
44
+ export default _default;
5
45
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/GET.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,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;AAIjC,eAAO,MAAM,WAAW,qBAAgB,CAAC;AAEzC,eAAO,MAAM,aAAa,qBAAgB,CAAC;AAE3C,eAAO,MAAM,aAAa,qBAAgB,CAAC;AAY3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;EAMzB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAIxD,eAAO,MAAM,KAAK,mBAAmB,CAAC;AACtC,eAAO,MAAM,WAAW,uEAAuE,CAAC;AAEhG,eAAO,MAAM,IAAI,EAAE,kBAKlB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,YAAY,CAAC,EAarD,CAAC;;;;;;;;;;;;;;;;AAIF,wBAoBE"}
@@ -1,5 +1,69 @@
1
1
  export const operationId = "admin.config.view";
2
- export { title, description, auth, cacheHints, demoScenarios } from "./route.impl.js";
3
- export { ResponseSchema } from "./route.impl.js";
4
- export { handleGet as default } from "./route.impl.js";
2
+ import * as av from "anyvali";
3
+ import { createHandler } from "@betterportal/framework";
4
+ // -- Schemas ---------------------------------------------------------
5
+ export const QuerySchema = av.object({});
6
+ export const HeadersSchema = av.object({});
7
+ export const RequestSchema = av.object({});
8
+ const ConfigManagerServiceSchema = av.object({
9
+ serviceId: av.string().minLength(1),
10
+ bindingId: av.string().minLength(1),
11
+ endpointBaseUrl: av.string().format("url"),
12
+ deploymentMode: av.string().minLength(1),
13
+ healthUrl: av.string().format("url"),
14
+ schemaUrl: av.string().format("url"),
15
+ manifestUrl: av.string().format("url")
16
+ });
17
+ export const ResponseSchema = av.object({
18
+ title: av.string().minLength(1),
19
+ tenantId: av.string().minLength(1),
20
+ appId: av.string().minLength(1),
21
+ requestTimeoutMs: av.int().min(1),
22
+ services: av.array(ConfigManagerServiceSchema)
23
+ });
24
+ // -- Metadata --------------------------------------------------------
25
+ export const title = "Config Manager";
26
+ export const description = "Admin service that discovers BetterPortal service config surfaces.";
27
+ export const auth = {
28
+ required: true,
29
+ permissions: [
30
+ { serviceId: "org.betterportal.config-manager", viewId: "config.index", permissions: ["read", "update"] }
31
+ ]
32
+ };
33
+ export const cacheHints = {
34
+ ttlSeconds: 30,
35
+ varyBy: ["accept", "origin", "referer", ":origin", ":referer"]
36
+ };
37
+ export const demoScenarios = [
38
+ {
39
+ id: "default",
40
+ title: "Default Config Admin",
41
+ match: { query: {} },
42
+ response: {
43
+ title: "Config Manager",
44
+ tenantId: "tenant-main",
45
+ appId: "app-main",
46
+ requestTimeoutMs: 2000,
47
+ services: []
48
+ }
49
+ }
50
+ ];
51
+ // -- Handler ---------------------------------------------------------
52
+ export default createHandler({ response: ResponseSchema }, (ctx) => {
53
+ // The actual data is injected by the main plugin via the handler context.
54
+ // This handler is a passthrough - the plugin builds the response model
55
+ // from config/bindings and attaches it to the event before the H3 adapter
56
+ // calls this handler.
57
+ if (ctx.responseModel) {
58
+ return ctx.responseModel;
59
+ }
60
+ // Fallback: return empty state (should not happen in normal flow)
61
+ return {
62
+ title: "Config Manager",
63
+ tenantId: "unknown",
64
+ appId: "unknown",
65
+ requestTimeoutMs: 2000,
66
+ services: []
67
+ };
68
+ });
5
69
  //# sourceMappingURL=GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/GET.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GET.js","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/GET.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { HtmlRenderable } from "@betterportal/framework";
2
- import type { ResponseData } from "../route.impl.js";
2
+ import type { ResponseData } from "../GET.js";
3
3
  export declare function render(data: ResponseData): HtmlRenderable;
4
4
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA0DrD,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CA+DzD"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.bootstrap5/GET.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA0D9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CA+DzD"}
@@ -1,5 +1,5 @@
1
1
  /** @jsxImportSource jsx-htmx */
2
2
  import type { HtmlRenderable } from "@betterportal/framework";
3
- import type { ResponseData } from "../route.impl.js";
3
+ import type { ResponseData } from "../GET.js";
4
4
  export declare function render(data: ResponseData): HtmlRenderable;
5
5
  //# sourceMappingURL=GET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.embedded/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAezD"}
1
+ {"version":3,"file":"GET.d.ts","sourceRoot":"","sources":["../../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/_renderer.embedded/GET.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAezD"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/service-betterportal-config-manager/bp-routes/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
- export { title, description } from "./route.impl.js";
1
+ export { title, description } from "./GET.js";
2
2
  //# sourceMappingURL=index.js.map