Prefer DiContainer over creating ad hoc repo

This commit is contained in:
Ming Ming 2022-07-22 16:18:30 +08:00
parent c119d08dc1
commit d548c592ae
2 changed files with 6 additions and 11 deletions

View file

@ -71,13 +71,12 @@ class AlbumRemoteDataSource implements AlbumDataSource {
final fileName = _makeAlbumFileName();
final filePath =
"${remote_storage_util.getRemoteAlbumsDir(account)}/$fileName";
const fileRepo = FileRepo(FileWebdavDataSource());
await PutFileBinary(fileRepo)(account, filePath,
final c = KiwiContainer().resolve<DiContainer>();
await PutFileBinary(c.fileRepo)(account, filePath,
const Utf8Encoder().convert(jsonEncode(album.toRemoteJson())),
shouldCreateMissingDir: true);
// query album file
final newFile = await LsSingleFile(KiwiContainer().resolve<DiContainer>())(
account, filePath);
final newFile = await LsSingleFile(c)(account, filePath);
return album.copyWith(albumFile: OrNull(newFile));
}

View file

@ -9,15 +9,12 @@ import 'package:nc_photos/app_localizations.dart';
import 'package:nc_photos/bloc/app_password_exchange.dart';
import 'package:nc_photos/ci_string.dart';
import 'package:nc_photos/di_container.dart';
import 'package:nc_photos/entity/file.dart';
import 'package:nc_photos/entity/file/data_source.dart';
import 'package:nc_photos/entity/file_util.dart' as file_util;
import 'package:nc_photos/exception.dart';
import 'package:nc_photos/exception_util.dart' as exception_util;
import 'package:nc_photos/help_utils.dart' as help_util;
import 'package:nc_photos/k.dart' as k;
import 'package:nc_photos/mobile/self_signed_cert_manager.dart';
import 'package:nc_photos/or_null.dart';
import 'package:nc_photos/platform/features.dart' as features;
import 'package:nc_photos/snack_bar_manager.dart';
import 'package:nc_photos/string_extension.dart';
@ -210,10 +207,9 @@ class _ConnectState extends State<Connect> {
Future<void> _checkWebDavUrl(BuildContext context, Account account) async {
// check the WebDAV URL
try {
final c = KiwiContainer().resolve<DiContainer>().copyWith(
fileRepo: OrNull(const FileRepo(FileWebdavDataSource())),
);
await LsSingleFile(c)(account, file_util.unstripPath(account, ""));
final c = KiwiContainer().resolve<DiContainer>();
await LsSingleFile(c.withRemoteFileRepo())(
account, file_util.unstripPath(account, ""));
_log.info("[_checkWebDavUrl] Account is good: $account");
Navigator.of(context).pop(account);
} on ApiException catch (e) {