39 lines
1.1 KiB
Dart
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();
|
|
}
|
|
|
|
}
|