fix(manifest): normalize distribution list contract ids
This commit is contained in:
@@ -66,10 +66,10 @@ delivery-channel hints, provenance, and a policy/readiness state.
|
|||||||
|
|
||||||
The first capabilities should be:
|
The first capabilities should be:
|
||||||
|
|
||||||
- `distLists.source`: list visible distribution lists as reusable recipient
|
- `dist_lists.source`: list visible distribution lists as reusable recipient
|
||||||
sources.
|
sources.
|
||||||
- `distLists.expand`: expand a distribution list into immutable recipient rows.
|
- `dist_lists.expand`: expand a distribution list into immutable recipient rows.
|
||||||
- `distLists.writer`: explain whether a caller can create or change a list.
|
- `dist_lists.writer`: explain whether a caller can create or change a list.
|
||||||
|
|
||||||
Consumers must resolve those capabilities through core and must not import
|
Consumers must resolve those capabilities through core and must not import
|
||||||
distribution-list ORM or service internals.
|
distribution-list ORM or service internals.
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ Tasks:
|
|||||||
- add CRUD routes and permissions
|
- add CRUD routes and permissions
|
||||||
- add local raw email/postal entries
|
- add local raw email/postal entries
|
||||||
- add references to address contacts and address lists via capabilities
|
- add references to address contacts and address lists via capabilities
|
||||||
- expose `distLists.source` and `distLists.expand`
|
- expose `dist_lists.source` and `dist_lists.expand`
|
||||||
- add tests for expansion and snapshots
|
- add tests for expansion and snapshots
|
||||||
|
|
||||||
## Milestone 3: Provider Integrations
|
## Milestone 3: Provider Integrations
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ ROLE_TEMPLATES = (
|
|||||||
|
|
||||||
DOCUMENTATION = (
|
DOCUMENTATION = (
|
||||||
DocumentationTopic(
|
DocumentationTopic(
|
||||||
id="dist-lists.boundary",
|
id=f"{MODULE_ID}.boundary",
|
||||||
title="Distribution list boundary",
|
title="Distribution list boundary",
|
||||||
summary="Distribution lists model operational Verteiler separately from address-book lists and workflow Umlauf execution.",
|
summary="Distribution lists model operational Verteiler separately from address-book lists and workflow Umlauf execution.",
|
||||||
body=(
|
body=(
|
||||||
@@ -81,9 +81,9 @@ manifest = ModuleManifest(
|
|||||||
),
|
),
|
||||||
optional_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR),
|
optional_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR),
|
||||||
provides_interfaces=(
|
provides_interfaces=(
|
||||||
ModuleInterfaceProvider(name="distLists.source", version=MODULE_VERSION),
|
ModuleInterfaceProvider(name="dist_lists.source", version=MODULE_VERSION),
|
||||||
ModuleInterfaceProvider(name="distLists.expand", version=MODULE_VERSION),
|
ModuleInterfaceProvider(name="dist_lists.expand", version=MODULE_VERSION),
|
||||||
ModuleInterfaceProvider(name="distLists.writer", version=MODULE_VERSION),
|
ModuleInterfaceProvider(name="dist_lists.writer", version=MODULE_VERSION),
|
||||||
),
|
),
|
||||||
permissions=PERMISSIONS,
|
permissions=PERMISSIONS,
|
||||||
role_templates=ROLE_TEMPLATES,
|
role_templates=ROLE_TEMPLATES,
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class DistributionListsManifestTests(unittest.TestCase):
|
|||||||
self.assertFalse(manifest.dependencies)
|
self.assertFalse(manifest.dependencies)
|
||||||
self.assertIn("addresses", manifest.optional_dependencies)
|
self.assertIn("addresses", manifest.optional_dependencies)
|
||||||
self.assertIn("auth.principalResolver", manifest.optional_capabilities)
|
self.assertIn("auth.principalResolver", manifest.optional_capabilities)
|
||||||
self.assertIn("distLists.expand", {interface.name for interface in manifest.provides_interfaces})
|
self.assertIn("dist_lists.expand", {interface.name for interface in manifest.provides_interfaces})
|
||||||
self.assertIn("dist_lists:list:read", {permission.scope for permission in manifest.permissions})
|
self.assertIn("dist_lists:list:read", {permission.scope for permission in manifest.permissions})
|
||||||
self.assertIsNone(manifest.route_factory)
|
self.assertIsNone(manifest.route_factory)
|
||||||
self.assertIsNone(manifest.migration_spec)
|
self.assertIsNone(manifest.migration_spec)
|
||||||
|
|||||||
Reference in New Issue
Block a user