REST Service for POPCORN - ILIAS
alex
2025-06-12 cc3b64e328b6b5c4290f82081257da6ba5f3dff9
README.md
@@ -12,6 +12,12 @@
## Setup
### Env und Settings
Als Erstes wird die ENV Variable "NODE_ENV" gebraucht. Diese muss gesetzt sein.
Je nach ENV (dev, test, prod, ...) muss dann auch die settings Datei angepasst werden.
### Service
Der REST-Service an sich muss auf dem gleichen Rechner laufen auf dem auch die ILIAS DB läuft (ansonsten die Config anpassen).
@@ -28,4 +34,62 @@
Apache muss als Proxy für globus-ilias-rest fungieren und Verbindungen an diesen weiterreichen.
todo
__ACHTUNG__
Der Service __muss__ unter https laufen. Ansonsten kann das AUTH-TOKEN ausgelesen werden.
#### MOds aktivieren
    a2enmod proxy
    a2enmod proxy_http
#### Apache Config anpassen
z.B. unter `/etc/apache2/sites-available/globusfm-dev2.minervis.com.conf`
    # Proxy all requests to /popcorn/... to the globus-ilias-rest service
    ProxyPreserveHost On
    ProxyPass /popcorn http://localhost:4101
    ProxyPassReverse /popcorn http://localhost:4101
_testen_
    https://globusfm-dev2.minervis.com/popcorn/users?token=AUTHTOKEN
## Usage
Es wird ein Auth-Token gebraucht um den Service zu benutzen. Dieses wird in settings.js definiert.
Dann kann der Service angesprochen werden (test mit curl):
    curl localhost:4101/users?token=AUTHTOKEN
Die Antwort prettyfeien:
    curl localhost:4101/users?token=AUTHTOKEN | jq .
### globusfm-dev2
Kann zugegriffen werden über
    https://globusfm-dev2.minervis.com/popcorn/users?token=$TOKEN
## Routes
Verfügbare Routen sind:
    GET /users
    GET /users/count
    GET /user/login/:login
    GET /user/userId/:userId
    GET /kurs
    GET /kurs/items/:ref_id
    GET /kurs/teilnehmer/:ref_id
    GET /kurs/teilnehmer/:ref_id/count