@marinoscar/platform-web 0.1.0-next.19 → 0.1.0-next.21
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/CHANGELOG.md +21 -0
- package/README.md +5 -3
- package/dist/alerts/headless/client.d.ts +134 -0
- package/dist/alerts/headless/client.d.ts.map +1 -0
- package/dist/alerts/headless/client.js +105 -0
- package/dist/alerts/headless/client.js.map +1 -0
- package/dist/alerts/headless/format.d.ts +95 -0
- package/dist/alerts/headless/format.d.ts.map +1 -0
- package/dist/alerts/headless/format.js +164 -0
- package/dist/alerts/headless/format.js.map +1 -0
- package/dist/alerts/headless/hooks.d.ts +245 -0
- package/dist/alerts/headless/hooks.d.ts.map +1 -0
- package/dist/alerts/headless/hooks.js +315 -0
- package/dist/alerts/headless/hooks.js.map +1 -0
- package/dist/alerts/headless/index.d.ts +9 -0
- package/dist/alerts/headless/index.d.ts.map +1 -0
- package/dist/alerts/headless/index.js +9 -0
- package/dist/alerts/headless/index.js.map +1 -0
- package/dist/alerts/headless/rule-draft.d.ts +175 -0
- package/dist/alerts/headless/rule-draft.d.ts.map +1 -0
- package/dist/alerts/headless/rule-draft.js +261 -0
- package/dist/alerts/headless/rule-draft.js.map +1 -0
- package/dist/alerts/ui/AlertIncidentDrawer.d.ts +30 -0
- package/dist/alerts/ui/AlertIncidentDrawer.d.ts.map +1 -0
- package/dist/alerts/ui/AlertIncidentDrawer.js +33 -0
- package/dist/alerts/ui/AlertIncidentDrawer.js.map +1 -0
- package/dist/alerts/ui/AlertRuleDialog.d.ts +47 -0
- package/dist/alerts/ui/AlertRuleDialog.d.ts.map +1 -0
- package/dist/alerts/ui/AlertRuleDialog.js +124 -0
- package/dist/alerts/ui/AlertRuleDialog.js.map +1 -0
- package/dist/alerts/ui/AlertRuleTestResult.d.ts +23 -0
- package/dist/alerts/ui/AlertRuleTestResult.d.ts.map +1 -0
- package/dist/alerts/ui/AlertRuleTestResult.js +30 -0
- package/dist/alerts/ui/AlertRuleTestResult.js.map +1 -0
- package/dist/alerts/ui/AlertsPage.d.ts +41 -0
- package/dist/alerts/ui/AlertsPage.d.ts.map +1 -0
- package/dist/alerts/ui/AlertsPage.js +238 -0
- package/dist/alerts/ui/AlertsPage.js.map +1 -0
- package/dist/alerts/ui/FiringAlertsBanner.d.ts +28 -0
- package/dist/alerts/ui/FiringAlertsBanner.d.ts.map +1 -0
- package/dist/alerts/ui/FiringAlertsBanner.js +45 -0
- package/dist/alerts/ui/FiringAlertsBanner.js.map +1 -0
- package/dist/alerts/ui/copy.d.ts +15 -0
- package/dist/alerts/ui/copy.d.ts.map +1 -0
- package/dist/alerts/ui/copy.js +14 -0
- package/dist/alerts/ui/copy.js.map +1 -0
- package/dist/alerts/ui/index.d.ts +14 -0
- package/dist/alerts/ui/index.d.ts.map +1 -0
- package/dist/alerts/ui/index.js +12 -0
- package/dist/alerts/ui/index.js.map +1 -0
- package/dist/alerts/ui/parts.d.ts +26 -0
- package/dist/alerts/ui/parts.d.ts.map +1 -0
- package/dist/alerts/ui/parts.js +27 -0
- package/dist/alerts/ui/parts.js.map +1 -0
- package/dist/alerts/ui/settings.d.ts +27 -0
- package/dist/alerts/ui/settings.d.ts.map +1 -0
- package/dist/alerts/ui/settings.js +37 -0
- package/dist/alerts/ui/settings.js.map +1 -0
- package/dist/nodes/headless/api.d.ts +3 -1
- package/dist/nodes/headless/api.d.ts.map +1 -1
- package/dist/nodes/headless/api.js +22 -0
- package/dist/nodes/headless/api.js.map +1 -1
- package/dist/nodes/headless/index.d.ts +7 -2
- package/dist/nodes/headless/index.d.ts.map +1 -1
- package/dist/nodes/headless/index.js +4 -1
- package/dist/nodes/headless/index.js.map +1 -1
- package/dist/nodes/headless/node-events.d.ts +43 -0
- package/dist/nodes/headless/node-events.d.ts.map +1 -0
- package/dist/nodes/headless/node-events.js +150 -0
- package/dist/nodes/headless/node-events.js.map +1 -0
- package/dist/nodes/headless/power.d.ts +43 -0
- package/dist/nodes/headless/power.d.ts.map +1 -0
- package/dist/nodes/headless/power.js +74 -0
- package/dist/nodes/headless/power.js.map +1 -0
- package/dist/nodes/headless/types.d.ts +40 -3
- package/dist/nodes/headless/types.d.ts.map +1 -1
- package/dist/nodes/headless/types.js +1 -1
- package/dist/nodes/headless/types.js.map +1 -1
- package/dist/nodes/headless/use-node-events.d.ts +59 -0
- package/dist/nodes/headless/use-node-events.d.ts.map +1 -0
- package/dist/nodes/headless/use-node-events.js +159 -0
- package/dist/nodes/headless/use-node-events.js.map +1 -0
- package/dist/nodes/ui/NodeEventsTimeline.d.ts +39 -0
- package/dist/nodes/ui/NodeEventsTimeline.d.ts.map +1 -0
- package/dist/nodes/ui/NodeEventsTimeline.js +63 -0
- package/dist/nodes/ui/NodeEventsTimeline.js.map +1 -0
- package/dist/nodes/ui/NodePowerBadge.d.ts +27 -0
- package/dist/nodes/ui/NodePowerBadge.d.ts.map +1 -0
- package/dist/nodes/ui/NodePowerBadge.js +48 -0
- package/dist/nodes/ui/NodePowerBadge.js.map +1 -0
- package/dist/nodes/ui/NodeVitalsDialog.d.ts +11 -1
- package/dist/nodes/ui/NodeVitalsDialog.d.ts.map +1 -1
- package/dist/nodes/ui/NodeVitalsDialog.js +14 -5
- package/dist/nodes/ui/NodeVitalsDialog.js.map +1 -1
- package/dist/nodes/ui/WorkersPage.d.ts.map +1 -1
- package/dist/nodes/ui/WorkersPage.js +2 -1
- package/dist/nodes/ui/WorkersPage.js.map +1 -1
- package/dist/nodes/ui/workerVitals.d.ts +17 -1
- package/dist/nodes/ui/workerVitals.d.ts.map +1 -1
- package/dist/nodes/ui/workerVitals.js +43 -0
- package/dist/nodes/ui/workerVitals.js.map +1 -1
- package/dist/nodes/ui/workersTable.d.ts.map +1 -1
- package/dist/nodes/ui/workersTable.js +2 -1
- package/dist/nodes/ui/workersTable.js.map +1 -1
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.d.ts +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.d.ts +11 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.d.ts.map +1 -1
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.js +17 -2
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.js.map +1 -1
- package/dist/webhooks/headless/client.d.ts +101 -0
- package/dist/webhooks/headless/client.d.ts.map +1 -0
- package/dist/webhooks/headless/client.js +105 -0
- package/dist/webhooks/headless/client.js.map +1 -0
- package/dist/webhooks/headless/event-selection.d.ts +119 -0
- package/dist/webhooks/headless/event-selection.d.ts.map +1 -0
- package/dist/webhooks/headless/event-selection.js +225 -0
- package/dist/webhooks/headless/event-selection.js.map +1 -0
- package/dist/webhooks/headless/format.d.ts +84 -0
- package/dist/webhooks/headless/format.d.ts.map +1 -0
- package/dist/webhooks/headless/format.js +142 -0
- package/dist/webhooks/headless/format.js.map +1 -0
- package/dist/webhooks/headless/hooks.d.ts +199 -0
- package/dist/webhooks/headless/hooks.d.ts.map +1 -0
- package/dist/webhooks/headless/hooks.js +249 -0
- package/dist/webhooks/headless/hooks.js.map +1 -0
- package/dist/webhooks/headless/index.d.ts +9 -0
- package/dist/webhooks/headless/index.d.ts.map +1 -0
- package/dist/webhooks/headless/index.js +9 -0
- package/dist/webhooks/headless/index.js.map +1 -0
- package/dist/webhooks/ui/WebhookDeliveryDrawer.d.ts +32 -0
- package/dist/webhooks/ui/WebhookDeliveryDrawer.d.ts.map +1 -0
- package/dist/webhooks/ui/WebhookDeliveryDrawer.js +64 -0
- package/dist/webhooks/ui/WebhookDeliveryDrawer.js.map +1 -0
- package/dist/webhooks/ui/WebhookEndpointDetail.d.ts +21 -0
- package/dist/webhooks/ui/WebhookEndpointDetail.d.ts.map +1 -0
- package/dist/webhooks/ui/WebhookEndpointDetail.js +96 -0
- package/dist/webhooks/ui/WebhookEndpointDetail.js.map +1 -0
- package/dist/webhooks/ui/WebhookEndpointDialog.d.ts +39 -0
- package/dist/webhooks/ui/WebhookEndpointDialog.d.ts.map +1 -0
- package/dist/webhooks/ui/WebhookEndpointDialog.js +79 -0
- package/dist/webhooks/ui/WebhookEndpointDialog.js.map +1 -0
- package/dist/webhooks/ui/WebhookEventPicker.d.ts +30 -0
- package/dist/webhooks/ui/WebhookEventPicker.d.ts.map +1 -0
- package/dist/webhooks/ui/WebhookEventPicker.js +33 -0
- package/dist/webhooks/ui/WebhookEventPicker.js.map +1 -0
- package/dist/webhooks/ui/WebhookSecretDialog.d.ts +27 -0
- package/dist/webhooks/ui/WebhookSecretDialog.d.ts.map +1 -0
- package/dist/webhooks/ui/WebhookSecretDialog.js +52 -0
- package/dist/webhooks/ui/WebhookSecretDialog.js.map +1 -0
- package/dist/webhooks/ui/WebhookSignatureHelp.d.ts +18 -0
- package/dist/webhooks/ui/WebhookSignatureHelp.d.ts.map +1 -0
- package/dist/webhooks/ui/WebhookSignatureHelp.js +40 -0
- package/dist/webhooks/ui/WebhookSignatureHelp.js.map +1 -0
- package/dist/webhooks/ui/WebhooksPage.d.ts +47 -0
- package/dist/webhooks/ui/WebhooksPage.d.ts.map +1 -0
- package/dist/webhooks/ui/WebhooksPage.js +172 -0
- package/dist/webhooks/ui/WebhooksPage.js.map +1 -0
- package/dist/webhooks/ui/copy.d.ts +24 -0
- package/dist/webhooks/ui/copy.d.ts.map +1 -0
- package/dist/webhooks/ui/copy.js +34 -0
- package/dist/webhooks/ui/copy.js.map +1 -0
- package/dist/webhooks/ui/index.d.ts +15 -0
- package/dist/webhooks/ui/index.d.ts.map +1 -0
- package/dist/webhooks/ui/index.js +12 -0
- package/dist/webhooks/ui/index.js.map +1 -0
- package/dist/webhooks/ui/parts.d.ts +25 -0
- package/dist/webhooks/ui/parts.d.ts.map +1 -0
- package/dist/webhooks/ui/parts.js +28 -0
- package/dist/webhooks/ui/parts.js.map +1 -0
- package/dist/webhooks/ui/settings.d.ts +58 -0
- package/dist/webhooks/ui/settings.d.ts.map +1 -0
- package/dist/webhooks/ui/settings.js +79 -0
- package/dist/webhooks/ui/settings.js.map +1 -0
- package/package.json +18 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetricSections.js","sourceRoot":"","sources":["../../../../../../src/telemetry/ui/components/dashboard/metrics/MetricSections.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MetricSections.js","sourceRoot":"","sources":["../../../../../../src/telemetry/ui/components/dashboard/metrics/MetricSections.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { CreateWebhookEndpointInput, RotateWebhookSecretResponse, UpdateWebhookEndpoint, WebhookDeliveryDetail, WebhookDeliveryList, WebhookDeliveryStatus, WebhookEndpoint, WebhookEndpointCreated, WebhookEndpointList, WebhookEventCatalog, WebhookScope, WebhookTestResponse } from '@marinoscar/platform-contract/webhooks';
|
|
2
|
+
import type { PlatformApiClient } from '../../core/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* The route base of each scope, relative to the API root (`/api`).
|
|
5
|
+
*
|
|
6
|
+
* @stability experimental
|
|
7
|
+
*/
|
|
8
|
+
export declare const WEBHOOK_SCOPE_BASE_PATHS: Readonly<Record<WebhookScope, string>>;
|
|
9
|
+
/**
|
|
10
|
+
* The read and write permission each scope's routes enforce: the exact
|
|
11
|
+
* strings of `WEBHOOK_PERMISSIONS` (`@marinoscar/platform-contract/webhooks`).
|
|
12
|
+
* The UI only hides controls with them; the API enforces them.
|
|
13
|
+
*
|
|
14
|
+
* @stability experimental
|
|
15
|
+
*/
|
|
16
|
+
export declare const WEBHOOK_SCOPE_PERMISSIONS: Readonly<Record<WebhookScope, {
|
|
17
|
+
/** The permission the scope's reads enforce. */
|
|
18
|
+
readonly read: string;
|
|
19
|
+
/** The permission the scope's writes enforce. */
|
|
20
|
+
readonly write: string;
|
|
21
|
+
}>>;
|
|
22
|
+
/**
|
|
23
|
+
* The filters and page of a delivery list request. `page` is one-based, as
|
|
24
|
+
* on the wire.
|
|
25
|
+
*
|
|
26
|
+
* @stability experimental
|
|
27
|
+
*/
|
|
28
|
+
export interface WebhookDeliveriesQuery {
|
|
29
|
+
/** One-based page; default 1. */
|
|
30
|
+
page?: number;
|
|
31
|
+
/** Rows per page; default the API's (20). */
|
|
32
|
+
pageSize?: number;
|
|
33
|
+
/** Only deliveries in this status. */
|
|
34
|
+
status?: WebhookDeliveryStatus;
|
|
35
|
+
/** Only deliveries of this event key. */
|
|
36
|
+
eventKey?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The webhook API calls of one scope.
|
|
40
|
+
*
|
|
41
|
+
* @stability experimental
|
|
42
|
+
*/
|
|
43
|
+
export interface WebhooksApi {
|
|
44
|
+
/** The scope these calls address. */
|
|
45
|
+
readonly scope: WebhookScope;
|
|
46
|
+
/** The route base, e.g. `/org/webhooks`. */
|
|
47
|
+
readonly basePath: string;
|
|
48
|
+
/** `GET <base>`: the endpoints the caller may see at this scope. */
|
|
49
|
+
list(): Promise<WebhookEndpointList>;
|
|
50
|
+
/** `GET <base>/:id`. */
|
|
51
|
+
get(id: string): Promise<WebhookEndpoint>;
|
|
52
|
+
/** `POST <base>`: resolves with the endpoint and its signing secret, shown once. */
|
|
53
|
+
create(input: CreateWebhookEndpointInput): Promise<WebhookEndpointCreated>;
|
|
54
|
+
/** `PATCH <base>/:id`. */
|
|
55
|
+
update(id: string, patch: UpdateWebhookEndpoint): Promise<WebhookEndpoint>;
|
|
56
|
+
/** `DELETE <base>/:id`. */
|
|
57
|
+
remove(id: string): Promise<void>;
|
|
58
|
+
/** `POST <base>/:id/rotate-secret`: the new secret, shown once, and the old one's overlap. */
|
|
59
|
+
rotateSecret(id: string): Promise<RotateWebhookSecretResponse>;
|
|
60
|
+
/** `POST <base>/:id/test`: queues a `webhooks.ping` delivery. */
|
|
61
|
+
sendTest(id: string): Promise<WebhookTestResponse>;
|
|
62
|
+
/** `GET <base>/:id/deliveries?page&pageSize&status&eventKey`. */
|
|
63
|
+
listDeliveries(endpointId: string, query?: WebhookDeliveriesQuery): Promise<WebhookDeliveryList>;
|
|
64
|
+
/** `GET <base>/deliveries/:deliveryId`: with the payload and the request headers (never the signature). */
|
|
65
|
+
getDelivery(deliveryId: string): Promise<WebhookDeliveryDetail>;
|
|
66
|
+
/** `POST <base>/deliveries/:deliveryId/redeliver`: queues the delivery again. */
|
|
67
|
+
redeliver(deliveryId: string): Promise<void>;
|
|
68
|
+
/** `GET <base>/events`: the events the caller may subscribe to at this scope. */
|
|
69
|
+
eventCatalog(): Promise<WebhookEventCatalog>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The route base of a scope.
|
|
73
|
+
*
|
|
74
|
+
* @param scope - `user`, `org` or `system`.
|
|
75
|
+
* @returns the path relative to `/api`.
|
|
76
|
+
*
|
|
77
|
+
* @stability experimental
|
|
78
|
+
*/
|
|
79
|
+
export declare function webhooksBasePath(scope: WebhookScope): string;
|
|
80
|
+
/**
|
|
81
|
+
* The webhooks client of one scope over the app's transport.
|
|
82
|
+
*
|
|
83
|
+
* @param api - the app's transport (`usePlatformApi()`).
|
|
84
|
+
* @param scope - which route family to address.
|
|
85
|
+
* @returns the client.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const webhooks = createWebhooksApi(usePlatformApi(), 'org');
|
|
90
|
+
* const { endpoint, secret } = await webhooks.create({
|
|
91
|
+
* name: 'Receiver',
|
|
92
|
+
* url: 'https://receiver.example.test/hook',
|
|
93
|
+
* eventKeys: ['nodes.*'],
|
|
94
|
+
* });
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* @extensionPoint hook
|
|
98
|
+
* @stability experimental
|
|
99
|
+
*/
|
|
100
|
+
export declare function createWebhooksApi(api: PlatformApiClient, scope: WebhookScope): WebhooksApi;
|
|
101
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/webhooks/headless/client.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAI1E,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CACJ,YAAY,EACZ;IACE,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CACF,CAMC,CAAC;AAEL;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC,wBAAwB;IACxB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,oFAAoF;IACpF,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3E,0BAA0B;IAC1B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3E,2BAA2B;IAC3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC/D,iEAAiE;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,iEAAiE;IACjE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjG,2GAA2G;IAC3G,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChE,iFAAiF;IACjF,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,iFAAiF;IACjF,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE5D;AAaD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,GAAG,WAAW,CAwB1F"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// The webhooks client (issue #1046): one route family per scope
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// The three scopes share one route shape under three bases:
|
|
6
|
+
// user -> /api/webhooks (`webhooks:read` / `webhooks:write`)
|
|
7
|
+
// org -> /api/org/webhooks (`org_webhooks:read` / `org_webhooks:write`)
|
|
8
|
+
// system -> /api/admin/webhooks (`system_webhooks:read` / `system_webhooks:write`)
|
|
9
|
+
// The transport (`PlatformApiClient`) prefixes `/api`. The API decides who may
|
|
10
|
+
// see what (another owner's endpoint is a 404); the client only builds paths.
|
|
11
|
+
// =============================================================================
|
|
12
|
+
import { WEBHOOK_PERMISSIONS } from '@marinoscar/platform-contract/webhooks';
|
|
13
|
+
/**
|
|
14
|
+
* The route base of each scope, relative to the API root (`/api`).
|
|
15
|
+
*
|
|
16
|
+
* @stability experimental
|
|
17
|
+
*/
|
|
18
|
+
export const WEBHOOK_SCOPE_BASE_PATHS = Object.freeze({
|
|
19
|
+
user: '/webhooks',
|
|
20
|
+
org: '/org/webhooks',
|
|
21
|
+
system: '/admin/webhooks',
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* The read and write permission each scope's routes enforce: the exact
|
|
25
|
+
* strings of `WEBHOOK_PERMISSIONS` (`@marinoscar/platform-contract/webhooks`).
|
|
26
|
+
* The UI only hides controls with them; the API enforces them.
|
|
27
|
+
*
|
|
28
|
+
* @stability experimental
|
|
29
|
+
*/
|
|
30
|
+
export const WEBHOOK_SCOPE_PERMISSIONS = Object.freeze({
|
|
31
|
+
user: Object.freeze({ read: WEBHOOK_PERMISSIONS.READ, write: WEBHOOK_PERMISSIONS.WRITE }),
|
|
32
|
+
org: Object.freeze({ read: WEBHOOK_PERMISSIONS.ORG_READ, write: WEBHOOK_PERMISSIONS.ORG_WRITE }),
|
|
33
|
+
system: Object.freeze({ read: WEBHOOK_PERMISSIONS.SYSTEM_READ, write: WEBHOOK_PERMISSIONS.SYSTEM_WRITE }),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* The route base of a scope.
|
|
37
|
+
*
|
|
38
|
+
* @param scope - `user`, `org` or `system`.
|
|
39
|
+
* @returns the path relative to `/api`.
|
|
40
|
+
*
|
|
41
|
+
* @stability experimental
|
|
42
|
+
*/
|
|
43
|
+
export function webhooksBasePath(scope) {
|
|
44
|
+
return WEBHOOK_SCOPE_BASE_PATHS[scope];
|
|
45
|
+
}
|
|
46
|
+
function deliveriesQueryString(query) {
|
|
47
|
+
if (!query)
|
|
48
|
+
return '';
|
|
49
|
+
const params = new URLSearchParams();
|
|
50
|
+
if (query.page !== undefined)
|
|
51
|
+
params.set('page', String(query.page));
|
|
52
|
+
if (query.pageSize !== undefined)
|
|
53
|
+
params.set('pageSize', String(query.pageSize));
|
|
54
|
+
if (query.status)
|
|
55
|
+
params.set('status', query.status);
|
|
56
|
+
if (query.eventKey)
|
|
57
|
+
params.set('eventKey', query.eventKey);
|
|
58
|
+
const text = params.toString();
|
|
59
|
+
return text === '' ? '' : `?${text}`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The webhooks client of one scope over the app's transport.
|
|
63
|
+
*
|
|
64
|
+
* @param api - the app's transport (`usePlatformApi()`).
|
|
65
|
+
* @param scope - which route family to address.
|
|
66
|
+
* @returns the client.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* const webhooks = createWebhooksApi(usePlatformApi(), 'org');
|
|
71
|
+
* const { endpoint, secret } = await webhooks.create({
|
|
72
|
+
* name: 'Receiver',
|
|
73
|
+
* url: 'https://receiver.example.test/hook',
|
|
74
|
+
* eventKeys: ['nodes.*'],
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @extensionPoint hook
|
|
79
|
+
* @stability experimental
|
|
80
|
+
*/
|
|
81
|
+
export function createWebhooksApi(api, scope) {
|
|
82
|
+
const base = webhooksBasePath(scope);
|
|
83
|
+
const one = (id) => `${base}/${encodeURIComponent(id)}`;
|
|
84
|
+
const delivery = (id) => `${base}/deliveries/${encodeURIComponent(id)}`;
|
|
85
|
+
return {
|
|
86
|
+
scope,
|
|
87
|
+
basePath: base,
|
|
88
|
+
list: () => api.get(base),
|
|
89
|
+
get: (id) => api.get(one(id)),
|
|
90
|
+
create: (input) => api.post(base, input),
|
|
91
|
+
update: (id, patch) => api.patch(one(id), patch),
|
|
92
|
+
remove: async (id) => {
|
|
93
|
+
await api.delete(one(id));
|
|
94
|
+
},
|
|
95
|
+
rotateSecret: (id) => api.post(`${one(id)}/rotate-secret`),
|
|
96
|
+
sendTest: (id) => api.post(`${one(id)}/test`),
|
|
97
|
+
listDeliveries: (endpointId, query) => api.get(`${one(endpointId)}/deliveries${deliveriesQueryString(query)}`),
|
|
98
|
+
getDelivery: (deliveryId) => api.get(delivery(deliveryId)),
|
|
99
|
+
redeliver: async (deliveryId) => {
|
|
100
|
+
await api.post(`${delivery(deliveryId)}/redeliver`);
|
|
101
|
+
},
|
|
102
|
+
eventCatalog: () => api.get(`${base}/events`),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/webhooks/headless/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { WebhookEventCatalogEntry } from '@marinoscar/platform-contract/webhooks';
|
|
2
|
+
/**
|
|
3
|
+
* The subscription entry that means "every event".
|
|
4
|
+
*
|
|
5
|
+
* @stability experimental
|
|
6
|
+
*/
|
|
7
|
+
export declare const WEBHOOK_ALL_EVENTS = "*";
|
|
8
|
+
/**
|
|
9
|
+
* One catalog group as the picker draws it.
|
|
10
|
+
*
|
|
11
|
+
* @stability experimental
|
|
12
|
+
*/
|
|
13
|
+
export interface WebhookEventGroup {
|
|
14
|
+
/** The catalog's `group` label (`Nodes`). */
|
|
15
|
+
group: string;
|
|
16
|
+
/** Its events, in catalog order. */
|
|
17
|
+
entries: WebhookEventCatalogEntry[];
|
|
18
|
+
/** `<segment>.*` when the whole group is one prefix and no other group shares it, else `null`. */
|
|
19
|
+
wildcard: string | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether one subscription entry covers an event key.
|
|
23
|
+
*
|
|
24
|
+
* @param entry - `*`, `prefix.*` or an exact key.
|
|
25
|
+
* @param key - the event key.
|
|
26
|
+
* @returns `true` when a delivery of `key` would match.
|
|
27
|
+
*
|
|
28
|
+
* @stability experimental
|
|
29
|
+
*/
|
|
30
|
+
export declare function webhookEntryCovers(entry: string, key: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Groups the catalog by its `group` label, in first-seen order, and works
|
|
33
|
+
* out each group's wildcard.
|
|
34
|
+
*
|
|
35
|
+
* @param entries - the catalog.
|
|
36
|
+
* @returns the groups.
|
|
37
|
+
*
|
|
38
|
+
* @stability experimental
|
|
39
|
+
*/
|
|
40
|
+
export declare function groupWebhookEventCatalog(entries: readonly WebhookEventCatalogEntry[]): WebhookEventGroup[];
|
|
41
|
+
/**
|
|
42
|
+
* Whether the subscription delivers an event key.
|
|
43
|
+
*
|
|
44
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
45
|
+
* @param key - the event key.
|
|
46
|
+
* @returns `true` when some entry covers it.
|
|
47
|
+
*
|
|
48
|
+
* @stability experimental
|
|
49
|
+
*/
|
|
50
|
+
export declare function isWebhookEventSelected(selection: readonly string[], key: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* How much of a group the subscription covers.
|
|
53
|
+
*
|
|
54
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
55
|
+
* @param group - the group.
|
|
56
|
+
* @returns `all`, `some` or `none`.
|
|
57
|
+
*
|
|
58
|
+
* @stability experimental
|
|
59
|
+
*/
|
|
60
|
+
export declare function webhookGroupSelectionState(selection: readonly string[], group: WebhookEventGroup): 'all' | 'some' | 'none';
|
|
61
|
+
/**
|
|
62
|
+
* Selects or deselects one event. Deselecting an event a wildcard covers
|
|
63
|
+
* replaces the wildcard by the rest of what it covered.
|
|
64
|
+
*
|
|
65
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
66
|
+
* @param key - the event key.
|
|
67
|
+
* @param groups - the grouped catalog.
|
|
68
|
+
* @returns the new `eventKeys`.
|
|
69
|
+
*
|
|
70
|
+
* @stability experimental
|
|
71
|
+
*/
|
|
72
|
+
export declare function toggleWebhookEvent(selection: readonly string[], key: string, groups: readonly WebhookEventGroup[]): string[];
|
|
73
|
+
/**
|
|
74
|
+
* Selects or deselects a whole group: with a wildcard the group is written as
|
|
75
|
+
* `segment.*` (its exact keys are folded into it), else key by key.
|
|
76
|
+
*
|
|
77
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
78
|
+
* @param group - the group.
|
|
79
|
+
* @param groups - the grouped catalog.
|
|
80
|
+
* @returns the new `eventKeys`.
|
|
81
|
+
*
|
|
82
|
+
* @stability experimental
|
|
83
|
+
*/
|
|
84
|
+
export declare function toggleWebhookGroup(selection: readonly string[], group: WebhookEventGroup, groups: readonly WebhookEventGroup[]): string[];
|
|
85
|
+
/**
|
|
86
|
+
* Switches "every event" (`*`) on (replacing every other entry) or off
|
|
87
|
+
* (leaving an empty subscription to pick from).
|
|
88
|
+
*
|
|
89
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
90
|
+
* @returns the new `eventKeys`.
|
|
91
|
+
*
|
|
92
|
+
* @stability experimental
|
|
93
|
+
*/
|
|
94
|
+
export declare function toggleAllWebhookEvents(selection: readonly string[]): string[];
|
|
95
|
+
/**
|
|
96
|
+
* The entries of a subscription the catalog does not account for: an exact
|
|
97
|
+
* key it does not list, or a wildcard that covers none of its events. The
|
|
98
|
+
* picker keeps them and lists them so the user can remove them.
|
|
99
|
+
*
|
|
100
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
101
|
+
* @param groups - the grouped catalog.
|
|
102
|
+
* @returns those entries.
|
|
103
|
+
*
|
|
104
|
+
* @stability experimental
|
|
105
|
+
*/
|
|
106
|
+
export declare function unknownWebhookSubscriptions(selection: readonly string[], groups: readonly WebhookEventGroup[]): string[];
|
|
107
|
+
/**
|
|
108
|
+
* Filters the grouped catalog by a search term (key, label or description,
|
|
109
|
+
* case-insensitive); groups left with no match are dropped. A group whose
|
|
110
|
+
* label matches keeps all its events.
|
|
111
|
+
*
|
|
112
|
+
* @param groups - the grouped catalog.
|
|
113
|
+
* @param query - the search text.
|
|
114
|
+
* @returns the matching groups (the same objects' entries filtered).
|
|
115
|
+
*
|
|
116
|
+
* @stability experimental
|
|
117
|
+
*/
|
|
118
|
+
export declare function searchWebhookEventGroups(groups: readonly WebhookEventGroup[], query: string): WebhookEventGroup[];
|
|
119
|
+
//# sourceMappingURL=event-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-selection.d.ts","sourceRoot":"","sources":["../../../src/webhooks/headless/event-selection.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,kGAAkG;IAClG,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAItE;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,wBAAwB,EAAE,GAAG,iBAAiB,EAAE,CAsB1G;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAI1H;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAG5H;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,SAAS,iBAAiB,EAAE,GACnC,MAAM,EAAE,CAaV;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAGxH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAejH"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// The event picker's model (issue #1046): pure functions over a subscription
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// A subscription is the endpoint's `eventKeys`: exact keys
|
|
6
|
+
// (`jobs.job.failed`), group wildcards (`nodes.*`) and `*` (every event the
|
|
7
|
+
// owner may receive). The picker shows the catalog grouped by its `group`
|
|
8
|
+
// label; selecting a whole group writes the group's wildcard when one exists,
|
|
9
|
+
// so events added to the group later are delivered too.
|
|
10
|
+
//
|
|
11
|
+
// A group has a wildcard only when every key in it shares its first segment
|
|
12
|
+
// AND no key of another group starts with that segment: otherwise `x.*` would
|
|
13
|
+
// select events outside the group, and the group is selected key by key.
|
|
14
|
+
// Entries the catalog does not know (an event registered later, or one the
|
|
15
|
+
// caller can no longer subscribe to) are kept untouched.
|
|
16
|
+
// =============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* The subscription entry that means "every event".
|
|
19
|
+
*
|
|
20
|
+
* @stability experimental
|
|
21
|
+
*/
|
|
22
|
+
export const WEBHOOK_ALL_EVENTS = '*';
|
|
23
|
+
/**
|
|
24
|
+
* Whether one subscription entry covers an event key.
|
|
25
|
+
*
|
|
26
|
+
* @param entry - `*`, `prefix.*` or an exact key.
|
|
27
|
+
* @param key - the event key.
|
|
28
|
+
* @returns `true` when a delivery of `key` would match.
|
|
29
|
+
*
|
|
30
|
+
* @stability experimental
|
|
31
|
+
*/
|
|
32
|
+
export function webhookEntryCovers(entry, key) {
|
|
33
|
+
if (entry === WEBHOOK_ALL_EVENTS)
|
|
34
|
+
return true;
|
|
35
|
+
if (entry.endsWith('.*'))
|
|
36
|
+
return key.startsWith(entry.slice(0, -1));
|
|
37
|
+
return entry === key;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Groups the catalog by its `group` label, in first-seen order, and works
|
|
41
|
+
* out each group's wildcard.
|
|
42
|
+
*
|
|
43
|
+
* @param entries - the catalog.
|
|
44
|
+
* @returns the groups.
|
|
45
|
+
*
|
|
46
|
+
* @stability experimental
|
|
47
|
+
*/
|
|
48
|
+
export function groupWebhookEventCatalog(entries) {
|
|
49
|
+
const order = [];
|
|
50
|
+
const byGroup = new Map();
|
|
51
|
+
for (const entry of entries) {
|
|
52
|
+
const list = byGroup.get(entry.group);
|
|
53
|
+
if (list)
|
|
54
|
+
list.push(entry);
|
|
55
|
+
else {
|
|
56
|
+
byGroup.set(entry.group, [entry]);
|
|
57
|
+
order.push(entry.group);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return order.map((group) => {
|
|
61
|
+
const groupEntries = byGroup.get(group);
|
|
62
|
+
const firsts = new Set(groupEntries.map((entry) => entry.key.split('.')[0]));
|
|
63
|
+
let wildcard = null;
|
|
64
|
+
if (firsts.size === 1) {
|
|
65
|
+
const segment = [...firsts][0];
|
|
66
|
+
const shared = entries.some((entry) => entry.group !== group && entry.key.split('.')[0] === segment);
|
|
67
|
+
if (!shared)
|
|
68
|
+
wildcard = `${segment}.*`;
|
|
69
|
+
}
|
|
70
|
+
return { group, entries: groupEntries, wildcard };
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Whether the subscription delivers an event key.
|
|
75
|
+
*
|
|
76
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
77
|
+
* @param key - the event key.
|
|
78
|
+
* @returns `true` when some entry covers it.
|
|
79
|
+
*
|
|
80
|
+
* @stability experimental
|
|
81
|
+
*/
|
|
82
|
+
export function isWebhookEventSelected(selection, key) {
|
|
83
|
+
return selection.some((entry) => webhookEntryCovers(entry, key));
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* How much of a group the subscription covers.
|
|
87
|
+
*
|
|
88
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
89
|
+
* @param group - the group.
|
|
90
|
+
* @returns `all`, `some` or `none`.
|
|
91
|
+
*
|
|
92
|
+
* @stability experimental
|
|
93
|
+
*/
|
|
94
|
+
export function webhookGroupSelectionState(selection, group) {
|
|
95
|
+
const covered = group.entries.filter((entry) => isWebhookEventSelected(selection, entry.key)).length;
|
|
96
|
+
if (covered === 0)
|
|
97
|
+
return 'none';
|
|
98
|
+
return covered === group.entries.length ? 'all' : 'some';
|
|
99
|
+
}
|
|
100
|
+
function dedupe(values) {
|
|
101
|
+
return [...new Set(values)];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Drops `keys` from the subscription: an exact entry is removed, and a
|
|
105
|
+
* wildcard that covers one of them is replaced by what it covered of the
|
|
106
|
+
* catalog minus `keys` (a whole other group by its own wildcard).
|
|
107
|
+
*/
|
|
108
|
+
function withoutKeys(selection, keys, groups) {
|
|
109
|
+
const next = [];
|
|
110
|
+
for (const entry of selection) {
|
|
111
|
+
const isPattern = entry === WEBHOOK_ALL_EVENTS || entry.endsWith('.*');
|
|
112
|
+
if (!isPattern) {
|
|
113
|
+
if (!keys.has(entry))
|
|
114
|
+
next.push(entry);
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
if (![...keys].some((key) => webhookEntryCovers(entry, key))) {
|
|
118
|
+
next.push(entry);
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
for (const group of groups) {
|
|
122
|
+
const coveredKeys = group.entries.map((e) => e.key).filter((key) => webhookEntryCovers(entry, key));
|
|
123
|
+
if (coveredKeys.length === 0)
|
|
124
|
+
continue;
|
|
125
|
+
const untouched = coveredKeys.every((key) => !keys.has(key));
|
|
126
|
+
if (untouched && coveredKeys.length === group.entries.length && group.wildcard)
|
|
127
|
+
next.push(group.wildcard);
|
|
128
|
+
else
|
|
129
|
+
next.push(...coveredKeys.filter((key) => !keys.has(key)));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return dedupe(next);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Selects or deselects one event. Deselecting an event a wildcard covers
|
|
136
|
+
* replaces the wildcard by the rest of what it covered.
|
|
137
|
+
*
|
|
138
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
139
|
+
* @param key - the event key.
|
|
140
|
+
* @param groups - the grouped catalog.
|
|
141
|
+
* @returns the new `eventKeys`.
|
|
142
|
+
*
|
|
143
|
+
* @stability experimental
|
|
144
|
+
*/
|
|
145
|
+
export function toggleWebhookEvent(selection, key, groups) {
|
|
146
|
+
if (isWebhookEventSelected(selection, key))
|
|
147
|
+
return withoutKeys(selection, new Set([key]), groups);
|
|
148
|
+
return dedupe([...selection, key]);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Selects or deselects a whole group: with a wildcard the group is written as
|
|
152
|
+
* `segment.*` (its exact keys are folded into it), else key by key.
|
|
153
|
+
*
|
|
154
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
155
|
+
* @param group - the group.
|
|
156
|
+
* @param groups - the grouped catalog.
|
|
157
|
+
* @returns the new `eventKeys`.
|
|
158
|
+
*
|
|
159
|
+
* @stability experimental
|
|
160
|
+
*/
|
|
161
|
+
export function toggleWebhookGroup(selection, group, groups) {
|
|
162
|
+
const keys = new Set(group.entries.map((entry) => entry.key));
|
|
163
|
+
if (webhookGroupSelectionState(selection, group) === 'all') {
|
|
164
|
+
return withoutKeys(selection.filter((entry) => entry !== group.wildcard), keys, groups);
|
|
165
|
+
}
|
|
166
|
+
if (group.wildcard) {
|
|
167
|
+
return dedupe([...selection.filter((entry) => !keys.has(entry)), group.wildcard]);
|
|
168
|
+
}
|
|
169
|
+
return dedupe([...selection, ...keys]);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Switches "every event" (`*`) on (replacing every other entry) or off
|
|
173
|
+
* (leaving an empty subscription to pick from).
|
|
174
|
+
*
|
|
175
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
176
|
+
* @returns the new `eventKeys`.
|
|
177
|
+
*
|
|
178
|
+
* @stability experimental
|
|
179
|
+
*/
|
|
180
|
+
export function toggleAllWebhookEvents(selection) {
|
|
181
|
+
return selection.includes(WEBHOOK_ALL_EVENTS) ? [] : [WEBHOOK_ALL_EVENTS];
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The entries of a subscription the catalog does not account for: an exact
|
|
185
|
+
* key it does not list, or a wildcard that covers none of its events. The
|
|
186
|
+
* picker keeps them and lists them so the user can remove them.
|
|
187
|
+
*
|
|
188
|
+
* @param selection - the endpoint's `eventKeys`.
|
|
189
|
+
* @param groups - the grouped catalog.
|
|
190
|
+
* @returns those entries.
|
|
191
|
+
*
|
|
192
|
+
* @stability experimental
|
|
193
|
+
*/
|
|
194
|
+
export function unknownWebhookSubscriptions(selection, groups) {
|
|
195
|
+
const keys = groups.flatMap((group) => group.entries.map((entry) => entry.key));
|
|
196
|
+
return selection.filter((entry) => entry !== WEBHOOK_ALL_EVENTS && !keys.some((key) => webhookEntryCovers(entry, key)));
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Filters the grouped catalog by a search term (key, label or description,
|
|
200
|
+
* case-insensitive); groups left with no match are dropped. A group whose
|
|
201
|
+
* label matches keeps all its events.
|
|
202
|
+
*
|
|
203
|
+
* @param groups - the grouped catalog.
|
|
204
|
+
* @param query - the search text.
|
|
205
|
+
* @returns the matching groups (the same objects' entries filtered).
|
|
206
|
+
*
|
|
207
|
+
* @stability experimental
|
|
208
|
+
*/
|
|
209
|
+
export function searchWebhookEventGroups(groups, query) {
|
|
210
|
+
const term = query.trim().toLowerCase();
|
|
211
|
+
if (term === '')
|
|
212
|
+
return [...groups];
|
|
213
|
+
const result = [];
|
|
214
|
+
for (const group of groups) {
|
|
215
|
+
if (group.group.toLowerCase().includes(term)) {
|
|
216
|
+
result.push(group);
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
const entries = group.entries.filter((entry) => [entry.key, entry.label, entry.description].some((text) => text.toLowerCase().includes(term)));
|
|
220
|
+
if (entries.length > 0)
|
|
221
|
+
result.push({ ...group, entries });
|
|
222
|
+
}
|
|
223
|
+
return result;
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=event-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-selection.js","sourceRoot":"","sources":["../../../src/webhooks/headless/event-selection.ts"],"names":[],"mappings":"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"}
|