Source code for mattermostautodriver.endpoints.plugins

from ._base import Base
from typing import Any, BinaryIO

__all__ = ["Plugins"]


[docs] class Plugins(Base):
[docs] def upload_plugin(self, plugin: BinaryIO, force: str | None = None): """Upload plugin plugin: The plugin image to be uploaded force: Set to 'true' to overwrite a previously installed plugin with the same ID, if any `Read in Mattermost API docs (plugins - UploadPlugin) <https://developers.mattermost.com/api-documentation/#/operations/UploadPlugin>`_ """ __files = {"plugin": plugin} __data = {"force": force} return self.client.post("""/api/v4/plugins""", files=__files, data=__data)
[docs] def get_plugins(self): """Get plugins `Read in Mattermost API docs (plugins - GetPlugins) <https://developers.mattermost.com/api-documentation/#/operations/GetPlugins>`_ """ return self.client.get("""/api/v4/plugins""")
[docs] def install_plugin_from_url(self): """Install plugin from url `Read in Mattermost API docs (plugins - InstallPluginFromUrl) <https://developers.mattermost.com/api-documentation/#/operations/InstallPluginFromUrl>`_ """ return self.client.post("""/api/v4/plugins/install_from_url""")
[docs] def remove_plugin(self, plugin_id: str): """Remove plugin plugin_id: Id of the plugin to be removed `Read in Mattermost API docs (plugins - RemovePlugin) <https://developers.mattermost.com/api-documentation/#/operations/RemovePlugin>`_ """ return self.client.delete(f"/api/v4/plugins/{plugin_id}")
[docs] def enable_plugin(self, plugin_id: str): """Enable plugin plugin_id: Id of the plugin to be enabled `Read in Mattermost API docs (plugins - EnablePlugin) <https://developers.mattermost.com/api-documentation/#/operations/EnablePlugin>`_ """ return self.client.post(f"/api/v4/plugins/{plugin_id}/enable")
[docs] def disable_plugin(self, plugin_id: str): """Disable plugin plugin_id: Id of the plugin to be disabled `Read in Mattermost API docs (plugins - DisablePlugin) <https://developers.mattermost.com/api-documentation/#/operations/DisablePlugin>`_ """ return self.client.post(f"/api/v4/plugins/{plugin_id}/disable")
[docs] def get_webapp_plugins(self): """Get webapp plugins `Read in Mattermost API docs (plugins - GetWebappPlugins) <https://developers.mattermost.com/api-documentation/#/operations/GetWebappPlugins>`_ """ return self.client.get("""/api/v4/plugins/webapp""")
[docs] def get_plugin_statuses(self): """Get plugins status `Read in Mattermost API docs (plugins - GetPluginStatuses) <https://developers.mattermost.com/api-documentation/#/operations/GetPluginStatuses>`_ """ return self.client.get("""/api/v4/plugins/statuses""")
[docs] def install_marketplace_plugin(self, id: str, version: str): """Installs a marketplace plugin id: The ID of the plugin to install. version: The version of the plugin to install. `Read in Mattermost API docs (plugins - InstallMarketplacePlugin) <https://developers.mattermost.com/api-documentation/#/operations/InstallMarketplacePlugin>`_ """ __options = {"id": id, "version": version} return self.client.post("""/api/v4/plugins/marketplace""", options=__options)
[docs] def get_marketplace_plugins( self, page: int | None = None, per_page: int | None = None, filter: str | None = None, server_version: str | None = None, local_only: bool | None = None, ): """Gets all the marketplace plugins page: Page number to be fetched. (not yet implemented) per_page: Number of item per page. (not yet implemented) filter: Set to filter plugins by ID, name, or description. server_version: Set to filter minimum plugin server version. (not yet implemented) local_only: Set true to only retrieve local plugins. `Read in Mattermost API docs (plugins - GetMarketplacePlugins) <https://developers.mattermost.com/api-documentation/#/operations/GetMarketplacePlugins>`_ """ __params = { "page": page, "per_page": per_page, "filter": filter, "server_version": server_version, "local_only": local_only, } return self.client.get("""/api/v4/plugins/marketplace""", params=__params)
[docs] def get_marketplace_visited_by_admin(self): """Get if the Plugin Marketplace has been visited by at least an admin. `Read in Mattermost API docs (plugins - GetMarketplaceVisitedByAdmin) <https://developers.mattermost.com/api-documentation/#/operations/GetMarketplaceVisitedByAdmin>`_ """ return self.client.get("""/api/v4/plugins/marketplace/first_admin_visit""")