chore(api): update README

This commit is contained in:
jo 2022-06-28 21:24:02 +02:00 committed by Kyle Robbertze
parent 0104799b59
commit d946497336
1 changed files with 44 additions and 16 deletions

View File

@ -1,7 +1,6 @@
# LibreTime API
This API provides access to LibreTime's database via a Django application. This
API supersedes the [PHP API](../legacy/application/controllers/ApiController.php).
This API provides access to LibreTime's database via a Django application.
## Deploying
@ -11,34 +10,63 @@ development images too. This method does not automatically reflect changes to
this API. After any changes, the `libretime-api` systemd service needs
restarting:
sudo systemctl restart libretime-api
```bash
sudo systemctl restart libretime-api
```
Connections to the API are proxied through the Apache web server by default.
Endpoint exploration and documentation is available from
`http://example.com/api/v2/schema/swagger-ui/`, where `example.com` is the URL
for the LibreTime instance.
### Development
## Development
For a live reloading version within Vagrant:
For development, you can install all required dependencies and loading the environment using the following command:
```bash
make install
source .venv/bin/activate
```
vagrant up buster
# Run through the web setup http://localhost:8080
vagrant ssh buster
sudo systemctl stop libretime-api
sudo systemctl restart libretime-analyzer libretime-celery libretime-liquidsoap libretime-playout
You should be able to lint or format the code or run api commands:
```bash
make format
make lint
libretime-api help
```
In order to work with the database and message queue, you need to start the docker based
development stack present at the project root:
```bash
pushd ..
docker-compose up -d
popd
```
You can now run the api tests:
```bash
make test
```
### Inside Vagrant
You can develop the api using a live reloading version within Vagrant:
```bash
vagrant up bullseye
vagrant ssh bullseye
cd /vagrant/api
sudo pip3 install -e .
sudo systemctl stop libretime-api
sudo -u www-data LIBRETIME_DEBUG=True libretime-api runserver 0.0.0.0:8081
```
Unit tests can be run in the vagrant environment using
```
sudo -u www-data LIBRETIME_DEBUG=True libretime-api test libretime_api
```
## 3rd Party Licences
`libretime_api/tests/resources/song.mp3`: Steps - Tears On The Dancefloor (Album