spotube/lib/provider/metadata_plugin/artist/artist.dart
2025-06-14 22:43:20 +06:00

23 lines
767 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:spotube/models/metadata/metadata.dart';
import 'package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart';
import 'package:spotube/provider/metadata_plugin/utils/common.dart';
import 'package:spotube/services/metadata/endpoints/error.dart';
final metadataPluginArtistProvider =
FutureProvider.autoDispose.family<SpotubeFullArtistObject, String>(
(ref, artistId) async {
ref.cacheFor();
final metadataPlugin = await ref.watch(metadataPluginProvider.future);
if (metadataPlugin == null) {
throw MetadataPluginException.noDefaultPlugin(
"No metadata plugin is not set",
);
}
return metadataPlugin.artist.getArtist(artistId);
},
);