@masterteam/system-settings 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -31,6 +31,7 @@ import { provideEmailDelivery } from "@masterteam/system-settings";
31
31
  provideEmailDelivery({
32
32
  apiBasePath: "control-panel/email-delivery",
33
33
  notificationApiBasePath: "Notifications",
34
+ currentUserAccessibilitiesApiPath: "identity/users/me/accessibilities",
34
35
  permissionKeys: ["CONTROL_PANEL"],
35
36
  });
36
37
  ```
@@ -40,12 +41,28 @@ must override a base path or its permission assertion. In Pplus they resolve to
40
41
  `/api/control-panel/email-delivery` and `/api/Notifications` after the Admin
41
42
  application API base is prepended.
42
43
 
43
- The page uses one `CONTROL_PANEL` access rule, one route with `Connections` and
44
- `Activity` tabs, and a collapsed Advanced Support section. Provider fields and
45
- actions come from `GET /api/control-panel/email-delivery/providers`; the error
46
- presentation uses `GET /api/control-panel/email-delivery/error-catalog`; secret
47
- values, external secret values, authorization URLs, and evidence exports are
48
- never retained in browser storage.
44
+ The page uses one `CONTROL_PANEL` access rule, resolved from the signed-in
45
+ user's `GET /api/identity/users/me/accessibilities` response. `permissionKeys`
46
+ declares the required accessibility; it is not treated as proof that the user
47
+ has it. The page contains `Connections` and `Activity` tabs plus a collapsed
48
+ Advanced Support section. Provider fields and actions come from
49
+ `GET /api/control-panel/email-delivery/providers`; the error presentation uses
50
+ `GET /api/control-panel/email-delivery/error-catalog`; secret values, external
51
+ secret values, authorization URLs, and evidence exports are never retained in
52
+ browser storage.
53
+
54
+ The package also exports `EmailUserTestDialog` and
55
+ `collectEmailTemplatePlaceholders` for the saved email editors in
56
+ `@masterteam/notification` and `@masterteam/alert`. The dialog sends to 1–10
57
+ ad-hoc test addresses and renders one value field per saved `{{placeholder}}`.
58
+ Editors pass `buildEmailTemplatePlaceholderFields(...)` the property catalog
59
+ and active language so the dialog shows localized property labels while still
60
+ posting the original placeholder keys in `metadata`. A saved `_en` or `_ar`
61
+ placeholder can use the matching base property's translated label when the
62
+ catalog exposes only the base key. Unknown custom keys fall back to the key
63
+ instead of being dropped. The dialog retains one
64
+ caller-generated `testRequestId`; a timeout or bare `202` starts a read-only
65
+ status lookup with that same ID and never automatically repeats the POST.
49
66
 
50
67
  Implementation and source-contract paths are indexed in
51
68
  [`../../../.github/instructions/email-delivery/Email-Delivery-Frontend-Implementation-Guide.md`](../../../.github/instructions/email-delivery/Email-Delivery-Frontend-Implementation-Guide.md).