diff --git a/api/config/schema.py b/api/config/schema.py index bfdeea26f..984ff5569 100644 --- a/api/config/schema.py +++ b/api/config/schema.py @@ -35,8 +35,8 @@ class CustomApplicationTokenExt(OpenApiAuthenticationExtension): def get_security_definition(self, auto_schema): return build_bearer_security_scheme_object( - header_name='Authorization', - token_prefix='Bearer', + header_name="Authorization", + token_prefix="Bearer", ) diff --git a/api/funkwhale_api/audio/models.py b/api/funkwhale_api/audio/models.py index 2ef608c92..9e1f7453d 100644 --- a/api/funkwhale_api/audio/models.py +++ b/api/funkwhale_api/audio/models.py @@ -15,6 +15,7 @@ from funkwhale_api.federation import models as federation_models from funkwhale_api.federation import utils as federation_utils from funkwhale_api.users import models as user_models + def empty_dict(): return {} diff --git a/api/funkwhale_api/federation/utils.py b/api/funkwhale_api/federation/utils.py index 7bbc231a1..3ac206f65 100644 --- a/api/funkwhale_api/federation/utils.py +++ b/api/funkwhale_api/federation/utils.py @@ -141,6 +141,7 @@ def local_qs(queryset, url_field="fid", include=True): query = ~query return queryset.filter(query) + @extend_schema_field(OpenApiTypes.BOOL) def is_local(url): if not url: diff --git a/api/funkwhale_api/manage/serializers.py b/api/funkwhale_api/manage/serializers.py index 882fdb114..4e2216922 100644 --- a/api/funkwhale_api/manage/serializers.py +++ b/api/funkwhale_api/manage/serializers.py @@ -429,7 +429,7 @@ class ManageArtistSerializer( def get_albums_count(self, obj): return getattr(obj, "_albums_count", None) - @extend_schema_field({'type': 'array', 'items': {'type': 'string'}}) + @extend_schema_field({"type": "array", "items": {"type": "string"}}) def get_tags(self, obj): tagged_items = getattr(obj, "_prefetched_tagged_items", []) return [ti.tag.name for ti in tagged_items] @@ -464,7 +464,7 @@ class ManageAlbumSerializer( def get_tracks_count(self, o): return len(o.tracks.all()) - @extend_schema_field({'type': 'array', 'items': {'type': 'string'}}) + @extend_schema_field({"type": "array", "items": {"type": "string"}}) def get_tags(self, obj): tagged_items = getattr(obj, "_prefetched_tagged_items", []) return [ti.tag.name for ti in tagged_items] @@ -503,7 +503,7 @@ class ManageTrackSerializer( def get_uploads_count(self, obj): return getattr(obj, "uploads_count", None) - @extend_schema_field({'type': 'array', 'items': {'type': 'string'}}) + @extend_schema_field({"type": "array", "items": {"type": "string"}}) def get_tags(self, obj): tagged_items = getattr(obj, "_prefetched_tagged_items", []) return [ti.tag.name for ti in tagged_items] diff --git a/api/funkwhale_api/music/serializers.py b/api/funkwhale_api/music/serializers.py index 944d5801b..eb106bcac 100644 --- a/api/funkwhale_api/music/serializers.py +++ b/api/funkwhale_api/music/serializers.py @@ -41,6 +41,7 @@ class CoverField(common_serializers.AttachmentSerializer): cover_field = CoverField() + @extend_schema_field(OpenApiTypes.OBJECT) def serialize_attributed_to(self, obj): # Import at runtime to avoid a circular import issue @@ -132,7 +133,7 @@ class ArtistWithAlbumsSerializer(OptionalDescriptionMixin, serializers.Serialize is_local = serializers.BooleanField() cover = cover_field - @extend_schema_field({'type': 'array', 'items': {'type': 'string'}}) + @extend_schema_field({"type": "array", "items": {"type": "string"}}) def get_tags(self, obj): tagged_items = getattr(obj, "_prefetched_tagged_items", []) return [ti.tag.name for ti in tagged_items] @@ -231,7 +232,7 @@ class AlbumSerializer(OptionalDescriptionMixin, serializers.Serializer): except AttributeError: return None - @extend_schema_field({'type': 'array', 'items': {'type': 'string'}}) + @extend_schema_field({"type": "array", "items": {"type": "string"}}) def get_tags(self, obj): tagged_items = getattr(obj, "_prefetched_tagged_items", []) return [ti.tag.name for ti in tagged_items] @@ -269,6 +270,7 @@ class TrackAlbumSerializer(serializers.ModelSerializer): "tracks_count", ) + @extend_schema_field(OpenApiTypes.OBJECT) def serialize_upload(upload): return { @@ -327,7 +329,7 @@ class TrackSerializer(OptionalDescriptionMixin, serializers.Serializer): def get_listen_url(self, obj): return obj.listen_url - @extend_schema_field({'type': 'array', 'items': {'type': 'object'}}) + @extend_schema_field({"type": "array", "items": {"type": "object"}}) def get_uploads(self, obj): uploads = getattr(obj, "playable_uploads", []) # we put local uploads first @@ -335,7 +337,7 @@ class TrackSerializer(OptionalDescriptionMixin, serializers.Serializer): uploads = sorted(uploads, key=lambda u: u["is_local"], reverse=True) return list(uploads) - @extend_schema_field({'type': 'array', 'items': {'type': 'str'}}) + @extend_schema_field({"type": "array", "items": {"type": "str"}}) def get_tags(self, obj): tagged_items = getattr(obj, "_prefetched_tagged_items", []) return [ti.tag.name for ti in tagged_items] diff --git a/api/funkwhale_api/playlists/serializers.py b/api/funkwhale_api/playlists/serializers.py index e75fbec2b..b331da04b 100644 --- a/api/funkwhale_api/playlists/serializers.py +++ b/api/funkwhale_api/playlists/serializers.py @@ -78,7 +78,7 @@ class PlaylistSerializer(serializers.ModelSerializer): # no annotation? return 0 - @extend_schema_field({'type': 'array', 'items': {'type': 'uri'}}) + @extend_schema_field({"type": "array", "items": {"type": "uri"}}) def get_album_covers(self, obj): try: plts = obj.plts_for_cover diff --git a/api/funkwhale_api/users/models.py b/api/funkwhale_api/users/models.py index 3b4c41796..d07d2ae1c 100644 --- a/api/funkwhale_api/users/models.py +++ b/api/funkwhale_api/users/models.py @@ -29,6 +29,7 @@ from funkwhale_api.federation import keys from funkwhale_api.federation import models as federation_models from funkwhale_api.federation import utils as federation_utils + def get_token(length=5): wordlist_path = os.path.join( os.path.dirname(os.path.abspath(__file__)), "wordlist.txt"