Schulcloud-Verbund-Software-Server
Find the NestJS applications documentation of this repository at GitHub pages. It contains information about
Based on NestJS
This is legacy part of the application!
In order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.
Root-Express-App
├─ api/v1/ --> Feathers-App
├─ api/v3/ --> NestJS-App
This ensures that each application can run its own middleware stack for authentication, error handling, logging etc.
The mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news
will translate to the inner path /news
. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /
.
However note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news
has to be provided as the external path /api/v3/news
.
It is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:
/
- for internal calls/api
- for external callsWhen these paths are accessed an error with context [DEPRECATED-PATH]
is logged.
The whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.
For more details how to set up Visual Studio Code, read this document.
feature/SC-999-fantasy-problem
WIP
label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP
label. Reviewers will be added automatically.Default branch: main
git pull