etherpad-lite/src/node
John McLear dbcfb39027 fix(admin): gate /admin/openapi.json behind a feature flag (#7693)
Address Qodo finding 1: new features must ship behind a flag, disabled
by default (CONTRIBUTING.md, AGENTS.MD, best_practices.md). Adds
settings.adminOpenAPI.enabled (default false). expressPreSession
returns early when the flag is off, so the route is dormant on a fresh
install.

The codegen pipeline imports generateAdminDefinition() in-process and
does not depend on the runtime route, so default-off has no effect on
the typed client. Operators who want third-party tooling (Postman,
swagger-ui, downstream clients) to consume the spec at runtime opt in
via settings.

Adds:
- SettingsType + defaults entry in src/node/utils/Settings.ts
- settings.json.template documentation
- A backend spec asserting expressPreSession is a no-op when the flag
  is off (live route test now sets the flag explicitly)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:32:35 +01:00
..
db feat(gdpr): author erasure (PR5 of #6701) (#7550) 2026-05-03 12:30:49 +01:00
eejs chore: migrated settings to esm6 (#7062) 2025-08-04 22:42:50 +02:00
handler fix(socketio): don't kick authenticated duplicate-author sessions (#7656) (#7678) 2026-05-06 20:08:36 +02:00
hooks fix(admin): gate /admin/openapi.json behind a feature flag (#7693) 2026-05-08 16:32:35 +01:00
security Enforce 2-space indentation across codebase (#7426) 2026-04-01 19:48:45 +01:00
types feat(admin): surface ep.json disables in /admin plugin browser (#7649) 2026-05-02 10:29:25 +01:00
updater feat(updater): tier 1 — notify admin and pad users of available updates (#7601) 2026-05-01 20:02:12 +08:00
utils fix(admin): gate /admin/openapi.json behind a feature flag (#7693) 2026-05-08 16:32:35 +01:00
metrics.ts chore: added prometheus support in Etherpad 2025-08-25 20:34:29 +02:00
padaccess.ts feat: make cookie names configurable with prefix setting (#7450) 2026-04-05 01:58:29 +01:00
prometheus.ts fix prometheus metric and add total users and active pad count (#7179) 2025-10-19 17:27:21 +02:00
README.md Added typescript to etherpad 2024-02-05 21:13:02 +01:00
server.ts chore: removed axios (#7685) 2026-05-06 22:06:04 +02:00
stats.ts Added typescript to etherpad 2024-02-05 21:13:02 +01:00

About the folder structure

  • db - all modules that are accessing the data structure and are communicating directly to the database
  • handler - all modules that respond directly to requests/messages of the browser
  • utils - helper modules

Module name conventions

Module file names start with a capital letter and uses camelCase

Where does it start?

server.ts is started directly