@burdenoff/microfe-channel 2026.527.1 → 2026.530.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/channel/ChannelRoutes.js +5 -5
- package/dist/channel/ChannelRoutes.js.map +1 -1
- package/dist/channel/constants/permissions.js +3 -0
- package/dist/channel/constants/permissions.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.js +227 -221
- package/dist/channel/modules/channels/pages/ChannelDashboardPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js +392 -391
- package/dist/channel/modules/channels/pages/ChannelDetailsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js +1 -1
- package/dist/channel/modules/channels/pages/ChannelUsersPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ChannelsListPage.js +216 -212
- package/dist/channel/modules/channels/pages/ChannelsListPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js +99 -98
- package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js +129 -126
- package/dist/channel/modules/channels/pages/ConnectionsListPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/CreateChannelPage.js +40 -50
- package/dist/channel/modules/channels/pages/CreateChannelPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js +1 -1
- package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js.map +1 -1
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js +1 -1
- package/dist/channel/modules/channels/pages/WebhookEventsPage.js.map +1 -1
- package/dist/channel/pages/ChannelLandingPage.js +50 -34
- package/dist/channel/pages/ChannelLandingPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -12,8 +12,8 @@ import { ChannelSettingsPage as u } from "./modules/channels/pages/ChannelSettin
|
|
|
12
12
|
import { DeliveryHistoryPage as d } from "./modules/channels/pages/DeliveryHistoryPage.js";
|
|
13
13
|
import { WebhookEventsPage as f } from "./modules/channels/pages/WebhookEventsPage.js";
|
|
14
14
|
import { ChannelUsersPage as p } from "./modules/channels/pages/ChannelUsersPage.js";
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
15
|
+
import { FeatureNotEnabled as m } from "./components/FeatureNotEnabled.js";
|
|
16
|
+
import { ChannelLandingPage as h } from "./pages/ChannelLandingPage.js";
|
|
17
17
|
import { Navigate as g, Route as _, Routes as v } from "react-router-dom";
|
|
18
18
|
import { jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
19
19
|
import { FeatureGate as x } from "@burdenoff/fe-libs/shared/feature-flags";
|
|
@@ -21,8 +21,8 @@ import { FeatureGate as x } from "@burdenoff/fe-libs/shared/feature-flags";
|
|
|
21
21
|
function S(e, t) {
|
|
22
22
|
return /* @__PURE__ */ y(x, {
|
|
23
23
|
flag: e,
|
|
24
|
-
defaultValue: !
|
|
25
|
-
fallback: /* @__PURE__ */ y(
|
|
24
|
+
defaultValue: !0,
|
|
25
|
+
fallback: /* @__PURE__ */ y(m, { flag: e }),
|
|
26
26
|
children: t
|
|
27
27
|
});
|
|
28
28
|
}
|
|
@@ -30,7 +30,7 @@ function C() {
|
|
|
30
30
|
return /* @__PURE__ */ b(v, { children: [
|
|
31
31
|
/* @__PURE__ */ y(_, {
|
|
32
32
|
index: !0,
|
|
33
|
-
element: S("channels.dashboard", /* @__PURE__ */ y(
|
|
33
|
+
element: S("channels.dashboard", /* @__PURE__ */ y(h, {}))
|
|
34
34
|
}),
|
|
35
35
|
/* @__PURE__ */ y(_, {
|
|
36
36
|
path: "dashboard",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelRoutes.js","names":[],"sources":["../../src/channel/ChannelRoutes.tsx"],"sourcesContent":["import { Navigate, Route, Routes } from 'react-router-dom';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { ChannelDashboardPage } from './modules/channels/pages/ChannelDashboardPage';\nimport { ChannelsListPage } from './modules/channels/pages/ChannelsListPage';\nimport { ChannelDetailsPage } from './modules/channels/pages/ChannelDetailsPage';\nimport { CreateChannelPage } from './modules/channels/pages/CreateChannelPage';\nimport { EditChannelPage } from './modules/channels/pages/EditChannelPage';\nimport { SendMessagePage } from './modules/channels/pages/SendMessagePage';\nimport { ConnectionsListPage } from './modules/channels/pages/ConnectionsListPage';\nimport { ConnectionDetailsPage } from './modules/channels/pages/ConnectionDetailsPage';\nimport { CreateConnectionPage } from './modules/channels/pages/CreateConnectionPage';\nimport { EditConnectionPage } from './modules/channels/pages/EditConnectionPage';\nimport { ChannelSettingsPage } from './modules/channels/pages/ChannelSettingsPage';\nimport { DeliveryHistoryPage } from './modules/channels/pages/DeliveryHistoryPage';\nimport { WebhookEventsPage } from './modules/channels/pages/WebhookEventsPage';\nimport { ChannelUsersPage } from './modules/channels/pages/ChannelUsersPage';\nimport { ChannelLandingPage } from './pages/ChannelLandingPage';\nimport { FeatureNotEnabled } from './components/FeatureNotEnabled';\nimport type { ReactNode } from 'react';\n\n/**\n * Wraps a route element in a FeatureGate.
|
|
1
|
+
{"version":3,"file":"ChannelRoutes.js","names":[],"sources":["../../src/channel/ChannelRoutes.tsx"],"sourcesContent":["import { Navigate, Route, Routes } from 'react-router-dom';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { ChannelDashboardPage } from './modules/channels/pages/ChannelDashboardPage';\nimport { ChannelsListPage } from './modules/channels/pages/ChannelsListPage';\nimport { ChannelDetailsPage } from './modules/channels/pages/ChannelDetailsPage';\nimport { CreateChannelPage } from './modules/channels/pages/CreateChannelPage';\nimport { EditChannelPage } from './modules/channels/pages/EditChannelPage';\nimport { SendMessagePage } from './modules/channels/pages/SendMessagePage';\nimport { ConnectionsListPage } from './modules/channels/pages/ConnectionsListPage';\nimport { ConnectionDetailsPage } from './modules/channels/pages/ConnectionDetailsPage';\nimport { CreateConnectionPage } from './modules/channels/pages/CreateConnectionPage';\nimport { EditConnectionPage } from './modules/channels/pages/EditConnectionPage';\nimport { ChannelSettingsPage } from './modules/channels/pages/ChannelSettingsPage';\nimport { DeliveryHistoryPage } from './modules/channels/pages/DeliveryHistoryPage';\nimport { WebhookEventsPage } from './modules/channels/pages/WebhookEventsPage';\nimport { ChannelUsersPage } from './modules/channels/pages/ChannelUsersPage';\nimport { ChannelLandingPage } from './pages/ChannelLandingPage';\nimport { FeatureNotEnabled } from './components/FeatureNotEnabled';\nimport type { ReactNode } from 'react';\n\n/**\n * Wraps a route element in a FeatureGate. The channel module is shipped & stable\n * and now lives in the admin shell, and every `channels.*` flag is seeded ON in\n * global-tenant-svc — so absent flags default to ENABLED (defaultValue=true) to\n * match the backend and avoid a hard \"Feature not enabled\" lockout when the\n * evaluations map hasn't loaded (no-workspace / pre-bootstrap / fetch error).\n * An explicit `channels.<x> = false` still acts as a kill-switch (flag value wins).\n */\nfunction gated(flag: string, element: ReactNode): ReactNode {\n return (\n <FeatureGate flag={flag} defaultValue={true} fallback={<FeatureNotEnabled flag={flag} />}>\n {element}\n </FeatureGate>\n );\n}\n\n/**\n * Internal router for the Channel microfrontend.\n *\n * The shell mounts this at /channels/* so all paths here are relative to /channels/.\n * Every concrete route is wrapped with a FeatureGate so individual surfaces can\n * be rolled out or kill-switched independently. Flag names follow\n * `channels.<route-name>` (see vibecontrols-channel-stability tracker).\n */\nexport function ChannelRoutes() {\n return (\n <Routes>\n {/* Tabbed landing — gated under the dashboard flag */}\n <Route index element={gated('channels.dashboard', <ChannelLandingPage />)} />\n\n {/* Dashboard */}\n <Route path=\"dashboard\" element={gated('channels.dashboard', <ChannelDashboardPage />)} />\n\n {/* Channel CRUD — flat under /channels/ */}\n <Route path=\"list\" element={gated('channels.list', <ChannelsListPage />)} />\n <Route path=\"create\" element={gated('channels.create', <CreateChannelPage />)} />\n <Route path=\":channelId\" element={gated('channels.detail', <ChannelDetailsPage />)} />\n <Route path=\":channelId/edit\" element={gated('channels.edit', <EditChannelPage />)} />\n <Route\n path=\":channelId/deliveries\"\n element={gated('channels.deliveries', <DeliveryHistoryPage />)}\n />\n <Route\n path=\":channelId/webhooks\"\n element={gated('channels.webhooks', <WebhookEventsPage />)}\n />\n <Route path=\":channelId/users\" element={gated('channels.users', <ChannelUsersPage />)} />\n\n {/* Connections */}\n <Route\n path=\"connections\"\n element={gated('channels.connections.list', <ConnectionsListPage />)}\n />\n <Route\n path=\"connections/create\"\n element={gated('channels.connections.create', <CreateConnectionPage />)}\n />\n <Route\n path=\"connections/:connectionId\"\n element={gated('channels.connections.detail', <ConnectionDetailsPage />)}\n />\n <Route\n path=\"connections/:connectionId/edit\"\n element={gated('channels.connections.edit', <EditConnectionPage />)}\n />\n\n {/* Send Message */}\n <Route path=\"send\" element={gated('channels.send', <SendMessagePage />)} />\n\n {/* Settings */}\n <Route path=\"settings\" element={gated('channels.settings', <ChannelSettingsPage />)} />\n\n {/* Catch-all → dashboard */}\n <Route path=\"*\" element={<Navigate to=\"dashboard\" replace />} />\n </Routes>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4BA,SAAS,EAAM,GAAc,GAA+B;AAC1D,QACE,kBAAC,GAAD;EAAmB;EAAM,cAAc;EAAM,UAAU,kBAAC,GAAD,EAAyB,SAAQ,CAAA;YACrF;EACW,CAAA;;AAYlB,SAAgB,IAAgB;AAC9B,QACE,kBAAC,GAAD,EAAA,UAAA;EAEE,kBAAC,GAAD;GAAO,OAAA;GAAM,SAAS,EAAM,sBAAsB,kBAAC,GAAD,EAAsB,CAAA,CAAC;GAAI,CAAA;EAG7E,kBAAC,GAAD;GAAO,MAAK;GAAY,SAAS,EAAM,sBAAsB,kBAAC,GAAD,EAAwB,CAAA,CAAC;GAAI,CAAA;EAG1F,kBAAC,GAAD;GAAO,MAAK;GAAO,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAoB,CAAA,CAAC;GAAI,CAAA;EAC5E,kBAAC,GAAD;GAAO,MAAK;GAAS,SAAS,EAAM,mBAAmB,kBAAC,GAAD,EAAqB,CAAA,CAAC;GAAI,CAAA;EACjF,kBAAC,GAAD;GAAO,MAAK;GAAa,SAAS,EAAM,mBAAmB,kBAAC,GAAD,EAAsB,CAAA,CAAC;GAAI,CAAA;EACtF,kBAAC,GAAD;GAAO,MAAK;GAAkB,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAmB,CAAA,CAAC;GAAI,CAAA;EACtF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,uBAAuB,kBAAC,GAAD,EAAuB,CAAA,CAAC;GAC9D,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,qBAAqB,kBAAC,GAAD,EAAqB,CAAA,CAAC;GAC1D,CAAA;EACF,kBAAC,GAAD;GAAO,MAAK;GAAmB,SAAS,EAAM,kBAAkB,kBAAC,GAAD,EAAoB,CAAA,CAAC;GAAI,CAAA;EAGzF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,6BAA6B,kBAAC,GAAD,EAAuB,CAAA,CAAC;GACpE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,+BAA+B,kBAAC,GAAD,EAAwB,CAAA,CAAC;GACvE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,+BAA+B,kBAAC,GAAD,EAAyB,CAAA,CAAC;GACxE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,6BAA6B,kBAAC,GAAD,EAAsB,CAAA,CAAC;GACnE,CAAA;EAGF,kBAAC,GAAD;GAAO,MAAK;GAAO,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAmB,CAAA,CAAC;GAAI,CAAA;EAG3E,kBAAC,GAAD;GAAO,MAAK;GAAW,SAAS,EAAM,qBAAqB,kBAAC,GAAD,EAAuB,CAAA,CAAC;GAAI,CAAA;EAGvF,kBAAC,GAAD;GAAO,MAAK;GAAI,SAAS,kBAAC,GAAD;IAAU,IAAG;IAAY,SAAA;IAAU,CAAA;GAAI,CAAA;EACzD,EAAA,CAAA"}
|
|
@@ -7,6 +7,9 @@ var e = {
|
|
|
7
7
|
CHANNEL_ARCHIVE: "channel:archive",
|
|
8
8
|
CHANNEL_EXECUTE: "channel:execute",
|
|
9
9
|
CHANNEL_EXPORT: "channel:export",
|
|
10
|
+
CHANNEL_DELIVERY_EXPORT: "channel-delivery:export",
|
|
11
|
+
CHANNEL_WEBHOOK_EXPORT: "channel-webhook:export",
|
|
12
|
+
CHANNEL_USER_EXPORT: "channel-user:export",
|
|
10
13
|
CHANNEL_ADMIN: "channel:update",
|
|
11
14
|
CHANNEL_CONNECTION_READ: "channel-connection:read",
|
|
12
15
|
CHANNEL_CONNECTION_CREATE: "channel-connection:create",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","names":[],"sources":["../../../src/channel/constants/permissions.ts"],"sourcesContent":["/**\n * RBAC permission constants for the Channel microfrontend.\n * Mirrors the @rbac directives in global-channel-svc.\n */\n\nexport const CHANNEL_PERMISSIONS = {\n // channel resource\n CHANNEL_READ: 'channel:read',\n CHANNEL_CREATE: 'channel:create',\n CHANNEL_UPDATE: 'channel:update',\n CHANNEL_DELETE: 'channel:delete',\n CHANNEL_ARCHIVE: 'channel:archive',\n CHANNEL_EXECUTE: 'channel:execute',\n CHANNEL_EXPORT: 'channel:export',\n
|
|
1
|
+
{"version":3,"file":"permissions.js","names":[],"sources":["../../../src/channel/constants/permissions.ts"],"sourcesContent":["/**\n * RBAC permission constants for the Channel microfrontend.\n * Mirrors the @rbac directives in global-channel-svc.\n */\n\nexport const CHANNEL_PERMISSIONS = {\n // channel resource\n CHANNEL_READ: 'channel:read',\n CHANNEL_CREATE: 'channel:create',\n CHANNEL_UPDATE: 'channel:update',\n CHANNEL_DELETE: 'channel:delete',\n CHANNEL_ARCHIVE: 'channel:archive',\n CHANNEL_EXECUTE: 'channel:execute',\n /** Per-resource CSV export permissions — match the backend @rbac(action:\"export\", resource:...). */\n CHANNEL_EXPORT: 'channel:export',\n CHANNEL_DELIVERY_EXPORT: 'channel-delivery:export',\n CHANNEL_WEBHOOK_EXPORT: 'channel-webhook:export',\n CHANNEL_USER_EXPORT: 'channel-user:export',\n /** @deprecated alias of channel:update — do NOT use for export gating (use the *_EXPORT perms). */\n CHANNEL_ADMIN: 'channel:update',\n\n // channel-connection resource\n CHANNEL_CONNECTION_READ: 'channel-connection:read',\n CHANNEL_CONNECTION_CREATE: 'channel-connection:create',\n CHANNEL_CONNECTION_UPDATE: 'channel-connection:update',\n CHANNEL_CONNECTION_DELETE: 'channel-connection:delete',\n\n // channel-delivery resource\n CHANNEL_DELIVERY_READ: 'channel-delivery:read',\n CHANNEL_DELIVERY_SEND: 'channel-delivery:send',\n CHANNEL_DELIVERY_EXECUTE: 'channel-delivery:execute',\n CHANNEL_DELIVERY_DELETE: 'channel-delivery:delete',\n\n // channel-webhook resource\n CHANNEL_WEBHOOK_READ: 'channel-webhook:read',\n CHANNEL_WEBHOOK_EXECUTE: 'channel-webhook:execute',\n CHANNEL_WEBHOOK_UPDATE: 'channel-webhook:update',\n\n // user-platform-connection resource\n USER_PLATFORM_CONNECTION_READ: 'user-platform-connection:read',\n USER_PLATFORM_CONNECTION_CREATE: 'user-platform-connection:create',\n USER_PLATFORM_CONNECTION_UPDATE: 'user-platform-connection:update',\n USER_PLATFORM_CONNECTION_DELETE: 'user-platform-connection:delete',\n} as const;\n\nexport type ChannelPermission = (typeof CHANNEL_PERMISSIONS)[keyof typeof CHANNEL_PERMISSIONS];\n"],"mappings":";AAKA,IAAa,IAAsB;CAEjC,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CACjB,iBAAiB;CAEjB,gBAAgB;CAChB,yBAAyB;CACzB,wBAAwB;CACxB,qBAAqB;CAErB,eAAe;CAGf,yBAAyB;CACzB,2BAA2B;CAC3B,2BAA2B;CAC3B,2BAA2B;CAG3B,uBAAuB;CACvB,uBAAuB;CACvB,0BAA0B;CAC1B,yBAAyB;CAGzB,sBAAsB;CACtB,yBAAyB;CACzB,wBAAwB;CAGxB,+BAA+B;CAC/B,iCAAiC;CACjC,iCAAiC;CACjC,iCAAiC;CAClC"}
|