Hide features for non-admin users through plugin

AI-generated summary

The discussion revolves around hiding features for non-admin users through a plugin. gingerman seeks to restrict access to certain features, such as the list of liked users, to admin users only. Falco suggests reading the plugin guide and exploring official plugins on GitHub to understand API and UI overrides. gingerman inquires about controlling API features through plugins, and Falco confirms it’s possible via monkeypatching classes. cpradio proposes that overriding a widget might be a simpler solution, but Falco notes that blocking API access would require more work due to the complexity of post actions.

tldr: I would like to hide certain features in the page & api backend for non-admin users.

For example,
I would like to show the list of liked users only for admin users and not for everyone. The count can be seen by everyone but not the list of users.

Of course this is just an example for my specific need. I am sure this feature will not enter in the core but how could I implement this as a plugin ? I would be interested to know about the api overrides (especially) & UI overrides through plugins.

Ich empfehle, die wunderbare Artikelserie zu Plugins von @eviltrout zu lesen, die hier beginnt:

Danach solltest du dir einige offizielle Plugins auf der Discourse-GitHub-Seite ansehen.

Anschließend gehe durch einige Plugins in der Kategorie Customization > Plugin und arbeite dich in deren Codebasis ein.

Thanks @Falco.. Just want to quickly check if plugins can be used to control features in API as well ?

You can monkeypatch classes so yes. Some stuff is easier than others, tough.

Though I think this is simply overriding a widget, which shouldn’t be too bad to do.

Yeah, but if he wants to block this trough API too, it’s more works because the post_actions is used for more stuff. Doable, but a little more work.