Files
Handwerks_app/services/auftrag_storage_service.dart
2026-04-03 20:42:47 +02:00

39 lines
1.1 KiB
Dart

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<String> 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<String> hochladenUnterschrift(String auftragId, Uint8List pngBytes) async {
final ref = _basis(auftragId).child('unterschrift.png');
await ref.putData(
pngBytes,
SettableMetadata(contentType: 'image/png'),
);
return ref.getDownloadURL();
}
}