Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Мэппинг enum-ов для отсутствующих значений #1556

Open
sel1 opened this issue Jul 21, 2023 · 2 comments
Open
Labels
Задача Задача требующая реализации нового или доработке существующего функционала
Milestone

Comments

@sel1
Copy link
Contributor

sel1 commented Jul 21, 2023

ВК добавляет новые значения во всевозможные enum-ы быстрее, чем они появляются в этом проекте. Если нового значения нет в проетке - ответ от ВК не парсится с ошибкой.
Вот примеры:
Error converting value "photo" to type 'VkNet.Enums.StringEnums.PostType'. Path 'response.items[6].copy_history[0].post_type'
Error converting value "admin_app" to type 'VkNet.Enums.StringEnums.Platform'. Path 'response.items[73].post_source.platform'
Error converting value "instagram" to type 'VkNet.Enums.StringEnums.Platform'. Path 'response.items[73].post_source.platform'
Причем иногда приходят такие значения, которых даже в документации vk api нет.
Из-за этого у меня ни разу не получилось добиться полностю рабочей версии после 1.47.

В связи с этим такое предложение:

  • Добавить во все enum-ы, участвующие в десериализации ответа от ВК значение Unknown.
  • При десериализации enum-а из JSON если подходящего значения не нашлось, возвращать Unknown
@sel1 sel1 changed the title Мэппинг enum-ов для отсутствующих знаений Мэппинг enum-ов для отсутствующих значений Jul 21, 2023
@inyutin-maxim
Copy link
Member

Предложение годное обдумывал уже его, но пока решения не принял

@inyutin-maxim inyutin-maxim added this to the v1.76.0 milestone Jul 21, 2023
@inyutin-maxim inyutin-maxim added the Задача Задача требующая реализации нового или доработке существующего функционала label Jul 21, 2023
inyutin-maxim pushed a commit that referenced this issue Aug 14, 2023
@Panuchi
Copy link
Contributor

Panuchi commented Aug 16, 2023

На данный момент, все StringEnum помечены как nullable, при отсутствии значения - null.
Может кто придумает, как добавить логгер в конвертер или другой вариант.

//_logger.LogError($"\nПОЖАЛУЙСТА ОТКРОЙТЕ ISSUE: {$"https://github.com/vknet/vk/issues/new?title=Add%20new%20value%20to%20{objectType.GenericTypeArguments.FirstOrDefault()}&body={reader.Value}"}\n" + e.Message);

inyutin-maxim added a commit that referenced this issue Aug 28, 2023
@inyutin-maxim inyutin-maxim modified the milestones: v1.76.0, v1.77.0 Sep 11, 2023
@inyutin-maxim inyutin-maxim modified the milestones: v1.77.0, v1.78.0 Nov 24, 2023
@inyutin-maxim inyutin-maxim modified the milestones: v1.78.0, v1.79.0 Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Задача Задача требующая реализации нового или доработке существующего функционала
Projects
None yet
Development

No branches or pull requests

3 participants