modificacion de colores en el login
This commit is contained in:
@@ -580,6 +580,57 @@ class VideosProvider extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
/// Delete video poster only (not the video itself)
|
||||
Future<bool> deletePoster(int mediaFileId) async {
|
||||
try {
|
||||
isLoading = true;
|
||||
notifyListeners();
|
||||
|
||||
// Get current metadata
|
||||
final response = await supabaseML
|
||||
.from('media_files')
|
||||
.select('metadata_json')
|
||||
.eq('media_file_id', mediaFileId)
|
||||
.eq('organization_fk', organizationId)
|
||||
.single();
|
||||
|
||||
final metadata = response['metadata_json'] as Map<String, dynamic>? ?? {};
|
||||
final posterUrl = metadata['poster_url'] as String?;
|
||||
|
||||
// Delete poster from storage if exists
|
||||
if (posterUrl != null && posterUrl.isNotEmpty) {
|
||||
try {
|
||||
final uri = Uri.parse(posterUrl);
|
||||
final pathSegments = uri.pathSegments;
|
||||
final bucketIndex = pathSegments.indexOf('energymedia');
|
||||
if (bucketIndex != -1 && bucketIndex < pathSegments.length - 1) {
|
||||
final posterPath = pathSegments.sublist(bucketIndex + 1).join('/');
|
||||
await supabaseML.storage.from('energymedia').remove([posterPath]);
|
||||
}
|
||||
} catch (e) {
|
||||
print('Error eliminando poster del storage: $e');
|
||||
}
|
||||
}
|
||||
|
||||
// Remove poster references from metadata
|
||||
metadata.remove('poster_url');
|
||||
metadata.remove('poster_file_name');
|
||||
|
||||
// Update metadata
|
||||
await updateVideoMetadata(mediaFileId, metadata);
|
||||
|
||||
isLoading = false;
|
||||
notifyListeners();
|
||||
return true;
|
||||
} catch (e) {
|
||||
errorMessage = 'Error eliminando portada: $e';
|
||||
isLoading = false;
|
||||
notifyListeners();
|
||||
print('Error en deletePoster: $e');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ========== DELETE METHODS ==========
|
||||
|
||||
/// Delete video and its storage files
|
||||
|
||||
Reference in New Issue
Block a user