feat: reconcile sanctions screening freshness
This commit is contained in:
@@ -16,12 +16,16 @@ from govoplan_core.core.modules import (
|
||||
FrontendModule,
|
||||
FrontendRoute,
|
||||
MigrationSpec,
|
||||
ModuleInterfaceProvider,
|
||||
ModuleInterfaceRequirement,
|
||||
ModuleManifest,
|
||||
NavItem,
|
||||
PermissionDefinition,
|
||||
RoleTemplate,
|
||||
)
|
||||
from govoplan_core.core.sanctions import (
|
||||
CAPABILITY_RISK_COMPLIANCE_SANCTIONS_SCREENING,
|
||||
)
|
||||
from govoplan_core.core.views import ViewSurface
|
||||
from govoplan_core.db.base import Base
|
||||
from govoplan_risk_compliance.backend.db.models import (
|
||||
@@ -176,6 +180,14 @@ def _route_factory(_context):
|
||||
return router
|
||||
|
||||
|
||||
def _sanctions_screening_provider(_context):
|
||||
from govoplan_risk_compliance.backend.capabilities import (
|
||||
RiskComplianceSanctionsScreeningProvider,
|
||||
)
|
||||
|
||||
return RiskComplianceSanctionsScreeningProvider()
|
||||
|
||||
|
||||
def _tenant_summary(session, tenant_id: str) -> dict[str, int]:
|
||||
return {
|
||||
"risk_sanctions_list_snapshots": (
|
||||
@@ -262,6 +274,12 @@ manifest = ModuleManifest(
|
||||
CAPABILITY_AUTH_PRINCIPAL_RESOLVER,
|
||||
CAPABILITY_AUTH_PERMISSION_EVALUATOR,
|
||||
),
|
||||
provides_interfaces=(
|
||||
ModuleInterfaceProvider(
|
||||
name="risk_compliance.sanctions_screening",
|
||||
version="1.0.0",
|
||||
),
|
||||
),
|
||||
requires_interfaces=(
|
||||
ModuleInterfaceRequirement(
|
||||
name="connectors.sanctions_snapshots",
|
||||
@@ -273,6 +291,11 @@ manifest = ModuleManifest(
|
||||
permissions=PERMISSIONS,
|
||||
role_templates=ROLE_TEMPLATES,
|
||||
route_factory=_route_factory,
|
||||
capability_factories={
|
||||
CAPABILITY_RISK_COMPLIANCE_SANCTIONS_SCREENING: (
|
||||
_sanctions_screening_provider
|
||||
),
|
||||
},
|
||||
frontend=FrontendModule(
|
||||
module_id=MODULE_ID,
|
||||
package_name="@govoplan/risk-compliance-webui",
|
||||
|
||||
Reference in New Issue
Block a user