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 call(Account account, File file, String shareWith) async { final share = await shareRepo.create(account, file, shareWith); KiwiContainer().resolve().fire(ShareCreatedEvent(account, share)); return share; } final ShareRepo shareRepo; } class CreateLinkShare { const CreateLinkShare(this.shareRepo); Future call( Account account, File file, { String? password, }) async { final share = await shareRepo.createLink(account, file, password: password); KiwiContainer().resolve().fire(ShareCreatedEvent(account, share)); return share; } final ShareRepo shareRepo; }