Skip to content

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

Open
gibson9583 wants to merge 2 commits into
OpenIntegrationEngine:mainfrom
gibson9583:feat/web-support
Open

feat: Add Endpoints Required to Support a Web Administrator (#335)#336
gibson9583 wants to merge 2 commits 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

  112 files  +1    216 suites  +2   6m 58s ⏱️ + 1m 10s
  654 tests +3    654 ✅ +3  0 💤 ±0  0 ❌ ±0 
1 308 runs  +6  1 308 ✅ +6  0 💤 ±0  0 ❌ ±0 

Results for commit f7b057d. ± Comparison against base commit d4d1122.

♻️ This comment has been updated with latest results.

Not need - this just uses JS Beautify

Signed-off-by: gibson9583 <cgibson@outlook.com>
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