I could have this wrong, but it looks like the data returned by a ‘post’ callback has category_slug but no category_id, while the data returned by a ‘topic’ callback has a category_id but no category_slug.
If that is the case (and I’m not missing a configuration somewhere) would be nice if both callbacks standardised on either category_id or category_slug or returned both.
It would also be most excellent if both types had parent_category_id and parent_category_slug if arriving from a post or topic in a subcategory. Right now both provide category_id which doesn’t indicate whether it’s a category or subcategory.
Есть ли намерение обновить вебхуки так, чтобы они всегда включали как category_id, так и category_slug, независимо от того, предназначен ли вебхук для ‘поста’ или ‘темы’?
Текущая информация обратного вызова для ‘поста’ неоптимальна, поскольку нет надёжного способа определить, к какой категории он относится… (если я правильно понимаю), category_slug не обязан быть уникальным. Если у вас есть несколько разных категорий, каждая из которых содержит три подкатегории с одинаковыми слагами (потому что навигация по подкатегориям должна выглядеть для пользователя одинаково), вы не сможете определить, в какой именно подкатегории был создан ‘пост’, только по слагу.
Я не разработчик на Ruby, но мне интересно, нет ли ошибки в классе post_serializer:
def include_category_id?
@add_title
end
Разве это не должно быть так:
def include_category_id?
topic&.category_id.present?
end
Я создал PR, чтобы показать это изменение. Возможно, это бред, но это может помочь найти истинное решение…