check null safety

This commit is contained in:
tzw
2021-09-10 14:27:38 +06:30
parent a144c945b6
commit 7670779b03
57 changed files with 620 additions and 626 deletions

View File

@@ -1,32 +1,31 @@
import 'dart:io';
import 'package:fcs/config.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_auth/firebase_auth.dart' as fb;
import 'package:firebase_storage/firebase_storage.dart';
import 'package:logging/logging.dart';
import 'package:uuid/uuid.dart';
final log = Logger('firebaseHelper');
final FirebaseAuth auth = FirebaseAuth.instance;
final fb.FirebaseAuth auth = fb.FirebaseAuth.instance;
Future<String> getToken() async {
FirebaseUser firebaseUser = await auth.currentUser();
IdTokenResult token = await firebaseUser.getIdToken();
return token.token;
fb.User? firebaseUser = fb.FirebaseAuth.instance.currentUser;
String token = await firebaseUser?.getIdToken() ?? "";
return token;
}
Future<Map> getClaims({bool refreshIdToken = false}) async {
FirebaseUser firebaseUser = await auth.currentUser();
Future<Map?> getClaims({bool refreshIdToken = false}) async {
fb.User? firebaseUser = auth.currentUser;
if (firebaseUser == null) return null;
IdTokenResult idToken =
await firebaseUser.getIdToken(refresh: refreshIdToken);
fb.IdTokenResult idToken =
await firebaseUser.getIdTokenResult(refreshIdToken);
return idToken.claims;
}
// returns list of url
Future<List<String>> uploadFiles(String path, List<File> files,
{String fileName}) async {
{String? fileName}) async {
List<Future<String>> fu = [];
for (File f in files) {
Future<String> u = uploadStorage(path, f);
@@ -35,22 +34,27 @@ Future<List<String>> uploadFiles(String path, List<File> files,
return Future.wait(fu);
}
Future<String> uploadStorage(String path, File file, {String fileName}) async {
Future<String> uploadStorage(String path, File file, {String? fileName}) async {
if (fileName == null) {
fileName = Uuid().v4();
}
StorageReference storageReference =
FirebaseStorage(storageBucket: Config.instance.bucketName)
.ref()
.child('$path/$fileName');
StorageUploadTask uploadTask = storageReference.putFile(file);
await uploadTask.onComplete;
String downloadUrl = await storageReference.getDownloadURL();
print("name:${await storageReference.getName()}");
print("bucket:${await storageReference.getBucket()}");
print("path:${await storageReference.getPath()}");
print("meta:${await storageReference.getMetadata()}");
Reference ref = FirebaseStorage.instance.ref().child('$path/$fileName');
UploadTask uploadTask = ref.putFile(file);
await uploadTask.resume();
String downloadUrl = await ref.getDownloadURL();
return downloadUrl;
// StorageReference storageReference =
// FirebaseStorage(storageBucket: Config.instance.bucketName)
// .ref()
// .child('$path/$fileName');
// StorageUploadTask uploadTask = storageReference.putFile(file);
// await uploadTask.onComplete;
// String downloadUrl = await storageReference.getDownloadURL();
// print("name:${await storageReference.getName()}");
// print("bucket:${await storageReference.getBucket()}");
// print("path:${await storageReference.getPath()}");
// print("meta:${await storageReference.getMetadata()}");
// return downloadUrl;
}
Future<void> deleteStorageFromUrls(List<String> urls) async {
@@ -62,10 +66,12 @@ Future<void> deleteStorageFromUrls(List<String> urls) async {
Future<void> deleteStorageFromUrl(String url) async {
try {
StorageReference storageReference =
await FirebaseStorage(storageBucket: Config.instance.bucketName)
.getReferenceFromUrl(url);
await storageReference.delete();
Reference ref = FirebaseStorage.instance.refFromURL(url);
await ref.delete();
// StorageReference storageReference =
// await FirebaseStorage(storageBucket: Config.instance.bucketName)
// .getReferenceFromUrl(url);
// await storageReference.delete();
} catch (e) {
log.warning("deleteStorage:$e");
}