fix(schema):add subscriptions_count in channel
This commit is contained in:
		
							parent
							
								
									0b2e457052
								
							
						
					
					
						commit
						f9d9376aa4
					
				|  | @ -263,6 +263,7 @@ class ChannelSerializer(serializers.ModelSerializer): | |||
|     attributed_to = federation_serializers.APIActorSerializer() | ||||
|     rss_url = serializers.CharField(source="get_rss_url") | ||||
|     url = serializers.SerializerMethodField() | ||||
|     subscriptions_count = serializers.SerializerMethodField() | ||||
| 
 | ||||
|     class Meta: | ||||
|         model = models.Channel | ||||
|  | @ -276,6 +277,7 @@ class ChannelSerializer(serializers.ModelSerializer): | |||
|             "rss_url", | ||||
|             "url", | ||||
|             "downloads_count", | ||||
|             "subscriptions_count", | ||||
|         ] | ||||
| 
 | ||||
|     def to_representation(self, obj): | ||||
|  | @ -284,6 +286,7 @@ class ChannelSerializer(serializers.ModelSerializer): | |||
|             data["subscriptions_count"] = self.get_subscriptions_count(obj) | ||||
|         return data | ||||
| 
 | ||||
|     @extend_schema_field(OpenApiTypes.INT) | ||||
|     def get_subscriptions_count(self, obj) -> int: | ||||
|         return obj.actor.received_follows.exclude(approved=False).count() | ||||
| 
 | ||||
|  |  | |||
|  | @ -20288,12 +20288,16 @@ components: | |||
|         downloads_count: | ||||
|           type: integer | ||||
|           readOnly: true | ||||
|         subscriptions_count: | ||||
|           type: integer | ||||
|           readOnly: true | ||||
|       required: | ||||
|         - actor | ||||
|         - artist | ||||
|         - attributed_to | ||||
|         - downloads_count | ||||
|         - rss_url | ||||
|         - subscriptions_count | ||||
|         - url | ||||
|     ChannelCreate: | ||||
|       type: object | ||||
|  | @ -25766,7 +25770,6 @@ components: | |||
|         - import_details | ||||
|         - metadata | ||||
|         - mimetype | ||||
|         - privacy_level | ||||
|         - size | ||||
|         - uuid | ||||
|     UploadForOwnerRequest: | ||||
|  | @ -25804,7 +25807,6 @@ components: | |||
|           writeOnly: true | ||||
|       required: | ||||
|         - audio_file | ||||
|         - privacy_level | ||||
|     Usage: | ||||
|       type: object | ||||
|       properties: | ||||
|  |  | |||
|  | @ -230,6 +230,7 @@ def test_channel_serializer_representation(factories, to_api_date): | |||
|         "rss_url": channel.get_rss_url(), | ||||
|         "url": channel.actor.url, | ||||
|         "downloads_count": 12, | ||||
|         "subscriptions_count": 0, | ||||
|     } | ||||
|     expected["artist"]["description"] = common_serializers.ContentSerializer( | ||||
|         content | ||||
|  | @ -254,6 +255,7 @@ def test_channel_serializer_external_representation(factories, to_api_date): | |||
|         "rss_url": channel.get_rss_url(), | ||||
|         "url": channel.actor.url, | ||||
|         "downloads_count": 0, | ||||
|         "subscriptions_count": 0, | ||||
|     } | ||||
|     expected["artist"]["description"] = common_serializers.ContentSerializer( | ||||
|         content | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Petitminion
						Petitminion