removeUploader method
- @Route.delete('/api/packages/<name>/uploaders/<email>')
Future<Response>
removeUploader(
- Request req,
- String name,
- String email
)
Implementation
@Route.delete('/api/packages/<name>/uploaders/<email>')
Future<shelf.Response> removeUploader(
shelf.Request req, String name, String email) async {
email = Uri.decodeComponent(email);
var operatorEmail = await _getUploaderEmail(req);
var package = await metaStore.queryPackage(name);
// TODO: null
if (package?.uploaders?.contains(operatorEmail) == false) {
return _badRequest('no permission', status: HttpStatus.forbidden);
}
if (package?.uploaders?.contains(email) == false) {
return _badRequest('email not uploader');
}
await metaStore.removeUploader(name, email);
return _successMessage('uploader removed');
}