# Globus-ILIAS-Rest REST Service für POPCORN -> ILIAS. Stellt in ILIAS-SOAP fehlende Funktionen bereit für POPCORN (GS-2101). ## Voraussetzungen - node >= v22 - pm2 ## 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). node app.js bzw. bei Nutzung von pm2 (empfohlen) pm2 start app.js --name globus-ilias-rest pm2 save ### Apache Config Apache muss als Proxy für globus-ilias-rest fungieren und Verbindungen an diesen weiterreichen. __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` ProxyPreserveHost On ProxyPass /popcorn http://localhost:4101 ProxyPassReverse / 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 . ### Routes Verfügbare Routen sind: GET /users GET /users/count GET /user/login/:login GET /user/userId/:userId