mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-04 10:29:20 +02:00
See #228: now expose library track status in API
This commit is contained in:
parent
f12fe0047f
commit
4f8db661fa
4 changed files with 47 additions and 7 deletions
|
@ -296,6 +296,7 @@ class APILibraryCreateSerializer(serializers.ModelSerializer):
|
|||
|
||||
class APILibraryTrackSerializer(serializers.ModelSerializer):
|
||||
library = APILibrarySerializer()
|
||||
status = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = models.LibraryTrack
|
||||
|
@ -314,8 +315,20 @@ class APILibraryTrackSerializer(serializers.ModelSerializer):
|
|||
'title',
|
||||
'library',
|
||||
'local_track_file',
|
||||
'status',
|
||||
]
|
||||
|
||||
def get_status(self, o):
|
||||
try:
|
||||
if o.local_track_file is not None:
|
||||
return 'imported'
|
||||
except music_models.TrackFile.DoesNotExist:
|
||||
pass
|
||||
for job in o.import_jobs.all():
|
||||
if job.status == 'pending':
|
||||
return 'import_pending'
|
||||
return 'not_imported'
|
||||
|
||||
|
||||
class FollowSerializer(serializers.Serializer):
|
||||
id = serializers.URLField(max_length=500)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue