uploadPlugin method
Upload plugin
Upload a plugin that is contained within a compressed .tar.gz file. Plugins and plugin uploads must be enabled in the server's config settings. ##### Permissions Must have manage_system
permission. Minimum server version: 4.4
Parameters:
-
MultipartFile
plugin (required): The plugin image to be uploaded -
String force: Set to 'true' to overwrite a previously installed plugin with the same ID, if any
Implementation
Future<MmStatusOK?> uploadPlugin(
MultipartFile plugin, {
String? force,
}) async {
final response = await uploadPluginWithHttpInfo(
plugin,
force: force,
);
if (response.statusCode >= HttpStatus.badRequest) {
throw MmApiException(response.statusCode, await _decodeBodyBytes(response));
}
// When a remote server returns no body with a status of 204, we shall not decode it.
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
return await apiClient.deserializeAsync(
await _decodeBodyBytes(response),
'MmStatusOK',
) as MmStatusOK;
}
return null;
}