queryGenres method
Query genre information
Implementation
Future<List<Map<String, dynamic>>> queryGenres(
{QueryOptions? options}) async {
try {
// Check permissions first
final permissionResult =
await _checkPermissionsUseCase.call(MediaType.audio);
if (!permissionResult.isGranted) {
throw MediaErrorFactory.permissionDenied(
missingPermissions: permissionResult.missingPermissions ?? [],
status: permissionResult.status,
message: 'Audio permissions not granted: ${permissionResult.message}',
);
}
return await _repository.queryGenres(options: options);
} catch (e) {
if (e is MediaError) {
rethrow;
}
throw MediaErrorFactory.queryError(
queryType: 'genre',
message: 'Failed to query genres: ${e.toString()}',
);
}
}