1+ from typing import Any , Dict , List
2+
13from django .conf import settings
4+ from django .db .models import QuerySet
25from rest_framework import serializers
36from shared .api_archive .archive import ArchiveService
47
1114class FlagListField (serializers .ListField ):
1215 child = serializers .CharField ()
1316
14- def to_representation (self , data ) :
17+ def to_representation (self , data : QuerySet ) -> List [ str | None ] :
1518 return [item .flag_name if item is not None else None for item in data .all ()]
1619
1720
@@ -47,12 +50,12 @@ class Meta:
4750
4851 raw_upload_location = serializers .SerializerMethodField ()
4952
50- def get_raw_upload_location (self , obj : ReportSession ):
53+ def get_raw_upload_location (self , obj : ReportSession ) -> str :
5154 repo = obj .report .commit .repository
5255 archive_service = ArchiveService (repo )
5356 return archive_service .create_presigned_put (obj .storage_path )
5457
55- def get_url (self , obj : ReportSession ):
58+ def get_url (self , obj : ReportSession ) -> str :
5659 repository = obj .report .commit .repository
5760 commit = obj .report .commit
5861 return f"{ settings .CODECOV_DASHBOARD_URL } /{ repository .author .service } /{ repository .author .username } /{ repository .name } /commit/{ commit .commitid } "
@@ -64,7 +67,7 @@ def _create_existing_flags_map(self, repoid: int) -> dict:
6467 existing_flags_map [flag_obj .flag_name ] = flag_obj
6568 return existing_flags_map
6669
67- def create (self , validated_data ) :
70+ def create (self , validated_data : Dict [ str , Any ]) -> ReportSession | None :
6871 flag_names = (
6972 validated_data .pop ("flags" ) if "flags" in validated_data .keys () else []
7073 )
@@ -134,7 +137,7 @@ class Meta:
134137 "branch" ,
135138 )
136139
137- def create (self , validated_data ) :
140+ def create (self , validated_data : Dict [ str , Any ]) -> Commit :
138141 repo = validated_data .pop ("repository" , None )
139142 commitid = validated_data .pop ("commitid" , None )
140143 commit , created = Commit .objects .get_or_create (
@@ -161,7 +164,7 @@ class Meta:
161164 )
162165 fields = read_only_fields + ("code" ,)
163166
164- def create (self , validated_data ) -> tuple [CommitReport , bool ]:
167+ def create (self , validated_data : Dict [ str , Any ] ) -> tuple [CommitReport , bool ]:
165168 report = (
166169 CommitReport .objects .coverage_reports ()
167170 .filter (
0 commit comments