Commit Graph

125 Commits

Author SHA1 Message Date
Jonas L e97b06496a
feat(api): don't use hyperlinked serializers (#1984) 2022-07-27 09:54:57 +02:00
Jonas L 57d1f3a953
fix(api): update set_icecast_passwords StreamSetting fields (#2001) 2022-07-26 23:24:13 +02:00
Jonas L 951dc68394
feat(api): cast StreamSetting raw_value to value (#1991) 2022-07-26 14:16:34 +02:00
Jonas L 04c0b11901
test(api): create api_client pytest fixture (#1990) 2022-07-25 21:21:21 +02:00
Jonas L f08af1f3fa
feat(api): don't use trailing slashes (#1982) 2022-07-22 17:34:09 +02:00
jo 10613cb20a chore(api): fix schema enum names 2022-07-19 19:52:54 +02:00
jo 1f7c2fa0ab chore(api): document version endpoint 2022-07-19 19:52:54 +02:00
jo 0e3ede5a1a chore(api): route using urls
Allow to register function views in the same app instead of globaly.
2022-07-19 19:52:54 +02:00
jo 33e5e8ada3 chore(api): fix overbooked property type hint 2022-07-19 19:52:54 +02:00
jo 57046e2a9d chore(api): rename schedule models fields 2022-07-18 00:04:54 +02:00
jo 8ceb1419a0 chore(api): rename show models fields 2022-07-18 00:04:54 +02:00
jo 4d037bb624 chore(api): rename smart_block models fields 2022-07-18 00:04:54 +02:00
jo 4bcc34212c chore(api): rename webstream models fields 2022-07-18 00:04:54 +02:00
jo 1c48f11af2 chore(api): rename playlist models fields 2022-07-18 00:04:54 +02:00
jo a8cb62586e feat: remove unused cc_country table 2022-07-12 11:33:22 +02:00
jo de21e3175a fix: use track_type_id in smartblock criteria
Missing migration step from db976881f0

Fixes #1957
2022-07-12 11:32:26 +02:00
jo f39c079296 feat: set default locale to en_US 2022-07-08 13:11:32 +02:00
jo 3442376b08 chore: clean default data.sql 2022-07-08 13:11:32 +02:00
Jonas L d323657047
fix: prevent data loose on track_types_id migration (#1949) 2022-07-07 23:35:27 +02:00
jo db976881f0 fix: use constrained foreign key for files track_type 2022-07-07 21:07:41 +02:00
Jonas L 703a8e5856
chore: remove cloud storage remainings (#1934) 2022-07-04 22:09:14 +02:00
Jonas L 2ce1053bbc
chore(api): rename library model visibility field (#1933) 2022-07-01 19:13:31 +02:00
jo f2e947f05f chore(api): rename file model fields
- Removed checksum field
- Removed ftype field
- Removed silan_check field
2022-06-29 13:51:07 +02:00
jo 05ca410453 feat(api): rename track type to library
Related to #1922

- rename library model fields
2022-06-29 13:51:07 +02:00
jo 7503618599 test(api): fix lint errors 2022-06-29 06:04:31 +02:00
jo 0a1406bf48 chore(api): fix import-outside-toplevel lint error 2022-06-29 06:04:31 +02:00
jo 70a31338f7 feat(api): create bulk_import command
- filter by allowed_extensions
2022-06-28 19:05:14 +02:00
jo 7e01591fae style(api): reorder user models fields args 2022-06-27 19:02:12 +02:00
jo a11cda0ae4 style(api): reorder preference model fields args 2022-06-27 19:02:12 +02:00
jo 654314cb1b chore(api): rename country model fields 2022-06-27 19:02:12 +02:00
jo e730959e9f chore(api): rename editor role to host 2022-06-27 19:02:12 +02:00
jo 4009e7eeb6 chore(api): use fully qualified model names 2022-06-27 19:02:12 +02:00
jo 86b7a34263 chore(api): fix linting errors 2022-06-26 16:13:47 +02:00
Jonas L 04fbcc5f36
feat(api): rename podcasts models fields (#1910) 2022-06-22 16:42:09 +02:00
Jonas L 9c042c881a
feat: remove unused cc_perms table (#1909) 2022-06-22 16:32:39 +02:00
Jonas L a7c45fb0e1
fix(api): cascade when dropping table (#1908)
This is supposed to work without it, but this is to be safe.
2022-06-22 16:08:05 +02:00
Jonas L 4837a1885d
feat: remove unused cc_sess table (#1907) 2022-06-22 15:15:31 +02:00
jo ec8c18097d chore(api): fix some linting errors 2022-06-22 13:37:17 +02:00
jo 1e83a91b5e chore(api): use named argument for on_delete 2022-06-22 13:37:17 +02:00
jo 7ff59e272c chore(api): disable some linting rule 2022-06-22 13:37:17 +02:00
Jonas L cbfd9e51fd
fix(api): update model fields in set_icecast_passwords (#1903) 2022-06-22 08:35:26 +02:00
Jonas L dc426f0aa5
feat(api): rename user model fields (#1902) 2022-06-21 23:43:03 +02:00
jo 28c4989d44 chore(api): update StreamSetting model 2022-06-21 16:53:25 +02:00
jo 6bae0e2846 chore(api): update Preference model 2022-06-21 16:53:25 +02:00
Jonas L b9895d19e2
chore(api): move podcasts in dedicated app (#1899) 2022-06-21 14:40:21 +02:00
jo 71cfab79ef feat: rename default stream mount point to main
This will not change the default mount point if you are upgrading.

BREAKING: The default stream mount point changed from `airtime_128` to `main`. Be sure to updates your clients accordingly.
2022-06-18 12:08:29 +02:00
jo eef789e4d1 chore(api): rename deprecated filter_fields to filterset_fields 2022-06-18 11:55:02 +02:00
Jonas L 7f926ab6a5
fix(api): allow updating default_icecast_password (#1872)
Correctly implement the Preference.objects.update_or_create function.
2022-06-12 07:52:54 +02:00
jo 3bca92413f fix: drop unused sequences
Drop old campcaster sequences that aren't used anymore.
2022-06-08 23:23:08 +02:00
jo 28b9343c77 fix(legacy): remove not null contraint when using default
This fixes the inital schema creation to match as if the old migrations
were always run.

The third_party_track_references.file_id field should not have a not
null constraint while have a default value to 0.
2022-06-08 23:23:08 +02:00
jo f7bb6e7592 feat: move storage path setting to configuration file
- change default storage path to /srv/libretime
- remove music dirs table
- use /tmp for testing storage
- storage dir should always have a trailing slash
2022-06-08 23:23:08 +02:00
jo 91f8a51a1e feat(api): create set_icecast_passwords command
- allow to fetch icecast password from xml config
- set default stream password
2022-06-08 23:23:08 +02:00
jo 980f1acd0c fix: correct cc_file.artwork column size 2022-06-08 23:23:08 +02:00
jo 6889e11a91 fix: don't add track types only on migration 2022-06-08 23:23:08 +02:00
jo 4be8bde14e feat: drop cc_locale table 2022-06-08 23:23:08 +02:00
jo 0e4bc4cacd feat: replace php migration with django migration
- keep latest legacy version in initial migration file
- move propel schema to api legacy app
- remove legacy upgrade tool
2022-06-08 23:23:08 +02:00
jo aed6d2f294 feat: change config dir path to /etc/libretime
BREAKING: The configuration directory changed from `/etc/airtime` to
`/etc/libretime`. Please rename your configuration directory accordingly.
2022-06-08 23:23:08 +02:00
jo 604ff20239 feat: change config filename to config.yml
BREAKING: The configuration file name changed from `airtime.conf` to
`config.yml`. Please rename your configuration file accordingly.
2022-06-08 23:23:08 +02:00
jo 751d430bcc feat: replace exploded base_* with public_url
Fixes #1574

BREAKING CHANGE: The `general` section in the config schema has changed: the `general.base_*`, `general.protocol` and `general.force_ssl` configuration fields have been replaced with a single `general.public_url` field. Be sure to use a valid url with the new configuration field.
2022-04-25 16:45:01 +02:00
Jonas L 28fc8360a3
fix(api): prevent timing attacke on api key (#1771) 2022-04-17 18:55:18 +02:00
Kyle Robbertze beebe79edd
ci: generate schema and push to api-client repo (#1740)
* chore(api): add schema generation make target

* ci: generate schema and push to api-client repo
2022-04-08 15:38:58 +02:00
jo 0bbd46c33f refactor(api): fix pylint errors 2022-04-04 15:20:22 +02:00
Jonas L fce988aef1
feat(api): split api into multiple apps (#1626)
Fixes #1622

- split the api into 4 apps: core, history, schedule, storage
- exploded the settings into testing/prod
2022-04-04 14:38:50 +02:00
Kyle Robbertze cbcd0abcae
chore(api): add API metadata (#1723) 2022-04-01 15:17:40 +02:00
jo e5d6216e1d feat(api): include id in file/webstream serializers 2022-03-06 15:17:44 +02:00
Jonas L f5bb31e971
fix(api): static_url settings is required in dev mode (#1662) 2022-03-04 15:50:05 +02:00
jo 2dcc654b70 feat(api): load config using shared helpers
- add django settings module documentation
- use default for previously required fields

BREAKING CHANGE: The API command line interface require the
configuration file to be present. The default configuration file path is
`/etc/airtime/airtime.conf`
2022-03-02 22:03:56 +02:00
jo 9af717ef7f feat(api): remove admin app and static files
- remove django admin app,
- disable static files for production deployment,
- keep the rest framework browsable api in dev mode.
2022-03-02 22:03:56 +02:00
Jonas L 3245216869
feat(legacy): add db config defaults and allow custom port (#1559)
* feat(legacy): allow custom port for database connection

- fix heredoc for php72

* update test config db section

* update sample config db section

* update api db config

* use defaults for database config section

* update documentation

* more documentation for migration
2022-02-04 16:03:01 +02:00
jo 32cb67806a chore: add pyupgrade pre-commit hook
- add --py3-plus flag to pyupgrade hook
- add --py36-plus flag to pyupgrade hook
2022-01-27 10:37:48 +02:00
jo bf59f20ffd feat(api): allow to run without log file for dev
BREAKING CHANGE: moved production api log file
from '/var/log/airtime/api.log' to '/var/log/libretime/api.log'
2022-01-17 09:49:22 +02:00
jo 401808d7d1 fix(api): duplicate exception raising and close file 2022-01-17 09:49:22 +02:00
jo ad7686e8a7 feat(api): update env var settings loading
BREAKING CHANGE: environment variables names changed
'LIBRETIME_CONF_DIR' was removed
'LIBRETIME_CONF_FILE' was renamed to 'LIBRETIME_CONFIG_FILEPATH'
2022-01-17 09:49:22 +02:00
jo e84137a8ee chore: fixes after libretime_api rename 2022-01-04 09:18:58 +02:00
jo 6de242db65 chore: rename libretimeapi dir to libretime_api 2022-01-04 09:18:58 +02:00