name = $spec['name']; $this->restriction = $spec['restriction']; $this->needsReadRights = $spec['needsReadRights']; $this->requiresWrite = $spec['requiresWrite']; $this->requiresUnblock = $spec['requiresUnblock']; } /** * @return string The action's name */ public function getName(): string { return $this->name; } /** * @return ?string A permission required to execute the action */ public function getRestriction(): ?string { return $this->restriction; } /** * @return bool Whether the action requires the user to have read access */ public function needsReadRights(): bool { return $this->needsReadRights; } /** * @return bool Whether the action requires the database to be writable */ public function requiresWrite(): bool { return $this->requiresWrite; } /** * @return bool Whether the action requires the user to not be blocked */ public function requiresUnblock(): bool { return $this->requiresUnblock; } }