from fastapi import Request

from pygitweb.api.project import Project


class Action:
	"""
	Action: A per-project action provided by a plugin.
	"""

	def action_name(self) -> str:
		return "base-action"

	def action(self, project: Project, req: Request = None) -> None:
		raise NotImplementedError(f"Action {self.action_name()} is not implemented")