updateUploader method
Implementation
@override
FutureOr<void> updateUploader(
String name, String oldEmail, String newEmail) async {
final existing = await query(name);
if (existing == null) {
throw StateError('$name not exist!');
}
final uploaders = [...?existing.uploaders];
final index = uploaders.indexOf(oldEmail);
if (index < 0) {
throw StateError('$oldEmail not exists in uploader!');
}
if (uploaders.contains(newEmail)) {
throw StateError('$newEmail already exists in uploader!');
}
uploaders[index] = newEmail;
await _put(existing.copyWith(uploaders: uploaders));
}