nc-photos/app/lib/use_case/create_share.dart

35 lines
976 B
Dart
Raw Normal View History

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';
2021-09-28 08:37:16 +02:00
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;
}
2021-09-28 08:37:16 +02:00
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;
}