Service Layer high complexity backend
1
Dependencies
2
Dependents
1
Entities
0
Integrations

Description

Backend service that persists and manages external portal configuration per organization. Handles OAuth credential encryption at rest, test-connection requests to the declared endpoint, and exposes a capability boundary read endpoint consumed during session bootstrap so clients know which features are delegated to the external portal.

Feature: External Portal Integration

portal-integration-service

Sources & reasoning

A dedicated service layer is required to encapsulate credential encryption, test-connection logic, and role-gated access. The implementation notes call out encryption at rest and no-plaintext-return as hard constraints that belong in service logic, not the UI layer.

No source references — this artifact was included based on reasoning alone (see above).

Responsibilities

  • Create, update, and delete external portal config records scoped to an organization
  • Encrypt OAuth client credentials before persistence; never return secrets in plaintext
  • Execute test-connection HTTP probe against the declared portal URL and return status
  • Expose capability boundary map as part of organization bootstrap response
  • Enforce role-based access control - only Org Admins and Global Admins may read or write

Interfaces

getPortalConfig(orgId)
upsertPortalConfig(orgId, payload)
deletePortalConfig(orgId)
testConnection(orgId)
getCapabilityBoundaries(orgId)
updateCapabilityBoundaries(orgId, boundaries)

Relationships

Dependencies (1)

Components this component depends on

Dependents (2)

Components that depend on this component

Related Data Entities (1)

Data entities managed by this component