nc-photos/app/lib/use_case/create_share.dart
2022-04-06 02:37:58 +08:00

34 lines
976 B
Dart

import 'package:event_bus/event_bus.dart';
import 'package:kiwi/kiwi.dart';
import 'package:nc_photos/account.dart';
import 'package:nc_photos/entity/file.dart';
import 'package:nc_photos/entity/share.dart';
import 'package:nc_photos/event/event.dart';
class CreateUserShare {
const CreateUserShare(this.shareRepo);
Future<Share> call(Account account, File file, String shareWith) async {
final share = await shareRepo.create(account, file, shareWith);
KiwiContainer().resolve<EventBus>().fire(ShareCreatedEvent(account, share));
return share;
}
final ShareRepo shareRepo;
}
class CreateLinkShare {
const CreateLinkShare(this.shareRepo);
Future<Share> call(
Account account,
File file, {
String? password,
}) async {
final share = await shareRepo.createLink(account, file, password: password);
KiwiContainer().resolve<EventBus>().fire(ShareCreatedEvent(account, share));
return share;
}
final ShareRepo shareRepo;
}