import 'dart:typed_data'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_storage/firebase_storage.dart'; class AuftragStorageService { AuftragStorageService({FirebaseStorage? storage, FirebaseAuth? auth}) : _storage = storage ?? FirebaseStorage.instance, _auth = auth ?? FirebaseAuth.instance; final FirebaseStorage _storage; final FirebaseAuth _auth; Reference _basis(String auftragId) { final uid = _auth.currentUser?.uid; if (uid == null) throw StateError('Nicht angemeldet'); return _storage.ref('users/$uid/auftraege/$auftragId'); } Future hochladenFoto(String auftragId, Uint8List bytes, String dateiname) async { final ref = _basis(auftragId).child('fotos/$dateiname'); await ref.putData( bytes, SettableMetadata(contentType: 'image/jpeg'), ); return ref.getDownloadURL(); } Future hochladenUnterschrift(String auftragId, Uint8List pngBytes) async { final ref = _basis(auftragId).child('unterschrift.png'); await ref.putData( pngBytes, SettableMetadata(contentType: 'image/png'), ); return ref.getDownloadURL(); } }