Управление компонентами темы через API?

Всем привет,

Интересует, возможно ли включать/отключать компоненты темы через API. Казалось, что такой способ существовал, но в текущей документации API Discourse об этом ничего не сказано. Намёк на такую возможность дал ChatGPT, и да, я прекрасно понимаю, что это далеко не надёжный источник информации. Просто интересно, достижимо ли это хоть каким-то образом, ведь сказка, которую мне рассказал ChatGPT, звучала идеально, но не работает. API возвращает ошибку 404 даже для учётных данных администратора.

Запрос к ChatGPT о источнике информации по этому вопросу

ChatGPT извиняется за ошибку...

Мой прогноз: ChatGPT просто всё выдумал. :rofl:

Так что, как видите, мы ещё не все остались без работы. :stuck_out_tongue:

Концепции «включения» или «отключения» компонента темы не существует; вы просто добавляете или удаляете его из родительской темы. ИСПРАВЛЕНИЕ: неверно, см. пост @Canapin ниже!

ChatGPT всё выдумал. перепутал конечную точку и тело запроса.

Используя вкладку «Сеть» в браузере, я вижу, что добавление компонента темы в родительскую тему вызывает

PUT /admin/themes/<id>

(где — идентификатор компонента)

С полезной нагрузкой примерно такой:

parent_theme_ids: [<parent_id>]

Я это не выдумал, просто посмотрел вкладку «Сеть» в своём браузере :nerd_face:

Пожалуйста.

Похоже на то.

Но, похоже, к нему нет доступа через внешний API, хотя…

Спасибо в любом случае

Это, должно быть, из браузера. Убедитесь, что ваш ключ имеет соответствующие права (для одного пользователя, глобальная область действия).

Такая концепция существует, и в интерфейсе Discourse эти кнопки называются «Включить» и «Отключить» :slight_smile:

image

И, конечно же, это можно сделать через API:

В своём посте я говорю и о темах, и о компонентах, но, как выясняется, для тем всё немного иначе, поэтому мне следует исправить своё решение.

Ой! Моя вина! Молодец! :blush: Эти кнопки слишком низко :wink:

Но ChatGPT всё равно ошибся :slight_smile:

Я исправил свой пост соответственно. @kinetiksoft, извините, см. выше: это возможно, но не так, как ChatGPT вам говорил.