#1501
у метода store.getProducts явно устарела документация, так что делал
опираясь в первую очередь на то, что приходит в реальности, а не то, что
описано в документации
---------
Co-authored-by: inyutin-maxim <inyutin_maxim@mail.ru>
#1500
В ответе метода calls.start есть незадокументированное поле
"ok_join_link". Не очень понял, что это и для чего (одноклассники?), но
на всякий случай добавил вместе с остальными полями.
## Список изменений
- Исправлена ошибка с неуказанным For параметром (бесконечный мут)
- Добавлены тесты
##### Обязательно выполните следующие пункты:
- [x] Проверьте что ваш код не содержит конфликтов, и исправьте их по
необходимости
- [x] Напишите тесты, и обязательно проверьте что не падают другие.
##### Внимание! Pull Request'ы с непройденными тестами не принимаются
#1610
## Список изменений
- Добавлена поддержка метода
messages.changeConversationMemberRestrictions
##### Обязательно выполните следующие пункты:
- [x] Проверьте что ваш код не содержит конфликтов, и исправьте их по
необходимости
- [x] Напишите тесты, и обязательно проверьте что не падают другие.
##### Внимание! Pull Request'ы с непройденными тестами не принимаются
## List of changes
- added support for new fields of method
*[market.get](https://dev.vk.com/ru/method/market.get)* - date_from,
date_to, need_variants, with_disabled
- added model *MarketGetParams* for wrap arguments for method
*market.get*
- added unit test and test data for thid method
[Source of args](https://dev.vk.com/ru/method/market.get)
Bound with issue #1222
---------
Co-authored-by: inyutin-maxim <inyutin_maxim@mail.ru>
Bound issue: #1222
- Removed field *Tags* from args of method
- Added fields *Status* and *NeedVariants*
- Added unit test for method *market.search*
[Source of args](https://dev.vk.com/ru/method/market.search)
## List of changes
- added support for method podcast.searchPodcast from list of methods in
issue: #1222
- old podcast methods marked as *Deprecated* ( **Warning**: vk support
team said, that api for podcast is offline )
- added new model *VkNet/Model/Results/Podcasts/PodcastSearchInfo.cs*
and rebuilded model
*VkNet/Model/Results/Podcasts/PodcastsSearchResult.cs* for support new
format of answer from api method
- rebuilded test sources and test cases for 'podcast.searchPodcast'
method
[Source for
podcast.searchPodcast](https://dev.vk.com/ru/method/podcasts.searchPodcast)
## Additional info about podcast methods

---------
Co-authored-by: inyutin-maxim <inyutin_maxim@mail.ru>
* Заменяет SafetyEnum на StringEnum для NameRequest
* Заменяет SafetyEnum на StringEnum для CampaignType
* Заменяет SafetyEnum на StringEnum для CallbackServerStatus
* Заменяет SafetyEnum на StringEnum для Button
* Заменяет SafetyEnum на StringEnum для AudioCatalogSourceType
* Заменяет SafetyEnum на StringEnum для AudioAlbumType
* Заменяет SafetyEnum на StringEnum для AppWidgetType
* Убирает лишнее приведение к строке
* Заменяет SafetyEnum на StringEnum для AppType
* Заменяет SafetyEnum на StringEnum для AppSort
* Заменяет SafetyEnum на StringEnum для AppRequestType
* Заменяет SafetyEnum на StringEnum для AppPlatforms
* Заменяет SafetyEnum на StringEnum для AdsLinkType
* Заменяет SafetyEnum на StringEnum для AdRequestStatus
* Заменяет SafetyEnum на StringEnum для CarouselElementActionType
* Заменяет SafetyEnum на StringEnum для MonthlyLimit
* Заменяет SafetyEnum на StringEnum для OrderState
* Убрал не испольузуемые конвертеры
* Удаляет имплисит преобразование StoryType
* Исправляет GetHistoryAttachments #1418
* Добавляет OwnerState в User #1255
* Добавляет ContentRestricted в Audio #1245
* Добавляет события GroupUpdate - AppPayload, MarketOrderNew, MarketOrderEdit #1069
* Добавил отсутствующие поля в результат работы метода account.getProfileInfo #1008
* Добавил в AccountSaveProfileInfoParams поле CancelRequestId #1009
* Добавил carousel в объект ClientInfo #1050
* Добавил обработку параметра Extended в GetList, GetListEx #1046
* date и views_count теперь возвращаются только администратору группы, которой принадлежит товар #1066
* Обновляет пакеты #1422
* duplicate
* Аннотацию для ссылочных типов, допускающих значение NULL, следует использовать только в контексте аннотаций #nullable
* Исправление XML комментариев
* Аннотацию для ссылочных типов, допускающих значение NULL, следует использовать только в контексте аннотаций #nullable
* Аннотацию для ссылочных типов, допускающих значение NULL, следует использовать только в контексте аннотаций #nullable
* Rename parameter 'str' to 'name' to match the base class declaration
* Use a constructor overloads that allows a more meaningful exception message to be provided
* S3887: Use an immutable collection or reduce the accessibility of the non-private readonly field 'Subjects'
* Исправление XML комментариев
* Убрал лишние свойства (используются в другом объекте в качестве параметров) - дубликат
* Generic type parameters should be co/contravariant when possible
* Поправить возможность использования перегрузок методов + параметр title необязательный #988
* 5.105 В объект приложения добавлены 2 новых поля #994
* Пометил устаревшее поле #1003
* Добавляет метод messages.setMemberRole #1031
* 5.115 В stories.getViewers изменился ответ #1063
* 5.118 изменен процесс загрузки историй #1064
* Обновил настройки приватности #1158
---------
Co-authored-by: inyutin-maxim <inyutin_maxim@mail.ru>
* Заменяет SafetyEnum на StringEnum для NameRequest
* Заменяет SafetyEnum на StringEnum для CampaignType
* Заменяет SafetyEnum на StringEnum для CallbackServerStatus
* Заменяет SafetyEnum на StringEnum для Button
* Заменяет SafetyEnum на StringEnum для AudioCatalogSourceType
* Заменяет SafetyEnum на StringEnum для AudioAlbumType
* Заменяет SafetyEnum на StringEnum для AppWidgetType
* Убирает лишнее приведение к строке
* Заменяет SafetyEnum на StringEnum для AppType
* Заменяет SafetyEnum на StringEnum для AppSort
* Заменяет SafetyEnum на StringEnum для AppRequestType
* Заменяет SafetyEnum на StringEnum для AppPlatforms
* Заменяет SafetyEnum на StringEnum для AdsLinkType
* Заменяет SafetyEnum на StringEnum для AdRequestStatus
* Заменяет SafetyEnum на StringEnum для CarouselElementActionType
* Заменяет SafetyEnum на StringEnum для MonthlyLimit
* Заменяет SafetyEnum на StringEnum для OrderState
* Убрал не испольузуемые конвертеры
* Удаляет имплисит преобразование StoryType
* Исправляет GetHistoryAttachments #1418
* Добавляет OwnerState в User #1255
* Добавляет ContentRestricted в Audio #1245
* Добавляет события GroupUpdate - AppPayload, MarketOrderNew, MarketOrderEdit #1069
* Добавил отсутствующие поля в результат работы метода account.getProfileInfo #1008
* Добавил в AccountSaveProfileInfoParams поле CancelRequestId #1009
* Добавил carousel в объект ClientInfo #1050
* Добавил обработку параметра Extended в GetList, GetListEx #1046
* date и views_count теперь возвращаются только администратору группы, которой принадлежит товар #1066
* Обновляет пакеты #1422
* duplicate
* Аннотацию для ссылочных типов, допускающих значение NULL, следует использовать только в контексте аннотаций #nullable
* Исправление XML комментариев
* Аннотацию для ссылочных типов, допускающих значение NULL, следует использовать только в контексте аннотаций #nullable
* Аннотацию для ссылочных типов, допускающих значение NULL, следует использовать только в контексте аннотаций #nullable
* Rename parameter 'str' to 'name' to match the base class declaration
* Use a constructor overloads that allows a more meaningful exception message to be provided
* S3887: Use an immutable collection or reduce the accessibility of the non-private readonly field 'Subjects'
* Исправление XML комментариев
* Убрал лишние свойства (используются в другом объекте в качестве параметров) - дубликат
* Generic type parameters should be co/contravariant when possible
* Поправить возможность использования перегрузок методов + параметр title необязательный #988
* 5.105 В объект приложения добавлены 2 новых поля #994
* Пометил устаревшее поле #1003
* Добавляет метод messages.setMemberRole #1031
* 5.115 В stories.getViewers изменился ответ #1063
---------
Co-authored-by: inyutin-maxim <inyutin_maxim@mail.ru>
* Заменяет SafetyEnum на StringEnum для NameRequest
* Заменяет SafetyEnum на StringEnum для CampaignType
* Заменяет SafetyEnum на StringEnum для CallbackServerStatus
* Заменяет SafetyEnum на StringEnum для Button
* Заменяет SafetyEnum на StringEnum для AudioCatalogSourceType
* Заменяет SafetyEnum на StringEnum для AudioAlbumType
* Заменяет SafetyEnum на StringEnum для AppWidgetType
* Убирает лишнее приведение к строке
* Заменяет SafetyEnum на StringEnum для AppType
* Заменяет SafetyEnum на StringEnum для AppSort
* Заменяет SafetyEnum на StringEnum для AppRequestType
* Заменяет SafetyEnum на StringEnum для AppPlatforms
* Заменяет SafetyEnum на StringEnum для AdsLinkType
* Заменяет SafetyEnum на StringEnum для AdRequestStatus
* Заменяет SafetyEnum на StringEnum для CarouselElementActionType
* Заменяет SafetyEnum на StringEnum для MonthlyLimit
* Заменяет SafetyEnum на StringEnum для OrderState
* Убрал не испольузуемые конвертеры
* Удаляет имплисит преобразование StoryType
* Исправляет GetHistoryAttachments #1418
* Добавляет OwnerState в User #1255
* Добавляет атрибут-маркер StringEnum
* Заменяет SafetyEnum на StringEnum для AccessRole
* Заменяет SafetyEnum на StringEnum для GroupsSort
* Заменяет SafetyEnum на StringEnum для AppRatingType
* Заменяет SafetyEnum на StringEnum для AudioCatalogType
* Добавил тесты VkParameters - StringEnum, AddEnum
* Заменяет SafetyEnum на StringEnum для AccountType
* Заменяет SafetyEnum на StringEnum для AdPlatform
* Заменяет SafetyEnum на StringEnum для WallFilter
* Заменяет SafetyEnum на StringEnum для VideoView
* Заменяет SafetyEnum на StringEnum для VideoCatalog
* Заменяет SafetyEnum на StringEnum для VideoCatalogItemType
* Заменяет SafetyEnum на StringEnum для VideoCatalogFilters
* Заменяет SafetyEnum на StringEnum для VideoAdsSection
* Заменяет SafetyEnum на StringEnum для LinkAccessType
* Заменяет SafetyEnum на StringEnum для GroupType
* Заменяет SafetyEnum на StringEnum для Deactivated
* Удаляет VkResponseToSafetyEnumCastGenerator
* Заменяет SafetyEnum на StringEnum для UserSection
* Заменяет SafetyEnum на StringEnum для UserOrGroupType
* Заменяет SafetyEnum на StringEnum для TranscriptStates
* Заменяет SafetyEnum на StringEnum для TemplateType
* Заменяет SafetyEnum на StringEnum для StreamingEventType
* Заменяет SafetyEnum на StringEnum для StreamingEventType
* Заменяет SafetyEnum на StringEnum для StoryObjectState
* Заменяет SafetyEnum на StringEnum для StoryLinkText
* Fix для StoryLinkText
* Заменяет SafetyEnum на StringEnum для StatsGroups
* Заменяет SafetyEnum на StringEnum для StateInterval
* Заменяет SafetyEnum на StringEnum для StandardQuestion, NonStandardQuestion
* Заменяет SafetyEnum на StringEnum для SourceType
* Заменяет SafetyEnum на StringEnum для Services
* Заменяет SafetyEnum на StringEnum для SearchResultType
* Заменяет SafetyEnum на StringEnum для ScheduleWorkInfoStatus
* Заменяет SafetyEnum на StringEnum для ResponseType
* Заменяет SafetyEnum на StringEnum для ReportType
* Заменяет SafetyEnum на StringEnum для Relative
* Заменяет SafetyEnum на StringEnum для PostTypeOrder
* Заменяет SafetyEnum на StringEnum для PostType
* Заменяет SafetyEnum на StringEnum для PostSourceType
* Заменяет SafetyEnum на StringEnum для PostSourceData
* Заменяет SafetyEnum на StringEnum для PollBackgroundType
* Заменяет SafetyEnum на StringEnum для Platform
* Заменяет SafetyEnum на StringEnum для PhotoSizeType
* Заменяет SafetyEnum на Enum для PhotoSearchRadius
* Заменяет SafetyEnum на StringEnum для PhotoFeedType
* Заменяет SafetyEnum на StringEnum для OrderStateAction
* Заменяет SafetyEnum на StringEnum для OnlineStatus
* Заменяет SafetyEnum на StringEnum для OccupationType
* Заменяет SafetyEnum на StringEnum для NewsObjectTypes
* Заменяет SafetyEnum на StringEnum для NameCase
* Fix для NameCase
* Заменяет SafetyEnum на StringEnum для MessageIntent
* Заменяет SafetyEnum на StringEnum для MessageEventType
* Заменяет SafetyEnum на StringEnum для MessageContentSourceType
* Заменяет SafetyEnum на StringEnum для MessageActivityType
* Заменяет SafetyEnum на StringEnum для MessageAction
* Заменяет SafetyEnum на StringEnum для MediaType
* Заменяет SafetyEnum на StringEnum для ManagerRole
* Заменяет SafetyEnum на StringEnum для LinkStatusType
* Заменяет SafetyEnum на StringEnum для LinkStatInterval
* Заменяет SafetyEnum на StringEnum для LikesFilter
* Заменяет SafetyEnum на StringEnum для LikeObjectType
* Заменяет SafetyEnum на StringEnum для KeyboardButtonColor
* Заменяет SafetyEnum на StringEnum для KeyboardButtonActionType
* Заменяет SafetyEnum на StringEnum для Intent
* Заменяет SafetyEnum на StringEnum для IdsType
* Заменяет SafetyEnum на StringEnum для GroupUpdateType
* Заменяет SafetyEnum на StringEnum для GroupsMemberFilters
* Заменяет SafetyEnum на StringEnum для GrantType
* Заменяет SafetyEnum на StringEnum для GetConversationFilter
* Заменяет SafetyEnum на StringEnum для FriendsOrder
* Заменяет SafetyEnum на StringEnum для FriendsFilter
* Заменяет SafetyEnum на StringEnum для FeedType
* Заменяет SafetyEnum на StringEnum для FaveType
* Заменяет SafetyEnum на StringEnum для FavePageType
* Заменяет SafetyEnum на StringEnum для DocMessageType
* Заменяет SafetyEnum на StringEnum для Display
* Заменяет SafetyEnum на StringEnum для Peer
* Заменяет SafetyEnum на StringEnum для ConversationChatSettingsState
* Заменяет SafetyEnum на StringEnum для ConversationChatSettingsState
* Заменяет SafetyEnum на StringEnum для CommentsSort
* Заменяет SafetyEnum на StringEnum для CommentObjectType
* Add missing members to Message and MessageActionObject
* Add IsSilent, ExpireTtl, IsExpired to Message
* Add tests for messages with undocumented fields
Signed-off-by: Bird Egop <sampletext32@bk.ru>
* Реализовал метод getBackgrounds #1130
* Добавил Json для теста метода getBackgrounds #1130
* Реализовал метода getPhotoUploadServer #1130
* Реализовал метод savePhoto #1130
В случае, если в запросе Groups.GetRequests не указаны доп. поля (т.е. UsersFields установлено в null),
от API приходит ответ в виде массива чисел, а не объектов, из-за чего парсер не мог их обработать
и возвращал коллекцию, состоящюю из null-объектов.
Данный коммит исправляет работу парсера. Теперь в случае, если пользователь не выбрал доп. поля для отображения,
метод возвращает массив пользователей (User), у которых заполнено только поле Id.
В случае, если поля выбраны, метод сохраняет прежнее поведение.
Помимо этого, для метода добавлены два теста - для запроса с полями и без полей.