Jonas L
959c0378d6
fix: remove systemd ProtectHome feature ( #2243 )
...
Fix #2242
2022-10-19 12:27:02 +02:00
Jonas L
cff98f2d23
feat(legacy): remove db allowed_cors_origins preference ( #2095 )
...
- Remove after deprecation in eb8e7b3415
2022-10-11 13:38:31 +02:00
jo
e54c8d22e1
feat: delete cc_pref stream preferences rows
...
- Delete the previously deprecated cc_pref stream preferences rows.
2022-10-11 11:32:51 +02:00
jo
8a6b5907be
feat: drop cc_stream_setting table
...
- Remove the previously deprecated cc_stream_setting table.
2022-10-11 11:32:51 +02:00
jo
3d124eba7e
fix(api): allow single digit version for legacy schema
2022-10-11 11:32:51 +02:00
jo
ea8131ec43
feat: drop Python 3.7 support
2022-10-10 23:49:10 +02:00
renovate[bot]
b585111938
chore(deps): update dependency django-filter to v22 ( #2225 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-10 21:44:29 +02:00
jo
7d514a9306
chore: list distribution releases by release date
...
Old releases should be popped from the left/top and new releases should be added to the right/bottom of any distro release list.
2022-10-10 20:11:33 +02:00
jo
5eda6093f4
feat: drop Debian Buster support
...
Fixes #2036
2022-10-10 20:11:33 +02:00
jo
d29d837d01
feat: drop Python 3.6 support
2022-10-10 20:11:33 +02:00
jo
448cff7600
feat: drop Ubuntu Bionic support
...
Fixes #2035
2022-10-10 20:11:33 +02:00
Jonas L
96ded62c32
chore: release 3.0.0 ( #2216 )
2022-10-10 17:51:15 +02:00
jo
04490676f6
chore: release 3.0.0-beta.2
2022-10-03 12:43:38 +02:00
Jonas L
c9bc3a1298
feat: extra systemd service hardening ( #2197 )
2022-09-27 13:17:43 +02:00
Jonas L
4c18cf5ef2
feat: systemd service hardening ( #2186 )
2022-09-27 11:51:17 +02:00
jo
ddae3202cc
chore: release 3.0.0-beta.1
2022-09-23 13:41:14 +02:00
renovate[bot]
69aadd66ea
chore(deps): update dependency djangorestframework to >=3.12.1,<3.15 ( #2177 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-22 15:23:57 +02:00
jo
bdc2e92454
chore: release 3.0.0-beta.0
2022-09-16 16:32:00 +02:00
jo
10a60d3673
chore: bump legacy schema version
2022-09-15 17:11:01 +02:00
jo
882f8e04c6
chore(api): rename legacy migration files
2022-09-15 17:11:01 +02:00
renovate[bot]
a389b35298
chore(deps): update dependency drf-spectacular to >=0.22.1,<0.25
2022-09-14 16:10:05 +02:00
Jonas L
9b3207b8a4
feat: move timezone preference to config file ( #2096 )
...
BREAKING CHANGE: The timezone preference moved to the configuration
file.
2022-09-14 12:48:08 +02:00
renovate[bot]
c58ba2e5da
chore(deps): update dependency drf-spectacular to >=0.22.1,<0.24
2022-09-12 12:18:30 +02:00
jo
2afb766b41
chore: outdated python packages versions
2022-09-12 10:48:43 +02:00
Jonas L
35476f9d6d
feat(api): move /api-auth to /api/browser ( #2094 )
2022-09-06 21:30:43 +02:00
Jonas L
ef1de34111
fix(playout): missing live show events ( #2087 )
2022-09-06 14:09:04 +02:00
jo
12d2d4b15a
feat(api): add /info and /stream/* endpoints
2022-09-06 13:21:54 +02:00
jo
5bf62dd9cb
feat(legacy): read stream config from file
...
- We don't delete the stream preferences from the database to prevent data loss. This will be handled in a future release.
2022-09-06 13:21:54 +02:00
jo
65d3552fc7
feat: remove cc_stream_setting models
...
- We don't drop the cc_stream_setting table from the database to prevent data loss. This will be handled in a future release.
2022-09-06 13:21:54 +02:00
jo
2a74649882
feat(api): remove set passwords command
2022-09-06 13:21:54 +02:00
jo
c244cc812d
fix(api): install gunicorn from pip for bionic
...
Fixes #2077
2022-09-01 19:17:33 +02:00
jo
cfcfcc82e4
chore: revert pin setuptools to <64.0.0 for build backend
...
This reverts commit 2bde574487
.
2022-08-25 09:51:36 +02:00
Jonas L
1147853c63
feat(shared): pass config data via init ( #2042 )
2022-08-12 15:12:39 +02:00
jo
2bde574487
chore: pin setuptools to <64.0.0 for build backend
2022-08-11 22:16:00 +02:00
Jonas L
7082c9693d
test(api): conftest at top level for global fixture access ( #2038 )
2022-08-10 12:36:56 +02:00
jo
406d42323a
feat: move stream stats status to pref table
2022-08-07 08:50:06 +02:00
jo
2b533d4724
feat: move stream liquisoap status to pref table
2022-08-07 08:50:06 +02:00
Jonas L
6c59ff588b
feat: move off_air_meta stream setting to pref table ( #2023 )
2022-08-06 19:18:40 +02:00
Jonas L
8a1fffe496
chore(api): add pytest-django settings module config ( #2006 )
2022-07-27 18:11:50 +02:00
jo
22868ce158
chore: remove chdir in setup.py files
2022-07-27 15:35:57 +02:00
jo
b93e1e5570
chore: install local python deps in editable mode
2022-07-27 15:35:57 +02:00
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
2b973b2695
chore(api): don't scan tests files with bandit ( #1989 )
2022-07-25 21:20:45 +02:00
Jonas L
6dfd4dd086
test(api): always print logs while testing ( #1988 )
2022-07-25 21:20:18 +02:00
Jonas L
77f5c9951e
chore: improve setuptools find_packages ( #1985 )
2022-07-25 21:19:41 +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
7c613d9176
test(api): ignore mypy missing imports
2022-07-18 00:04:54 +02:00
jo
81e1de4fbd
chore(api): disable fixme warnings
2022-07-18 00:04:54 +02:00
jo
80218f33eb
chore: rewrite extract-requirements to python
...
Using python ast to guess requirements in the setup.py file.
2022-07-17 21:25:37 +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
jo
c7c5bad46c
chore(api): widen dependencies ranges
...
- https://packages.debian.org/bullseye-backports/python3-django
- https://packages.debian.org/bullseye/python3-django-filters
- https://packages.debian.org/bullseye/python3-djangorestframework
- https://packages.debian.org/bullseye/python3-psycopg2
2022-07-07 12:37:33 +02:00
jo
6c82e37fac
chore(api): remove deprecated coreapi dependency
...
https://www.django-rest-framework.org/community/3.10-announcement/#openapi-schema-generation
2022-07-07 12:37:33 +02:00
jo
6d7510afee
chore(api): remove markdown package
2022-07-07 12:37:33 +02:00
jo
7c26020c80
feat(api): use uvicorn as asgi server with gunicorn
2022-07-07 10:51:07 +02:00
jo
1cb03c35d2
feat(api): listen on unix socket with gunicorn
2022-07-07 10:51:07 +02:00
jo
2f205544c2
feat: use dedicated 'libretime' user
...
BREAKING CHANGE: The default `www-data` user has been replaced by a dedicated `libretime` user to run the services. Be sure to change the ownership of the libretime files.
2022-07-07 10:51:07 +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
07f6c0b0f2
test(api): ignore tests file coverage
2022-06-30 13:24:05 +02:00
jo
26a2c2dda0
chore: update python tests target
2022-06-30 13:24:05 +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
e5cb21c0e2
chore(api): add make schema-foreach-commit command
2022-06-29 13:51:07 +02:00
jo
d946497336
chore(api): update README
2022-06-29 06:04:31 +02:00
jo
0104799b59
ci(api): fail job on linting error
2022-06-29 06:04:31 +02:00
jo
ac66441278
test(api): disable too-many-arguments lint error
2022-06-29 06:04:31 +02:00
jo
7503618599
test(api): fix lint errors
2022-06-29 06:04:31 +02:00
jo
6cc20013ef
test(api): disable too-few-public-methods lint error
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
6ac52ead3e
test(api): allow f string format for logging
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
b10696265f
ci: check and dispatch api schema changes
...
- check if api schema is outdated
- do not cancel in progress workflow
Since this workflow commit to an external repo, it might squash multiple changes into a single commit.
- dispatch each schema update to client repo
- cache pip dependencies
2022-06-18 12:13:11 +02:00
jo
08bcaf459c
chore(api): add openapi schema
2022-06-18 12:13:11 +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
7457a29e7f
chore(api): pin django related packages
2022-06-18 11:55:02 +02:00
jo
9babb0c4f0
chore(api): pin/downgrade django-filter to ~=21.1.0
2022-06-18 11:55:02 +02:00
jo
14b716d366
chore(api): pin/upgrade django to ~=3.2.13
2022-06-18 11:55:02 +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
Jonas L
9d0c098684
test(api): use pytest to run api tests ( #1645 )
2022-06-09 16:26:47 +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
df5ac70769
fix(api): missing build-essential to build psycopg2
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
510e978952
feat: add systemd libretime.target
...
- add wanted by
- instantly start services in vagrant
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
ee98387264
feat(installer): rewrite install script
...
- remove unused root packages.ini
- write config to yaml file
- allow to set public_url during install
- force icecast start right after package install
- move config file in place at the end of installation
BREAKING CHANGE: The bash installer has been rewritten, the flags and
options changed, please run `./install --help` to get more details.
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
3d7083f602
chore(api): format schema using prettier
2022-04-26 08:10:39 +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
41df76eed0
feat(api): replace uwsgi with gunicorn ( #1785 )
...
Related to #1719
BREAKING: The uwsgi packages and configuration files (`/etc/airtime/libretime-api.ini`) should be removed from the system.
2022-04-25 16:09:19 +02:00
Jonas L
dc92661c49
chore(api): move uswgi config in api/install ( #1781 )
2022-04-21 07:14:35 +02:00
Jonas L
28fc8360a3
fix(api): prevent timing attacke on api key ( #1771 )
2022-04-17 18:55:18 +02:00
Jonas L
9d5de61241
chore(api): add mypy django stubs plugins ( #1726 )
2022-04-09 12:18:23 +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
jo
bf8db3e6f0
chore(api): add pylint-django plugin
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
Jonas L
8c96c0a094
feat: remove unused python3-venv package ( #1728 )
2022-04-02 05:41:43 +02:00
Kyle Robbertze
cbcd0abcae
chore(api): add API metadata ( #1723 )
2022-04-01 15:17:40 +02:00
Jonas L
7e9c9a2792
chore: rename vagrant devices ( #1716 )
2022-03-29 14:25:34 +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
jo
4da8d8c06b
fix(api): model_bakery is a dev dependency
2022-03-02 22:03:56 +02:00
Jonas L
d55e58e416
chore: auto generate requirements.txt ( #1651 )
...
- force LC_ALL for the sort command
2022-02-28 20:02:01 +02:00
Jonas L
98cea4dcd2
feat(api): improve uwsgi systemd integration ( #1614 )
2022-02-19 09:03:25 +02:00
jo
924b7f8f46
test(api): add bandit linter check
2022-02-14 21:01:35 +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