[sharing] Add bulk scrobble share management

This commit is contained in:
2026-06-09 17:18:51 -04:00
parent be16d513ef
commit b7df6299d0
11 changed files with 290 additions and 7 deletions

View File

@ -1613,7 +1613,17 @@ class Scrobble(TimeStampedModel):
scrobble_data: dict,
) -> "Scrobble":
if "visibility" not in scrobble_data:
scrobble_data["visibility"] = Visibility.PRIVATE
user = scrobble_data.get("user")
media_type = scrobble_data.get("media_type")
override = None
if user and media_type:
try:
profile = user.profile
overrides = profile.media_type_visibility or {}
override = overrides.get(media_type)
except user.__class__.profile.RelatedObjectDoesNotExist:
pass
scrobble_data["visibility"] = override or Visibility.PRIVATE
scrobble = cls.objects.create(**scrobble_data)
if not (
scrobble.media_type == cls.MediaType.GEO_LOCATION