Skip to content

feat: Add Endpoints Required to Support a Web Administrator (#335)#336

Open
gibson9583 wants to merge 1 commit into
OpenIntegrationEngine:mainfrom
gibson9583:feat/web-support
Open

feat: Add Endpoints Required to Support a Web Administrator (#335)#336
gibson9583 wants to merge 1 commit into
OpenIntegrationEngine:mainfrom
gibson9583:feat/web-support

Conversation

@gibson9583

Copy link
Copy Markdown
Contributor

Add engine REST support so a standalone web administrator can run fully against the engine by serving plugin UIs, exact serialization, and script tooling with no local JVM sidecar or shared filesystem.

Endpoints (all session-authed, no extra permission, auditable=false):

  • GET /api/webplugins — enabled extensions that ship a webadmin/ UI
  • GET /api/webplugins/{extensionPath}/{file} — serve an extension's webadmin/ assets
  • POST /api/javascript/_validate — validate JS (Rhino compiler)
  • POST /api/javascript/_prettyPrint — format JS (Rhino-AST formatter)
  • POST /api/datatypes/_serialize — serialize a message via a data type (message trees)

Supporting changes:

  • RequestedWithFilter: exempt read-only GET /api/webplugins/* from the X-Requested-With CSRF requirement (browser module/script loads can't set headers).
  • DataTypeServerPlugin: add getVocabulary(version, type); override in HL7v2, EDI, NCPDP, and DICOM so /api/datatypes/_serialize returns element descriptions.

New servlets auto-register via the existing package scan. No wiring changes.

Add engine REST support so the standalone web administrator can run fully
against the engine — serving plugin UIs, exact serialization, and script
tooling — with no local JVM sidecar or shared filesystem.

Endpoints (all session-authed, no extra permission, auditable=false):
- GET  /api/webplugins                          — enabled extensions that ship a webadmin/ UI
- GET  /api/webplugins/{extensionPath}/{file}   — serve an extension's webadmin/ assets
- POST /api/javascript/_validate                — validate JS (Rhino compiler)
- POST /api/javascript/_prettyPrint             — format JS (Rhino-AST formatter)
- POST /api/datatypes/_serialize                — serialize a message via a data type (message trees)

Supporting changes:
- RequestedWithFilter: exempt read-only GET /api/webplugins/* from the
  X-Requested-With CSRF requirement (browser module/script loads can't set headers).
- DataTypeServerPlugin: add getVocabulary(version, type); override in HL7v2, EDI,
  NCPDP, and DICOM so /api/datatypes/_serialize returns element descriptions.

New servlets auto-register via the existing package scan; no wiring changes.

Signed-off-by: gibson9583 <cgibson@outlook.com>
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Test Results

  111 files  ±0    214 suites  ±0   7m 9s ⏱️ + 1m 21s
  651 tests ±0    651 ✅ ±0  0 💤 ±0  0 ❌ ±0 
1 302 runs  ±0  1 302 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 0eb2d69. ± Comparison against base commit d4d1122.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant