class ManageAlbumFilterSet(filters.FilterSet): q = fields.SmartSearchFilter( config=search.SearchConfig( search_fields={ "title": {"to": "title"}, "fid": {"to": "fid"}, "artist": {"to": "artist__name"}, "mbid": {"to": "mbid"}, }, filter_fields={ "uuid": {"to": "uuid"}, "artist_id": {"to": "artist_id", "field": forms.IntegerField()}, "domain": { "handler": lambda v: federation_utils.get_domain_query_from_url(v) }, "library_id": { "to": "tracks__uploads__library_id", "field": forms.IntegerField(), "distinct": True, }, "tag": {"to": "tagged_items__tag__name", "distinct": True}, }, ) ) class Meta: model = music_models.Album fields = ["q", "title", "mbid", "fid", "artist"]
class ManageChannelFilterSet(filters.FilterSet): q = fields.SmartSearchFilter( config=search.SearchConfig( search_fields={ "name": {"to": "artist__name"}, "username": {"to": "artist__name"}, "fid": {"to": "artist__fid"}, "rss": {"to": "rss_url"}, }, filter_fields={ "uuid": {"to": "uuid"}, "category": {"to": "artist__content_category"}, "domain": { "handler": lambda v: federation_utils.get_domain_query_from_url( v, url_field="attributed_to__fid" ) }, "tag": {"to": "artist__tagged_items__tag__name", "distinct": True}, "account": get_actor_filter("attributed_to"), }, ) ) class Meta: model = audio_models.Channel fields = ["q"]