From 09e34442c15ab7f304c70d02d35d464ee8aa3ce7 Mon Sep 17 00:00:00 2001 From: dofusdude Date: Tue, 7 May 2024 10:06:36 +0000 Subject: [PATCH] Update from https://github.com/dofusdude/api-docs/commit/31f573e25ef517a1c38b1ae9aa0c6d657e2a588c --- .github/workflows/build.yml | 21 + .gitignore | 362 + .openapi-generator-ignore | 23 + .openapi-generator/FILES | 200 + .openapi-generator/VERSION | 1 + Dofusdude.Api.sln | 27 + README.md | 262 +- api/openapi.yaml | 7772 +++++++++++++++++ appveyor.yml | 9 + docs/AlmanaxApi.md | 203 + docs/AlmanaxEntry.md | 13 + docs/AlmanaxEntryBonus.md | 11 + docs/AlmanaxEntryTribute.md | 11 + docs/AlmanaxEntryTributeItem.md | 13 + docs/AlmanaxWebhook.md | 21 + docs/AlmanaxWebhookDailySettings.md | 11 + docs/ConditionEntry.md | 12 + docs/ConditionTreeLeaf.md | 11 + docs/ConditionTreeNode.md | 13 + docs/ConditionTreeRelation.md | 12 + docs/ConsumablesApi.md | 427 + docs/Cosmetic.md | 20 + docs/CosmeticType.md | 11 + docs/CosmeticsApi.md | 427 + docs/CreateAlmanaxWebhook.md | 19 + docs/CreateAlmanaxWebhookDailySettings.md | 11 + .../CreateAlmanaxWebhookMentionsValueInner.md | 13 + docs/CreateRSSWebhook.md | 15 + docs/CreateTwitterWebhook.md | 15 + docs/EffectsEntry.md | 15 + docs/Equipment.md | 22 + docs/EquipmentApi.md | 427 + docs/EquipmentSet.md | 14 + docs/GameApi.md | 217 + docs/GetGameSearch200ResponseInner.md | 12 + docs/GetMetaAlmanaxBonuses200ResponseInner.md | 11 + docs/GetMetaWebhooksTwitter200Response.md | 10 + docs/ImageUrls.md | 14 + docs/ItemListEntry.md | 28 + docs/ItemListEntryParentSet.md | 11 + docs/ItemListEntryRange.md | 11 + docs/ItemsListEntryTyped.md | 15 + docs/ItemsListEntryTypedType.md | 11 + docs/ItemsListPaged.md | 11 + docs/LinksPaged.md | 13 + docs/MetaApi.md | 369 + docs/Mount.md | 14 + docs/MountListEntry.md | 14 + docs/MountsApi.md | 411 + docs/MountsListPaged.md | 11 + docs/PutAlmanaxWebhook.md | 17 + docs/PutRSSWebhook.md | 13 + docs/PutTwitterWebhook.md | 13 + docs/QuestItemsApi.md | 427 + docs/RecipeEntry.md | 12 + docs/Resource.md | 20 + docs/ResourcesApi.md | 427 + docs/RssWebhook.md | 18 + docs/SetEffectsEntry.md | 16 + docs/SetEffectsEntryType.md | 13 + docs/SetListEntry.md | 15 + docs/SetsApi.md | 421 + docs/SetsListPaged.md | 11 + docs/TwitterWebhook.md | 18 + docs/Weapon.md | 28 + docs/WeaponRange.md | 11 + docs/WebhooksApi.md | 1354 +++ git_push.sh | 57 + src/Dofusdude.Api.Test/Api/AlmanaxApiTests.cs | 88 + .../Api/ConsumablesApiTests.cs | 128 + .../Api/CosmeticsApiTests.cs | 128 + .../Api/EquipmentApiTests.cs | 128 + src/Dofusdude.Api.Test/Api/GameApiTests.cs | 93 + src/Dofusdude.Api.Test/Api/MetaApiTests.cs | 106 + src/Dofusdude.Api.Test/Api/MountsApiTests.cs | 120 + .../Api/QuestItemsApiTests.cs | 128 + .../Api/ResourcesApiTests.cs | 128 + src/Dofusdude.Api.Test/Api/SetsApiTests.cs | 125 + .../Api/WebhooksApiTests.cs | 232 + .../Dofusdude.Api.Test.csproj | 20 + .../Model/AlmanaxEntryBonusTests.cs | 76 + .../Model/AlmanaxEntryTests.cs | 94 + .../Model/AlmanaxEntryTributeItemTests.cs | 94 + .../Model/AlmanaxEntryTributeTests.cs | 76 + .../Model/AlmanaxWebhookDailySettingsTests.cs | 76 + .../Model/AlmanaxWebhookTests.cs | 166 + .../Model/ConditionEntryTests.cs | 85 + .../Model/ConditionTreeLeafTests.cs | 76 + .../Model/ConditionTreeNodeTests.cs | 94 + .../Model/ConditionTreeRelationTests.cs | 85 + src/Dofusdude.Api.Test/Model/CosmeticTests.cs | 157 + .../Model/CosmeticTypeTests.cs | 76 + .../CreateAlmanaxWebhookDailySettingsTests.cs | 76 + ...teAlmanaxWebhookMentionsValueInnerTests.cs | 85 + .../Model/CreateAlmanaxWebhookTests.cs | 148 + .../Model/CreateRSSWebhookTests.cs | 112 + .../Model/CreateTwitterWebhookTests.cs | 112 + .../Model/EffectsEntryTests.cs | 112 + .../Model/EquipmentSetTests.cs | 103 + .../Model/EquipmentTests.cs | 175 + .../GetGameSearch200ResponseInnerTests.cs | 85 + ...MetaAlmanaxBonuses200ResponseInnerTests.cs | 76 + .../GetMetaWebhooksTwitter200ResponseTests.cs | 67 + .../Model/ImageUrlsTests.cs | 94 + .../Model/ItemListEntryParentSetTests.cs | 76 + .../Model/ItemListEntryRangeTests.cs | 76 + .../Model/ItemListEntryTests.cs | 229 + .../Model/ItemsListEntryTypedTests.cs | 112 + .../Model/ItemsListEntryTypedTypeTests.cs | 76 + .../Model/ItemsListPagedTests.cs | 76 + .../Model/LinksPagedTests.cs | 94 + .../Model/MountListEntryTests.cs | 103 + src/Dofusdude.Api.Test/Model/MountTests.cs | 103 + .../Model/MountsListPagedTests.cs | 76 + .../Model/PutAlmanaxWebhookTests.cs | 130 + .../Model/PutRSSWebhookTests.cs | 94 + .../Model/PutTwitterWebhookTests.cs | 94 + .../Model/RecipeEntryTests.cs | 85 + src/Dofusdude.Api.Test/Model/ResourceTests.cs | 157 + .../Model/RssWebhookTests.cs | 139 + .../Model/SetEffectsEntryTests.cs | 121 + .../Model/SetEffectsEntryTypeTests.cs | 94 + .../Model/SetListEntryTests.cs | 112 + .../Model/SetsListPagedTests.cs | 76 + .../Model/TwitterWebhookTests.cs | 139 + .../Model/WeaponRangeTests.cs | 76 + src/Dofusdude.Api.Test/Model/WeaponTests.cs | 229 + src/Dofusdude.Api/Api/AlmanaxApi.cs | 646 ++ src/Dofusdude.Api/Api/ConsumablesApi.cs | 1304 +++ src/Dofusdude.Api/Api/CosmeticsApi.cs | 1304 +++ src/Dofusdude.Api/Api/EquipmentApi.cs | 1304 +++ src/Dofusdude.Api/Api/GameApi.cs | 744 ++ src/Dofusdude.Api/Api/MetaApi.cs | 922 ++ src/Dofusdude.Api/Api/MountsApi.cs | 1176 +++ src/Dofusdude.Api/Api/QuestItemsApi.cs | 1304 +++ src/Dofusdude.Api/Api/ResourcesApi.cs | 1304 +++ src/Dofusdude.Api/Api/SetsApi.cs | 1256 +++ src/Dofusdude.Api/Api/WebhooksApi.cs | 2956 +++++++ src/Dofusdude.Api/Client/ApiClient.cs | 834 ++ src/Dofusdude.Api/Client/ApiException.cs | 69 + src/Dofusdude.Api/Client/ApiResponse.cs | 167 + src/Dofusdude.Api/Client/ClientUtils.cs | 248 + src/Dofusdude.Api/Client/Configuration.cs | 613 ++ src/Dofusdude.Api/Client/ExceptionFactory.cs | 23 + .../Client/GlobalConfiguration.cs | 68 + src/Dofusdude.Api/Client/HttpMethod.cs | 34 + src/Dofusdude.Api/Client/IApiAccessor.cs | 38 + .../Client/IAsynchronousClient.cs | 101 + .../Client/IReadableConfiguration.cs | 142 + .../Client/ISynchronousClient.cs | 94 + src/Dofusdude.Api/Client/Multimap.cs | 296 + .../Client/OpenAPIDateConverter.cs | 30 + src/Dofusdude.Api/Client/RequestOptions.cs | 85 + .../Client/RetryConfiguration.cs | 32 + src/Dofusdude.Api/Dofusdude.Api.csproj | 36 + .../Model/AbstractOpenAPISchema.cs | 77 + src/Dofusdude.Api/Model/AlmanaxEntry.cs | 111 + src/Dofusdude.Api/Model/AlmanaxEntryBonus.cs | 92 + .../Model/AlmanaxEntryTribute.cs | 92 + .../Model/AlmanaxEntryTributeItem.cs | 110 + src/Dofusdude.Api/Model/AlmanaxWebhook.cs | 267 + .../Model/AlmanaxWebhookDailySettings.cs | 97 + src/Dofusdude.Api/Model/ConditionEntry.cs | 101 + src/Dofusdude.Api/Model/ConditionTreeLeaf.cs | 93 + src/Dofusdude.Api/Model/ConditionTreeNode.cs | 261 + .../Model/ConditionTreeRelation.cs | 105 + src/Dofusdude.Api/Model/Cosmetic.cs | 174 + src/Dofusdude.Api/Model/CosmeticType.cs | 98 + .../Model/CreateAlmanaxWebhook.cs | 285 + .../CreateAlmanaxWebhookDailySettings.cs | 110 + .../CreateAlmanaxWebhookMentionsValueInner.cs | 119 + src/Dofusdude.Api/Model/CreateRSSWebhook.cs | 172 + .../Model/CreateTwitterWebhook.cs | 172 + src/Dofusdude.Api/Model/EffectsEntry.cs | 133 + src/Dofusdude.Api/Model/Equipment.cs | 192 + src/Dofusdude.Api/Model/EquipmentSet.cs | 119 + .../Model/GetGameSearch200ResponseInner.cs | 104 + .../GetMetaAlmanaxBonuses200ResponseInner.cs | 92 + .../GetMetaWebhooksTwitter200Response.cs | 83 + src/Dofusdude.Api/Model/ImageUrls.cs | 114 + src/Dofusdude.Api/Model/ItemListEntry.cs | 246 + .../Model/ItemListEntryParentSet.cs | 92 + src/Dofusdude.Api/Model/ItemListEntryRange.cs | 92 + .../Model/ItemsListEntryTyped.cs | 129 + .../Model/ItemsListEntryTypedType.cs | 92 + src/Dofusdude.Api/Model/ItemsListPaged.cs | 92 + src/Dofusdude.Api/Model/LinksPaged.cs | 110 + src/Dofusdude.Api/Model/Mount.cs | 119 + src/Dofusdude.Api/Model/MountListEntry.cs | 119 + src/Dofusdude.Api/Model/MountsListPaged.cs | 92 + src/Dofusdude.Api/Model/PutAlmanaxWebhook.cs | 231 + src/Dofusdude.Api/Model/PutRSSWebhook.cs | 124 + src/Dofusdude.Api/Model/PutTwitterWebhook.cs | 124 + src/Dofusdude.Api/Model/RecipeEntry.cs | 101 + src/Dofusdude.Api/Model/Resource.cs | 174 + src/Dofusdude.Api/Model/RssWebhook.cs | 184 + src/Dofusdude.Api/Model/SetEffectsEntry.cs | 143 + .../Model/SetEffectsEntryType.cs | 112 + src/Dofusdude.Api/Model/SetListEntry.cs | 129 + src/Dofusdude.Api/Model/SetsListPaged.cs | 92 + src/Dofusdude.Api/Model/TwitterWebhook.cs | 184 + src/Dofusdude.Api/Model/Weapon.cs | 247 + src/Dofusdude.Api/Model/WeaponRange.cs | 92 + 203 files changed, 44531 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build.yml create mode 100644 .gitignore create mode 100644 .openapi-generator-ignore create mode 100644 .openapi-generator/FILES create mode 100644 .openapi-generator/VERSION create mode 100644 Dofusdude.Api.sln create mode 100644 api/openapi.yaml create mode 100644 appveyor.yml create mode 100644 docs/AlmanaxApi.md create mode 100644 docs/AlmanaxEntry.md create mode 100644 docs/AlmanaxEntryBonus.md create mode 100644 docs/AlmanaxEntryTribute.md create mode 100644 docs/AlmanaxEntryTributeItem.md create mode 100644 docs/AlmanaxWebhook.md create mode 100644 docs/AlmanaxWebhookDailySettings.md create mode 100644 docs/ConditionEntry.md create mode 100644 docs/ConditionTreeLeaf.md create mode 100644 docs/ConditionTreeNode.md create mode 100644 docs/ConditionTreeRelation.md create mode 100644 docs/ConsumablesApi.md create mode 100644 docs/Cosmetic.md create mode 100644 docs/CosmeticType.md create mode 100644 docs/CosmeticsApi.md create mode 100644 docs/CreateAlmanaxWebhook.md create mode 100644 docs/CreateAlmanaxWebhookDailySettings.md create mode 100644 docs/CreateAlmanaxWebhookMentionsValueInner.md create mode 100644 docs/CreateRSSWebhook.md create mode 100644 docs/CreateTwitterWebhook.md create mode 100644 docs/EffectsEntry.md create mode 100644 docs/Equipment.md create mode 100644 docs/EquipmentApi.md create mode 100644 docs/EquipmentSet.md create mode 100644 docs/GameApi.md create mode 100644 docs/GetGameSearch200ResponseInner.md create mode 100644 docs/GetMetaAlmanaxBonuses200ResponseInner.md create mode 100644 docs/GetMetaWebhooksTwitter200Response.md create mode 100644 docs/ImageUrls.md create mode 100644 docs/ItemListEntry.md create mode 100644 docs/ItemListEntryParentSet.md create mode 100644 docs/ItemListEntryRange.md create mode 100644 docs/ItemsListEntryTyped.md create mode 100644 docs/ItemsListEntryTypedType.md create mode 100644 docs/ItemsListPaged.md create mode 100644 docs/LinksPaged.md create mode 100644 docs/MetaApi.md create mode 100644 docs/Mount.md create mode 100644 docs/MountListEntry.md create mode 100644 docs/MountsApi.md create mode 100644 docs/MountsListPaged.md create mode 100644 docs/PutAlmanaxWebhook.md create mode 100644 docs/PutRSSWebhook.md create mode 100644 docs/PutTwitterWebhook.md create mode 100644 docs/QuestItemsApi.md create mode 100644 docs/RecipeEntry.md create mode 100644 docs/Resource.md create mode 100644 docs/ResourcesApi.md create mode 100644 docs/RssWebhook.md create mode 100644 docs/SetEffectsEntry.md create mode 100644 docs/SetEffectsEntryType.md create mode 100644 docs/SetListEntry.md create mode 100644 docs/SetsApi.md create mode 100644 docs/SetsListPaged.md create mode 100644 docs/TwitterWebhook.md create mode 100644 docs/Weapon.md create mode 100644 docs/WeaponRange.md create mode 100644 docs/WebhooksApi.md create mode 100644 git_push.sh create mode 100644 src/Dofusdude.Api.Test/Api/AlmanaxApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/ConsumablesApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/CosmeticsApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/EquipmentApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/GameApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/MetaApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/MountsApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/QuestItemsApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/ResourcesApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/SetsApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Api/WebhooksApiTests.cs create mode 100644 src/Dofusdude.Api.Test/Dofusdude.Api.Test.csproj create mode 100644 src/Dofusdude.Api.Test/Model/AlmanaxEntryBonusTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/AlmanaxEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeItemTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/AlmanaxWebhookDailySettingsTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/AlmanaxWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ConditionEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ConditionTreeLeafTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ConditionTreeNodeTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ConditionTreeRelationTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/CosmeticTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/CosmeticTypeTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookDailySettingsTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookMentionsValueInnerTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/CreateRSSWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/CreateTwitterWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/EffectsEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/EquipmentSetTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/EquipmentTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/GetGameSearch200ResponseInnerTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/GetMetaAlmanaxBonuses200ResponseInnerTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/GetMetaWebhooksTwitter200ResponseTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ImageUrlsTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ItemListEntryParentSetTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ItemListEntryRangeTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ItemListEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTypeTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ItemsListPagedTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/LinksPagedTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/MountListEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/MountTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/MountsListPagedTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/PutAlmanaxWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/PutRSSWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/PutTwitterWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/RecipeEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/ResourceTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/RssWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/SetEffectsEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/SetEffectsEntryTypeTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/SetListEntryTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/SetsListPagedTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/TwitterWebhookTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/WeaponRangeTests.cs create mode 100644 src/Dofusdude.Api.Test/Model/WeaponTests.cs create mode 100644 src/Dofusdude.Api/Api/AlmanaxApi.cs create mode 100644 src/Dofusdude.Api/Api/ConsumablesApi.cs create mode 100644 src/Dofusdude.Api/Api/CosmeticsApi.cs create mode 100644 src/Dofusdude.Api/Api/EquipmentApi.cs create mode 100644 src/Dofusdude.Api/Api/GameApi.cs create mode 100644 src/Dofusdude.Api/Api/MetaApi.cs create mode 100644 src/Dofusdude.Api/Api/MountsApi.cs create mode 100644 src/Dofusdude.Api/Api/QuestItemsApi.cs create mode 100644 src/Dofusdude.Api/Api/ResourcesApi.cs create mode 100644 src/Dofusdude.Api/Api/SetsApi.cs create mode 100644 src/Dofusdude.Api/Api/WebhooksApi.cs create mode 100644 src/Dofusdude.Api/Client/ApiClient.cs create mode 100644 src/Dofusdude.Api/Client/ApiException.cs create mode 100644 src/Dofusdude.Api/Client/ApiResponse.cs create mode 100644 src/Dofusdude.Api/Client/ClientUtils.cs create mode 100644 src/Dofusdude.Api/Client/Configuration.cs create mode 100644 src/Dofusdude.Api/Client/ExceptionFactory.cs create mode 100644 src/Dofusdude.Api/Client/GlobalConfiguration.cs create mode 100644 src/Dofusdude.Api/Client/HttpMethod.cs create mode 100644 src/Dofusdude.Api/Client/IApiAccessor.cs create mode 100644 src/Dofusdude.Api/Client/IAsynchronousClient.cs create mode 100644 src/Dofusdude.Api/Client/IReadableConfiguration.cs create mode 100644 src/Dofusdude.Api/Client/ISynchronousClient.cs create mode 100644 src/Dofusdude.Api/Client/Multimap.cs create mode 100644 src/Dofusdude.Api/Client/OpenAPIDateConverter.cs create mode 100644 src/Dofusdude.Api/Client/RequestOptions.cs create mode 100644 src/Dofusdude.Api/Client/RetryConfiguration.cs create mode 100644 src/Dofusdude.Api/Dofusdude.Api.csproj create mode 100644 src/Dofusdude.Api/Model/AbstractOpenAPISchema.cs create mode 100644 src/Dofusdude.Api/Model/AlmanaxEntry.cs create mode 100644 src/Dofusdude.Api/Model/AlmanaxEntryBonus.cs create mode 100644 src/Dofusdude.Api/Model/AlmanaxEntryTribute.cs create mode 100644 src/Dofusdude.Api/Model/AlmanaxEntryTributeItem.cs create mode 100644 src/Dofusdude.Api/Model/AlmanaxWebhook.cs create mode 100644 src/Dofusdude.Api/Model/AlmanaxWebhookDailySettings.cs create mode 100644 src/Dofusdude.Api/Model/ConditionEntry.cs create mode 100644 src/Dofusdude.Api/Model/ConditionTreeLeaf.cs create mode 100644 src/Dofusdude.Api/Model/ConditionTreeNode.cs create mode 100644 src/Dofusdude.Api/Model/ConditionTreeRelation.cs create mode 100644 src/Dofusdude.Api/Model/Cosmetic.cs create mode 100644 src/Dofusdude.Api/Model/CosmeticType.cs create mode 100644 src/Dofusdude.Api/Model/CreateAlmanaxWebhook.cs create mode 100644 src/Dofusdude.Api/Model/CreateAlmanaxWebhookDailySettings.cs create mode 100644 src/Dofusdude.Api/Model/CreateAlmanaxWebhookMentionsValueInner.cs create mode 100644 src/Dofusdude.Api/Model/CreateRSSWebhook.cs create mode 100644 src/Dofusdude.Api/Model/CreateTwitterWebhook.cs create mode 100644 src/Dofusdude.Api/Model/EffectsEntry.cs create mode 100644 src/Dofusdude.Api/Model/Equipment.cs create mode 100644 src/Dofusdude.Api/Model/EquipmentSet.cs create mode 100644 src/Dofusdude.Api/Model/GetGameSearch200ResponseInner.cs create mode 100644 src/Dofusdude.Api/Model/GetMetaAlmanaxBonuses200ResponseInner.cs create mode 100644 src/Dofusdude.Api/Model/GetMetaWebhooksTwitter200Response.cs create mode 100644 src/Dofusdude.Api/Model/ImageUrls.cs create mode 100644 src/Dofusdude.Api/Model/ItemListEntry.cs create mode 100644 src/Dofusdude.Api/Model/ItemListEntryParentSet.cs create mode 100644 src/Dofusdude.Api/Model/ItemListEntryRange.cs create mode 100644 src/Dofusdude.Api/Model/ItemsListEntryTyped.cs create mode 100644 src/Dofusdude.Api/Model/ItemsListEntryTypedType.cs create mode 100644 src/Dofusdude.Api/Model/ItemsListPaged.cs create mode 100644 src/Dofusdude.Api/Model/LinksPaged.cs create mode 100644 src/Dofusdude.Api/Model/Mount.cs create mode 100644 src/Dofusdude.Api/Model/MountListEntry.cs create mode 100644 src/Dofusdude.Api/Model/MountsListPaged.cs create mode 100644 src/Dofusdude.Api/Model/PutAlmanaxWebhook.cs create mode 100644 src/Dofusdude.Api/Model/PutRSSWebhook.cs create mode 100644 src/Dofusdude.Api/Model/PutTwitterWebhook.cs create mode 100644 src/Dofusdude.Api/Model/RecipeEntry.cs create mode 100644 src/Dofusdude.Api/Model/Resource.cs create mode 100644 src/Dofusdude.Api/Model/RssWebhook.cs create mode 100644 src/Dofusdude.Api/Model/SetEffectsEntry.cs create mode 100644 src/Dofusdude.Api/Model/SetEffectsEntryType.cs create mode 100644 src/Dofusdude.Api/Model/SetListEntry.cs create mode 100644 src/Dofusdude.Api/Model/SetsListPaged.cs create mode 100644 src/Dofusdude.Api/Model/TwitterWebhook.cs create mode 100644 src/Dofusdude.Api/Model/Weapon.cs create mode 100644 src/Dofusdude.Api/Model/WeaponRange.cs diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..40f2036 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,21 @@ +name: Build +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up dotnet + uses: actions/setup-dotnet@v3 + with: + dotnet-version: "8.x" + - name: Install deps + run: dotnet restore + - name: Build + run: dotnet build + - name: Test + run: dotnet test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ee5385 --- /dev/null +++ b/.gitignore @@ -0,0 +1,362 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 0000000..fadea5d --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,200 @@ +.gitignore +.openapi-generator-ignore +Dofusdude.Api.sln +README.md +api/openapi.yaml +appveyor.yml +docs/AlmanaxApi.md +docs/AlmanaxEntry.md +docs/AlmanaxEntryBonus.md +docs/AlmanaxEntryTribute.md +docs/AlmanaxEntryTributeItem.md +docs/AlmanaxWebhook.md +docs/AlmanaxWebhookDailySettings.md +docs/ConditionEntry.md +docs/ConditionTreeLeaf.md +docs/ConditionTreeNode.md +docs/ConditionTreeRelation.md +docs/ConsumablesApi.md +docs/Cosmetic.md +docs/CosmeticType.md +docs/CosmeticsApi.md +docs/CreateAlmanaxWebhook.md +docs/CreateAlmanaxWebhookDailySettings.md +docs/CreateAlmanaxWebhookMentionsValueInner.md +docs/CreateRSSWebhook.md +docs/CreateTwitterWebhook.md +docs/EffectsEntry.md +docs/Equipment.md +docs/EquipmentApi.md +docs/EquipmentSet.md +docs/GameApi.md +docs/GetGameSearch200ResponseInner.md +docs/GetMetaAlmanaxBonuses200ResponseInner.md +docs/GetMetaWebhooksTwitter200Response.md +docs/ImageUrls.md +docs/ItemListEntry.md +docs/ItemListEntryParentSet.md +docs/ItemListEntryRange.md +docs/ItemsListEntryTyped.md +docs/ItemsListEntryTypedType.md +docs/ItemsListPaged.md +docs/LinksPaged.md +docs/MetaApi.md +docs/Mount.md +docs/MountListEntry.md +docs/MountsApi.md +docs/MountsListPaged.md +docs/PutAlmanaxWebhook.md +docs/PutRSSWebhook.md +docs/PutTwitterWebhook.md +docs/QuestItemsApi.md +docs/RecipeEntry.md +docs/Resource.md +docs/ResourcesApi.md +docs/RssWebhook.md +docs/SetEffectsEntry.md +docs/SetEffectsEntryType.md +docs/SetListEntry.md +docs/SetsApi.md +docs/SetsListPaged.md +docs/TwitterWebhook.md +docs/Weapon.md +docs/WeaponRange.md +docs/WebhooksApi.md +git_push.sh +src/Dofusdude.Api.Test/Api/AlmanaxApiTests.cs +src/Dofusdude.Api.Test/Api/ConsumablesApiTests.cs +src/Dofusdude.Api.Test/Api/CosmeticsApiTests.cs +src/Dofusdude.Api.Test/Api/EquipmentApiTests.cs +src/Dofusdude.Api.Test/Api/GameApiTests.cs +src/Dofusdude.Api.Test/Api/MetaApiTests.cs +src/Dofusdude.Api.Test/Api/MountsApiTests.cs +src/Dofusdude.Api.Test/Api/QuestItemsApiTests.cs +src/Dofusdude.Api.Test/Api/ResourcesApiTests.cs +src/Dofusdude.Api.Test/Api/SetsApiTests.cs +src/Dofusdude.Api.Test/Api/WebhooksApiTests.cs +src/Dofusdude.Api.Test/Dofusdude.Api.Test.csproj +src/Dofusdude.Api.Test/Model/AlmanaxEntryBonusTests.cs +src/Dofusdude.Api.Test/Model/AlmanaxEntryTests.cs +src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeItemTests.cs +src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeTests.cs +src/Dofusdude.Api.Test/Model/AlmanaxWebhookDailySettingsTests.cs +src/Dofusdude.Api.Test/Model/AlmanaxWebhookTests.cs +src/Dofusdude.Api.Test/Model/ConditionEntryTests.cs +src/Dofusdude.Api.Test/Model/ConditionTreeLeafTests.cs +src/Dofusdude.Api.Test/Model/ConditionTreeNodeTests.cs +src/Dofusdude.Api.Test/Model/ConditionTreeRelationTests.cs +src/Dofusdude.Api.Test/Model/CosmeticTests.cs +src/Dofusdude.Api.Test/Model/CosmeticTypeTests.cs +src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookDailySettingsTests.cs +src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookMentionsValueInnerTests.cs +src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookTests.cs +src/Dofusdude.Api.Test/Model/CreateRSSWebhookTests.cs +src/Dofusdude.Api.Test/Model/CreateTwitterWebhookTests.cs +src/Dofusdude.Api.Test/Model/EffectsEntryTests.cs +src/Dofusdude.Api.Test/Model/EquipmentSetTests.cs +src/Dofusdude.Api.Test/Model/EquipmentTests.cs +src/Dofusdude.Api.Test/Model/GetGameSearch200ResponseInnerTests.cs +src/Dofusdude.Api.Test/Model/GetMetaAlmanaxBonuses200ResponseInnerTests.cs +src/Dofusdude.Api.Test/Model/GetMetaWebhooksTwitter200ResponseTests.cs +src/Dofusdude.Api.Test/Model/ImageUrlsTests.cs +src/Dofusdude.Api.Test/Model/ItemListEntryParentSetTests.cs +src/Dofusdude.Api.Test/Model/ItemListEntryRangeTests.cs +src/Dofusdude.Api.Test/Model/ItemListEntryTests.cs +src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTests.cs +src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTypeTests.cs +src/Dofusdude.Api.Test/Model/ItemsListPagedTests.cs +src/Dofusdude.Api.Test/Model/LinksPagedTests.cs +src/Dofusdude.Api.Test/Model/MountListEntryTests.cs +src/Dofusdude.Api.Test/Model/MountTests.cs +src/Dofusdude.Api.Test/Model/MountsListPagedTests.cs +src/Dofusdude.Api.Test/Model/PutAlmanaxWebhookTests.cs +src/Dofusdude.Api.Test/Model/PutRSSWebhookTests.cs +src/Dofusdude.Api.Test/Model/PutTwitterWebhookTests.cs +src/Dofusdude.Api.Test/Model/RecipeEntryTests.cs +src/Dofusdude.Api.Test/Model/ResourceTests.cs +src/Dofusdude.Api.Test/Model/RssWebhookTests.cs +src/Dofusdude.Api.Test/Model/SetEffectsEntryTests.cs +src/Dofusdude.Api.Test/Model/SetEffectsEntryTypeTests.cs +src/Dofusdude.Api.Test/Model/SetListEntryTests.cs +src/Dofusdude.Api.Test/Model/SetsListPagedTests.cs +src/Dofusdude.Api.Test/Model/TwitterWebhookTests.cs +src/Dofusdude.Api.Test/Model/WeaponRangeTests.cs +src/Dofusdude.Api.Test/Model/WeaponTests.cs +src/Dofusdude.Api/Api/AlmanaxApi.cs +src/Dofusdude.Api/Api/ConsumablesApi.cs +src/Dofusdude.Api/Api/CosmeticsApi.cs +src/Dofusdude.Api/Api/EquipmentApi.cs +src/Dofusdude.Api/Api/GameApi.cs +src/Dofusdude.Api/Api/MetaApi.cs +src/Dofusdude.Api/Api/MountsApi.cs +src/Dofusdude.Api/Api/QuestItemsApi.cs +src/Dofusdude.Api/Api/ResourcesApi.cs +src/Dofusdude.Api/Api/SetsApi.cs +src/Dofusdude.Api/Api/WebhooksApi.cs +src/Dofusdude.Api/Client/ApiClient.cs +src/Dofusdude.Api/Client/ApiException.cs +src/Dofusdude.Api/Client/ApiResponse.cs +src/Dofusdude.Api/Client/ClientUtils.cs +src/Dofusdude.Api/Client/Configuration.cs +src/Dofusdude.Api/Client/ExceptionFactory.cs +src/Dofusdude.Api/Client/GlobalConfiguration.cs +src/Dofusdude.Api/Client/HttpMethod.cs +src/Dofusdude.Api/Client/IApiAccessor.cs +src/Dofusdude.Api/Client/IAsynchronousClient.cs +src/Dofusdude.Api/Client/IReadableConfiguration.cs +src/Dofusdude.Api/Client/ISynchronousClient.cs +src/Dofusdude.Api/Client/Multimap.cs +src/Dofusdude.Api/Client/OpenAPIDateConverter.cs +src/Dofusdude.Api/Client/RequestOptions.cs +src/Dofusdude.Api/Client/RetryConfiguration.cs +src/Dofusdude.Api/Dofusdude.Api.csproj +src/Dofusdude.Api/Model/AbstractOpenAPISchema.cs +src/Dofusdude.Api/Model/AlmanaxEntry.cs +src/Dofusdude.Api/Model/AlmanaxEntryBonus.cs +src/Dofusdude.Api/Model/AlmanaxEntryTribute.cs +src/Dofusdude.Api/Model/AlmanaxEntryTributeItem.cs +src/Dofusdude.Api/Model/AlmanaxWebhook.cs +src/Dofusdude.Api/Model/AlmanaxWebhookDailySettings.cs +src/Dofusdude.Api/Model/ConditionEntry.cs +src/Dofusdude.Api/Model/ConditionTreeLeaf.cs +src/Dofusdude.Api/Model/ConditionTreeNode.cs +src/Dofusdude.Api/Model/ConditionTreeRelation.cs +src/Dofusdude.Api/Model/Cosmetic.cs +src/Dofusdude.Api/Model/CosmeticType.cs +src/Dofusdude.Api/Model/CreateAlmanaxWebhook.cs +src/Dofusdude.Api/Model/CreateAlmanaxWebhookDailySettings.cs +src/Dofusdude.Api/Model/CreateAlmanaxWebhookMentionsValueInner.cs +src/Dofusdude.Api/Model/CreateRSSWebhook.cs +src/Dofusdude.Api/Model/CreateTwitterWebhook.cs +src/Dofusdude.Api/Model/EffectsEntry.cs +src/Dofusdude.Api/Model/Equipment.cs +src/Dofusdude.Api/Model/EquipmentSet.cs +src/Dofusdude.Api/Model/GetGameSearch200ResponseInner.cs +src/Dofusdude.Api/Model/GetMetaAlmanaxBonuses200ResponseInner.cs +src/Dofusdude.Api/Model/GetMetaWebhooksTwitter200Response.cs +src/Dofusdude.Api/Model/ImageUrls.cs +src/Dofusdude.Api/Model/ItemListEntry.cs +src/Dofusdude.Api/Model/ItemListEntryParentSet.cs +src/Dofusdude.Api/Model/ItemListEntryRange.cs +src/Dofusdude.Api/Model/ItemsListEntryTyped.cs +src/Dofusdude.Api/Model/ItemsListEntryTypedType.cs +src/Dofusdude.Api/Model/ItemsListPaged.cs +src/Dofusdude.Api/Model/LinksPaged.cs +src/Dofusdude.Api/Model/Mount.cs +src/Dofusdude.Api/Model/MountListEntry.cs +src/Dofusdude.Api/Model/MountsListPaged.cs +src/Dofusdude.Api/Model/PutAlmanaxWebhook.cs +src/Dofusdude.Api/Model/PutRSSWebhook.cs +src/Dofusdude.Api/Model/PutTwitterWebhook.cs +src/Dofusdude.Api/Model/RecipeEntry.cs +src/Dofusdude.Api/Model/Resource.cs +src/Dofusdude.Api/Model/RssWebhook.cs +src/Dofusdude.Api/Model/SetEffectsEntry.cs +src/Dofusdude.Api/Model/SetEffectsEntryType.cs +src/Dofusdude.Api/Model/SetListEntry.cs +src/Dofusdude.Api/Model/SetsListPaged.cs +src/Dofusdude.Api/Model/TwitterWebhook.cs +src/Dofusdude.Api/Model/Weapon.cs +src/Dofusdude.Api/Model/WeaponRange.cs diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..ecb2186 --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.6.0-SNAPSHOT diff --git a/Dofusdude.Api.sln b/Dofusdude.Api.sln new file mode 100644 index 0000000..50f06d9 --- /dev/null +++ b/Dofusdude.Api.sln @@ -0,0 +1,27 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +VisualStudioVersion = 12.0.0.0 +MinimumVisualStudioVersion = 10.0.0.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dofusdude.Api", "src\Dofusdude.Api\Dofusdude.Api.csproj", "{5A38C848-7067-485D-AD1C-C3FC4EC5C7AD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dofusdude.Api.Test", "src\Dofusdude.Api.Test\Dofusdude.Api.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5A38C848-7067-485D-AD1C-C3FC4EC5C7AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A38C848-7067-485D-AD1C-C3FC4EC5C7AD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A38C848-7067-485D-AD1C-C3FC4EC5C7AD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A38C848-7067-485D-AD1C-C3FC4EC5C7AD}.Release|Any CPU.Build.0 = Release|Any CPU + {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU + {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU + {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/README.md b/README.md index 8f8f230..94a933e 100644 --- a/README.md +++ b/README.md @@ -1 +1,261 @@ -# dofusdude-csharp +# Dofusdude.Api - the C# library for the dofusdude + +# A project for you - the developer. +The all-in-one toolbelt for your next Ankama related project. + +## Client SDKs +- [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` +- [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` +- [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` +- [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` +- [PHP](https://github.com/dofusdude/dofusdude-php) +- [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup + +Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. + +Your favorite language is missing? Please let me know! + +# Main Features +- 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. + +- ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. + +- 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. + +- 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. + +- 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. + +- 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. + +- 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. + +- 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. + +... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + + +This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 0.9.0 +- SDK version: packageVersion=0.9.0 +- Generator version: 7.6.0-SNAPSHOT +- Build package: org.openapitools.codegen.languages.CSharpClientCodegen + For more information, please visit [https://discord.gg/3EtHskZD8h](https://discord.gg/3EtHskZD8h) + + +## Frameworks supported + + +## Dependencies + +- [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later +- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.2 or later +- [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later +- [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later + +The DLLs included in the package may not be the latest version. We recommend using [NuGet](https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages: +``` +Install-Package RestSharp +Install-Package Newtonsoft.Json +Install-Package JsonSubTypes +Install-Package System.ComponentModel.Annotations +``` + +NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See [RestSharp#742](https://github.com/restsharp/RestSharp/issues/742). +NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See [RestSharp#1406](https://github.com/restsharp/RestSharp/issues/1406). + + +## Installation +Run the following command to generate the DLL +- [Mac/Linux] `/bin/sh build.sh` +- [Windows] `build.bat` + +Then include the DLL (under the `bin` folder) in the C# project, and use the namespaces: +```csharp +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; +``` + +## Packaging + +A `.nuspec` is included with the project. You can follow the Nuget quickstart to [create](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#create-the-package) and [publish](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#publish-the-package) packages. + +This `.nuspec` uses placeholders from the `.csproj`, so build the `.csproj` directly: + +``` +nuget pack -Build -OutputDirectory out Dofusdude.Api.csproj +``` + +Then, publish to a [local feed](https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds) or [other host](https://docs.microsoft.com/en-us/nuget/hosting-packages/overview) and consume the new package via Nuget as usual. + + +## Usage + +To use the API client with a HTTP proxy, setup a `System.Net.WebProxy` +```csharp +Configuration c = new Configuration(); +System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/"); +webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials; +c.Proxy = webProxy; +``` + + +## Getting Started + +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class Example + { + public static void Main() + { + + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new AlmanaxApi(config); + var language = fr; // string | code + var date = Tue Jul 14 00:00:00 UTC 2020; // DateOnly | yyyy-mm-dd + + try + { + // Single Almanax Date + AlmanaxEntry result = apiInstance.GetAlmanaxDate(language, date); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling AlmanaxApi.GetAlmanaxDate: " + e.Message ); + Debug.Print("Status Code: "+ e.ErrorCode); + Debug.Print(e.StackTrace); + } + + } + } +} +``` + + +## Documentation for API Endpoints + +All URIs are relative to *https://api.dofusdu.de* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*AlmanaxApi* | [**GetAlmanaxDate**](docs/AlmanaxApi.md#getalmanaxdate) | **GET** /dofus2/{language}/almanax/{date} | Single Almanax Date +*AlmanaxApi* | [**GetAlmanaxRange**](docs/AlmanaxApi.md#getalmanaxrange) | **GET** /dofus2/{language}/almanax | Almanax Range +*ConsumablesApi* | [**GetAllItemsConsumablesList**](docs/ConsumablesApi.md#getallitemsconsumableslist) | **GET** /{game}/{language}/items/consumables/all | List All Consumables +*ConsumablesApi* | [**GetItemsConsumablesList**](docs/ConsumablesApi.md#getitemsconsumableslist) | **GET** /{game}/{language}/items/consumables | List Consumables +*ConsumablesApi* | [**GetItemsConsumablesSearch**](docs/ConsumablesApi.md#getitemsconsumablessearch) | **GET** /{game}/{language}/items/consumables/search | Search Consumables +*ConsumablesApi* | [**GetItemsConsumablesSingle**](docs/ConsumablesApi.md#getitemsconsumablessingle) | **GET** /{game}/{language}/items/consumables/{ankama_id} | Single Consumables +*CosmeticsApi* | [**GetAllCosmeticsList**](docs/CosmeticsApi.md#getallcosmeticslist) | **GET** /{game}/{language}/items/cosmetics/all | List All Cosmetics +*CosmeticsApi* | [**GetCosmeticsList**](docs/CosmeticsApi.md#getcosmeticslist) | **GET** /{game}/{language}/items/cosmetics | List Cosmetics +*CosmeticsApi* | [**GetCosmeticsSearch**](docs/CosmeticsApi.md#getcosmeticssearch) | **GET** /{game}/{language}/items/cosmetics/search | Search Cosmetics +*CosmeticsApi* | [**GetCosmeticsSingle**](docs/CosmeticsApi.md#getcosmeticssingle) | **GET** /{game}/{language}/items/cosmetics/{ankama_id} | Single Cosmetics +*EquipmentApi* | [**GetAllItemsEquipmentList**](docs/EquipmentApi.md#getallitemsequipmentlist) | **GET** /{game}/{language}/items/equipment/all | List All Equipment +*EquipmentApi* | [**GetItemsEquipmentList**](docs/EquipmentApi.md#getitemsequipmentlist) | **GET** /{game}/{language}/items/equipment | List Equipment +*EquipmentApi* | [**GetItemsEquipmentSearch**](docs/EquipmentApi.md#getitemsequipmentsearch) | **GET** /{game}/{language}/items/equipment/search | Search Equipment +*EquipmentApi* | [**GetItemsEquipmentSingle**](docs/EquipmentApi.md#getitemsequipmentsingle) | **GET** /{game}/{language}/items/equipment/{ankama_id} | Single Equipment +*GameApi* | [**GetGameSearch**](docs/GameApi.md#getgamesearch) | **GET** /{game}/{language}/search | Game Search +*GameApi* | [**GetItemsAllSearch**](docs/GameApi.md#getitemsallsearch) | **GET** /{game}/{language}/items/search | Search All Items +*MetaApi* | [**GetGameSearchTypes**](docs/MetaApi.md#getgamesearchtypes) | **GET** /dofus2/meta/search/types | Available Game Search Types +*MetaApi* | [**GetMetaAlmanaxBonuses**](docs/MetaApi.md#getmetaalmanaxbonuses) | **GET** /dofus2/meta/{language}/almanax/bonuses | Available Almanax Bonuses +*MetaApi* | [**GetMetaAlmanaxBonusesSearch**](docs/MetaApi.md#getmetaalmanaxbonusessearch) | **GET** /dofus2/meta/{language}/almanax/bonuses/search | Search Available Almanax Bonuses +*MetaApi* | [**GetMetaElements**](docs/MetaApi.md#getmetaelements) | **GET** /dofus2/meta/elements | Effects and Condition Elements +*MountsApi* | [**GetAllMountsList**](docs/MountsApi.md#getallmountslist) | **GET** /{game}/{language}/mounts/all | List All Mounts +*MountsApi* | [**GetMountsList**](docs/MountsApi.md#getmountslist) | **GET** /{game}/{language}/mounts | List Mounts +*MountsApi* | [**GetMountsSearch**](docs/MountsApi.md#getmountssearch) | **GET** /{game}/{language}/mounts/search | Search Mounts +*MountsApi* | [**GetMountsSingle**](docs/MountsApi.md#getmountssingle) | **GET** /{game}/{language}/mounts/{ankama_id} | Single Mounts +*QuestItemsApi* | [**GetAllItemsQuestList**](docs/QuestItemsApi.md#getallitemsquestlist) | **GET** /{game}/{language}/items/quest/all | List All Quest Items +*QuestItemsApi* | [**GetItemQuestSingle**](docs/QuestItemsApi.md#getitemquestsingle) | **GET** /{game}/{language}/items/quest/{ankama_id} | Single Quest Items +*QuestItemsApi* | [**GetItemsQuestList**](docs/QuestItemsApi.md#getitemsquestlist) | **GET** /{game}/{language}/items/quest | List Quest Items +*QuestItemsApi* | [**GetItemsQuestSearch**](docs/QuestItemsApi.md#getitemsquestsearch) | **GET** /{game}/{language}/items/quest/search | Search Quest Items +*ResourcesApi* | [**GetAllItemsResourcesList**](docs/ResourcesApi.md#getallitemsresourceslist) | **GET** /{game}/{language}/items/resources/all | List All Resources +*ResourcesApi* | [**GetItemsResourceSearch**](docs/ResourcesApi.md#getitemsresourcesearch) | **GET** /{game}/{language}/items/resources/search | Search Resources +*ResourcesApi* | [**GetItemsResourcesList**](docs/ResourcesApi.md#getitemsresourceslist) | **GET** /{game}/{language}/items/resources | List Resources +*ResourcesApi* | [**GetItemsResourcesSingle**](docs/ResourcesApi.md#getitemsresourcessingle) | **GET** /{game}/{language}/items/resources/{ankama_id} | Single Resources +*SetsApi* | [**GetAllSetsList**](docs/SetsApi.md#getallsetslist) | **GET** /{game}/{language}/sets/all | List All Sets +*SetsApi* | [**GetSetsList**](docs/SetsApi.md#getsetslist) | **GET** /{game}/{language}/sets | List Sets +*SetsApi* | [**GetSetsSearch**](docs/SetsApi.md#getsetssearch) | **GET** /{game}/{language}/sets/search | Search Sets +*SetsApi* | [**GetSetsSingle**](docs/SetsApi.md#getsetssingle) | **GET** /{game}/{language}/sets/{ankama_id} | Single Sets +*WebhooksApi* | [**DeleteWebhooksAlmanaxId**](docs/WebhooksApi.md#deletewebhooksalmanaxid) | **DELETE** /webhooks/almanax/{id} | Unregister Almanax Hook +*WebhooksApi* | [**DeleteWebhooksRssId**](docs/WebhooksApi.md#deletewebhooksrssid) | **DELETE** /webhooks/rss/{id} | Unregister RSS Hook +*WebhooksApi* | [**DeleteWebhooksTwitterId**](docs/WebhooksApi.md#deletewebhookstwitterid) | **DELETE** /webhooks/twitter/{id} | Unregister Twitter Hook +*WebhooksApi* | [**GetMetaWebhooksAlmanax**](docs/WebhooksApi.md#getmetawebhooksalmanax) | **GET** /meta/webhooks/almanax | Get Almanax Hook Metainfo +*WebhooksApi* | [**GetMetaWebhooksRss**](docs/WebhooksApi.md#getmetawebhooksrss) | **GET** /meta/webhooks/rss | Get RSS Hook Metainfo +*WebhooksApi* | [**GetMetaWebhooksTwitter**](docs/WebhooksApi.md#getmetawebhookstwitter) | **GET** /meta/webhooks/twitter | Get Twitter Hook Metainfo +*WebhooksApi* | [**GetWebhooksAlmanaxId**](docs/WebhooksApi.md#getwebhooksalmanaxid) | **GET** /webhooks/almanax/{id} | Get Almanax Hook +*WebhooksApi* | [**GetWebhooksRssId**](docs/WebhooksApi.md#getwebhooksrssid) | **GET** /webhooks/rss/{id} | Get RSS Hook +*WebhooksApi* | [**GetWebhooksTwitterId**](docs/WebhooksApi.md#getwebhookstwitterid) | **GET** /webhooks/twitter/{id} | Get Twitter Hook +*WebhooksApi* | [**PostWebhooksAlmanax**](docs/WebhooksApi.md#postwebhooksalmanax) | **POST** /webhooks/almanax | Register Almanax Hook +*WebhooksApi* | [**PostWebhooksRss**](docs/WebhooksApi.md#postwebhooksrss) | **POST** /webhooks/rss | Register RSS Hook +*WebhooksApi* | [**PostWebhooksTwitter**](docs/WebhooksApi.md#postwebhookstwitter) | **POST** /webhooks/twitter | Register Twitter Hook +*WebhooksApi* | [**PutWebhooksAlmanaxId**](docs/WebhooksApi.md#putwebhooksalmanaxid) | **PUT** /webhooks/almanax/{id} | Update Almanax Hook +*WebhooksApi* | [**PutWebhooksRssId**](docs/WebhooksApi.md#putwebhooksrssid) | **PUT** /webhooks/rss/{id} | Update RSS Hook +*WebhooksApi* | [**PutWebhooksTwitterId**](docs/WebhooksApi.md#putwebhookstwitterid) | **PUT** /webhooks/twitter/{id} | Update Twitter Hook + + + +## Documentation for Models + + - [Model.AlmanaxEntry](docs/AlmanaxEntry.md) + - [Model.AlmanaxEntryBonus](docs/AlmanaxEntryBonus.md) + - [Model.AlmanaxEntryTribute](docs/AlmanaxEntryTribute.md) + - [Model.AlmanaxEntryTributeItem](docs/AlmanaxEntryTributeItem.md) + - [Model.AlmanaxWebhook](docs/AlmanaxWebhook.md) + - [Model.AlmanaxWebhookDailySettings](docs/AlmanaxWebhookDailySettings.md) + - [Model.ConditionEntry](docs/ConditionEntry.md) + - [Model.ConditionTreeLeaf](docs/ConditionTreeLeaf.md) + - [Model.ConditionTreeNode](docs/ConditionTreeNode.md) + - [Model.ConditionTreeRelation](docs/ConditionTreeRelation.md) + - [Model.Cosmetic](docs/Cosmetic.md) + - [Model.CosmeticType](docs/CosmeticType.md) + - [Model.CreateAlmanaxWebhook](docs/CreateAlmanaxWebhook.md) + - [Model.CreateAlmanaxWebhookDailySettings](docs/CreateAlmanaxWebhookDailySettings.md) + - [Model.CreateAlmanaxWebhookMentionsValueInner](docs/CreateAlmanaxWebhookMentionsValueInner.md) + - [Model.CreateRSSWebhook](docs/CreateRSSWebhook.md) + - [Model.CreateTwitterWebhook](docs/CreateTwitterWebhook.md) + - [Model.EffectsEntry](docs/EffectsEntry.md) + - [Model.Equipment](docs/Equipment.md) + - [Model.EquipmentSet](docs/EquipmentSet.md) + - [Model.GetGameSearch200ResponseInner](docs/GetGameSearch200ResponseInner.md) + - [Model.GetMetaAlmanaxBonuses200ResponseInner](docs/GetMetaAlmanaxBonuses200ResponseInner.md) + - [Model.GetMetaWebhooksTwitter200Response](docs/GetMetaWebhooksTwitter200Response.md) + - [Model.ImageUrls](docs/ImageUrls.md) + - [Model.ItemListEntry](docs/ItemListEntry.md) + - [Model.ItemListEntryParentSet](docs/ItemListEntryParentSet.md) + - [Model.ItemListEntryRange](docs/ItemListEntryRange.md) + - [Model.ItemsListEntryTyped](docs/ItemsListEntryTyped.md) + - [Model.ItemsListEntryTypedType](docs/ItemsListEntryTypedType.md) + - [Model.ItemsListPaged](docs/ItemsListPaged.md) + - [Model.LinksPaged](docs/LinksPaged.md) + - [Model.Mount](docs/Mount.md) + - [Model.MountListEntry](docs/MountListEntry.md) + - [Model.MountsListPaged](docs/MountsListPaged.md) + - [Model.PutAlmanaxWebhook](docs/PutAlmanaxWebhook.md) + - [Model.PutRSSWebhook](docs/PutRSSWebhook.md) + - [Model.PutTwitterWebhook](docs/PutTwitterWebhook.md) + - [Model.RecipeEntry](docs/RecipeEntry.md) + - [Model.Resource](docs/Resource.md) + - [Model.RssWebhook](docs/RssWebhook.md) + - [Model.SetEffectsEntry](docs/SetEffectsEntry.md) + - [Model.SetEffectsEntryType](docs/SetEffectsEntryType.md) + - [Model.SetListEntry](docs/SetListEntry.md) + - [Model.SetsListPaged](docs/SetsListPaged.md) + - [Model.TwitterWebhook](docs/TwitterWebhook.md) + - [Model.Weapon](docs/Weapon.md) + - [Model.WeaponRange](docs/WeaponRange.md) + + + +## Documentation for Authorization + +Endpoints do not require authorization. + diff --git a/api/openapi.yaml b/api/openapi.yaml new file mode 100644 index 0000000..415100e --- /dev/null +++ b/api/openapi.yaml @@ -0,0 +1,7772 @@ +openapi: 3.0.0 +info: + contact: + email: stelzo@steado.de + name: Survival + url: https://discord.gg/3EtHskZD8h + description: | + # A project for you - the developer. + The all-in-one toolbelt for your next Ankama related project. + + ## Client SDKs + - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js --save` + - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts --save` + - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` + - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` + - [PHP](https://github.com/dofusdude/dofusdude-php) + - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup + + Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. + + Your favorite language is missing? Please let me know! + + # Main Features + - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. + + - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. + + - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. + + - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. + + - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. + + - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. + + - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. + + - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. + + ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + title: dofusdude + version: 0.9.0 +servers: +- description: API + url: https://api.dofusdu.de +tags: +- name: almanax +- name: consumables +- name: cosmetics +- name: equipment +- name: game +- name: meta +- name: mounts +- name: quest items +- name: resources +- name: sets +- name: webhooks +paths: + /{game}/{language}/items/search: + get: + description: Search in all names and descriptions of Dofus items (including + all subtypes) with a query. + operationId: get-items-all-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: fr + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: atcham + type: string + style: form + - description: only results with the translated type name across all item_subtypes + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Bottes + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 190 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 200 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + query "apple": + value: + - ankama_id: 21445 + name: Apple Core + type: + name: Event + id: 12 + item_subtype: quest + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/126095.png + sd: https://api.dofusdu.de/dofus2/img/item/126095-200.png + hq: https://api.dofusdu.de/dofus2/img/item/126095-400.png + hd: https://api.dofusdu.de/dofus2/img/item/126095-800.png + - ankama_id: 18332 + name: Crate of Apis + type: + name: Ohwymi + item_subtype: quest + level: 80 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/15056.png + sd: https://api.dofusdu.de/dofus2/img/item/15056-200.png + hq: https://api.dofusdu.de/dofus2/img/item/15056-400.png + hd: https://api.dofusdu.de/dofus2/img/item/15056-800.png + schema: + items: + $ref: '#/components/schemas/Items-List-Entry-Typed' + type: array + description: Items Found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search All Items + tags: + - game + x-stoplight: + id: eeoi1h7wagrmw + /{game}/{language}/mounts/search: + get: + description: Search in all names and descriptions of mounts with a query. + operationId: get-mounts-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: fr + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: Dorée + type: string + style: form + - description: only results with the translated family name + explode: true + in: query + name: "filter[family_name]" + required: false + schema: + example: Dragodinde + type: string + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + almond rhineetle: + value: + - ankama_id: 199 + name: Almond and Indigo Rhineetle + family_name: Rhineetle + image_urls: + icon: https://api.dofusdu.de/dofus2/img/mount/199.png + sd: https://api.dofusdu.de/dofus2/img/mount/199-200.png + hq: https://api.dofusdu.de/dofus2/img/mount/199-400.png + hd: https://api.dofusdu.de/dofus2/img/mount/199-800.png + - ankama_id: 198 + name: Almond and Orchid Rhineetle + family_name: Rhineetle + image_urls: + icon: https://api.dofusdu.de/dofus2/img/mount/198.png + sd: https://api.dofusdu.de/dofus2/img/mount/198-200.png + hq: https://api.dofusdu.de/dofus2/img/mount/198-400.png + hd: https://api.dofusdu.de/dofus2/img/mount/198-800.png + schema: + items: + $ref: '#/components/schemas/Mount-List-Entry' + type: array + description: Mounts Found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search Mounts + tags: + - mounts + x-stoplight: + id: 55fkjddmfhh7n + /{game}/{language}/sets/search: + get: + description: Search in all names and descriptions of sets with a query. + operationId: get-sets-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: Des + type: string + style: form + - description: only results where the equipment with the highest level is above + or equal to this value + explode: true + in: query + name: "filter[min_highest_equipment_level]" + required: false + schema: + example: 195 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results where the equipment with the highest level is below + or equal to this value + explode: true + in: query + name: "filter[max_highest_equipment_level]" + required: false + schema: + example: 200 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + Bouftou: + value: + - ankama_id: 4 + name: Panoplie du Bouftou Royal + items: 7 + level: 32 + - ankama_id: 1 + name: Panoplie du Bouftou + items: 7 + level: 20 + - ankama_id: 43 + name: Panoplie du Boufcoul + items: 7 + level: 55 + schema: + items: + $ref: '#/components/schemas/Set-List-Entry' + type: array + description: Sets Found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search Sets + tags: + - sets + x-stoplight: + id: 7pwfbuzuxnnuq + /{game}/{language}/items/quest/search: + get: + description: Search in all names and descriptions of quest items with a query. + operationId: get-items-quest-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: es + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: Ficha + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Justicieros + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 60 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 70 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + kouto: + value: + - ankama_id: 18114 + name: Koutoulou Moth + type: + name: Sufokia + id: 7 + level: 200 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/15936.png + sd: https://api.dofusdu.de/dofus2/img/item/15936-200.png + hq: https://api.dofusdu.de/dofus2/img/item/15936-400.png + hd: https://api.dofusdu.de/dofus2/img/item/15936-800.png + - ankama_id: 18109 + name: P'Koutoulou Zothoth + type: + name: Sufokia + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/8019.png + sd: https://api.dofusdu.de/dofus2/img/item/8019-200.png + hq: https://api.dofusdu.de/dofus2/img/item/8019-400.png + hd: https://api.dofusdu.de/dofus2/img/item/8019-800.png + schema: + items: + $ref: '#/components/schemas/Item-List-Entry' + type: array + description: Quest Items Found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search Quest Items + tags: + - quest items + x-stoplight: + id: e7dmshthuyg5m + /{game}/{language}/items/consumables/search: + get: + description: Search in all names and descriptions of consumable items with a + query. + operationId: get-items-consumables-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: Wholewrite + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Bread + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 1 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 200 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + query "bar", filter[type_name] "beer": + value: + - ankama_id: 19954 + name: Barbeerd + type: + name: Beer + id: 5 + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/37004.png + sd: https://api.dofusdu.de/dofus2/img/item/37004-200.png + hq: https://api.dofusdu.de/dofus2/img/item/37004-400.png + hd: https://api.dofusdu.de/dofus2/img/item/37004-800.png + - ankama_id: 24042 + name: Barroll Brewski + type: + name: Beer + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/164790.png + sd: https://api.dofusdu.de/dofus2/img/item/164790-200.png + hq: https://api.dofusdu.de/dofus2/img/item/164790-400.png + hd: https://api.dofusdu.de/dofus2/img/item/164790-800.png + schema: + items: + $ref: '#/components/schemas/Item-List-Entry' + type: array + description: Consumables Found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search Consumables + tags: + - consumables + x-stoplight: + id: 6ogh4aj4k3vns + /{game}/{language}/items/resources/search: + get: + description: Search in all names and descriptions of resource items with a query. + operationId: get-items-resource-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: snowdew + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: plant + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 150 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 200 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + query "tiwabbit", filter[type_name] "hair": + value: + - ankama_id: 14459 + name: Tiwabbit Whiskers + type: + name: Hair + id: 3 + level: 45 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/54693.png + sd: https://api.dofusdu.de/dofus2/img/item/54693-200.png + hq: https://api.dofusdu.de/dofus2/img/item/54693-400.png + hd: https://api.dofusdu.de/dofus2/img/item/54693-800.png + - ankama_id: 646 + name: Black Tiwabbit Hair + type: + name: Hair + level: 46 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/54195.png + sd: https://api.dofusdu.de/dofus2/img/item/54195-200.png + hq: https://api.dofusdu.de/dofus2/img/item/54195-400.png + hd: https://api.dofusdu.de/dofus2/img/item/54195-800.png + schema: + items: + $ref: '#/components/schemas/Item-List-Entry' + type: array + description: Resources Found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search Resources + tags: + - resources + x-stoplight: + id: l2f1uw9hdicac + /{game}/{language}/search: + get: + description: Search in all names and descriptions of all supported types in + the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + operationId: get-game-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: search query + explode: true + in: query + name: query + required: true + schema: + example: paztek + type: string + style: form + - description: only results with all specific type + explode: false + in: query + name: "filter[type]" + required: false + schema: + example: + - items-equipment + items: + enum: + - items-consumables + - items-cosmetics + - items-resources + - items-equipment + - items-quest_items + - mounts + - sets + type: string + type: array + uniqueItems: true + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + - description: adds fields from the item search to the list entries if the hit + is a item. Multiple comma separated values allowed. + explode: false + in: query + name: "fields[item]" + required: false + schema: + example: + - level + items: + enum: + - level + - image_urls + - type + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + query "paztek", filter[type] "beer": + value: + - name: Paztek Sandals + ankama_id: 20463 + type: items-equipment + - name: Paztek Mask + ankama_id: 20465 + type: items-equipment + - name: Paztek Cloak + ankama_id: 20464 + type: items-equipment + schema: + items: + $ref: '#/components/schemas/get_game_search_200_response_inner' + type: array + x-examples: + Example 1: + - name: Paztek Sandals + ankama_id: 20463 + type: items-equipment + - name: Paztek Mask + ankama_id: 20465 + type: items-equipment + - name: Paztek Cloak + ankama_id: 20464 + type: items-equipment + description: Game Search Result + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + - filter[type] does not exist + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Game Search + tags: + - game + x-stoplight: + id: zxx3tt0z25gz8 + /{game}/{language}/items/equipment/search: + get: + description: Search in all names and descriptions of equipment items with a + query. + operationId: get-items-equipment-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: nidas + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: boots + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 150 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 200 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + query "hat": + value: + - ankama_id: 8630 + name: Hatter Lily + type: + name: Hat + id: 9 + level: 40 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/16177.png + sd: https://api.dofusdu.de/dofus2/img/item/16177-200.png + hq: https://api.dofusdu.de/dofus2/img/item/16177-400.png + hd: https://api.dofusdu.de/dofus2/img/item/16177-800.png + - ankama_id: 8629 + name: Hat Tsokey + type: + name: Hat + level: 40 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/16179.png + sd: https://api.dofusdu.de/dofus2/img/item/16179-200.png + hq: https://api.dofusdu.de/dofus2/img/item/16179-400.png + hd: https://api.dofusdu.de/dofus2/img/item/16179-800.png + schema: + items: + $ref: '#/components/schemas/Item-List-Entry' + type: array + description: Equipment Found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search Equipment + tags: + - equipment + x-stoplight: + id: 4lzcb55gkjj2z + /{game}/{language}/items/cosmetics/search: + get: + description: Search in all names and descriptions of cosmetic items with a query. + operationId: get-cosmetics-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: nedora + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Costume + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 1 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 2 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + default: 8 + example: 8 + maximum: 100 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + query "fal": + value: + - ankama_id: 23711 + name: Falcodove + type: + name: Ceremonial petsmount + id: 19 + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/121061.png + sd: https://api.dofusdu.de/dofus2/img/item/121061-200.png + hq: https://api.dofusdu.de/dofus2/img/item/121061-400.png + hd: https://api.dofusdu.de/dofus2/img/item/121061-800.png + - ankama_id: 21400 + name: Bone Falchion + type: + name: Ceremonial weapon + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/6741.png + sd: https://api.dofusdu.de/dofus2/img/item/6741-200.png + hq: https://api.dofusdu.de/dofus2/img/item/6741-400.png + hd: https://api.dofusdu.de/dofus2/img/item/6741-800.png + schema: + items: + $ref: '#/components/schemas/Item-List-Entry' + type: array + description: Cosmetics found + "400": + description: | + Bad Request + + Possibilities: + - empty or no query + "404": + description: |- + Not Found + + Possibilities: + - no hits for query + summary: Search Cosmetics + tags: + - cosmetics + x-stoplight: + id: mw8gyg65z17wf + /{game}/{language}/items/cosmetics/{ankama_id}: + get: + description: Retrieve a specific cosmetic item with id. + operationId: get-cosmetics-single + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - description: identifier + explode: false + in: path + name: ankama_id + required: true + schema: + example: 24132 + type: integer + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Master Tor: + value: + ankama_id: 24132 + name: Master Tor Toise's Shell + description: "Weighing at least 20 kilo-pods, this shell is used\ + \ for muscle strengthening during Master Tor Toise's training\ + \ sessions." + type: + name: Ceremonial cape + id: 18 + level: 180 + pods: 0 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/17481.png + sd: https://api.dofusdu.de/dofus2/img/item/17481-200.png + hq: https://api.dofusdu.de/dofus2/img/item/17481-400.png + hd: https://api.dofusdu.de/dofus2/img/item/17481-800.png + effects: + - int_minimum: 0 + int_maximum: 0 + type: + name: 'Exchangeable:' + id: 0 + is_meta: false + is_active: false + ignore_int_min: true + ignore_int_max: true + formatted: "Exchangeable: 0" + - int_minimum: 0 + int_maximum: 0 + type: + name: 'Compatible with:' + id: 1 + is_meta: false + ignore_int_min: true + ignore_int_max: true + formatted: "Compatible with: 0" + schema: + $ref: '#/components/schemas/Cosmetic' + description: Cosmetic Found + "400": + description: | + Bad Request + + Possibilities: + - invalid ankama id format + "404": + description: |- + Not Found + + Possibilities: + - nothing found for this ankama_id + summary: Single Cosmetics + tags: + - cosmetics + x-internal: false + x-stoplight: + id: a0ks17l0zqqaj + /{game}/{language}/items/resources/{ankama_id}: + get: + description: Retrieve a specific resource item with id. + operationId: get-items-resources-single + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - description: identifier + explode: false + in: path + name: ankama_id + required: true + schema: + example: 7295 + type: integer + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Levadura de panadero: + value: + ankama_id: 286 + name: Levadura de panadero + description: Es un ingrediente indispensable para la fermentación + del pan. + type: + name: Polvo + id: 156 + level: 1 + pods: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/48137.png + sd: https://api.dofusdu.de/dofus2/img/item/48137-200.png + hq: https://api.dofusdu.de/dofus2/img/item/48137-400.png + hd: https://api.dofusdu.de/dofus2/img/item/48137-800.png + recipe: + - item_ankama_id: 519 + item_subtype: resources + quantity: 1 + - item_ankama_id: 311 + item_subtype: resources + quantity: 1 + schema: + $ref: '#/components/schemas/Resource' + description: Resource Found + "400": + description: | + Bad Request + + Possibilities: + - invalid ankama id format + "404": + description: |- + Not Found + + Possibilities: + - nothing found for this ankama_id + summary: Single Resources + tags: + - resources + x-stoplight: + id: viqn5ujmwoi9s + /{game}/{language}/items/equipment/{ankama_id}: + get: + description: Retrieve a specific equipment item with id. + operationId: get-items-equipment-single + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - description: identifier + explode: false + in: path + name: ankama_id + required: true + schema: + example: 26009 + type: integer + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Weapon: + value: + ankama_id: 26011 + name: Chaotic Scythe + description: |- + "Actual life was chaos, but there was something terribly logical in the imagination." + + — Oskar Wyld + type: + name: Scythe + id: 163 + is_weapon: true + level: 200 + pods: 10 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/22009.png + sd: https://api.dofusdu.de/dofus2/img/item/22009-200.png + hq: https://api.dofusdu.de/dofus2/img/item/22009-400.png + hd: https://api.dofusdu.de/dofus2/img/item/22009-800.png + effects: + - int_minimum: 201 + int_maximum: 300 + type: + name: Initiative + id: 24 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 201 to 300 Initiative + - int_minimum: 301 + int_maximum: 350 + type: + name: Vitality + id: 9 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 301 to 350 Vitality + - int_minimum: 31 + int_maximum: 40 + type: + name: Intelligence + id: 13 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 31 to 40 Intelligence + - int_minimum: 31 + int_maximum: 40 + type: + name: Chance + id: 22 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 31 to 40 Chance + - int_minimum: 16 + int_maximum: 20 + type: + name: Power + id: 32 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 16 to 20 Power + - int_minimum: 26 + int_maximum: 35 + type: + name: Wisdom + id: 10 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 26 to 35 Wisdom + - int_minimum: 9 + int_maximum: 12 + type: + name: Lock + id: 26 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 9 to 12 Lock + - int_minimum: 14 + int_maximum: 18 + type: + name: Fire Damage + id: 61 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 14 to 18 Fire Damage + - int_minimum: 14 + int_maximum: 18 + type: + name: Water Damage + id: 27 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 14 to 18 Water Damage + - int_minimum: 7 + int_maximum: 10 + type: + name: '% Water Resistance' + id: 17 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 7 to 10% Water Resistance + - int_minimum: 9 + int_maximum: 12 + type: + name: Heals + id: 11 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 9 to 12 Heals + - int_minimum: -15 + int_maximum: 0 + type: + name: Critical Damage + id: 38 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: -15 Critical Damage + - int_minimum: -1 + int_maximum: 0 + type: + name: Range + id: 31 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: -1 Range + - int_minimum: 1 + int_maximum: 0 + type: + name: MP + id: 8 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 1 MP + - int_minimum: 21 + int_maximum: 25 + type: + name: (Neutral damage) + id: 168 + is_meta: false + is_active: true + ignore_int_min: false + ignore_int_max: false + formatted: 21 to 25 (Neutral damage) + - int_minimum: 16 + int_maximum: 20 + type: + name: (Fire steal) + id: 174 + is_meta: false + is_active: true + ignore_int_min: false + ignore_int_max: false + formatted: 16 to 20 (Fire steal) + - int_minimum: 16 + int_maximum: 20 + type: + name: (Water steal) + id: 175 + is_meta: false + is_active: true + ignore_int_min: false + ignore_int_max: false + formatted: 16 to 20 (Water steal) + conditions: + - operator: < + int_value: 12 + element: + name: AP + id: 12 + condition_tree: + condition: + operator: < + int_value: 12 + element: + name: AP + id: 12 + is_operand: true + critical_hit_probability: 10 + critical_hit_bonus: 3 + is_two_handed: false + max_cast_per_turn: 1 + ap_cost: 5 + range: + min: 1 + max: 2 + recipe: + - item_ankama_id: 26033 + item_subtype: resources + quantity: 71 + - item_ankama_id: 26035 + item_subtype: resources + quantity: 16 + - item_ankama_id: 26036 + item_subtype: resources + quantity: 7 + - item_ankama_id: 25181 + item_subtype: resources + quantity: 4 + - item_ankama_id: 22204 + item_subtype: resources + quantity: 4 + - item_ankama_id: 26037 + item_subtype: resources + quantity: 2 + - item_ankama_id: 12728 + item_subtype: resources + quantity: 2 + - item_ankama_id: 24144 + item_subtype: resources + quantity: 2 + Equipment: + value: + ankama_id: 14076 + name: Count Harebourg's Hat + description: "Count Harebourg was forced to become a recluse after\ + \ the big freeze, but even back then, no living soul had ever\ + \ seen his face. What is he hiding behind this hat, and what\ + \ transformations has that face undergone after all these years?" + type: + name: Hat + id: 27 + is_weapon: false + level: 200 + pods: 10 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/16362.png + sd: https://api.dofusdu.de/dofus2/img/item/16362-200.png + hq: https://api.dofusdu.de/dofus2/img/item/16362-400.png + hd: https://api.dofusdu.de/dofus2/img/item/16362-800.png + effects: + - int_minimum: 451 + int_maximum: 500 + type: + name: Vitality + id: 9 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 451 to 500 Vitality + - int_minimum: 71 + int_maximum: 100 + type: + name: Strength + id: 45 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 71 to 100 Strength + - int_minimum: 41 + int_maximum: 60 + type: + name: Wisdom + id: 10 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 41 to 60 Wisdom + - int_minimum: 1 + int_maximum: 0 + type: + name: Range + id: 31 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 1 Range + - int_minimum: 21 + int_maximum: 30 + type: + name: Prospecting + id: 25 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 21 to 30 Prospecting + - int_minimum: 16 + int_maximum: 20 + type: + name: Neutral Damage + id: 49 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 16 to 20 Neutral Damage + - int_minimum: 16 + int_maximum: 20 + type: + name: Earth Damage + id: 48 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 16 to 20 Earth Damage + - int_minimum: -4 + int_maximum: -5 + type: + name: '% Neutral Resistance' + id: 34 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: -4 to -5% Neutral Resistance + - int_minimum: -4 + int_maximum: -5 + type: + name: '% Earth Resistance' + id: 63 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: -4 to -5% Earth Resistance + - int_minimum: -4 + int_maximum: -5 + type: + name: '% Fire Resistance' + id: 37 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: -4 to -5% Fire Resistance + - int_minimum: -4 + int_maximum: -5 + type: + name: '% Water Resistance' + id: 17 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: -4 to -5% Water Resistance + - int_minimum: -4 + int_maximum: -5 + type: + name: '% Air Resistance' + id: 16 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: -4 to -5% Air Resistance + - int_minimum: 6 + int_maximum: 8 + type: + name: AP Reduction + id: 64 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 6 to 8 AP Reduction + - int_minimum: 16 + int_maximum: 20 + type: + name: Lock + id: 26 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 16 to 20 Lock + recipe: + - item_ankama_id: 13990 + item_subtype: resources + quantity: 30 + - item_ankama_id: 13993 + item_subtype: resources + quantity: 4 + - item_ankama_id: 13914 + item_subtype: resources + quantity: 5 + - item_ankama_id: 13995 + item_subtype: resources + quantity: 1 + - item_ankama_id: 13982 + item_subtype: resources + quantity: 4 + - item_ankama_id: 13168 + item_subtype: resources + quantity: 5 + - item_ankama_id: 14145 + item_subtype: resources + quantity: 1 + - item_ankama_id: 12740 + item_subtype: resources + quantity: 3 + parent_set: + id: 270 + name: Count Harebourg Set + schema: + $ref: '#/components/schemas/Weapon' + description: Equipment Found + "400": + description: | + Bad Request + + Possibilities: + - invalid ankama id format + "404": + description: |- + Not Found + + Possibilities: + - nothing found for this ankama_id + summary: Single Equipment + tags: + - equipment + x-stoplight: + id: e2j6pr8n8112g + /{game}/{language}/items/consumables/{ankama_id}: + get: + description: Retrieve a specific consumable item with id. + operationId: get-items-consumables-single + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - description: identifier + explode: false + in: path + name: ankama_id + required: true + schema: + example: 17206 + type: integer + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Superior Health Flask: + value: + ankama_id: 282 + name: Superior Health Flask + description: This flask restores some Health Points. + type: + name: Potion + id: 96 + level: 60 + pods: 2 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/12039.png + sd: https://api.dofusdu.de/dofus2/img/item/12039-200.png + hq: https://api.dofusdu.de/dofus2/img/item/12039-400.png + hd: https://api.dofusdu.de/dofus2/img/item/12039-800.png + effects: + - int_minimum: 70 + int_maximum: 0 + type: + name: HP + id: 21 + is_meta: false + is_active: true + ignore_int_min: false + ignore_int_max: true + formatted: 70 HP + recipe: + - item_ankama_id: 380 + item_subtype: resources + quantity: 5 + - item_ankama_id: 1731 + item_subtype: resources + quantity: 1 + - item_ankama_id: 533 + item_subtype: resources + quantity: 1 + schema: + $ref: '#/components/schemas/Resource' + description: Consumable Found + "400": + description: | + Bad Request + + Possibilities: + - invalid ankama id format + "404": + description: |- + Not Found + + Possibilities: + - nothing found for this ankama_id + summary: Single Consumables + tags: + - consumables + x-stoplight: + id: n40tefsprc7oq + /{game}/{language}/items/quest/{ankama_id}: + get: + description: Retrieve a specific quest item with id. + operationId: get-item-quest-single + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - description: identifier + explode: false + in: path + name: ankama_id + required: true + schema: + example: 25256 + type: integer + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Modulo di Rapporto Vergine: + value: + ankama_id: 2105 + name: Modulo di Rapporto Vergine + description: |- + Modulo di rapporto vergine. + Pronto per essere riempito da Welloy Cab + type: + name: Varie + id: 110 + level: 1 + pods: 0 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/24041.png + sd: https://api.dofusdu.de/dofus2/img/item/24041-200.png + hq: https://api.dofusdu.de/dofus2/img/item/24041-400.png + hd: https://api.dofusdu.de/dofus2/img/item/24041-800.png + schema: + $ref: '#/components/schemas/Resource' + description: Quest Item Found + "400": + description: | + Bad Request + + Possibilities: + - invalid ankama id format + "404": + description: |- + Not Found + + Possibilities: + - nothing found for this ankama_id + summary: Single Quest Items + tags: + - quest items + x-stoplight: + id: 74dxhpw46pxzc + /{game}/{language}/mounts/{ankama_id}: + get: + description: Retrieve a specific mount with id. + operationId: get-mounts-single + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - description: identifier + explode: false + in: path + name: ankama_id + required: true + schema: + example: 180 + type: integer + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Dragoperu amêndoa e dourado: + value: + ankama_id: 33 + name: Dragoperu amêndoa e dourado + family_name: Dragoperu + image_urls: + icon: https://api.dofusdu.de/dofus2/img/mount/33.png + sd: https://api.dofusdu.de/dofus2/img/mount/33-200.png + hq: https://api.dofusdu.de/dofus2/img/mount/33-400.png + hd: https://api.dofusdu.de/dofus2/img/mount/33-800.png + effects: + - int_minimum: 0 + int_maximum: 300 + type: + name: Vitalidade + id: 9 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 0 a 300 Vitalidade + - int_minimum: 0 + int_maximum: 1 + type: + name: invocaç + id: 28 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 0 a 1 invocaç + - int_minimum: 0 + int_maximum: 1000 + type: + name: Iniciativa + id: 24 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: false + formatted: 0 a 1000 Iniciativa + schema: + $ref: '#/components/schemas/Mount' + description: Mount Found + "400": + description: | + Bad Request + + Possibilities: + - invalid ankama id format + "404": + description: |- + Not Found + + Possibilities: + - nothing found for this ankama_id + summary: Single Mounts + tags: + - mounts + x-stoplight: + id: pzqoy2btp2qkn + /{game}/{language}/sets/{ankama_id}: + get: + description: Retrieve a specific set with id. + operationId: get-sets-single + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - description: identifier + explode: false + in: path + name: ankama_id + required: true + schema: + example: 499 + type: integer + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Atcham: + value: + ankama_id: 406 + name: Atcham-Set + equipment_ids: + - 17584 + - 17585 + - 17586 + effects: + - - int_minimum: 30 + int_maximum: 0 + type: + name: Intelligenz + id: 13 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 30 Intelligenz + item_combination: 2 + - int_minimum: 30 + int_maximum: 0 + type: + name: Flinkheit + id: 36 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 30 Flinkheit + item_combination: 2 + - int_minimum: 30 + int_maximum: 0 + type: + name: Glück + id: 22 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 30 Glück + item_combination: 2 + - int_minimum: 5 + int_maximum: 0 + type: + name: AP-Entzug + id: 64 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 5 AP-Entzug + item_combination: 2 + - int_minimum: 10 + int_maximum: 0 + type: + name: Kritischer Schaden + id: 38 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 10 Kritischer Schaden + item_combination: 2 + - - int_minimum: 30 + int_maximum: 0 + type: + name: Intelligenz + id: 13 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 30 Intelligenz + item_combination: 3 + - int_minimum: 30 + int_maximum: 0 + type: + name: Flinkheit + id: 36 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 30 Flinkheit + item_combination: 3 + - int_minimum: 30 + int_maximum: 0 + type: + name: Glück + id: 22 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 30 Glück + item_combination: 3 + - int_minimum: 5 + int_maximum: 0 + type: + name: AP-Entzug + id: 64 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 5 AP-Entzug + item_combination: 3 + - int_minimum: 10 + int_maximum: 0 + type: + name: Kritischer Schaden + id: 38 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 10 Kritischer Schaden + item_combination: 3 + - int_minimum: 1 + int_maximum: 0 + type: + name: AP + id: 12 + is_meta: false + is_active: false + ignore_int_min: false + ignore_int_max: true + formatted: 1 AP + item_combination: 3 + highest_equipment_level: 200 + schema: + $ref: '#/components/schemas/Equipment-Set' + description: Set Found + "400": + description: | + Bad Request + + Possibilities: + - invalid ankama id format + "404": + description: Not Found + summary: Single Sets + tags: + - sets + x-stoplight: + id: 7h3o04n689qab + /{game}/{language}/sets: + get: + description: Retrieve a list of sets. + operationId: get-sets-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: asc + type: string + style: form + - description: only results where the equipment with the highest level is above + or equal to this value + explode: true + in: query + name: "filter[min_highest_equipment_level]" + required: false + schema: + example: 190 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results where the equipment with the highest level is below + or equal to this value + explode: true + in: query + name: "filter[max_highest_equipment_level]" + required: false + schema: + example: 200 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: size of the results from the list. -1 disables pagination and + gets all in one response. + explode: true + in: query + name: "page[size]" + required: false + schema: + example: 20 + format: int32 + minimum: -1 + type: integer + style: form + - description: "page number based on the current page[size]. So you could get\ + \ page 1 with 8 entrys and page 2 would have entries 8 to 16." + explode: true + in: query + name: "page[number]" + required: false + schema: + example: 1 + format: int32 + minimum: 0 + type: integer + style: form + - description: adds fields from their detail endpoint to the item list entries. + Multiple comma separated values allowed. + explode: false + in: query + name: "fields[set]" + required: false + schema: + example: + - equipment_ids + items: + enum: + - effects + - equipment_ids + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + filter[min_highest_equipment_level] >= 150, sort[level] "desc": + value: + _links: + first: https://api.dofusdu.de/dofus2/fr/sets/?page%5Bnumber%5D%3D1%26page%5Bsize%5D%3D16 + prev: "" + next: https://api.dofusdu.de/dofus2/fr/sets/?page%5Bnumber%5D%3D2%26page%5Bsize%5D%3D16 + last: https://api.dofusdu.de/dofus2/fr/sets/?page%5Bnumber%5D%3D11%26page%5Bsize%5D%3D16 + sets: + - ankama_id: 406 + name: Panoplie d'Atcham + items: 3 + level: 200 + - ankama_id: 460 + name: Panoplie Volkorne + items: 4 + level: 200 + - ankama_id: 499 + name: Reliques de l'Aurore Pourpre + items: 6 + level: 200 + - ankama_id: 498 + name: Panoplie des Ravageurs + items: 3 + level: 200 + - ankama_id: 496 + name: Panoplie du Pandamonium + items: 3 + level: 200 + - ankama_id: 495 + name: Panoplie Possédée + items: 3 + level: 200 + - ankama_id: 491 + name: Panoplie de Wulan + items: 3 + level: 200 + - ankama_id: 489 + name: Panoplie du Wukang + items: 3 + level: 200 + - ankama_id: 488 + name: Panoplie du Wukin + items: 3 + level: 200 + - ankama_id: 477 + name: Panoplie de Corruption + items: 3 + level: 200 + - ankama_id: 476 + name: Panoplie de Servitude + items: 3 + level: 200 + - ankama_id: 475 + name: Panoplie de Guerre + items: 3 + level: 200 + - ankama_id: 474 + name: Panoplie de Misère + items: 3 + level: 200 + - ankama_id: 472 + name: Panoplie de Torkélonia + items: 3 + level: 200 + - ankama_id: 471 + name: Panoplie Lunaire + items: 3 + level: 200 + - ankama_id: 343 + name: Panoplie de Gein + items: 3 + level: 200 + schema: + $ref: '#/components/schemas/Sets-List-Paged' + description: Set Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List Sets + tags: + - sets + x-stoplight: + id: s3zlet293u7sh + /{game}/{language}/mounts: + get: + description: Retrieve a list of mounts. + operationId: get-mounts-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: only results with the translated family name + explode: true + in: query + name: "filter[family_name]" + required: false + schema: + example: Dragoturkey + type: string + style: form + - description: size of the results from the list. -1 disables pagination and + gets all in one response. + explode: true + in: query + name: "page[size]" + required: false + schema: + example: 10 + minimum: -1 + type: integer + style: form + - description: "page number based on the current page[size]. So you could get\ + \ page 1 with 8 entrys and page 2 would have entries 8 to 16." + explode: true + in: query + name: "page[number]" + required: false + schema: + example: 1 + minimum: 0 + type: integer + style: form + - description: adds fields from their detail endpoint to the item list entries. + Multiple comma separated values allowed. + explode: false + in: query + name: "fields[mount]" + required: false + schema: + example: + - effects + items: + enum: + - effects + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + page[size] 3: + value: + _links: + first: https://api.dofusdu.de/dofus2/es/mounts/?page%5Bnumber%5D%3D1%26page%5Bsize%5D%3D3 + prev: "" + next: https://api.dofusdu.de/dofus2/es/mounts/?page%5Bnumber%5D%3D2%26page%5Bsize%5D%3D3 + last: https://api.dofusdu.de/dofus2/es/mounts/?page%5Bnumber%5D%3D89%26page%5Bsize%5D%3D3 + mounts: + - ankama_id: 1 + name: Dragopavo almendrado salvaje + family_name: Dragopavo + image_urls: + icon: https://api.dofusdu.de/dofus2/img/mount/1.png + sd: https://api.dofusdu.de/dofus2/img/mount/1-200.png + hq: https://api.dofusdu.de/dofus2/img/mount/1-400.png + hd: https://api.dofusdu.de/dofus2/img/mount/1-800.png + - ankama_id: 3 + name: Dragopavo ébano + family_name: Dragopavo + image_urls: + icon: https://api.dofusdu.de/dofus2/img/mount/3.png + sd: https://api.dofusdu.de/dofus2/img/mount/3-200.png + hq: https://api.dofusdu.de/dofus2/img/mount/3-400.png + hd: https://api.dofusdu.de/dofus2/img/mount/3-800.png + - ankama_id: 6 + name: Dragopavo pelirrojo salvaje + family_name: Dragopavo + image_urls: + icon: https://api.dofusdu.de/dofus2/img/mount/6.png + sd: https://api.dofusdu.de/dofus2/img/mount/6-200.png + hq: https://api.dofusdu.de/dofus2/img/mount/6-400.png + hd: https://api.dofusdu.de/dofus2/img/mount/6-800.png + schema: + $ref: '#/components/schemas/Mounts-List-Paged' + description: Mounts Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List Mounts + tags: + - mounts + x-stoplight: + id: gy9ldukmg67hy + /{game}/{language}/items/equipment: + get: + description: Retrieve a list of equipment items. + operationId: get-items-equipment-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: en + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: desc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Sword + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 10 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 60 + minimum: 0 + type: integer + style: form + - description: size of the results from the list. -1 disables pagination and + gets all in one response. + explode: true + in: query + name: "page[size]" + required: false + schema: + example: 5 + minimum: -1 + type: integer + style: form + - description: "page number based on the current page[size]. So you could get\ + \ page 1 with 8 entrys and page 2 would have entries 8 to 16." + explode: true + in: query + name: "page[number]" + required: false + schema: + example: 1 + minimum: 0 + type: integer + style: form + - description: adds fields from their detail endpoint to the item list entries. + Multiple comma separated values allowed. + explode: false + in: query + name: "fields[item]" + required: false + schema: + example: + - is_weapon + items: + enum: + - recipe + - description + - conditions + - effects + - is_weapon + - pods + - parent_set + - critical_hit_probability + - critical_hit_bonus + - is_two_handed + - max_cast_per_turn + - ap_cost + - range + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + page[size] 3, sort[level] desc: + value: + _links: + first: https://api.dofusdu.de/dofus2/es/items/equipment?page%5Bnumber%5D%3D1%26page%5Bsize%5D%3D3 + prev: null + next: https://api.dofusdu.de/dofus2/es/items/equipment?page%5Bnumber%5D%3D2%26page%5Bsize%5D%3D3 + last: https://api.dofusdu.de/dofus2/es/items/equipment?page%5Bnumber%5D%3D1241%26page%5Bsize%5D%3D3 + items: + - ankama_id: 19244 + name: Amuleto del Corazón Sangriento + type: + name: Amuleto + id: 18 + level: 200 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/1299.png + sd: https://api.dofusdu.de/dofus2/img/item/1299-200.png + hq: https://api.dofusdu.de/dofus2/img/item/1299-400.png + hd: https://api.dofusdu.de/dofus2/img/item/1299-800.png + - ankama_id: 15696 + name: Capachalote + type: + name: Capa + id: 72 + level: 200 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/17331.png + sd: https://api.dofusdu.de/dofus2/img/item/17331-200.png + hq: https://api.dofusdu.de/dofus2/img/item/17331-400.png + hd: https://api.dofusdu.de/dofus2/img/item/17331-800.png + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Equipment Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List Equipment + tags: + - equipment + x-stoplight: + id: z7ihi4fuba4rk + /{game}/{language}/items/resources: + get: + description: Retrieve a list of resource items. + operationId: get-items-resources-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: desc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: miscellaneous resources + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 160 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 190 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: size of the results from the list. -1 disables pagination and + gets all in one response. + explode: true + in: query + name: "page[size]" + required: false + schema: + example: 10 + minimum: -1 + type: integer + style: form + - description: "page number based on the current page[size]. So you could get\ + \ page 1 with 8 entrys and page 2 would have entries 8 to 16." + explode: true + in: query + name: "page[number]" + required: false + schema: + example: 1 + minimum: 0 + type: integer + style: form + - description: adds fields from their detail endpoint to the item list entries. + Multiple comma separated values allowed. + explode: false + in: query + name: "fields[item]" + required: false + schema: + example: + - recipe + items: + enum: + - recipe + - description + - conditions + - effects + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + page[size] 2: + value: + _links: + first: https://api.dofusdu.de/dofus2/de/items/resources?page%5Bnumber%5D%3D1%26page%5Bsize%5D%3D2 + prev: null + next: https://api.dofusdu.de/dofus2/de/items/resources?page%5Bnumber%5D%3D2%26page%5Bsize%5D%3D2 + last: https://api.dofusdu.de/dofus2/de/items/resources?page%5Bnumber%5D%3D1534%26page%5Bsize%5D%3D2 + items: + - ankama_id: 274 + name: Stück des Klauenpuzzles + type: + name: Rohstein + id: 92 + level: 43 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/51267.png + - ankama_id: 276 + name: Münze des Schatzes von Badoul + type: + name: Verschiedene Ressourcen + id: 1 + level: 43 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/15268.png + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Resources Found + "400": + description: Bad Request + "404": + description: Not Found + summary: List Resources + tags: + - resources + x-stoplight: + id: z2jx5o5pjumhs + /{game}/{language}/items/consumables: + get: + description: Retrieve a list of consumable items. + operationId: get-items-consumables-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: asc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Chest + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 150 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 180 + type: integer + style: form + - description: size of the results from the list. -1 disables pagination and + gets all in one response. + explode: true + in: query + name: "page[size]" + required: false + schema: + example: 2 + minimum: -1 + type: integer + style: form + - description: "page number based on the current page[size]. So you could get\ + \ page 1 with 8 entrys and page 2 would have entries 8 to 16." + explode: true + in: query + name: "page[number]" + required: false + schema: + example: 1 + minimum: 0 + type: integer + style: form + - description: adds fields from their detail endpoint to the item list entries. + Multiple comma separated values allowed. + explode: false + in: query + name: "fields[item]" + required: false + schema: + example: + - recipe + items: + enum: + - recipe + - description + - conditions + - effects + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + No query, just defaults: + value: + _links: + first: https://api.dofusdu.de/dofus2/en/items/consumables?page%5Bnumber%5D%3D1%26page%5Bsize%5D%3D16 + prev: null + next: https://api.dofusdu.de/dofus2/en/items/consumables?page%5Bnumber%5D%3D2%26page%5Bsize%5D%3D16 + last: https://api.dofusdu.de/dofus2/en/items/consumables?page%5Bnumber%5D%3D213%26page%5Bsize%5D%3D16 + items: + - ankama_id: 281 + name: Api + type: + name: Treat + id: 6 + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/42001.png + - ankama_id: 282 + name: Superior Health Flask + type: + name: Potion + id: 42 + level: 60 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/12039.png + - ankama_id: 283 + name: Health Flask + type: + name: Potion + id: 42 + level: 40 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/12003.png + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Consumables Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List Consumables + tags: + - consumables + x-stoplight: + id: g2xcp6fribgyf + /{game}/{language}/items/quest: + get: + description: Retrieve a list of quest items. + operationId: get-items-quest-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: fr + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: desc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Sufokia + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 1 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 50 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: size of the results from the list. -1 disables pagination and + gets all in one response. + explode: true + in: query + name: "page[size]" + required: false + schema: + example: 5 + minimum: -1 + type: integer + style: form + - description: "page number based on the current page[size]. So you could get\ + \ page 1 with 8 entrys and page 2 would have entries 8 to 16." + explode: true + in: query + name: "page[number]" + required: false + schema: + example: 1 + minimum: 0 + type: integer + style: form + - description: adds fields from their detail endpoint to the item list entries. + Multiple comma separated values allowed. + explode: false + in: query + name: "fields[item]" + required: false + schema: + example: + - recipe + items: + enum: + - recipe + - description + - conditions + - effects + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + sort[level] asc, page[number] 5, page[size] 2: + value: + _links: + first: https://api.dofusdu.de/dofus2/de/items/quest?page%5Bnumber%5D%3D1%26page%5Bsize%5D%3D2 + prev: https://api.dofusdu.de/dofus2/de/items/quest?page%5Bnumber%5D%3D4%26page%5Bsize%5D%3D2 + next: https://api.dofusdu.de/dofus2/de/items/quest?page%5Bnumber%5D%3D6%26page%5Bsize%5D%3D2 + last: https://api.dofusdu.de/dofus2/de/items/quest?page%5Bnumber%5D%3D1454%26page%5Bsize%5D%3D2 + items: + - ankama_id: 7349 + name: Liebesbrief für Poochan + type: + name: Pandala + id: 4 + level: 0 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/24050.png + - ankama_id: 7348 + name: Feudala-Dojo-Siegerurkunde + type: + name: Pandala + id: 4 + level: 0 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/24255.png + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Quest Items Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List Quest Items + tags: + - quest items + x-stoplight: + id: qsq51akecj0r0 + /{game}/{language}/items/cosmetics: + get: + description: Retrieve a list of cosmetic items. + operationId: get-cosmetics-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: fr + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: asc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Chapeau d'apparat + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 5 + type: integer + style: form + - description: size of the results from the list. -1 disables pagination and + gets all in one response. + explode: true + in: query + name: "page[size]" + required: false + schema: + example: 5 + minimum: -1 + type: integer + style: form + - description: "page number based on the current page[size]. So you could get\ + \ page 1 with 8 entrys and page 2 would have entries 8 to 16." + explode: true + in: query + name: "page[number]" + required: false + schema: + example: 1 + minimum: 0 + type: integer + style: form + - description: adds fields from their detail endpoint to the item list entries. + Multiple comma separated values allowed. + explode: false + in: query + name: "fields[item]" + required: false + schema: + example: + - recipe + items: + enum: + - recipe + - description + - conditions + - effects + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/json: + examples: + page[size] 2: + value: + _links: + first: https://api.dofusdu.de/dofus2/fr/items/cosmetics?page%5Bnumber%5D%3D1%26page%5Bsize%5D%3D2 + prev: null + next: https://api.dofusdu.de/dofus2/fr/items/cosmetics?page%5Bnumber%5D%3D2%26page%5Bsize%5D%3D2 + last: https://api.dofusdu.de/dofus2/fr/items/cosmetics?page%5Bnumber%5D%3D704%26page%5Bsize%5D%3D2 + items: + - ankama_id: 1090 + name: Astrocoiffe + type: + name: Chapeau d'apparat + id: 11 + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/16027.png + - ankama_id: 1907 + name: Oreilles de Lapineupe + type: + name: Chapeau d'apparat + id: 11 + level: 1 + image_urls: + icon: https://api.dofusdu.de/dofus2/img/item/16030.png + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Cosmetics Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List Cosmetics + tags: + - cosmetics + x-stoplight: + id: mlmwp9s8utn2j + /{game}/{language}/mounts/all: + get: + description: |- + Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. + + If you want everything unfiltered, delete the other query parameters. + + Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! + + Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. + Example with cURL: + ``` + curl -sH 'Accept-Encoding: gzip' | gunzip - + ``` + operationId: get-all-mounts-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: only results with the translated family name + explode: true + in: query + name: "filter[family_name]" + required: false + schema: + example: Dragoturkey + type: string + style: form + - description: optional compression for saving bandwidth + explode: false + in: header + name: Accept-Encoding + required: false + schema: + enum: + - gzip + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + defaults: + value: + _links: + first: null + prev: null + next: null + last: null + items: + - ankama_id: 0 + name: string + family_name: string + image_urls: + icon: string + sd: string + hq: string + hd: string + schema: + $ref: '#/components/schemas/Mounts-List-Paged' + description: Mounts Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List All Mounts + tags: + - mounts + x-stoplight: + id: 35hwizajcz3g7 + /{game}/{language}/sets/all: + get: + description: |- + Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. + + If you want everything unfiltered, delete the other query parameters. + + Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! + + Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. + Example with cURL: + ``` + curl -sH 'Accept-Encoding: gzip' | gunzip - + ``` + operationId: get-all-sets-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: asc + type: string + style: form + - description: only results where the equipment with the highest level is above + or equal to this value + explode: true + in: query + name: "filter[min_highest_equipment_level]" + required: false + schema: + example: 190 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results where the equipment with the highest level is below + or equal to this value + explode: true + in: query + name: "filter[max_highest_equipment_level]" + required: false + schema: + example: 200 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: optional compression for saving bandwidth + explode: false + in: header + name: Accept-Encoding + required: false + schema: + enum: + - gzip + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + defaults: + value: + _links: + first: null + prev: null + next: null + last: null + items: + - ankama_id: 0 + name: string + items: 0 + level: 0 + schema: + $ref: '#/components/schemas/Sets-List-Paged' + description: Set Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List All Sets + tags: + - sets + x-stoplight: + id: rzxp5sotapqe6 + /{game}/{language}/items/cosmetics/all: + get: + description: |- + Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. + + If you want everything unfiltered, delete the other query parameters. + + Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! + + Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. + Example with cURL: + ``` + curl -sH 'Accept-Encoding: gzip' | gunzip - + ``` + operationId: get-all-cosmetics-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: fr + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: asc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Chapeau d'apparat + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 5 + type: integer + style: form + - description: optional compression for saving bandwidth + explode: false + in: header + name: Accept-Encoding + required: false + schema: + enum: + - gzip + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + defaults: + value: + _links: + first: null + prev: null + next: null + last: null + items: + - ankama_id: 0 + name: string + type: + name: string + level: 0 + image_urls: + icon: string + sd: string + hq: string + hd: string + recipe: + - item_ankama_id: 0 + item_subtype: string + quantity: 0 + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Cosmetics Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List All Cosmetics + tags: + - cosmetics + x-stoplight: + id: 07si7hjof1qpt + /{game}/{language}/items/quest/all: + get: + description: |- + Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. + + If you want everything unfiltered, delete the other query parameters. + + Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! + + Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. + Example with cURL: + ``` + curl -sH 'Accept-Encoding: gzip' | gunzip - + ``` + operationId: get-all-items-quest-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: fr + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: desc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Sufokia + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 1 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 50 + format: int32 + maximum: 200 + minimum: 0 + type: integer + style: form + - description: optional compression for saving bandwidth + explode: false + in: header + name: Accept-Encoding + required: false + schema: + enum: + - gzip + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + defaults: + value: + _links: + first: null + prev: null + next: null + last: null + items: + - ankama_id: 0 + name: string + type: + name: string + level: 0 + image_urls: + icon: string + sd: string + hq: string + hd: string + recipe: + - item_ankama_id: 0 + item_subtype: string + quantity: 0 + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Quest Items Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List All Quest Items + tags: + - quest items + x-stoplight: + id: mgmt97sgtrhja + /{game}/{language}/items/consumables/all: + get: + description: |- + Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. + + If you want everything unfiltered, delete the other query parameters. + + Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! + + Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. + Example with cURL: + ``` + curl -sH 'Accept-Encoding: gzip' | gunzip - + ``` + operationId: get-all-items-consumables-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: asc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Chest + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 150 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 180 + type: integer + style: form + - description: optional compression for saving bandwidth + explode: false + in: header + name: Accept-Encoding + required: false + schema: + enum: + - gzip + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + defaults: + value: + _links: + first: null + prev: null + next: null + last: null + items: + - ankama_id: 0 + name: string + type: + name: string + level: 0 + image_urls: + icon: string + sd: string + hq: string + hd: string + recipe: + - item_ankama_id: 0 + item_subtype: string + quantity: 0 + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Consumables Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List All Consumables + tags: + - consumables + x-stoplight: + id: llcg4hmp9wucr + /{game}/{language}/items/resources/all: + get: + description: |- + Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. + + If you want everything unfiltered, delete the other query parameters. + + Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! + + Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. + Example with cURL: + ``` + curl -sH 'Accept-Encoding: gzip' | gunzip - + ``` + operationId: get-all-items-resources-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: desc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: miscellaneous resources + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 160 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 190 + format: int32 + maximum: 200 + minimum: 1 + type: integer + style: form + - description: optional compression for saving bandwidth + explode: false + in: header + name: Accept-Encoding + required: false + schema: + enum: + - gzip + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + defaults: + value: + _links: + first: null + prev: null + next: null + last: null + items: + - ankama_id: 0 + name: string + type: + name: string + level: 0 + image_urls: + icon: string + sd: string + hq: string + hd: string + recipe: + - item_ankama_id: 0 + item_subtype: string + quantity: 0 + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Resources Found + "400": + description: Bad Request + "404": + description: Not Found + summary: List All Resources + tags: + - resources + x-stoplight: + id: 1wtcbwhh04jmq + /{game}/{language}/items/equipment/all: + get: + description: |- + Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. + + If you want everything unfiltered, delete the other query parameters. + + Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! + + Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. + Example with cURL: + ``` + curl -sH 'Accept-Encoding: gzip' | gunzip - + ``` + operationId: get-all-items-equipment-list + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + - pt + example: en + maxLength: 2 + minLength: 2 + type: string + style: simple + - explode: false + in: path + name: game + required: true + schema: + enum: + - dofus2 + - dofus2beta + example: dofus2 + type: string + style: simple + - description: "sort the resulting list by level, default unsorted" + explode: true + in: query + name: "sort[level]" + required: false + schema: + enum: + - asc + - desc + example: desc + type: string + style: form + - description: only results with the translated type name + explode: true + in: query + name: "filter[type_name]" + required: false + schema: + example: Sword + type: string + style: form + - description: only results which level is equal or above this value + explode: true + in: query + name: "filter[min_level]" + required: false + schema: + example: 10 + type: integer + style: form + - description: only results which level is equal or below this value + explode: true + in: query + name: "filter[max_level]" + required: false + schema: + example: 60 + minimum: 0 + type: integer + style: form + - description: optional compression for saving bandwidth + explode: false + in: header + name: Accept-Encoding + required: false + schema: + enum: + - gzip + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + defaults: + value: + _links: + first: null + prev: null + next: null + last: null + items: + - ankama_id: 0 + name: string + type: + name: string + level: 0 + image_urls: + icon: string + sd: string + hq: string + hd: string + recipe: + - item_ankama_id: 0 + item_subtype: string + quantity: 0 + schema: + $ref: '#/components/schemas/Items-List-Paged' + description: Equipment Found + "400": + description: | + Bad Request + "404": + description: Not Found + summary: List All Equipment + tags: + - equipment + x-stoplight: + id: wbxzhlcid1l0w + /dofus2/{language}/almanax: + get: + description: "Get a range of dates, defaults to today + 6 following days but\ + \ can specified by the query parameters. \n\nfilter[bonus_type] can be used\ + \ seperately and does not have an effect on the other parameters.\n\nrange[from]\ + \ changes the start date, everything else defaults to 6 following dates from\ + \ this start date.\n\nrange[to] when used without anything else, it will use\ + \ today as start date and this parameter as end. All ranges are inclusive.\n\ + \nrange[from] + range[to] = inclusive range over the specified dates, should\ + \ never be farther apart than 35 days.\n\nrange[from|to] + range[size] no\ + \ need to specify the date, just following days with [from] (0 is today) or\ + \ go backwards in time with only [to] and [size].\n\nNot all combinations\ + \ are listed but this should give you an idea how to they could work." + operationId: get-almanax-range + parameters: + - description: code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + example: fr + type: string + style: simple + - description: "ids from meta/{language}/almanax/bonuses" + explode: true + in: query + name: "filter[bonus_type]" + required: false + schema: + example: experience-points + type: string + style: form + - description: yyyy-mm-dd + explode: true + in: query + name: "range[from]" + required: false + schema: + example: 2016-09-15 + format: date + type: string + style: form + - description: yyyy-mm-dd + explode: true + in: query + name: "range[to]" + required: false + schema: + example: 2016-09-28 + format: date + type: string + style: form + - description: size of the returned range + explode: true + in: query + name: "range[size]" + required: false + schema: + example: -1 + format: int32 + maximum: 370 + minimum: -1 + type: integer + style: form + - description: "determine what the current time is. If you live in Brazil, \"\ + today\" will be hours apart from Paris. Use your timezone to get results\ + \ relative to your location." + explode: true + in: query + name: timezone + required: false + schema: + default: Europe/Paris + example: Europe/Paris + type: string + style: form + responses: + "200": + content: + application/json: + examples: + range[size] 2: + value: + - bonus: + description: "The experience points awarded for completing alignment\ + \ quests and city order quests are increased by 100%. What's\ + \ more, a special repeatable quest is available today inside\ + \ the militias of Bonta and Brakmar. It is available to aligned\ + \ players of level 20 or higher and is not attached to the\ + \ offering quest." + type: + id: bonta-and-brakmar + name: Bonta and Brakmar + date: 2022-09-12 + tribute: + item: + ankama_id: 14284 + image_urls: + hd: https://api.dofusdu.de/dofus2/img/item/15247-800.png + hq: https://api.dofusdu.de/dofus2/img/item/15247-400.png + icon: https://api.dofusdu.de/dofus2/img/item/15247.png + sd: https://api.dofusdu.de/dofus2/img/item/15247-200.png + name: Spectral Flame + subtype: resources + quantity: 2 + - bonus: + description: The quantity of Flax harvested by farmers is increased + by 125%. + type: + id: plenty-to-harvest + name: Plenty to harvest + date: 2022-09-13 + tribute: + item: + ankama_id: 423 + image_urls: + hd: https://api.dofusdu.de/dofus2/img/item/34122-800.png + hq: https://api.dofusdu.de/dofus2/img/item/34122-400.png + icon: https://api.dofusdu.de/dofus2/img/item/34122.png + sd: https://api.dofusdu.de/dofus2/img/item/34122-200.png + name: Flax + subtype: resources + quantity: 20 + schema: + items: + $ref: '#/components/schemas/Almanax-Entry' + type: array + description: OK + summary: Almanax Range + tags: + - almanax + x-stoplight: + id: fy8l7o3sz1jyo + /dofus2/{language}/almanax/{date}: + get: + description: Get a single date. There are not more details in the returned object + than the normal range endpoint. + operationId: get-almanax-date + parameters: + - description: code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + example: fr + type: string + style: simple + - description: yyyy-mm-dd + explode: false + in: path + name: date + required: true + schema: + example: 2020-07-14 + format: date + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + "9/11": + value: + bonus: + description: "Les quantités de ressources récupérées par les\ + \ récolteurs et les chasseurs sont augmentées de 50 % dans\ + \ toutes les zones influencées par une anomalie temporelle.\ + \ De plus, les gains d'expérience et les chances d'obtenir\ + \ du butin sont augmentés de 25 % dans la zone du Sanctuaire\ + \ des Dragoeufs." + type: + id: reward-bonus + name: Bonus des anomalies + date: 2022-09-11 + tribute: + item: + ankama_id: 8362 + image_urls: + hd: https://api.dofusdu.de/dofus2/img/item/59611-800.png + hq: https://api.dofusdu.de/dofus2/img/item/59611-400.png + icon: https://api.dofusdu.de/dofus2/img/item/59611.png + sd: https://api.dofusdu.de/dofus2/img/item/59611-200.png + name: Peau de Dragnarok + subtype: resources + quantity: 2 + schema: + $ref: '#/components/schemas/Almanax-Entry' + description: OK + summary: Single Almanax Date + tags: + - almanax + x-stoplight: + id: d0000xjgaenyh + /dofus2/meta/elements: + get: + description: Get the mappings for all specific elements that are linked in the + dataset. All names are english. Translations are not needed because of a global + unique id which is the index inside the array. Future elements will get a + higher id. + operationId: get-meta-elements + parameters: [] + responses: + "200": + content: + application/json: + examples: + id = index: + value: + - Vitality + - Intelligence + schema: + items: + type: string + type: array + description: OK + summary: Effects and Condition Elements + tags: + - meta + x-stoplight: + id: 4oyiu8nbwwgds + /dofus2/meta/search/types: + get: + description: "Get all types for /{game}/{lang}/search available for filtering.\ + \ All names are english for comparing them inside applications. Order is fixed\ + \ so you can compare indices instead of strings." + operationId: get-game-search-types + parameters: [] + responses: + "200": + content: + application/json: + examples: + List: + value: + - items-consumables + - items-cosmetics + - items-resources + - items-equipment + - items-quest_items + - mounts + - sets + schema: + items: + type: string + type: array + description: OK + summary: Available Game Search Types + tags: + - meta + x-stoplight: + id: v67mknkhaif2h + /dofus2/meta/{language}/almanax/bonuses: + get: + description: Get all the available bonuses and their id for filtering them in + the range endpoint. + operationId: get-meta-almanax-bonuses + parameters: + - explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + example: fr + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + en: + value: + - id: reward-bonus + name: Reward Bonus + - id: loot + name: Loot + - id: plenty-of-fish + name: Plenty of fish + schema: + items: + $ref: '#/components/schemas/get_meta_almanax_bonuses_200_response_inner' + type: array + x-examples: + example-1: + - id: reward-bonus + name: Reward Bonus + - id: loot + name: Loot + - id: plenty-of-fish + name: Plenty of fish + description: OK + summary: Available Almanax Bonuses + tags: + - meta + x-stoplight: + id: y3rp6gd28quli + /dofus2/meta/{language}/almanax/bonuses/search: + get: + description: Search all the available bonuses and their id for filtering them + in the range endpoint. + operationId: get-meta-almanax-bonuses-search + parameters: + - description: a valid language code + explode: false + in: path + name: language + required: true + schema: + enum: + - en + - fr + - de + - it + - es + example: fr + type: string + style: simple + - description: case sensitive search query + explode: true + in: query + name: query + required: true + schema: + example: abond + type: string + style: form + - description: maximum number of returned results + explode: true + in: query + name: limit + required: false + schema: + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + en: + value: + - id: reward-bonus + name: Reward Bonus + - id: loot + name: Loot + - id: plenty-of-fish + name: Plenty of fish + schema: + items: + $ref: '#/components/schemas/get_meta_almanax_bonuses_200_response_inner' + type: array + x-examples: + example-1: + - id: reward-bonus + name: Reward Bonus + - id: loot + name: Loot + - id: plenty-of-fish + name: Plenty of fish + description: OK + summary: Search Available Almanax Bonuses + tags: + - meta + x-stoplight: + id: wacmug1sb1oe9 + /meta/webhooks/twitter: + get: + description: 'Get a list of all available subscriptions. ' + operationId: get-meta-webhooks-twitter + responses: + "200": + content: + application/json: + examples: + Example 1: + value: + subscriptions: + - string + schema: + $ref: '#/components/schemas/get_meta_webhooks_twitter_200_response' + description: OK + summary: Get Twitter Hook Metainfo + tags: + - webhooks + x-stoplight: + id: x2su9os7cdw6n + /meta/webhooks/rss: + get: + description: 'Get a list of all available subscriptions. ' + operationId: get-meta-webhooks-rss + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/get_meta_webhooks_twitter_200_response' + description: OK + summary: Get RSS Hook Metainfo + tags: + - webhooks + x-stoplight: + id: ryea84v1mw1ak + /meta/webhooks/almanax: + get: + description: 'Get a list of all available subscriptions. ' + operationId: get-meta-webhooks-almanax + responses: + "200": + content: + application/json: + examples: + example-1: + value: + subscriptions: + - string + schema: + $ref: '#/components/schemas/get_meta_webhooks_twitter_200_response' + description: OK + summary: Get Almanax Hook Metainfo + tags: + - webhooks + x-stoplight: + id: 4lrj2cmhjnm2s + /webhooks/rss/{id}: + delete: + description: Delete a Webhook from the service. + operationId: delete-webhooks-rss-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "204": + description: No Content + summary: Unregister RSS Hook + tags: + - webhooks + x-stoplight: + id: dzqt93ubm594i + get: + description: Retrieve details about an existing RSS Webhook with a given uuid. + operationId: get-webhooks-rss-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Example: + value: + id: string + whitelist: null + blacklist: null + subscriptions: + - dofus2-fr-official-news + format: discord + preview_length: 150 + created_at: 2022-10-25T15:32:37.406281+02:00 + last_fired_at: 2022-10-25T15:35:37.103240+02:00 + updated_at: 2022-10-25T15:32:37.406281+02:00 + schema: + $ref: '#/components/schemas/RssWebhook' + description: OK + summary: Get RSS Hook + tags: + - webhooks + x-stoplight: + id: u2trp6aa29zke + put: + description: "Update the details of a RSS Webhook. All fields are optional and\ + \ arrays will be overwritten, so always put all selected items of an array." + operationId: put-webhooks-rss-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + examples: + Example: + value: + whitelist: null + blacklist: null + subscriptions: null + preview_length: 60 + schema: + $ref: '#/components/schemas/PutRSSWebhook' + description: "" + responses: + "200": + content: + application/json: + examples: + Example: + value: + id: string + whitelist: null + blacklist: null + subscriptions: + - dofus2-fr-official-news + format: discord + preview_length: 150 + created_at: 2022-10-25T15:32:37.406281+02:00 + last_fired_at: 2022-10-25T15:35:37.103240+02:00 + updated_at: 2022-10-25T15:32:37.406281+02:00 + schema: + $ref: '#/components/schemas/RssWebhook' + description: OK + summary: Update RSS Hook + tags: + - webhooks + x-stoplight: + id: gxa2aqic6jm2e + /webhooks/twitter/{id}: + delete: + description: Delete a Webhook from the service. + operationId: delete-webhooks-twitter-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "204": + description: No Content + summary: Unregister Twitter Hook + tags: + - webhooks + x-stoplight: + id: 4o1c8msan9y9v + get: + description: Retrieve details about an existing Twitter Webhook with a given + uuid. + operationId: get-webhooks-twitter-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Example: + value: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + whitelist: + - unity + blacklist: + - retro + subscriptions: + - DOFUS_EN + format: discord + preview_length: 280 + created_at: 2022-10-25T15:32:37.406281+02:00 + last_fired_at: 2022-10-25T15:35:37.103240+02:00 + updated_at: 2022-10-25T15:32:37.406281+02:00 + schema: + $ref: '#/components/schemas/TwitterWebhook' + description: OK + summary: Get Twitter Hook + tags: + - webhooks + x-stoplight: + id: b17dskp86rnqw + put: + description: "Update the details of a Twitter Webhook. All fields are optional\ + \ and arrays will be overwritten, so always put all selected items of an array." + operationId: put-webhooks-twitter-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + examples: + Example: + value: + whitelist: + - retro + blacklist: null + subscriptions: + - dofus2-en-official-changelog + preview_length: null + schema: + $ref: '#/components/schemas/PutTwitterWebhook' + description: "" + responses: + "200": + content: + application/json: + examples: + Example: + value: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + whitelist: + - unity + blacklist: + - retro + subscriptions: + - DOFUS_EN + format: discord + preview_length: 280 + created_at: 2022-10-25T15:32:37.406281+02:00 + last_fired_at: 2022-10-25T15:35:37.103240+02:00 + updated_at: 2022-10-25T15:32:37.406281+02:00 + schema: + $ref: '#/components/schemas/TwitterWebhook' + description: OK + summary: Update Twitter Hook + tags: + - webhooks + x-stoplight: + id: qp6uqqs05jye4 + /webhooks/almanax/{id}: + delete: + description: Delete a Webhook from the service. + operationId: delete-webhooks-almanax-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "204": + description: No Content + summary: Unregister Almanax Hook + tags: + - webhooks + x-stoplight: + id: plnosst21p855 + get: + description: Retrieve details about an existing Almanax Webhook with a given + uuid. + operationId: get-webhooks-almanax-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + Example: + value: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + bonus_whitelist: + - plenty-to-harvest + bonus_blacklist: null + subscriptions: + - dofus2_en + iso_date: false + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + intervals: + - daily + weekly_weekday: sunday + created_at: 2019-08-24T14:15:22Z + last_fired_at: 2019-08-24T14:15:22Z + updated_at: 2019-08-24T14:15:22Z + schema: + $ref: '#/components/schemas/AlmanaxWebhook' + description: OK + summary: Get Almanax Hook + tags: + - webhooks + x-stoplight: + id: tsnn86pyx3vu8 + put: + description: "Update the details of an Almanax Webhook. All fields are optional\ + \ and arrays will be overwritten, so always put all selected items of an array." + operationId: put-webhooks-almanax-id + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + examples: + Example: + value: + bonus_whitelist: [] + bonus_blacklist: null + subscriptions: null + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + iso_date: false + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + intervals: + - daily + weekly_weekday: sunday + schema: + $ref: '#/components/schemas/PutAlmanaxWebhook' + responses: + "200": + content: + application/json: + examples: + Example: + value: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + bonus_whitelist: + - plenty-to-harvest + bonus_blacklist: null + subscriptions: + - dofus2_en + iso_date: false + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + intervals: + - daily + weekly_weekday: sunday + created_at: 2019-08-24T14:15:22Z + last_fired_at: 2019-08-24T14:15:22Z + updated_at: 2019-08-24T14:15:22Z + schema: + $ref: '#/components/schemas/AlmanaxWebhook' + description: OK + summary: Update Almanax Hook + tags: + - webhooks + x-stoplight: + id: okizp8l5z3on3 + /webhooks/rss: + post: + description: Register a new Webhook to post RSS news as soon as they are posted. + operationId: post-webhooks-rss + requestBody: + content: + application/json: + examples: + Example: + value: + whitelist: + - retro + blacklist: null + subscriptions: + - dofus2-en-official-news + format: discord + preview_length: 2000 + callback: https://discord.com/api/webhooks/XYZ + schema: + $ref: '#/components/schemas/CreateRSSWebhook' + description: "" + responses: + "200": + description: OK + summary: Register RSS Hook + tags: + - webhooks + x-stoplight: + id: x27z57xp45wte + /webhooks/twitter: + post: + description: Register a new Webhook to post Twitter updates as soon as they + are posted. + operationId: post-webhooks-twitter + requestBody: + content: + application/json: + examples: + Example: + value: + whitelist: null + blacklist: null + subscriptions: + - DOFUSfr + format: discord + preview_length: 280 + callback: https://discord.com/api/webhooks/XYZ + schema: + $ref: '#/components/schemas/CreateTwitterWebhook' + description: "" + responses: + "200": + description: OK + summary: Register Twitter Hook + tags: + - webhooks + x-stoplight: + id: n7hruj6bwd63z + /webhooks/almanax: + post: + description: Register a new Webhook to post Almanax updates. + operationId: post-webhooks-almanax + requestBody: + content: + application/json: + examples: + Example: + value: + bonus_whitelist: null + bonus_blacklist: null + subscriptions: + - dofus2_fr + format: discord + callback: https://discord.com/api/webhooks/XYZ + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + iso_date: false + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + intervals: + - daily + weekly_weekday: sunday + schema: + $ref: '#/components/schemas/CreateAlmanaxWebhook' + description: "" + responses: + "200": + description: OK + summary: Register Almanax Hook + tags: + - webhooks + x-stoplight: + id: rgb2d0j47fr0l +components: + schemas: + Items-List-Entry-Typed: + example: + level: 1 + item_subtype: item_subtype + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + type: + name: name + id: 6 + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + type: + $ref: '#/components/schemas/Items_List_Entry_Typed_type' + item_subtype: + description: The API item category. Can be used to build the request URL + for this particular item. Always english. + type: string + level: + type: integer + image_urls: + $ref: '#/components/schemas/Image-Urls' + type: object + x-examples: {} + x-stoplight: + id: r5b3ia3ectz8q + Cosmetic: + example: + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + condition_tree: + children: + - null + - null + is_operand: false + relation: and + level: 1 + name: name + recipe: + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + description: description + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + pods: 5 + type: + name: name + id: 0 + conditions: + - operator: operator + int_value: 5 + element: + name: name + id: 6 + - operator: operator + int_value: 5 + element: + name: name + id: 6 + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + description: + type: string + type: + $ref: '#/components/schemas/Cosmetic_type' + level: + type: integer + pods: + type: integer + image_urls: + $ref: '#/components/schemas/Image-Urls' + effects: + items: + $ref: '#/components/schemas/Effects-Entry' + nullable: true + type: array + conditions: + deprecated: true + items: + $ref: '#/components/schemas/Condition-Entry' + nullable: true + type: array + condition_tree: + $ref: '#/components/schemas/Condition-Tree-Node' + recipe: + items: + $ref: '#/components/schemas/Recipe-Entry' + nullable: true + type: array + type: object + x-examples: {} + x-stoplight: + id: rfawtzjwbqvco + Recipe-Entry: + example: + quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + properties: + item_ankama_id: + type: integer + item_subtype: + type: string + quantity: + type: integer + title: "" + type: object + x-examples: {} + x-stoplight: + id: mb2ht06tym8se + Set-Effects-Entry: + example: + ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + properties: + int_minimum: + description: "minimum int value, can be a single if ignore_int_max and no\ + \ ignore_int_min" + type: integer + int_maximum: + description: "maximum int value, if not ignore_int_max and not ignore_int_min,\ + \ the effect has a range value" + type: integer + type: + $ref: '#/components/schemas/Set_Effects_Entry_type' + ignore_int_min: + description: 'ignore the int min field because the actual value is a string. + For readability the templated field is the only important field in this + case. ' + type: boolean + ignore_int_max: + description: "ignore the int max field, if ignore_int_min is true, int min\ + \ is a single value" + type: boolean + formatted: + description: all fields from above encoded in a single string + type: string + item_combination: + description: how many items it needs to trigger this effect with the given + set + type: integer + type: object + x-examples: {} + x-tags: + - meta + Effects-Entry: + example: + ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + properties: + int_minimum: + description: "minimum int value, can be a single if ignore_int_max and no\ + \ ignore_int_min" + type: integer + int_maximum: + description: "maximum int value, if not ignore_int_max and not ignore_int_min,\ + \ the effect has a range value" + type: integer + type: + $ref: '#/components/schemas/Set_Effects_Entry_type' + ignore_int_min: + description: 'ignore the int min field because the actual value is a string. + For readability the templated field is the only important field in this + case. ' + type: boolean + ignore_int_max: + description: "ignore the int max field, if ignore_int_min is true, int min\ + \ is a single value" + type: boolean + formatted: + description: all fields from above encoded in a single string + type: string + type: object + x-examples: {} + x-tags: + - meta + x-stoplight: + id: frixo5s02x57v + Image-Urls: + description: "All images except icon are rendered in the background which can\ + \ take some time (up to hours if all data is completely generated from scratch).\ + \ Because of this, they can be null if they are not yet rendered." + example: + sd: sd + icon: icon + hq: hq + hd: hd + properties: + icon: + description: "60x60 px, always available" + type: string + sd: + description: 200x200 px + nullable: true + type: string + hq: + description: 400x400 px + nullable: true + type: string + hd: + description: 800x800 px + nullable: true + type: string + title: "" + type: object + x-examples: + All available: + icon: https://dofusdu.de/dofus/img/mount/1.png + sd: https://dofusdu.de/dofus/img/mount/1-200.png + hq: https://dofusdu.de/dofus/img/mount/1-400.png + hd: https://dofusdu.de/dofus/img/mount/1-800.png + HD not rendered: + icon: https://dofusdu.de/dofus/img/mount/1.png + sd: https://dofusdu.de/dofus/img/mount/1-200.png + hq: https://dofusdu.de/dofus/img/mount/1-400.png + x-stoplight: + id: ebvisb0pnf46t + Resource: + description: "" + example: + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + condition_tree: + children: + - null + - null + is_operand: false + relation: and + level: 6 + name: name + recipe: + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + description: description + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + pods: 1 + type: + name: name + id: 0 + conditions: + - operator: operator + int_value: 5 + element: + name: name + id: 6 + - operator: operator + int_value: 5 + element: + name: name + id: 6 + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + description: + type: string + type: + $ref: '#/components/schemas/Cosmetic_type' + level: + type: integer + pods: + type: integer + image_urls: + $ref: '#/components/schemas/Image-Urls' + effects: + items: + $ref: '#/components/schemas/Effects-Entry' + nullable: true + type: array + conditions: + deprecated: true + items: + $ref: '#/components/schemas/Condition-Entry' + nullable: true + type: array + condition_tree: + $ref: '#/components/schemas/Condition-Tree-Node' + recipe: + items: + $ref: '#/components/schemas/Recipe-Entry' + nullable: true + type: array + type: object + x-examples: {} + x-stoplight: + id: 10otndsm7bw3k + Item-List-Entry: + example: + critical_hit_probability: 9 + parent_set: + name: name + id: 7 + is_two_handed: true + level: 6 + is_weapon: true + recipe: + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + description: description + range: + min: 7 + max: 1 + type: + name: name + id: 6 + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + max_cast_per_turn: 2 + condition_tree: + children: + - null + - null + is_operand: false + relation: and + name: name + ap_cost: 4 + pods: 2 + conditions: + - operator: operator + int_value: 5 + element: + name: name + id: 6 + - operator: operator + int_value: 5 + element: + name: name + id: 6 + critical_hit_bonus: 3 + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + type: + $ref: '#/components/schemas/Items_List_Entry_Typed_type' + level: + type: integer + image_urls: + $ref: '#/components/schemas/Image-Urls' + recipe: + items: + $ref: '#/components/schemas/Recipe-Entry' + nullable: true + type: array + description: + nullable: true + type: string + x-stoplight: + id: t04qfhnlgc4kw + conditions: + deprecated: true + items: + $ref: '#/components/schemas/Condition-Entry' + nullable: true + type: array + condition_tree: + $ref: '#/components/schemas/Condition-Tree-Node' + effects: + items: + $ref: '#/components/schemas/Effects-Entry' + nullable: true + type: array + is_weapon: + nullable: true + type: boolean + pods: + nullable: true + type: integer + parent_set: + $ref: '#/components/schemas/Item_List_Entry_parent_set' + critical_hit_probability: + nullable: true + type: integer + critical_hit_bonus: + nullable: true + type: integer + is_two_handed: + nullable: true + type: boolean + max_cast_per_turn: + nullable: true + type: integer + ap_cost: + nullable: true + type: integer + range: + $ref: '#/components/schemas/Item_List_Entry_range' + type: object + x-examples: {} + x-stoplight: + id: t7g4fratmdgkx + Equipment-Set: + example: + effects: + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + highest_equipment_level: 1 + name: name + equipment_ids: + - 6 + - 6 + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + equipment_ids: + items: + type: integer + type: array + effects: + items: + items: + $ref: '#/components/schemas/Set-Effects-Entry' + type: array + nullable: true + type: array + highest_equipment_level: + type: integer + title: "" + type: object + x-stoplight: + id: xmkp08r20yq44 + Set-List-Entry: + example: + effects: + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + level: 1 + name: name + equipment_ids: + - 7 + - 7 + items: 6 + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + items: + description: amount + type: integer + level: + type: integer + effects: + items: + items: + $ref: '#/components/schemas/Set-Effects-Entry' + type: array + nullable: true + type: array + equipment_ids: + items: + type: integer + nullable: true + type: array + title: "" + type: object + x-examples: {} + x-stoplight: + id: jzo6pgvj144er + Mount: + example: + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + family_name: family_name + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + family_name: + type: string + image_urls: + $ref: '#/components/schemas/Image-Urls' + effects: + items: + $ref: '#/components/schemas/Effects-Entry' + nullable: true + type: array + title: "" + type: object + x-stoplight: + id: t56c7qu8hapx4 + Mount-List-Entry: + example: + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + family_name: family_name + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + family_name: + type: string + image_urls: + $ref: '#/components/schemas/Image-Urls' + effects: + items: + $ref: '#/components/schemas/Effects-Entry' + nullable: true + type: array + title: "" + type: object + x-examples: {} + x-stoplight: + id: rie41mn8llctq + Items-List-Paged: + example: + _links: + next: next + last: last + prev: prev + first: first + items: + - critical_hit_probability: 9 + parent_set: + name: name + id: 7 + is_two_handed: true + level: 6 + is_weapon: true + recipe: + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + description: description + range: + min: 7 + max: 1 + type: + name: name + id: 6 + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + max_cast_per_turn: 2 + condition_tree: + children: + - null + - null + is_operand: false + relation: and + name: name + ap_cost: 4 + pods: 2 + conditions: + - operator: operator + int_value: 5 + element: + name: name + id: 6 + - operator: operator + int_value: 5 + element: + name: name + id: 6 + critical_hit_bonus: 3 + ankama_id: 0 + - critical_hit_probability: 9 + parent_set: + name: name + id: 7 + is_two_handed: true + level: 6 + is_weapon: true + recipe: + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + description: description + range: + min: 7 + max: 1 + type: + name: name + id: 6 + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + max_cast_per_turn: 2 + condition_tree: + children: + - null + - null + is_operand: false + relation: and + name: name + ap_cost: 4 + pods: 2 + conditions: + - operator: operator + int_value: 5 + element: + name: name + id: 6 + - operator: operator + int_value: 5 + element: + name: name + id: 6 + critical_hit_bonus: 3 + ankama_id: 0 + properties: + _links: + $ref: '#/components/schemas/Links-Paged' + items: + items: + $ref: '#/components/schemas/Item-List-Entry' + type: array + title: "" + type: object + x-stoplight: + id: wp54br61flkau + Sets-List-Paged: + example: + _links: + next: next + last: last + prev: prev + first: first + items: + - effects: + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + level: 1 + name: name + equipment_ids: + - 7 + - 7 + items: 6 + ankama_id: 0 + - effects: + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + - ignore_int_min: true + ignore_int_max: true + item_combination: 2 + formatted: formatted + int_maximum: 5 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 5 + level: 1 + name: name + equipment_ids: + - 7 + - 7 + items: 6 + ankama_id: 0 + properties: + _links: + $ref: '#/components/schemas/Links-Paged' + items: + items: + $ref: '#/components/schemas/Set-List-Entry' + type: array + title: "" + type: object + x-stoplight: + id: kr369f842c2w9 + Mounts-List-Paged: + example: + _links: + next: next + last: last + prev: prev + first: first + items: + - effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + family_name: family_name + ankama_id: 0 + - effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + family_name: family_name + ankama_id: 0 + properties: + _links: + $ref: '#/components/schemas/Links-Paged' + items: + items: + $ref: '#/components/schemas/Mount-List-Entry' + type: array + title: "" + type: object + x-stoplight: + id: 67iikn0tj64zs + Links-Paged: + example: + next: next + last: last + prev: prev + first: first + properties: + first: + nullable: true + type: string + prev: + nullable: true + type: string + next: + nullable: true + type: string + last: + nullable: true + type: string + title: "" + type: object + x-stoplight: + id: 60s06npdim49u + Condition-Entry: + description: "" + example: + operator: operator + int_value: 5 + element: + name: name + id: 6 + properties: + operator: + type: string + int_value: + type: integer + element: + $ref: '#/components/schemas/Items_List_Entry_Typed_type' + type: object + x-stoplight: + id: cfe46yvylz0b5 + Condition-Tree-Node: + oneOf: + - $ref: '#/components/schemas/Condition-Tree-Relation' + - $ref: '#/components/schemas/Condition-Tree-Leaf' + x-stoplight: + id: kv2rib65himdt + x-examples: {} + Condition-Tree-Leaf: + properties: + is_operand: + default: true + description: always "true" for the leaf of a tree + type: boolean + condition: + $ref: '#/components/schemas/Condition-Entry' + type: object + x-stoplight: + id: qpb8of1ljcb4y + x-examples: {} + Condition-Tree-Relation: + example: + children: + - null + - null + is_operand: false + relation: and + properties: + is_operand: + default: false + description: always "false" for relations + type: boolean + relation: + default: and + description: "\"and\", \"or\"" + example: and + type: string + children: + items: + $ref: '#/components/schemas/Condition-Tree-Node' + type: array + type: object + x-stoplight: + id: 1ubaw97npzw7b + x-examples: {} + Equipment: + properties: + ankama_id: + type: integer + name: + type: string + description: + type: string + type: + $ref: '#/components/schemas/Items_List_Entry_Typed_type' + is_weapon: + type: boolean + level: + type: integer + pods: + type: integer + image_urls: + $ref: '#/components/schemas/Image-Urls' + effects: + items: + $ref: '#/components/schemas/Effects-Entry' + nullable: true + type: array + conditions: + deprecated: true + items: + $ref: '#/components/schemas/Condition-Entry' + nullable: true + type: array + condition_tree: + $ref: '#/components/schemas/Condition-Tree-Node' + recipe: + items: + $ref: '#/components/schemas/Recipe-Entry' + nullable: true + type: array + parent_set: + $ref: '#/components/schemas/Item_List_Entry_parent_set' + type: object + x-examples: {} + x-stoplight: + id: wl02ch9nip85b + Weapon: + example: + critical_hit_probability: 5 + parent_set: + name: name + id: 7 + is_two_handed: true + level: 6 + is_weapon: true + recipe: + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + - quantity: 5 + item_subtype: item_subtype + item_ankama_id: 1 + description: description + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + range: + min: 9 + max: 3 + type: + name: name + id: 6 + effects: + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + - ignore_int_min: true + ignore_int_max: true + formatted: formatted + int_maximum: 1 + type: + is_meta: true + is_active: true + name: name + id: 5 + int_minimum: 6 + max_cast_per_turn: 2 + condition_tree: + children: + - null + - null + is_operand: false + relation: and + name: name + ap_cost: 7 + pods: 1 + conditions: + - operator: operator + int_value: 5 + element: + name: name + id: 6 + - operator: operator + int_value: 5 + element: + name: name + id: 6 + critical_hit_bonus: 5 + ankama_id: 0 + properties: + ankama_id: + type: integer + name: + type: string + description: + type: string + type: + $ref: '#/components/schemas/Items_List_Entry_Typed_type' + is_weapon: + description: always true when the item is a weapon. Many fields are now + available. Always check for this flag first when getting single equipment + items. + type: boolean + level: + type: integer + pods: + type: integer + image_urls: + $ref: '#/components/schemas/Image-Urls' + effects: + items: + $ref: '#/components/schemas/Effects-Entry' + nullable: true + type: array + conditions: + deprecated: true + items: + $ref: '#/components/schemas/Condition-Entry' + nullable: true + type: array + condition_tree: + $ref: '#/components/schemas/Condition-Tree-Node' + critical_hit_probability: + type: integer + critical_hit_bonus: + type: integer + is_two_handed: + type: boolean + max_cast_per_turn: + type: integer + ap_cost: + type: integer + range: + $ref: '#/components/schemas/Weapon_range' + recipe: + items: + $ref: '#/components/schemas/Recipe-Entry' + nullable: true + type: array + parent_set: + $ref: '#/components/schemas/Item_List_Entry_parent_set' + type: object + x-examples: {} + x-stoplight: + id: 904f1afmcifdp + Almanax-Entry: + example: + date: date + reward_kamas: 1 + bonus: + description: description + type: + name: name + id: id + tribute: + item: + subtype: subtype + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + ankama_id: 0 + quantity: 6 + properties: + bonus: + $ref: '#/components/schemas/Almanax_Entry_bonus' + date: + type: string + tribute: + $ref: '#/components/schemas/Almanax_Entry_tribute' + reward_kamas: + description: Amount of Kamas you get as reward for finishing this Almanax + quest. + nullable: true + type: integer + x-stoplight: + id: oneb4usnoodzz + type: object + x-examples: {} + x-stoplight: + id: vrmvy5zbqek3g + CreateTwitterWebhook: + description: "" + example: + subscriptions: + - subscriptions + - subscriptions + preview_length: 280 + format: discord + blacklist: + - blacklist + - blacklist + callback: https://discord.com/api/webhooks/XYZ + whitelist: + - whitelist + - whitelist + properties: + whitelist: + items: + type: string + nullable: true + type: array + blacklist: + items: + type: string + nullable: true + type: array + subscriptions: + description: Get the available subscriptions with /meta/webhooks/twitter + items: + type: string + minItems: 1 + type: array + uniqueItems: true + format: + enum: + - discord + type: string + preview_length: + example: 280 + format: int32 + maximum: 280 + minimum: 0 + nullable: true + type: integer + callback: + description: Discord Webhook URL + example: https://discord.com/api/webhooks/XYZ + format: uri + type: string + required: + - callback + - format + - subscriptions + title: CreateTwitterWebhook + type: object + x-examples: + Example: + subscriptions: + - DOFUSfr + format: discord + preview_length: 280 + callback: https://discord.com/api/webhooks/XYZ + x-stoplight: + id: 7k5ozheexjnxv + CreateRSSWebhook: + description: "" + example: + subscriptions: + - subscriptions + - subscriptions + preview_length: 2000 + format: discord + blacklist: + - blacklist + - blacklist + callback: https://discord.com/api/webhooks/XYZ + whitelist: + - whitelist + - whitelist + properties: + whitelist: + items: + type: string + nullable: true + type: array + blacklist: + items: + type: string + nullable: true + type: array + subscriptions: + description: Get the available subscriptions with /meta/webhooks/rss + items: + type: string + minItems: 1 + type: array + uniqueItems: true + format: + enum: + - discord + type: string + preview_length: + example: 2000 + format: int32 + maximum: 4000 + minimum: 0 + nullable: true + type: integer + callback: + description: Discord Webhook URL + example: https://discord.com/api/webhooks/XYZ + format: uri + type: string + required: + - callback + - format + - subscriptions + title: CreateRSSWebhook + type: object + x-examples: + Example: + whitelist: + - retro + subscriptions: + - dofus2-en-official-news + format: discord + preview_length: 2000 + callback: https://discord.com/api/webhooks/XYZ + x-stoplight: + id: j8vhvwqn3jeoe + PutRSSWebhook: + description: "" + example: + subscriptions: + - subscriptions + - subscriptions + preview_length: 2000 + blacklist: + - blacklist + - blacklist + whitelist: + - whitelist + - whitelist + properties: + whitelist: + items: + type: string + nullable: true + type: array + blacklist: + items: + type: string + nullable: true + type: array + subscriptions: + description: Get the available subscriptions with /meta/webhooks/rss + items: + type: string + nullable: true + type: array + uniqueItems: true + preview_length: + example: 2000 + format: int32 + maximum: 4000 + minimum: 0 + nullable: true + type: integer + title: PutRSSWebhook + type: object + x-examples: + Example: + preview_length: 60 + x-stoplight: + id: 7uavm6v1r9v4y + PutTwitterWebhook: + description: "" + example: + subscriptions: + - subscriptions + - subscriptions + preview_length: 280 + blacklist: + - blacklist + - blacklist + whitelist: + - whitelist + - whitelist + properties: + whitelist: + items: + type: string + nullable: true + type: array + blacklist: + items: + type: string + nullable: true + type: array + subscriptions: + description: Get the available subscriptions with /meta/webhooks/twitter + items: + type: string + nullable: true + type: array + uniqueItems: true + preview_length: + example: 280 + format: int32 + maximum: 280 + minimum: 0 + nullable: true + type: integer + title: PutTwitterWebhook + type: object + x-examples: + Example: + whitelist: + - retro + subscriptions: + - dofus2-en-official-changelog + x-stoplight: + id: omtuayunn9wfk + CreateAlmanaxWebhook: + example: + weekly_weekday: sunday + subscriptions: + - subscriptions + - subscriptions + intervals: + - daily + iso_date: false + bonus_whitelist: + - bonus_whitelist + - bonus_whitelist + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + format: discord + callback: https://discord.com/api/webhooks/XYZ + bonus_blacklist: + - bonus_blacklist + - bonus_blacklist + properties: + bonus_whitelist: + description: "from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses" + items: + type: string + nullable: true + type: array + bonus_blacklist: + description: "from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses" + items: + type: string + nullable: true + type: array + subscriptions: + description: Get the available subscriptions with /meta/webhooks/almanax + items: + type: string + type: array + format: + enum: + - discord + type: string + callback: + description: Discord Webhook URL + example: https://discord.com/api/webhooks/XYZ + format: uri + type: string + daily_settings: + $ref: '#/components/schemas/CreateAlmanaxWebhook_daily_settings' + iso_date: + default: false + description: "If false, it will use common local time formats and weekday\ + \ translations. If true, the format is YYYY-MM-DD." + nullable: true + type: boolean + mentions: + additionalProperties: + items: + $ref: '#/components/schemas/CreateAlmanaxWebhook_mentions_value_inner' + type: array + description: Almanax bonus ids mapped to array of mentions. + example: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + nullable: true + type: object + intervals: + description: |- + - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. + - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. + - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. + The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. + example: + - daily + items: + enum: + - daily + - weekly + - monthly + type: string + type: array + uniqueItems: true + weekly_weekday: + description: When to post the weekly preview at the specified time. + enum: + - sunday + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + example: sunday + nullable: true + type: string + required: + - callback + - format + - intervals + - subscriptions + title: CreateAlmanaxWebhook + type: object + x-examples: + Example: + subscriptions: + - dofus2_fr + format: discord + callback: https://discord.com/api/webhooks/XYZ + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + iso_date: false + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + intervals: + - daily + weekly_weekday: sunday + x-stoplight: + id: pyyh22g8b7mk0 + PutAlmanaxWebhook: + example: + weekly_weekday: sunday + subscriptions: + - subscriptions + - subscriptions + intervals: + - daily + iso_date: false + bonus_whitelist: + - bonus_whitelist + - bonus_whitelist + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + bonus_blacklist: + - bonus_blacklist + - bonus_blacklist + properties: + bonus_whitelist: + description: |- + from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. + Delete old entries with empty array []. Just null changes nothing. + items: + type: string + nullable: true + type: array + bonus_blacklist: + description: "from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses.\ + \ Delete old entries with empty array []. Just null changes nothing." + items: + type: string + nullable: true + type: array + subscriptions: + description: Get the available subscriptions with /meta/webhooks/almanax + items: + type: string + nullable: true + type: array + daily_settings: + $ref: '#/components/schemas/CreateAlmanaxWebhook_daily_settings' + iso_date: + default: false + description: "If false, it will use common local time formats and weekday\ + \ translations. If true, the format is YYYY-MM-DD." + nullable: true + type: boolean + mentions: + additionalProperties: + items: + $ref: '#/components/schemas/CreateAlmanaxWebhook_mentions_value_inner' + type: array + description: Almanax bonus ids mapped to array of mentions. + example: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + type: object + intervals: + example: + - daily + items: + enum: + - daily + - weekly + - monthly + type: string + nullable: true + type: array + uniqueItems: true + weekly_weekday: + description: When to post the weekly preview at the specified time. + enum: + - sunday + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + example: sunday + nullable: true + type: string + title: PutAlmanaxWebhook + type: object + x-examples: + Example: + bonus_whitelist: [] + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + iso_date: false + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + intervals: + - daily + weekly_weekday: sunday + x-stoplight: + id: htkpa9vrybcye + RssWebhook: + example: + subscriptions: + - subscriptions + - subscriptions + updated_at: 2022-10-25T15:32:37.406281+02:00 + preview_length: 2000 + last_fired_at: 2022-10-25T15:35:37.10324+02:00 + format: discord + blacklist: + - blacklist + - blacklist + created_at: 2022-10-25T15:32:37.406281+02:00 + id: id + whitelist: + - whitelist + - whitelist + properties: + id: + type: string + whitelist: + items: + type: string + nullable: true + type: array + blacklist: + items: + type: string + nullable: true + type: array + subscriptions: + items: + type: string + type: array + format: + enum: + - discord + type: string + preview_length: + example: 2000 + format: int32 + maximum: 4000 + minimum: 0 + type: integer + created_at: + example: 2022-10-25T15:32:37.406281+02:00 + format: date-time + type: string + last_fired_at: + example: 2022-10-25T15:35:37.10324+02:00 + format: date-time + nullable: true + type: string + updated_at: + example: 2022-10-25T15:32:37.406281+02:00 + format: date-time + type: string + title: RSSWebhook + type: object + x-examples: + Example: + id: string + subscriptions: + - dofus2-fr-official-news + format: discord + preview_length: 150 + created_at: 2022-10-25T15:32:37.406281+02:00 + last_fired_at: 2022-10-25T15:35:37.103240+02:00 + updated_at: 2022-10-25T15:32:37.406281+02:00 + x-stoplight: + id: e4x9508e2otmo + TwitterWebhook: + example: + subscriptions: + - subscriptions + - subscriptions + updated_at: 2022-10-25T15:32:37.406281+02:00 + preview_length: 280 + last_fired_at: 2022-10-25T15:35:37.10324+02:00 + format: discord + blacklist: + - blacklist + - blacklist + created_at: 2022-10-25T15:32:37.406281+02:00 + id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + whitelist: + - whitelist + - whitelist + properties: + id: + format: uuid + type: string + whitelist: + items: + type: string + nullable: true + type: array + blacklist: + items: + type: string + nullable: true + type: array + subscriptions: + items: + type: string + type: array + format: + enum: + - discord + type: string + preview_length: + example: 280 + format: int32 + maximum: 280 + minimum: 0 + type: integer + created_at: + example: 2022-10-25T15:32:37.406281+02:00 + format: date-time + type: string + last_fired_at: + example: 2022-10-25T15:35:37.10324+02:00 + format: date-time + nullable: true + type: string + updated_at: + example: 2022-10-25T15:32:37.406281+02:00 + format: date-time + type: string + title: TwitterWebhook + type: object + x-examples: + Example: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + whitelist: + - unity + blacklist: + - retro + subscriptions: + - DOFUS_EN + format: discord + preview_length: 280 + created_at: 2022-10-25T15:32:37.406281+02:00 + last_fired_at: 2022-10-25T15:35:37.103240+02:00 + updated_at: 2022-10-25T15:32:37.406281+02:00 + x-stoplight: + id: n7ja34vr6bc0v + AlmanaxWebhook: + description: "" + example: + weekly_weekday: sunday + subscriptions: + - subscriptions + - subscriptions + intervals: + - daily + iso_date: false + updated_at: 2000-01-23T04:56:07.000+00:00 + last_fired_at: 2000-01-23T04:56:07.000+00:00 + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + bonus_whitelist: + - bonus_whitelist + - bonus_whitelist + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + created_at: 2000-01-23T04:56:07.000+00:00 + bonus_blacklist: + - bonus_blacklist + - bonus_blacklist + id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + properties: + id: + format: uuid + type: string + daily_settings: + $ref: '#/components/schemas/AlmanaxWebhook_daily_settings' + bonus_whitelist: + description: |- + Only post when these bonuses come up. + From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. + items: + type: string + nullable: true + type: array + bonus_blacklist: + description: |- + Skip the day when these bonuses come up. + From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses + items: + type: string + nullable: true + type: array + subscriptions: + description: Get the available subscriptions with /meta/webhooks/almanax + items: + type: string + type: array + iso_date: + default: false + description: "If false, it will use common local time formats and weekday\ + \ translations. If true, the format is YYYY-MM-DD." + type: boolean + mentions: + additionalProperties: + items: + $ref: '#/components/schemas/CreateAlmanaxWebhook_mentions_value_inner' + type: array + description: Almanax bonus ids mapped to array of mentions. + example: + kolossium-experience: + - discord_id: 1234 + is_role: true + ping_days_before: null + nullable: true + type: object + intervals: + description: |- + - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. + - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. + - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. + The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. + example: + - daily + items: + enum: + - daily + - weekly + - monthly + type: string + type: array + uniqueItems: true + weekly_weekday: + description: When to post the weekly preview at the specified time. + enum: + - sunday + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + example: sunday + nullable: true + type: string + created_at: + format: date-time + type: string + last_fired_at: + format: date-time + nullable: true + type: string + updated_at: + format: date-time + type: string + title: AlmanaxWebhook + type: object + x-examples: + Example: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + daily_settings: + timezone: Europe/Paris + midnight_offset: 0 + bonus_whitelist: + - plenty-to-harvest + subscriptions: + - dofus2_en + iso_date: false + mentions: + kolossium-experience: + - discord_id: 1234 + is_role: true + intervals: + - daily + weekly_weekday: sunday + created_at: 2019-08-24T14:15:22Z + last_fired_at: 2019-08-24T14:15:22Z + updated_at: 2019-08-24T14:15:22Z + x-stoplight: + id: x3oc9iaxf57wv + get_game_search_200_response_inner: + example: + name: name + type: type + ankama_id: 0 + properties: + name: + description: Name of the hit. The query could still have matched with the + description only. + type: string + ankama_id: + description: Ankama ID for retrieving more details in the type specific + endpoint. + type: integer + type: + description: Type classification + type: string + type: object + get_meta_almanax_bonuses_200_response_inner: + example: + name: name + id: id + properties: + id: + type: string + name: + type: string + type: object + get_meta_webhooks_twitter_200_response: + example: + subscriptions: + - subscriptions + - subscriptions + properties: + subscriptions: + items: + type: string + type: array + type: object + x-examples: + example-1: + subscriptions: + - dofus2_en + - dofus2_fr + - dofus2_es + - dofus2_it + - dofus2_de + Items_List_Entry_Typed_type: + example: + name: name + id: 6 + properties: + name: + type: string + id: + type: integer + type: object + Cosmetic_type: + example: + name: name + id: 0 + properties: + name: + type: string + id: + minimum: 0 + type: integer + type: object + Set_Effects_Entry_type: + example: + is_meta: true + is_active: true + name: name + id: 5 + properties: + name: + type: string + id: + type: integer + is_meta: + description: "true if a type is generated from the Api instead of Ankama.\ + \ In that case, always prefer showing the templated string and omit everything\ + \ else. The \"name\" field will have an english description of the meta\ + \ type. An example for such effects are class sets effects." + type: boolean + is_active: + description: Affects target or source actively. + type: boolean + type: object + Item_List_Entry_parent_set: + example: + name: name + id: 7 + nullable: true + properties: + id: + type: integer + name: + type: string + type: object + Item_List_Entry_range: + example: + min: 7 + max: 1 + nullable: true + properties: + min: + type: integer + max: + type: integer + type: object + Weapon_range: + example: + min: 9 + max: 3 + properties: + min: + type: integer + max: + type: integer + type: object + Almanax_Entry_bonus: + example: + description: description + type: + name: name + id: id + properties: + description: + type: string + type: + $ref: '#/components/schemas/get_meta_almanax_bonuses_200_response_inner' + type: object + Almanax_Entry_tribute_item: + example: + subtype: subtype + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + ankama_id: 0 + properties: + ankama_id: + type: integer + image_urls: + $ref: '#/components/schemas/Image-Urls' + name: + type: string + subtype: + type: string + type: object + Almanax_Entry_tribute: + example: + item: + subtype: subtype + name: name + image_urls: + sd: sd + icon: icon + hq: hq + hd: hd + ankama_id: 0 + quantity: 6 + properties: + item: + $ref: '#/components/schemas/Almanax_Entry_tribute_item' + quantity: + type: integer + type: object + CreateAlmanaxWebhook_daily_settings: + example: + timezone: Europe/Paris + midnight_offset: 0 + nullable: true + properties: + timezone: + default: Europe/Paris + description: Timezone of your community to determine midnight. + example: Europe/Paris + nullable: true + type: string + midnight_offset: + default: 0 + description: Hours added to midnight at the selected timezone. 8 = 8:00 + in the morning. + example: 0 + maximum: 23 + minimum: 0 + nullable: true + type: integer + type: object + CreateAlmanaxWebhook_mentions_value_inner: + description: Mention + properties: + discord_id: + description: User or role ID directly from Discord. Activate developer mode + and right click a user or role to get them. + example: 1234 + type: integer + is_role: + description: Whether an ID describes a role (true) or user (false). This + is needed for formatting the mention command so Discord understands it. + example: true + type: boolean + ping_days_before: + description: Get a mention days before the bonus comes up. It will post + on the specified time. Also works when the interval is not daily. + example: 1 + maximum: 31 + minimum: 1 + nullable: true + type: integer + type: object + AlmanaxWebhook_daily_settings: + example: + timezone: Europe/Paris + midnight_offset: 0 + properties: + timezone: + default: Europe/Paris + description: Timezone of your community to determine midnight. + example: Europe/Paris + type: string + midnight_offset: + default: 0 + description: Hours added to midnight at the selected timezone. 8 = 8:00 + in the morning. + example: 0 + type: integer + type: object + securitySchemes: {} +x-stoplight: + id: ezdjxlif28ceb + diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..e755a7b --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,9 @@ +# auto-generated by OpenAPI Generator (https://github.com/OpenAPITools/openapi-generator) +# +image: Visual Studio 2019 +clone_depth: 1 +build_script: +- dotnet build -c Release +- dotnet test -c Release +after_build: +- dotnet pack .\src\Dofusdude.Api\Dofusdude.Api.csproj -o ../../output -c Release --no-build diff --git a/docs/AlmanaxApi.md b/docs/AlmanaxApi.md new file mode 100644 index 0000000..5eb2eda --- /dev/null +++ b/docs/AlmanaxApi.md @@ -0,0 +1,203 @@ +# Dofusdude.Api.Api.AlmanaxApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAlmanaxDate**](AlmanaxApi.md#getalmanaxdate) | **GET** /dofus2/{language}/almanax/{date} | Single Almanax Date | +| [**GetAlmanaxRange**](AlmanaxApi.md#getalmanaxrange) | **GET** /dofus2/{language}/almanax | Almanax Range | + + +# **GetAlmanaxDate** +> AlmanaxEntry GetAlmanaxDate (string language, DateOnly date) + +Single Almanax Date + +Get a single date. There are not more details in the returned object than the normal range endpoint. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAlmanaxDateExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new AlmanaxApi(config); + var language = fr; // string | code + var date = Tue Jul 14 00:00:00 UTC 2020; // DateOnly | yyyy-mm-dd + + try + { + // Single Almanax Date + AlmanaxEntry result = apiInstance.GetAlmanaxDate(language, date); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling AlmanaxApi.GetAlmanaxDate: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAlmanaxDateWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Almanax Date + ApiResponse response = apiInstance.GetAlmanaxDateWithHttpInfo(language, date); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AlmanaxApi.GetAlmanaxDateWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | code | | +| **date** | **DateOnly** | yyyy-mm-dd | | + +### Return type + +[**AlmanaxEntry**](AlmanaxEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetAlmanaxRange** +> List<AlmanaxEntry> GetAlmanaxRange (string language, string? filterBonusType = null, DateOnly? rangeFrom = null, DateOnly? rangeTo = null, int? rangeSize = null, string? timezone = null) + +Almanax Range + +Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAlmanaxRangeExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new AlmanaxApi(config); + var language = fr; // string | code + var filterBonusType = experience-points; // string? | ids from meta/{language}/almanax/bonuses (optional) + var rangeFrom = Thu Sep 15 00:00:00 UTC 2016; // DateOnly? | yyyy-mm-dd (optional) + var rangeTo = Wed Sep 28 00:00:00 UTC 2016; // DateOnly? | yyyy-mm-dd (optional) + var rangeSize = -1; // int? | size of the returned range (optional) + var timezone = Europe/Paris; // string? | determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional) (default to "Europe/Paris") + + try + { + // Almanax Range + List result = apiInstance.GetAlmanaxRange(language, filterBonusType, rangeFrom, rangeTo, rangeSize, timezone); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling AlmanaxApi.GetAlmanaxRange: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAlmanaxRangeWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Almanax Range + ApiResponse> response = apiInstance.GetAlmanaxRangeWithHttpInfo(language, filterBonusType, rangeFrom, rangeTo, rangeSize, timezone); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling AlmanaxApi.GetAlmanaxRangeWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | code | | +| **filterBonusType** | **string?** | ids from meta/{language}/almanax/bonuses | [optional] | +| **rangeFrom** | **DateOnly?** | yyyy-mm-dd | [optional] | +| **rangeTo** | **DateOnly?** | yyyy-mm-dd | [optional] | +| **rangeSize** | **int?** | size of the returned range | [optional] | +| **timezone** | **string?** | determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. | [optional] [default to "Europe/Paris"] | + +### Return type + +[**List<AlmanaxEntry>**](AlmanaxEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/AlmanaxEntry.md b/docs/AlmanaxEntry.md new file mode 100644 index 0000000..e273037 --- /dev/null +++ b/docs/AlmanaxEntry.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.AlmanaxEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Bonus** | [**AlmanaxEntryBonus**](AlmanaxEntryBonus.md) | | [optional] +**Date** | **string** | | [optional] +**Tribute** | [**AlmanaxEntryTribute**](AlmanaxEntryTribute.md) | | [optional] +**RewardKamas** | **int?** | Amount of Kamas you get as reward for finishing this Almanax quest. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AlmanaxEntryBonus.md b/docs/AlmanaxEntryBonus.md new file mode 100644 index 0000000..77e90c3 --- /dev/null +++ b/docs/AlmanaxEntryBonus.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.AlmanaxEntryBonus + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Description** | **string** | | [optional] +**Type** | [**GetMetaAlmanaxBonuses200ResponseInner**](GetMetaAlmanaxBonuses200ResponseInner.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AlmanaxEntryTribute.md b/docs/AlmanaxEntryTribute.md new file mode 100644 index 0000000..ac18862 --- /dev/null +++ b/docs/AlmanaxEntryTribute.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.AlmanaxEntryTribute + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Item** | [**AlmanaxEntryTributeItem**](AlmanaxEntryTributeItem.md) | | [optional] +**Quantity** | **int** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AlmanaxEntryTributeItem.md b/docs/AlmanaxEntryTributeItem.md new file mode 100644 index 0000000..e163a52 --- /dev/null +++ b/docs/AlmanaxEntryTributeItem.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.AlmanaxEntryTributeItem + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Name** | **string** | | [optional] +**Subtype** | **string** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AlmanaxWebhook.md b/docs/AlmanaxWebhook.md new file mode 100644 index 0000000..313fc6a --- /dev/null +++ b/docs/AlmanaxWebhook.md @@ -0,0 +1,21 @@ +# Dofusdude.Api.Model.AlmanaxWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **Guid** | | [optional] +**DailySettings** | [**AlmanaxWebhookDailySettings**](AlmanaxWebhookDailySettings.md) | | [optional] +**BonusWhitelist** | **List<string>** | Only post when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. | [optional] +**BonusBlacklist** | **List<string>** | Skip the day when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses | [optional] +**Subscriptions** | **List<string>** | Get the available subscriptions with /meta/webhooks/almanax | [optional] +**IsoDate** | **bool** | If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. | [optional] [default to false] +**Mentions** | **Dictionary<string, List<CreateAlmanaxWebhookMentionsValueInner>>** | Almanax bonus ids mapped to array of mentions. | [optional] +**Intervals** | **List<AlmanaxWebhook.IntervalsEnum>** | - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. | [optional] +**WeeklyWeekday** | **string** | When to post the weekly preview at the specified time. | [optional] +**CreatedAt** | **DateTime** | | [optional] +**LastFiredAt** | **DateTime?** | | [optional] +**UpdatedAt** | **DateTime** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/AlmanaxWebhookDailySettings.md b/docs/AlmanaxWebhookDailySettings.md new file mode 100644 index 0000000..e32ea08 --- /dev/null +++ b/docs/AlmanaxWebhookDailySettings.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.AlmanaxWebhookDailySettings + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Timezone** | **string** | Timezone of your community to determine midnight. | [optional] [default to "Europe/Paris"] +**MidnightOffset** | **int** | Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. | [optional] [default to 0] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ConditionEntry.md b/docs/ConditionEntry.md new file mode 100644 index 0000000..234c09a --- /dev/null +++ b/docs/ConditionEntry.md @@ -0,0 +1,12 @@ +# Dofusdude.Api.Model.ConditionEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Operator** | **string** | | [optional] +**IntValue** | **int** | | [optional] +**Element** | [**ItemsListEntryTypedType**](ItemsListEntryTypedType.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ConditionTreeLeaf.md b/docs/ConditionTreeLeaf.md new file mode 100644 index 0000000..4dbe9b4 --- /dev/null +++ b/docs/ConditionTreeLeaf.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.ConditionTreeLeaf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**IsOperand** | **bool** | always \"true\" for the leaf of a tree | [optional] [default to true] +**Condition** | [**ConditionEntry**](ConditionEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ConditionTreeNode.md b/docs/ConditionTreeNode.md new file mode 100644 index 0000000..65fec92 --- /dev/null +++ b/docs/ConditionTreeNode.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.ConditionTreeNode + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**IsOperand** | **bool** | always \"true\" for the leaf of a tree | [optional] [default to true] +**Relation** | **string** | \"and\", \"or\" | [optional] [default to "and"] +**Children** | [**List<ConditionTreeNode>**](ConditionTreeNode.md) | | [optional] +**Condition** | [**ConditionEntry**](ConditionEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ConditionTreeRelation.md b/docs/ConditionTreeRelation.md new file mode 100644 index 0000000..c327235 --- /dev/null +++ b/docs/ConditionTreeRelation.md @@ -0,0 +1,12 @@ +# Dofusdude.Api.Model.ConditionTreeRelation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**IsOperand** | **bool** | always \"false\" for relations | [optional] [default to false] +**Relation** | **string** | \"and\", \"or\" | [optional] [default to "and"] +**Children** | [**List<ConditionTreeNode>**](ConditionTreeNode.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ConsumablesApi.md b/docs/ConsumablesApi.md new file mode 100644 index 0000000..55becf6 --- /dev/null +++ b/docs/ConsumablesApi.md @@ -0,0 +1,427 @@ +# Dofusdude.Api.Api.ConsumablesApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAllItemsConsumablesList**](ConsumablesApi.md#getallitemsconsumableslist) | **GET** /{game}/{language}/items/consumables/all | List All Consumables | +| [**GetItemsConsumablesList**](ConsumablesApi.md#getitemsconsumableslist) | **GET** /{game}/{language}/items/consumables | List Consumables | +| [**GetItemsConsumablesSearch**](ConsumablesApi.md#getitemsconsumablessearch) | **GET** /{game}/{language}/items/consumables/search | Search Consumables | +| [**GetItemsConsumablesSingle**](ConsumablesApi.md#getitemsconsumablessingle) | **GET** /{game}/{language}/items/consumables/{ankama_id} | Single Consumables | + + +# **GetAllItemsConsumablesList** +> ItemsListPaged GetAllItemsConsumablesList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, string? acceptEncoding = null) + +List All Consumables + +Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' | gunzip - ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAllItemsConsumablesListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ConsumablesApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var sortLevel = asc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Chest; // string? | only results with the translated type name (optional) + var filterMinLevel = 150; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 180; // int? | only results which level is equal or below this value (optional) + var acceptEncoding = "gzip"; // string? | optional compression for saving bandwidth (optional) + + try + { + // List All Consumables + ItemsListPaged result = apiInstance.GetAllItemsConsumablesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ConsumablesApi.GetAllItemsConsumablesList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAllItemsConsumablesListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List All Consumables + ApiResponse response = apiInstance.GetAllItemsConsumablesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ConsumablesApi.GetAllItemsConsumablesListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **acceptEncoding** | **string?** | optional compression for saving bandwidth | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Consumables Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsConsumablesList** +> ItemsListPaged GetItemsConsumablesList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? pageSize = null, int? pageNumber = null, List? fieldsItem = null) + +List Consumables + +Retrieve a list of consumable items. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsConsumablesListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ConsumablesApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var sortLevel = asc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Chest; // string? | only results with the translated type name (optional) + var filterMinLevel = 150; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 180; // int? | only results which level is equal or below this value (optional) + var pageSize = 2; // int? | size of the results from the list. -1 disables pagination and gets all in one response. (optional) + var pageNumber = 1; // int? | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + var fieldsItem = new List?(); // List? | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + + try + { + // List Consumables + ItemsListPaged result = apiInstance.GetItemsConsumablesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ConsumablesApi.GetItemsConsumablesList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsConsumablesListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Consumables + ApiResponse response = apiInstance.GetItemsConsumablesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ConsumablesApi.GetItemsConsumablesListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **pageSize** | **int?** | size of the results from the list. -1 disables pagination and gets all in one response. | [optional] | +| **pageNumber** | **int?** | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. | [optional] | +| **fieldsItem** | [**List<string>?**](string.md) | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Consumables Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsConsumablesSearch** +> List<ItemListEntry> GetItemsConsumablesSearch (string language, string game, string query, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? limit = null) + +Search Consumables + +Search in all names and descriptions of consumable items with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsConsumablesSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ConsumablesApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var query = Wholewrite; // string | case sensitive search query + var filterTypeName = Bread; // string? | only results with the translated type name (optional) + var filterMinLevel = 1; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 200; // int? | only results which level is equal or below this value (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search Consumables + List result = apiInstance.GetItemsConsumablesSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ConsumablesApi.GetItemsConsumablesSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsConsumablesSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Consumables + ApiResponse> response = apiInstance.GetItemsConsumablesSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ConsumablesApi.GetItemsConsumablesSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<ItemListEntry>**](ItemListEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Consumables Found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsConsumablesSingle** +> Resource GetItemsConsumablesSingle (string language, int ankamaId, string game) + +Single Consumables + +Retrieve a specific consumable item with id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsConsumablesSingleExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ConsumablesApi(config); + var language = "en"; // string | a valid language code + var ankamaId = 17206; // int | identifier + var game = dofus2; // string | + + try + { + // Single Consumables + Resource result = apiInstance.GetItemsConsumablesSingle(language, ankamaId, game); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ConsumablesApi.GetItemsConsumablesSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsConsumablesSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Consumables + ApiResponse response = apiInstance.GetItemsConsumablesSingleWithHttpInfo(language, ankamaId, game); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ConsumablesApi.GetItemsConsumablesSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **ankamaId** | **int** | identifier | | +| **game** | **string** | | | + +### Return type + +[**Resource**](Resource.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Consumable Found | - | +| **400** | Bad Request Possibilities: - invalid ankama id format | - | +| **404** | Not Found Possibilities: - nothing found for this ankama_id | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/Cosmetic.md b/docs/Cosmetic.md new file mode 100644 index 0000000..a18d409 --- /dev/null +++ b/docs/Cosmetic.md @@ -0,0 +1,20 @@ +# Dofusdude.Api.Model.Cosmetic + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**Description** | **string** | | [optional] +**Type** | [**CosmeticType**](CosmeticType.md) | | [optional] +**Level** | **int** | | [optional] +**Pods** | **int** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Effects** | [**List<EffectsEntry>**](EffectsEntry.md) | | [optional] +**Conditions** | [**List<ConditionEntry>**](ConditionEntry.md) | | [optional] +**ConditionTree** | [**ConditionTreeNode**](ConditionTreeNode.md) | | [optional] +**Recipe** | [**List<RecipeEntry>**](RecipeEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CosmeticType.md b/docs/CosmeticType.md new file mode 100644 index 0000000..9ac9d81 --- /dev/null +++ b/docs/CosmeticType.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.CosmeticType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | | [optional] +**Id** | **int** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CosmeticsApi.md b/docs/CosmeticsApi.md new file mode 100644 index 0000000..52a7f01 --- /dev/null +++ b/docs/CosmeticsApi.md @@ -0,0 +1,427 @@ +# Dofusdude.Api.Api.CosmeticsApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAllCosmeticsList**](CosmeticsApi.md#getallcosmeticslist) | **GET** /{game}/{language}/items/cosmetics/all | List All Cosmetics | +| [**GetCosmeticsList**](CosmeticsApi.md#getcosmeticslist) | **GET** /{game}/{language}/items/cosmetics | List Cosmetics | +| [**GetCosmeticsSearch**](CosmeticsApi.md#getcosmeticssearch) | **GET** /{game}/{language}/items/cosmetics/search | Search Cosmetics | +| [**GetCosmeticsSingle**](CosmeticsApi.md#getcosmeticssingle) | **GET** /{game}/{language}/items/cosmetics/{ankama_id} | Single Cosmetics | + + +# **GetAllCosmeticsList** +> ItemsListPaged GetAllCosmeticsList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, string? acceptEncoding = null) + +List All Cosmetics + +Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' | gunzip - ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAllCosmeticsListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new CosmeticsApi(config); + var language = fr; // string | a valid language code + var game = dofus2; // string | + var sortLevel = asc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Chapeau d'apparat; // string? | only results with the translated type name (optional) + var filterMinLevel = 1; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 5; // int? | only results which level is equal or below this value (optional) + var acceptEncoding = "gzip"; // string? | optional compression for saving bandwidth (optional) + + try + { + // List All Cosmetics + ItemsListPaged result = apiInstance.GetAllCosmeticsList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling CosmeticsApi.GetAllCosmeticsList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAllCosmeticsListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List All Cosmetics + ApiResponse response = apiInstance.GetAllCosmeticsListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling CosmeticsApi.GetAllCosmeticsListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **acceptEncoding** | **string?** | optional compression for saving bandwidth | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Cosmetics Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetCosmeticsList** +> ItemsListPaged GetCosmeticsList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? pageSize = null, int? pageNumber = null, List? fieldsItem = null) + +List Cosmetics + +Retrieve a list of cosmetic items. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetCosmeticsListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new CosmeticsApi(config); + var language = fr; // string | a valid language code + var game = dofus2; // string | + var sortLevel = asc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Chapeau d'apparat; // string? | only results with the translated type name (optional) + var filterMinLevel = 1; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 5; // int? | only results which level is equal or below this value (optional) + var pageSize = 5; // int? | size of the results from the list. -1 disables pagination and gets all in one response. (optional) + var pageNumber = 1; // int? | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + var fieldsItem = new List?(); // List? | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + + try + { + // List Cosmetics + ItemsListPaged result = apiInstance.GetCosmeticsList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling CosmeticsApi.GetCosmeticsList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetCosmeticsListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Cosmetics + ApiResponse response = apiInstance.GetCosmeticsListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling CosmeticsApi.GetCosmeticsListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **pageSize** | **int?** | size of the results from the list. -1 disables pagination and gets all in one response. | [optional] | +| **pageNumber** | **int?** | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. | [optional] | +| **fieldsItem** | [**List<string>?**](string.md) | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Cosmetics Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetCosmeticsSearch** +> List<ItemListEntry> GetCosmeticsSearch (string language, string game, string query, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? limit = null) + +Search Cosmetics + +Search in all names and descriptions of cosmetic items with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetCosmeticsSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new CosmeticsApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var query = nedora; // string | case sensitive search query + var filterTypeName = Costume; // string? | only results with the translated type name (optional) + var filterMinLevel = 1; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 2; // int? | only results which level is equal or below this value (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search Cosmetics + List result = apiInstance.GetCosmeticsSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling CosmeticsApi.GetCosmeticsSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetCosmeticsSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Cosmetics + ApiResponse> response = apiInstance.GetCosmeticsSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling CosmeticsApi.GetCosmeticsSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<ItemListEntry>**](ItemListEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Cosmetics found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetCosmeticsSingle** +> Cosmetic GetCosmeticsSingle (string language, int ankamaId, string game) + +Single Cosmetics + +Retrieve a specific cosmetic item with id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetCosmeticsSingleExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new CosmeticsApi(config); + var language = "en"; // string | a valid language code + var ankamaId = 24132; // int | identifier + var game = dofus2; // string | + + try + { + // Single Cosmetics + Cosmetic result = apiInstance.GetCosmeticsSingle(language, ankamaId, game); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling CosmeticsApi.GetCosmeticsSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetCosmeticsSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Cosmetics + ApiResponse response = apiInstance.GetCosmeticsSingleWithHttpInfo(language, ankamaId, game); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling CosmeticsApi.GetCosmeticsSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **ankamaId** | **int** | identifier | | +| **game** | **string** | | | + +### Return type + +[**Cosmetic**](Cosmetic.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Cosmetic Found | - | +| **400** | Bad Request Possibilities: - invalid ankama id format | - | +| **404** | Not Found Possibilities: - nothing found for this ankama_id | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/CreateAlmanaxWebhook.md b/docs/CreateAlmanaxWebhook.md new file mode 100644 index 0000000..57cee0f --- /dev/null +++ b/docs/CreateAlmanaxWebhook.md @@ -0,0 +1,19 @@ +# Dofusdude.Api.Model.CreateAlmanaxWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**BonusWhitelist** | **List<string>** | from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses | [optional] +**BonusBlacklist** | **List<string>** | from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses | [optional] +**Subscriptions** | **List<string>** | Get the available subscriptions with /meta/webhooks/almanax | +**Format** | **string** | | +**Callback** | **string** | Discord Webhook URL | +**DailySettings** | [**CreateAlmanaxWebhookDailySettings**](CreateAlmanaxWebhookDailySettings.md) | | [optional] +**IsoDate** | **bool?** | If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. | [optional] [default to false] +**Mentions** | **Dictionary<string, List<CreateAlmanaxWebhookMentionsValueInner>>** | Almanax bonus ids mapped to array of mentions. | [optional] +**Intervals** | **List<CreateAlmanaxWebhook.IntervalsEnum>** | - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. | +**WeeklyWeekday** | **string** | When to post the weekly preview at the specified time. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CreateAlmanaxWebhookDailySettings.md b/docs/CreateAlmanaxWebhookDailySettings.md new file mode 100644 index 0000000..3b929fd --- /dev/null +++ b/docs/CreateAlmanaxWebhookDailySettings.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.CreateAlmanaxWebhookDailySettings + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Timezone** | **string** | Timezone of your community to determine midnight. | [optional] [default to "Europe/Paris"] +**MidnightOffset** | **int?** | Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. | [optional] [default to 0] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CreateAlmanaxWebhookMentionsValueInner.md b/docs/CreateAlmanaxWebhookMentionsValueInner.md new file mode 100644 index 0000000..cf1dc5b --- /dev/null +++ b/docs/CreateAlmanaxWebhookMentionsValueInner.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.CreateAlmanaxWebhookMentionsValueInner +Mention + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**DiscordId** | **int** | User or role ID directly from Discord. Activate developer mode and right click a user or role to get them. | [optional] +**IsRole** | **bool** | Whether an ID describes a role (true) or user (false). This is needed for formatting the mention command so Discord understands it. | [optional] +**PingDaysBefore** | **int?** | Get a mention days before the bonus comes up. It will post on the specified time. Also works when the interval is not daily. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CreateRSSWebhook.md b/docs/CreateRSSWebhook.md new file mode 100644 index 0000000..90fc908 --- /dev/null +++ b/docs/CreateRSSWebhook.md @@ -0,0 +1,15 @@ +# Dofusdude.Api.Model.CreateRSSWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Whitelist** | **List<string>** | | [optional] +**Blacklist** | **List<string>** | | [optional] +**Subscriptions** | **List<string>** | Get the available subscriptions with /meta/webhooks/rss | +**Format** | **string** | | +**PreviewLength** | **int?** | | [optional] +**Callback** | **string** | Discord Webhook URL | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CreateTwitterWebhook.md b/docs/CreateTwitterWebhook.md new file mode 100644 index 0000000..5dd630e --- /dev/null +++ b/docs/CreateTwitterWebhook.md @@ -0,0 +1,15 @@ +# Dofusdude.Api.Model.CreateTwitterWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Whitelist** | **List<string>** | | [optional] +**Blacklist** | **List<string>** | | [optional] +**Subscriptions** | **List<string>** | Get the available subscriptions with /meta/webhooks/twitter | +**Format** | **string** | | +**PreviewLength** | **int?** | | [optional] +**Callback** | **string** | Discord Webhook URL | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/EffectsEntry.md b/docs/EffectsEntry.md new file mode 100644 index 0000000..85c7b0e --- /dev/null +++ b/docs/EffectsEntry.md @@ -0,0 +1,15 @@ +# Dofusdude.Api.Model.EffectsEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**IntMinimum** | **int** | minimum int value, can be a single if ignore_int_max and no ignore_int_min | [optional] +**IntMaximum** | **int** | maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value | [optional] +**Type** | [**SetEffectsEntryType**](SetEffectsEntryType.md) | | [optional] +**IgnoreIntMin** | **bool** | ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. | [optional] +**IgnoreIntMax** | **bool** | ignore the int max field, if ignore_int_min is true, int min is a single value | [optional] +**Formatted** | **string** | all fields from above encoded in a single string | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Equipment.md b/docs/Equipment.md new file mode 100644 index 0000000..d52de9a --- /dev/null +++ b/docs/Equipment.md @@ -0,0 +1,22 @@ +# Dofusdude.Api.Model.Equipment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**Description** | **string** | | [optional] +**Type** | [**ItemsListEntryTypedType**](ItemsListEntryTypedType.md) | | [optional] +**IsWeapon** | **bool** | | [optional] +**Level** | **int** | | [optional] +**Pods** | **int** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Effects** | [**List<EffectsEntry>**](EffectsEntry.md) | | [optional] +**Conditions** | [**List<ConditionEntry>**](ConditionEntry.md) | | [optional] +**ConditionTree** | [**ConditionTreeNode**](ConditionTreeNode.md) | | [optional] +**Recipe** | [**List<RecipeEntry>**](RecipeEntry.md) | | [optional] +**ParentSet** | [**ItemListEntryParentSet**](ItemListEntryParentSet.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/EquipmentApi.md b/docs/EquipmentApi.md new file mode 100644 index 0000000..d3e2f50 --- /dev/null +++ b/docs/EquipmentApi.md @@ -0,0 +1,427 @@ +# Dofusdude.Api.Api.EquipmentApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAllItemsEquipmentList**](EquipmentApi.md#getallitemsequipmentlist) | **GET** /{game}/{language}/items/equipment/all | List All Equipment | +| [**GetItemsEquipmentList**](EquipmentApi.md#getitemsequipmentlist) | **GET** /{game}/{language}/items/equipment | List Equipment | +| [**GetItemsEquipmentSearch**](EquipmentApi.md#getitemsequipmentsearch) | **GET** /{game}/{language}/items/equipment/search | Search Equipment | +| [**GetItemsEquipmentSingle**](EquipmentApi.md#getitemsequipmentsingle) | **GET** /{game}/{language}/items/equipment/{ankama_id} | Single Equipment | + + +# **GetAllItemsEquipmentList** +> ItemsListPaged GetAllItemsEquipmentList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, string? acceptEncoding = null) + +List All Equipment + +Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' | gunzip - ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAllItemsEquipmentListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new EquipmentApi(config); + var language = en; // string | a valid language code + var game = dofus2; // string | + var sortLevel = desc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Sword; // string? | only results with the translated type name (optional) + var filterMinLevel = 10; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 60; // int? | only results which level is equal or below this value (optional) + var acceptEncoding = "gzip"; // string? | optional compression for saving bandwidth (optional) + + try + { + // List All Equipment + ItemsListPaged result = apiInstance.GetAllItemsEquipmentList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling EquipmentApi.GetAllItemsEquipmentList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAllItemsEquipmentListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List All Equipment + ApiResponse response = apiInstance.GetAllItemsEquipmentListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling EquipmentApi.GetAllItemsEquipmentListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **acceptEncoding** | **string?** | optional compression for saving bandwidth | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Equipment Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsEquipmentList** +> ItemsListPaged GetItemsEquipmentList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? pageSize = null, int? pageNumber = null, List? fieldsItem = null) + +List Equipment + +Retrieve a list of equipment items. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsEquipmentListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new EquipmentApi(config); + var language = en; // string | a valid language code + var game = dofus2; // string | + var sortLevel = desc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Sword; // string? | only results with the translated type name (optional) + var filterMinLevel = 10; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 60; // int? | only results which level is equal or below this value (optional) + var pageSize = 5; // int? | size of the results from the list. -1 disables pagination and gets all in one response. (optional) + var pageNumber = 1; // int? | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + var fieldsItem = new List?(); // List? | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + + try + { + // List Equipment + ItemsListPaged result = apiInstance.GetItemsEquipmentList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling EquipmentApi.GetItemsEquipmentList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsEquipmentListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Equipment + ApiResponse response = apiInstance.GetItemsEquipmentListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling EquipmentApi.GetItemsEquipmentListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **pageSize** | **int?** | size of the results from the list. -1 disables pagination and gets all in one response. | [optional] | +| **pageNumber** | **int?** | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. | [optional] | +| **fieldsItem** | [**List<string>?**](string.md) | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Equipment Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsEquipmentSearch** +> List<ItemListEntry> GetItemsEquipmentSearch (string language, string game, string query, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? limit = null) + +Search Equipment + +Search in all names and descriptions of equipment items with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsEquipmentSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new EquipmentApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var query = nidas; // string | case sensitive search query + var filterTypeName = boots; // string? | only results with the translated type name (optional) + var filterMinLevel = 150; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 200; // int? | only results which level is equal or below this value (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search Equipment + List result = apiInstance.GetItemsEquipmentSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling EquipmentApi.GetItemsEquipmentSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsEquipmentSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Equipment + ApiResponse> response = apiInstance.GetItemsEquipmentSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling EquipmentApi.GetItemsEquipmentSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<ItemListEntry>**](ItemListEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Equipment Found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsEquipmentSingle** +> Weapon GetItemsEquipmentSingle (string language, int ankamaId, string game) + +Single Equipment + +Retrieve a specific equipment item with id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsEquipmentSingleExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new EquipmentApi(config); + var language = "en"; // string | a valid language code + var ankamaId = 26009; // int | identifier + var game = dofus2; // string | + + try + { + // Single Equipment + Weapon result = apiInstance.GetItemsEquipmentSingle(language, ankamaId, game); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling EquipmentApi.GetItemsEquipmentSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsEquipmentSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Equipment + ApiResponse response = apiInstance.GetItemsEquipmentSingleWithHttpInfo(language, ankamaId, game); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling EquipmentApi.GetItemsEquipmentSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **ankamaId** | **int** | identifier | | +| **game** | **string** | | | + +### Return type + +[**Weapon**](Weapon.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Equipment Found | - | +| **400** | Bad Request Possibilities: - invalid ankama id format | - | +| **404** | Not Found Possibilities: - nothing found for this ankama_id | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/EquipmentSet.md b/docs/EquipmentSet.md new file mode 100644 index 0000000..52c2e0c --- /dev/null +++ b/docs/EquipmentSet.md @@ -0,0 +1,14 @@ +# Dofusdude.Api.Model.EquipmentSet + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**EquipmentIds** | **List<int>** | | [optional] +**Effects** | **List<List<SetEffectsEntry>>** | | [optional] +**HighestEquipmentLevel** | **int** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/GameApi.md b/docs/GameApi.md new file mode 100644 index 0000000..03f75b3 --- /dev/null +++ b/docs/GameApi.md @@ -0,0 +1,217 @@ +# Dofusdude.Api.Api.GameApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetGameSearch**](GameApi.md#getgamesearch) | **GET** /{game}/{language}/search | Game Search | +| [**GetItemsAllSearch**](GameApi.md#getitemsallsearch) | **GET** /{game}/{language}/items/search | Search All Items | + + +# **GetGameSearch** +> List<GetGameSearch200ResponseInner> GetGameSearch (string language, string game, string query, List? filterType = null, int? limit = null, List? fieldsItem = null) + +Game Search + +Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetGameSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new GameApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var query = paztek; // string | search query + var filterType = new List?(); // List? | only results with all specific type (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + var fieldsItem = new List?(); // List? | adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + + try + { + // Game Search + List result = apiInstance.GetGameSearch(language, game, query, filterType, limit, fieldsItem); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling GameApi.GetGameSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetGameSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Game Search + ApiResponse> response = apiInstance.GetGameSearchWithHttpInfo(language, game, query, filterType, limit, fieldsItem); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling GameApi.GetGameSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | search query | | +| **filterType** | [**List<string>?**](string.md) | only results with all specific type | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | +| **fieldsItem** | [**List<string>?**](string.md) | adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**List<GetGameSearch200ResponseInner>**](GetGameSearch200ResponseInner.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Game Search Result | - | +| **400** | Bad Request Possibilities: - empty or no query - filter[type] does not exist | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsAllSearch** +> List<ItemsListEntryTyped> GetItemsAllSearch (string language, string game, string query, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? limit = null) + +Search All Items + +Search in all names and descriptions of Dofus items (including all subtypes) with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsAllSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new GameApi(config); + var language = fr; // string | a valid language code + var game = dofus2; // string | + var query = atcham; // string | case sensitive search query + var filterTypeName = Bottes; // string? | only results with the translated type name across all item_subtypes (optional) + var filterMinLevel = 190; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 200; // int? | only results which level is equal or below this value (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search All Items + List result = apiInstance.GetItemsAllSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling GameApi.GetItemsAllSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsAllSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search All Items + ApiResponse> response = apiInstance.GetItemsAllSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling GameApi.GetItemsAllSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterTypeName** | **string?** | only results with the translated type name across all item_subtypes | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<ItemsListEntryTyped>**](ItemsListEntryTyped.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Items Found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/GetGameSearch200ResponseInner.md b/docs/GetGameSearch200ResponseInner.md new file mode 100644 index 0000000..1956080 --- /dev/null +++ b/docs/GetGameSearch200ResponseInner.md @@ -0,0 +1,12 @@ +# Dofusdude.Api.Model.GetGameSearch200ResponseInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | Name of the hit. The query could still have matched with the description only. | [optional] +**AnkamaId** | **int** | Ankama ID for retrieving more details in the type specific endpoint. | [optional] +**Type** | **string** | Type classification | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/GetMetaAlmanaxBonuses200ResponseInner.md b/docs/GetMetaAlmanaxBonuses200ResponseInner.md new file mode 100644 index 0000000..ce29594 --- /dev/null +++ b/docs/GetMetaAlmanaxBonuses200ResponseInner.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.GetMetaAlmanaxBonuses200ResponseInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | | [optional] +**Name** | **string** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/GetMetaWebhooksTwitter200Response.md b/docs/GetMetaWebhooksTwitter200Response.md new file mode 100644 index 0000000..46a0534 --- /dev/null +++ b/docs/GetMetaWebhooksTwitter200Response.md @@ -0,0 +1,10 @@ +# Dofusdude.Api.Model.GetMetaWebhooksTwitter200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Subscriptions** | **List<string>** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ImageUrls.md b/docs/ImageUrls.md new file mode 100644 index 0000000..66310fc --- /dev/null +++ b/docs/ImageUrls.md @@ -0,0 +1,14 @@ +# Dofusdude.Api.Model.ImageUrls +All images except icon are rendered in the background which can take some time (up to hours if all data is completely generated from scratch). Because of this, they can be null if they are not yet rendered. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Icon** | **string** | 60x60 px, always available | [optional] +**Sd** | **string** | 200x200 px | [optional] +**Hq** | **string** | 400x400 px | [optional] +**Hd** | **string** | 800x800 px | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ItemListEntry.md b/docs/ItemListEntry.md new file mode 100644 index 0000000..912ef56 --- /dev/null +++ b/docs/ItemListEntry.md @@ -0,0 +1,28 @@ +# Dofusdude.Api.Model.ItemListEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**Type** | [**ItemsListEntryTypedType**](ItemsListEntryTypedType.md) | | [optional] +**Level** | **int** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Recipe** | [**List<RecipeEntry>**](RecipeEntry.md) | | [optional] +**Description** | **string** | | [optional] +**Conditions** | [**List<ConditionEntry>**](ConditionEntry.md) | | [optional] +**ConditionTree** | [**ConditionTreeNode**](ConditionTreeNode.md) | | [optional] +**Effects** | [**List<EffectsEntry>**](EffectsEntry.md) | | [optional] +**IsWeapon** | **bool?** | | [optional] +**Pods** | **int?** | | [optional] +**ParentSet** | [**ItemListEntryParentSet**](ItemListEntryParentSet.md) | | [optional] +**CriticalHitProbability** | **int?** | | [optional] +**CriticalHitBonus** | **int?** | | [optional] +**IsTwoHanded** | **bool?** | | [optional] +**MaxCastPerTurn** | **int?** | | [optional] +**ApCost** | **int?** | | [optional] +**Range** | [**ItemListEntryRange**](ItemListEntryRange.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ItemListEntryParentSet.md b/docs/ItemListEntryParentSet.md new file mode 100644 index 0000000..0aedd48 --- /dev/null +++ b/docs/ItemListEntryParentSet.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.ItemListEntryParentSet + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **int** | | [optional] +**Name** | **string** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ItemListEntryRange.md b/docs/ItemListEntryRange.md new file mode 100644 index 0000000..cec23e6 --- /dev/null +++ b/docs/ItemListEntryRange.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.ItemListEntryRange + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Min** | **int** | | [optional] +**Max** | **int** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ItemsListEntryTyped.md b/docs/ItemsListEntryTyped.md new file mode 100644 index 0000000..b862cad --- /dev/null +++ b/docs/ItemsListEntryTyped.md @@ -0,0 +1,15 @@ +# Dofusdude.Api.Model.ItemsListEntryTyped + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**Type** | [**ItemsListEntryTypedType**](ItemsListEntryTypedType.md) | | [optional] +**ItemSubtype** | **string** | The API item category. Can be used to build the request URL for this particular item. Always english. | [optional] +**Level** | **int** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ItemsListEntryTypedType.md b/docs/ItemsListEntryTypedType.md new file mode 100644 index 0000000..67e41e5 --- /dev/null +++ b/docs/ItemsListEntryTypedType.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.ItemsListEntryTypedType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | | [optional] +**Id** | **int** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ItemsListPaged.md b/docs/ItemsListPaged.md new file mode 100644 index 0000000..6066d81 --- /dev/null +++ b/docs/ItemsListPaged.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.ItemsListPaged + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Links** | [**LinksPaged**](LinksPaged.md) | | [optional] +**Items** | [**List<ItemListEntry>**](ItemListEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/LinksPaged.md b/docs/LinksPaged.md new file mode 100644 index 0000000..6bbc036 --- /dev/null +++ b/docs/LinksPaged.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.LinksPaged + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**First** | **string** | | [optional] +**Prev** | **string** | | [optional] +**Next** | **string** | | [optional] +**Last** | **string** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/MetaApi.md b/docs/MetaApi.md new file mode 100644 index 0000000..460c8e3 --- /dev/null +++ b/docs/MetaApi.md @@ -0,0 +1,369 @@ +# Dofusdude.Api.Api.MetaApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetGameSearchTypes**](MetaApi.md#getgamesearchtypes) | **GET** /dofus2/meta/search/types | Available Game Search Types | +| [**GetMetaAlmanaxBonuses**](MetaApi.md#getmetaalmanaxbonuses) | **GET** /dofus2/meta/{language}/almanax/bonuses | Available Almanax Bonuses | +| [**GetMetaAlmanaxBonusesSearch**](MetaApi.md#getmetaalmanaxbonusessearch) | **GET** /dofus2/meta/{language}/almanax/bonuses/search | Search Available Almanax Bonuses | +| [**GetMetaElements**](MetaApi.md#getmetaelements) | **GET** /dofus2/meta/elements | Effects and Condition Elements | + + +# **GetGameSearchTypes** +> List<string> GetGameSearchTypes () + +Available Game Search Types + +Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetGameSearchTypesExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MetaApi(config); + + try + { + // Available Game Search Types + List result = apiInstance.GetGameSearchTypes(); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MetaApi.GetGameSearchTypes: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetGameSearchTypesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Available Game Search Types + ApiResponse> response = apiInstance.GetGameSearchTypesWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MetaApi.GetGameSearchTypesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters +This endpoint does not need any parameter. +### Return type + +**List** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMetaAlmanaxBonuses** +> List<GetMetaAlmanaxBonuses200ResponseInner> GetMetaAlmanaxBonuses (string language) + +Available Almanax Bonuses + +Get all the available bonuses and their id for filtering them in the range endpoint. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMetaAlmanaxBonusesExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MetaApi(config); + var language = fr; // string | + + try + { + // Available Almanax Bonuses + List result = apiInstance.GetMetaAlmanaxBonuses(language); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MetaApi.GetMetaAlmanaxBonuses: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMetaAlmanaxBonusesWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Available Almanax Bonuses + ApiResponse> response = apiInstance.GetMetaAlmanaxBonusesWithHttpInfo(language); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MetaApi.GetMetaAlmanaxBonusesWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | | | + +### Return type + +[**List<GetMetaAlmanaxBonuses200ResponseInner>**](GetMetaAlmanaxBonuses200ResponseInner.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMetaAlmanaxBonusesSearch** +> List<GetMetaAlmanaxBonuses200ResponseInner> GetMetaAlmanaxBonusesSearch (string language, string query, int? limit = null) + +Search Available Almanax Bonuses + +Search all the available bonuses and their id for filtering them in the range endpoint. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMetaAlmanaxBonusesSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MetaApi(config); + var language = fr; // string | a valid language code + var query = abond; // string | case sensitive search query + var limit = 56; // int? | maximum number of returned results (optional) + + try + { + // Search Available Almanax Bonuses + List result = apiInstance.GetMetaAlmanaxBonusesSearch(language, query, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MetaApi.GetMetaAlmanaxBonusesSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMetaAlmanaxBonusesSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Available Almanax Bonuses + ApiResponse> response = apiInstance.GetMetaAlmanaxBonusesSearchWithHttpInfo(language, query, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MetaApi.GetMetaAlmanaxBonusesSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **query** | **string** | case sensitive search query | | +| **limit** | **int?** | maximum number of returned results | [optional] | + +### Return type + +[**List<GetMetaAlmanaxBonuses200ResponseInner>**](GetMetaAlmanaxBonuses200ResponseInner.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMetaElements** +> List<string> GetMetaElements () + +Effects and Condition Elements + +Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMetaElementsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MetaApi(config); + + try + { + // Effects and Condition Elements + List result = apiInstance.GetMetaElements(); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MetaApi.GetMetaElements: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMetaElementsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Effects and Condition Elements + ApiResponse> response = apiInstance.GetMetaElementsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MetaApi.GetMetaElementsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters +This endpoint does not need any parameter. +### Return type + +**List** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/Mount.md b/docs/Mount.md new file mode 100644 index 0000000..6e81a53 --- /dev/null +++ b/docs/Mount.md @@ -0,0 +1,14 @@ +# Dofusdude.Api.Model.Mount + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**FamilyName** | **string** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Effects** | [**List<EffectsEntry>**](EffectsEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/MountListEntry.md b/docs/MountListEntry.md new file mode 100644 index 0000000..d332e4f --- /dev/null +++ b/docs/MountListEntry.md @@ -0,0 +1,14 @@ +# Dofusdude.Api.Model.MountListEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**FamilyName** | **string** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Effects** | [**List<EffectsEntry>**](EffectsEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/MountsApi.md b/docs/MountsApi.md new file mode 100644 index 0000000..c25c2a0 --- /dev/null +++ b/docs/MountsApi.md @@ -0,0 +1,411 @@ +# Dofusdude.Api.Api.MountsApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAllMountsList**](MountsApi.md#getallmountslist) | **GET** /{game}/{language}/mounts/all | List All Mounts | +| [**GetMountsList**](MountsApi.md#getmountslist) | **GET** /{game}/{language}/mounts | List Mounts | +| [**GetMountsSearch**](MountsApi.md#getmountssearch) | **GET** /{game}/{language}/mounts/search | Search Mounts | +| [**GetMountsSingle**](MountsApi.md#getmountssingle) | **GET** /{game}/{language}/mounts/{ankama_id} | Single Mounts | + + +# **GetAllMountsList** +> MountsListPaged GetAllMountsList (string language, string game, string? filterFamilyName = null, string? acceptEncoding = null) + +List All Mounts + +Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' | gunzip - ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAllMountsListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MountsApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var filterFamilyName = Dragoturkey; // string? | only results with the translated family name (optional) + var acceptEncoding = "gzip"; // string? | optional compression for saving bandwidth (optional) + + try + { + // List All Mounts + MountsListPaged result = apiInstance.GetAllMountsList(language, game, filterFamilyName, acceptEncoding); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MountsApi.GetAllMountsList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAllMountsListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List All Mounts + ApiResponse response = apiInstance.GetAllMountsListWithHttpInfo(language, game, filterFamilyName, acceptEncoding); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MountsApi.GetAllMountsListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **filterFamilyName** | **string?** | only results with the translated family name | [optional] | +| **acceptEncoding** | **string?** | optional compression for saving bandwidth | [optional] | + +### Return type + +[**MountsListPaged**](MountsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Mounts Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMountsList** +> MountsListPaged GetMountsList (string language, string game, string? filterFamilyName = null, int? pageSize = null, int? pageNumber = null, List? fieldsMount = null) + +List Mounts + +Retrieve a list of mounts. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMountsListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MountsApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var filterFamilyName = Dragoturkey; // string? | only results with the translated family name (optional) + var pageSize = 10; // int? | size of the results from the list. -1 disables pagination and gets all in one response. (optional) + var pageNumber = 1; // int? | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + var fieldsMount = new List?(); // List? | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + + try + { + // List Mounts + MountsListPaged result = apiInstance.GetMountsList(language, game, filterFamilyName, pageSize, pageNumber, fieldsMount); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MountsApi.GetMountsList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMountsListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Mounts + ApiResponse response = apiInstance.GetMountsListWithHttpInfo(language, game, filterFamilyName, pageSize, pageNumber, fieldsMount); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MountsApi.GetMountsListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **filterFamilyName** | **string?** | only results with the translated family name | [optional] | +| **pageSize** | **int?** | size of the results from the list. -1 disables pagination and gets all in one response. | [optional] | +| **pageNumber** | **int?** | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. | [optional] | +| **fieldsMount** | [**List<string>?**](string.md) | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**MountsListPaged**](MountsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Mounts Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMountsSearch** +> List<MountListEntry> GetMountsSearch (string language, string game, string query, string? filterFamilyName = null, int? limit = null) + +Search Mounts + +Search in all names and descriptions of mounts with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMountsSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MountsApi(config); + var language = fr; // string | a valid language code + var game = dofus2; // string | + var query = Dorée; // string | case sensitive search query + var filterFamilyName = Dragodinde; // string? | only results with the translated family name (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search Mounts + List result = apiInstance.GetMountsSearch(language, game, query, filterFamilyName, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MountsApi.GetMountsSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMountsSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Mounts + ApiResponse> response = apiInstance.GetMountsSearchWithHttpInfo(language, game, query, filterFamilyName, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MountsApi.GetMountsSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterFamilyName** | **string?** | only results with the translated family name | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<MountListEntry>**](MountListEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Mounts Found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMountsSingle** +> Mount GetMountsSingle (string language, int ankamaId, string game) + +Single Mounts + +Retrieve a specific mount with id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMountsSingleExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new MountsApi(config); + var language = "en"; // string | a valid language code + var ankamaId = 180; // int | identifier + var game = dofus2; // string | + + try + { + // Single Mounts + Mount result = apiInstance.GetMountsSingle(language, ankamaId, game); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling MountsApi.GetMountsSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMountsSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Mounts + ApiResponse response = apiInstance.GetMountsSingleWithHttpInfo(language, ankamaId, game); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling MountsApi.GetMountsSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **ankamaId** | **int** | identifier | | +| **game** | **string** | | | + +### Return type + +[**Mount**](Mount.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Mount Found | - | +| **400** | Bad Request Possibilities: - invalid ankama id format | - | +| **404** | Not Found Possibilities: - nothing found for this ankama_id | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/MountsListPaged.md b/docs/MountsListPaged.md new file mode 100644 index 0000000..7e73f15 --- /dev/null +++ b/docs/MountsListPaged.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.MountsListPaged + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Links** | [**LinksPaged**](LinksPaged.md) | | [optional] +**Items** | [**List<MountListEntry>**](MountListEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/PutAlmanaxWebhook.md b/docs/PutAlmanaxWebhook.md new file mode 100644 index 0000000..cf06390 --- /dev/null +++ b/docs/PutAlmanaxWebhook.md @@ -0,0 +1,17 @@ +# Dofusdude.Api.Model.PutAlmanaxWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**BonusWhitelist** | **List<string>** | from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing. | [optional] +**BonusBlacklist** | **List<string>** | from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing. | [optional] +**Subscriptions** | **List<string>** | Get the available subscriptions with /meta/webhooks/almanax | [optional] +**DailySettings** | [**CreateAlmanaxWebhookDailySettings**](CreateAlmanaxWebhookDailySettings.md) | | [optional] +**IsoDate** | **bool?** | If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. | [optional] [default to false] +**Mentions** | **Dictionary<string, List<CreateAlmanaxWebhookMentionsValueInner>>** | Almanax bonus ids mapped to array of mentions. | [optional] +**Intervals** | **List<PutAlmanaxWebhook.IntervalsEnum>** | | [optional] +**WeeklyWeekday** | **string** | When to post the weekly preview at the specified time. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/PutRSSWebhook.md b/docs/PutRSSWebhook.md new file mode 100644 index 0000000..6515f15 --- /dev/null +++ b/docs/PutRSSWebhook.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.PutRSSWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Whitelist** | **List<string>** | | [optional] +**Blacklist** | **List<string>** | | [optional] +**Subscriptions** | **List<string>** | Get the available subscriptions with /meta/webhooks/rss | [optional] +**PreviewLength** | **int?** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/PutTwitterWebhook.md b/docs/PutTwitterWebhook.md new file mode 100644 index 0000000..6c4b058 --- /dev/null +++ b/docs/PutTwitterWebhook.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.PutTwitterWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Whitelist** | **List<string>** | | [optional] +**Blacklist** | **List<string>** | | [optional] +**Subscriptions** | **List<string>** | Get the available subscriptions with /meta/webhooks/twitter | [optional] +**PreviewLength** | **int?** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/QuestItemsApi.md b/docs/QuestItemsApi.md new file mode 100644 index 0000000..2b6dfe1 --- /dev/null +++ b/docs/QuestItemsApi.md @@ -0,0 +1,427 @@ +# Dofusdude.Api.Api.QuestItemsApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAllItemsQuestList**](QuestItemsApi.md#getallitemsquestlist) | **GET** /{game}/{language}/items/quest/all | List All Quest Items | +| [**GetItemQuestSingle**](QuestItemsApi.md#getitemquestsingle) | **GET** /{game}/{language}/items/quest/{ankama_id} | Single Quest Items | +| [**GetItemsQuestList**](QuestItemsApi.md#getitemsquestlist) | **GET** /{game}/{language}/items/quest | List Quest Items | +| [**GetItemsQuestSearch**](QuestItemsApi.md#getitemsquestsearch) | **GET** /{game}/{language}/items/quest/search | Search Quest Items | + + +# **GetAllItemsQuestList** +> ItemsListPaged GetAllItemsQuestList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, string? acceptEncoding = null) + +List All Quest Items + +Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' | gunzip - ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAllItemsQuestListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new QuestItemsApi(config); + var language = fr; // string | a valid language code + var game = dofus2; // string | + var sortLevel = desc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Sufokia; // string? | only results with the translated type name (optional) + var filterMinLevel = 1; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 50; // int? | only results which level is equal or below this value (optional) + var acceptEncoding = "gzip"; // string? | optional compression for saving bandwidth (optional) + + try + { + // List All Quest Items + ItemsListPaged result = apiInstance.GetAllItemsQuestList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling QuestItemsApi.GetAllItemsQuestList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAllItemsQuestListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List All Quest Items + ApiResponse response = apiInstance.GetAllItemsQuestListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling QuestItemsApi.GetAllItemsQuestListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **acceptEncoding** | **string?** | optional compression for saving bandwidth | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Quest Items Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemQuestSingle** +> Resource GetItemQuestSingle (string language, int ankamaId, string game) + +Single Quest Items + +Retrieve a specific quest item with id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemQuestSingleExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new QuestItemsApi(config); + var language = "en"; // string | a valid language code + var ankamaId = 25256; // int | identifier + var game = dofus2; // string | + + try + { + // Single Quest Items + Resource result = apiInstance.GetItemQuestSingle(language, ankamaId, game); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling QuestItemsApi.GetItemQuestSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemQuestSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Quest Items + ApiResponse response = apiInstance.GetItemQuestSingleWithHttpInfo(language, ankamaId, game); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling QuestItemsApi.GetItemQuestSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **ankamaId** | **int** | identifier | | +| **game** | **string** | | | + +### Return type + +[**Resource**](Resource.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Quest Item Found | - | +| **400** | Bad Request Possibilities: - invalid ankama id format | - | +| **404** | Not Found Possibilities: - nothing found for this ankama_id | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsQuestList** +> ItemsListPaged GetItemsQuestList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? pageSize = null, int? pageNumber = null, List? fieldsItem = null) + +List Quest Items + +Retrieve a list of quest items. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsQuestListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new QuestItemsApi(config); + var language = fr; // string | a valid language code + var game = dofus2; // string | + var sortLevel = desc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = Sufokia; // string? | only results with the translated type name (optional) + var filterMinLevel = 1; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 50; // int? | only results which level is equal or below this value (optional) + var pageSize = 5; // int? | size of the results from the list. -1 disables pagination and gets all in one response. (optional) + var pageNumber = 1; // int? | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + var fieldsItem = new List?(); // List? | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + + try + { + // List Quest Items + ItemsListPaged result = apiInstance.GetItemsQuestList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling QuestItemsApi.GetItemsQuestList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsQuestListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Quest Items + ApiResponse response = apiInstance.GetItemsQuestListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling QuestItemsApi.GetItemsQuestListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **pageSize** | **int?** | size of the results from the list. -1 disables pagination and gets all in one response. | [optional] | +| **pageNumber** | **int?** | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. | [optional] | +| **fieldsItem** | [**List<string>?**](string.md) | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Quest Items Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsQuestSearch** +> List<ItemListEntry> GetItemsQuestSearch (string language, string game, string query, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? limit = null) + +Search Quest Items + +Search in all names and descriptions of quest items with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsQuestSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new QuestItemsApi(config); + var language = es; // string | a valid language code + var game = dofus2; // string | + var query = Ficha; // string | case sensitive search query + var filterTypeName = Justicieros; // string? | only results with the translated type name (optional) + var filterMinLevel = 60; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 70; // int? | only results which level is equal or below this value (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search Quest Items + List result = apiInstance.GetItemsQuestSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling QuestItemsApi.GetItemsQuestSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsQuestSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Quest Items + ApiResponse> response = apiInstance.GetItemsQuestSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling QuestItemsApi.GetItemsQuestSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<ItemListEntry>**](ItemListEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Quest Items Found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/RecipeEntry.md b/docs/RecipeEntry.md new file mode 100644 index 0000000..871a5ab --- /dev/null +++ b/docs/RecipeEntry.md @@ -0,0 +1,12 @@ +# Dofusdude.Api.Model.RecipeEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ItemAnkamaId** | **int** | | [optional] +**ItemSubtype** | **string** | | [optional] +**Quantity** | **int** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Resource.md b/docs/Resource.md new file mode 100644 index 0000000..8ee919d --- /dev/null +++ b/docs/Resource.md @@ -0,0 +1,20 @@ +# Dofusdude.Api.Model.Resource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**Description** | **string** | | [optional] +**Type** | [**CosmeticType**](CosmeticType.md) | | [optional] +**Level** | **int** | | [optional] +**Pods** | **int** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Effects** | [**List<EffectsEntry>**](EffectsEntry.md) | | [optional] +**Conditions** | [**List<ConditionEntry>**](ConditionEntry.md) | | [optional] +**ConditionTree** | [**ConditionTreeNode**](ConditionTreeNode.md) | | [optional] +**Recipe** | [**List<RecipeEntry>**](RecipeEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ResourcesApi.md b/docs/ResourcesApi.md new file mode 100644 index 0000000..15b7851 --- /dev/null +++ b/docs/ResourcesApi.md @@ -0,0 +1,427 @@ +# Dofusdude.Api.Api.ResourcesApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAllItemsResourcesList**](ResourcesApi.md#getallitemsresourceslist) | **GET** /{game}/{language}/items/resources/all | List All Resources | +| [**GetItemsResourceSearch**](ResourcesApi.md#getitemsresourcesearch) | **GET** /{game}/{language}/items/resources/search | Search Resources | +| [**GetItemsResourcesList**](ResourcesApi.md#getitemsresourceslist) | **GET** /{game}/{language}/items/resources | List Resources | +| [**GetItemsResourcesSingle**](ResourcesApi.md#getitemsresourcessingle) | **GET** /{game}/{language}/items/resources/{ankama_id} | Single Resources | + + +# **GetAllItemsResourcesList** +> ItemsListPaged GetAllItemsResourcesList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, string? acceptEncoding = null) + +List All Resources + +Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' | gunzip - ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAllItemsResourcesListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ResourcesApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var sortLevel = desc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = miscellaneous resources; // string? | only results with the translated type name (optional) + var filterMinLevel = 160; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 190; // int? | only results which level is equal or below this value (optional) + var acceptEncoding = "gzip"; // string? | optional compression for saving bandwidth (optional) + + try + { + // List All Resources + ItemsListPaged result = apiInstance.GetAllItemsResourcesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ResourcesApi.GetAllItemsResourcesList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAllItemsResourcesListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List All Resources + ApiResponse response = apiInstance.GetAllItemsResourcesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ResourcesApi.GetAllItemsResourcesListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **acceptEncoding** | **string?** | optional compression for saving bandwidth | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Resources Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsResourceSearch** +> List<ItemListEntry> GetItemsResourceSearch (string language, string game, string query, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? limit = null) + +Search Resources + +Search in all names and descriptions of resource items with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsResourceSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ResourcesApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var query = snowdew; // string | case sensitive search query + var filterTypeName = plant; // string? | only results with the translated type name (optional) + var filterMinLevel = 150; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 200; // int? | only results which level is equal or below this value (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search Resources + List result = apiInstance.GetItemsResourceSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ResourcesApi.GetItemsResourceSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsResourceSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Resources + ApiResponse> response = apiInstance.GetItemsResourceSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ResourcesApi.GetItemsResourceSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<ItemListEntry>**](ItemListEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Resources Found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsResourcesList** +> ItemsListPaged GetItemsResourcesList (string language, string game, string? sortLevel = null, string? filterTypeName = null, int? filterMinLevel = null, int? filterMaxLevel = null, int? pageSize = null, int? pageNumber = null, List? fieldsItem = null) + +List Resources + +Retrieve a list of resource items. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsResourcesListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ResourcesApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var sortLevel = desc; // string? | sort the resulting list by level, default unsorted (optional) + var filterTypeName = miscellaneous resources; // string? | only results with the translated type name (optional) + var filterMinLevel = 160; // int? | only results which level is equal or above this value (optional) + var filterMaxLevel = 190; // int? | only results which level is equal or below this value (optional) + var pageSize = 10; // int? | size of the results from the list. -1 disables pagination and gets all in one response. (optional) + var pageNumber = 1; // int? | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + var fieldsItem = new List?(); // List? | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + + try + { + // List Resources + ItemsListPaged result = apiInstance.GetItemsResourcesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ResourcesApi.GetItemsResourcesList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsResourcesListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Resources + ApiResponse response = apiInstance.GetItemsResourcesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ResourcesApi.GetItemsResourcesListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterTypeName** | **string?** | only results with the translated type name | [optional] | +| **filterMinLevel** | **int?** | only results which level is equal or above this value | [optional] | +| **filterMaxLevel** | **int?** | only results which level is equal or below this value | [optional] | +| **pageSize** | **int?** | size of the results from the list. -1 disables pagination and gets all in one response. | [optional] | +| **pageNumber** | **int?** | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. | [optional] | +| **fieldsItem** | [**List<string>?**](string.md) | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**ItemsListPaged**](ItemsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Resources Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetItemsResourcesSingle** +> Resource GetItemsResourcesSingle (string language, int ankamaId, string game) + +Single Resources + +Retrieve a specific resource item with id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetItemsResourcesSingleExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new ResourcesApi(config); + var language = "en"; // string | a valid language code + var ankamaId = 7295; // int | identifier + var game = dofus2; // string | + + try + { + // Single Resources + Resource result = apiInstance.GetItemsResourcesSingle(language, ankamaId, game); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling ResourcesApi.GetItemsResourcesSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetItemsResourcesSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Resources + ApiResponse response = apiInstance.GetItemsResourcesSingleWithHttpInfo(language, ankamaId, game); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling ResourcesApi.GetItemsResourcesSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **ankamaId** | **int** | identifier | | +| **game** | **string** | | | + +### Return type + +[**Resource**](Resource.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Resource Found | - | +| **400** | Bad Request Possibilities: - invalid ankama id format | - | +| **404** | Not Found Possibilities: - nothing found for this ankama_id | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/RssWebhook.md b/docs/RssWebhook.md new file mode 100644 index 0000000..880451c --- /dev/null +++ b/docs/RssWebhook.md @@ -0,0 +1,18 @@ +# Dofusdude.Api.Model.RssWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **string** | | [optional] +**Whitelist** | **List<string>** | | [optional] +**Blacklist** | **List<string>** | | [optional] +**Subscriptions** | **List<string>** | | [optional] +**Format** | **string** | | [optional] +**PreviewLength** | **int** | | [optional] +**CreatedAt** | **DateTime** | | [optional] +**LastFiredAt** | **DateTime?** | | [optional] +**UpdatedAt** | **DateTime** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/SetEffectsEntry.md b/docs/SetEffectsEntry.md new file mode 100644 index 0000000..9cb2d67 --- /dev/null +++ b/docs/SetEffectsEntry.md @@ -0,0 +1,16 @@ +# Dofusdude.Api.Model.SetEffectsEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**IntMinimum** | **int** | minimum int value, can be a single if ignore_int_max and no ignore_int_min | [optional] +**IntMaximum** | **int** | maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value | [optional] +**Type** | [**SetEffectsEntryType**](SetEffectsEntryType.md) | | [optional] +**IgnoreIntMin** | **bool** | ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. | [optional] +**IgnoreIntMax** | **bool** | ignore the int max field, if ignore_int_min is true, int min is a single value | [optional] +**Formatted** | **string** | all fields from above encoded in a single string | [optional] +**ItemCombination** | **int** | how many items it needs to trigger this effect with the given set | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/SetEffectsEntryType.md b/docs/SetEffectsEntryType.md new file mode 100644 index 0000000..fc11937 --- /dev/null +++ b/docs/SetEffectsEntryType.md @@ -0,0 +1,13 @@ +# Dofusdude.Api.Model.SetEffectsEntryType + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **string** | | [optional] +**Id** | **int** | | [optional] +**IsMeta** | **bool** | true if a type is generated from the Api instead of Ankama. In that case, always prefer showing the templated string and omit everything else. The \"name\" field will have an english description of the meta type. An example for such effects are class sets effects. | [optional] +**IsActive** | **bool** | Affects target or source actively. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/SetListEntry.md b/docs/SetListEntry.md new file mode 100644 index 0000000..ee0308c --- /dev/null +++ b/docs/SetListEntry.md @@ -0,0 +1,15 @@ +# Dofusdude.Api.Model.SetListEntry + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**Items** | **int** | amount | [optional] +**Level** | **int** | | [optional] +**Effects** | **List<List<SetEffectsEntry>>** | | [optional] +**EquipmentIds** | **List<int>** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/SetsApi.md b/docs/SetsApi.md new file mode 100644 index 0000000..ee84aad --- /dev/null +++ b/docs/SetsApi.md @@ -0,0 +1,421 @@ +# Dofusdude.Api.Api.SetsApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**GetAllSetsList**](SetsApi.md#getallsetslist) | **GET** /{game}/{language}/sets/all | List All Sets | +| [**GetSetsList**](SetsApi.md#getsetslist) | **GET** /{game}/{language}/sets | List Sets | +| [**GetSetsSearch**](SetsApi.md#getsetssearch) | **GET** /{game}/{language}/sets/search | Search Sets | +| [**GetSetsSingle**](SetsApi.md#getsetssingle) | **GET** /{game}/{language}/sets/{ankama_id} | Single Sets | + + +# **GetAllSetsList** +> SetsListPaged GetAllSetsList (string language, string game, string? sortLevel = null, int? filterMinHighestEquipmentLevel = null, int? filterMaxHighestEquipmentLevel = null, string? acceptEncoding = null) + +List All Sets + +Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' | gunzip - ``` + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetAllSetsListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new SetsApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var sortLevel = asc; // string? | sort the resulting list by level, default unsorted (optional) + var filterMinHighestEquipmentLevel = 190; // int? | only results where the equipment with the highest level is above or equal to this value (optional) + var filterMaxHighestEquipmentLevel = 200; // int? | only results where the equipment with the highest level is below or equal to this value (optional) + var acceptEncoding = "gzip"; // string? | optional compression for saving bandwidth (optional) + + try + { + // List All Sets + SetsListPaged result = apiInstance.GetAllSetsList(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, acceptEncoding); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling SetsApi.GetAllSetsList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetAllSetsListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List All Sets + ApiResponse response = apiInstance.GetAllSetsListWithHttpInfo(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, acceptEncoding); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling SetsApi.GetAllSetsListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterMinHighestEquipmentLevel** | **int?** | only results where the equipment with the highest level is above or equal to this value | [optional] | +| **filterMaxHighestEquipmentLevel** | **int?** | only results where the equipment with the highest level is below or equal to this value | [optional] | +| **acceptEncoding** | **string?** | optional compression for saving bandwidth | [optional] | + +### Return type + +[**SetsListPaged**](SetsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Set Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetSetsList** +> SetsListPaged GetSetsList (string language, string game, string? sortLevel = null, int? filterMinHighestEquipmentLevel = null, int? filterMaxHighestEquipmentLevel = null, int? pageSize = null, int? pageNumber = null, List? fieldsSet = null) + +List Sets + +Retrieve a list of sets. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetSetsListExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new SetsApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var sortLevel = asc; // string? | sort the resulting list by level, default unsorted (optional) + var filterMinHighestEquipmentLevel = 190; // int? | only results where the equipment with the highest level is above or equal to this value (optional) + var filterMaxHighestEquipmentLevel = 200; // int? | only results where the equipment with the highest level is below or equal to this value (optional) + var pageSize = 20; // int? | size of the results from the list. -1 disables pagination and gets all in one response. (optional) + var pageNumber = 1; // int? | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + var fieldsSet = new List?(); // List? | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + + try + { + // List Sets + SetsListPaged result = apiInstance.GetSetsList(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, pageSize, pageNumber, fieldsSet); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling SetsApi.GetSetsList: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetSetsListWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Sets + ApiResponse response = apiInstance.GetSetsListWithHttpInfo(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, pageSize, pageNumber, fieldsSet); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling SetsApi.GetSetsListWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **sortLevel** | **string?** | sort the resulting list by level, default unsorted | [optional] | +| **filterMinHighestEquipmentLevel** | **int?** | only results where the equipment with the highest level is above or equal to this value | [optional] | +| **filterMaxHighestEquipmentLevel** | **int?** | only results where the equipment with the highest level is below or equal to this value | [optional] | +| **pageSize** | **int?** | size of the results from the list. -1 disables pagination and gets all in one response. | [optional] | +| **pageNumber** | **int?** | page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. | [optional] | +| **fieldsSet** | [**List<string>?**](string.md) | adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. | [optional] | + +### Return type + +[**SetsListPaged**](SetsListPaged.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Set Found | - | +| **400** | Bad Request | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetSetsSearch** +> List<SetListEntry> GetSetsSearch (string language, string game, string query, int? filterMinHighestEquipmentLevel = null, int? filterMaxHighestEquipmentLevel = null, int? limit = null) + +Search Sets + +Search in all names and descriptions of sets with a query. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetSetsSearchExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new SetsApi(config); + var language = "en"; // string | a valid language code + var game = dofus2; // string | + var query = Des; // string | case sensitive search query + var filterMinHighestEquipmentLevel = 195; // int? | only results where the equipment with the highest level is above or equal to this value (optional) + var filterMaxHighestEquipmentLevel = 200; // int? | only results where the equipment with the highest level is below or equal to this value (optional) + var limit = 8; // int? | maximum number of returned results (optional) (default to 8) + + try + { + // Search Sets + List result = apiInstance.GetSetsSearch(language, game, query, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, limit); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling SetsApi.GetSetsSearch: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetSetsSearchWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Search Sets + ApiResponse> response = apiInstance.GetSetsSearchWithHttpInfo(language, game, query, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, limit); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling SetsApi.GetSetsSearchWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **game** | **string** | | | +| **query** | **string** | case sensitive search query | | +| **filterMinHighestEquipmentLevel** | **int?** | only results where the equipment with the highest level is above or equal to this value | [optional] | +| **filterMaxHighestEquipmentLevel** | **int?** | only results where the equipment with the highest level is below or equal to this value | [optional] | +| **limit** | **int?** | maximum number of returned results | [optional] [default to 8] | + +### Return type + +[**List<SetListEntry>**](SetListEntry.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Sets Found | - | +| **400** | Bad Request Possibilities: - empty or no query | - | +| **404** | Not Found Possibilities: - no hits for query | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetSetsSingle** +> EquipmentSet GetSetsSingle (string language, int ankamaId, string game) + +Single Sets + +Retrieve a specific set with id. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetSetsSingleExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new SetsApi(config); + var language = "en"; // string | a valid language code + var ankamaId = 499; // int | identifier + var game = dofus2; // string | + + try + { + // Single Sets + EquipmentSet result = apiInstance.GetSetsSingle(language, ankamaId, game); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling SetsApi.GetSetsSingle: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetSetsSingleWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Single Sets + ApiResponse response = apiInstance.GetSetsSingleWithHttpInfo(language, ankamaId, game); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling SetsApi.GetSetsSingleWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **language** | **string** | a valid language code | | +| **ankamaId** | **int** | identifier | | +| **game** | **string** | | | + +### Return type + +[**EquipmentSet**](EquipmentSet.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Set Found | - | +| **400** | Bad Request Possibilities: - invalid ankama id format | - | +| **404** | Not Found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/SetsListPaged.md b/docs/SetsListPaged.md new file mode 100644 index 0000000..52de0a6 --- /dev/null +++ b/docs/SetsListPaged.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.SetsListPaged + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Links** | [**LinksPaged**](LinksPaged.md) | | [optional] +**Items** | [**List<SetListEntry>**](SetListEntry.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TwitterWebhook.md b/docs/TwitterWebhook.md new file mode 100644 index 0000000..b18dc66 --- /dev/null +++ b/docs/TwitterWebhook.md @@ -0,0 +1,18 @@ +# Dofusdude.Api.Model.TwitterWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Id** | **Guid** | | [optional] +**Whitelist** | **List<string>** | | [optional] +**Blacklist** | **List<string>** | | [optional] +**Subscriptions** | **List<string>** | | [optional] +**Format** | **string** | | [optional] +**PreviewLength** | **int** | | [optional] +**CreatedAt** | **DateTime** | | [optional] +**LastFiredAt** | **DateTime?** | | [optional] +**UpdatedAt** | **DateTime** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Weapon.md b/docs/Weapon.md new file mode 100644 index 0000000..9996515 --- /dev/null +++ b/docs/Weapon.md @@ -0,0 +1,28 @@ +# Dofusdude.Api.Model.Weapon + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**AnkamaId** | **int** | | [optional] +**Name** | **string** | | [optional] +**Description** | **string** | | [optional] +**Type** | [**ItemsListEntryTypedType**](ItemsListEntryTypedType.md) | | [optional] +**IsWeapon** | **bool** | always true when the item is a weapon. Many fields are now available. Always check for this flag first when getting single equipment items. | [optional] +**Level** | **int** | | [optional] +**Pods** | **int** | | [optional] +**ImageUrls** | [**ImageUrls**](ImageUrls.md) | | [optional] +**Effects** | [**List<EffectsEntry>**](EffectsEntry.md) | | [optional] +**Conditions** | [**List<ConditionEntry>**](ConditionEntry.md) | | [optional] +**ConditionTree** | [**ConditionTreeNode**](ConditionTreeNode.md) | | [optional] +**CriticalHitProbability** | **int** | | [optional] +**CriticalHitBonus** | **int** | | [optional] +**IsTwoHanded** | **bool** | | [optional] +**MaxCastPerTurn** | **int** | | [optional] +**ApCost** | **int** | | [optional] +**Range** | [**WeaponRange**](WeaponRange.md) | | [optional] +**Recipe** | [**List<RecipeEntry>**](RecipeEntry.md) | | [optional] +**ParentSet** | [**ItemListEntryParentSet**](ItemListEntryParentSet.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/WeaponRange.md b/docs/WeaponRange.md new file mode 100644 index 0000000..2f1c7f0 --- /dev/null +++ b/docs/WeaponRange.md @@ -0,0 +1,11 @@ +# Dofusdude.Api.Model.WeaponRange + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Min** | **int** | | [optional] +**Max** | **int** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/WebhooksApi.md b/docs/WebhooksApi.md new file mode 100644 index 0000000..22a5a79 --- /dev/null +++ b/docs/WebhooksApi.md @@ -0,0 +1,1354 @@ +# Dofusdude.Api.Api.WebhooksApi + +All URIs are relative to *https://api.dofusdu.de* + +| Method | HTTP request | Description | +|--------|--------------|-------------| +| [**DeleteWebhooksAlmanaxId**](WebhooksApi.md#deletewebhooksalmanaxid) | **DELETE** /webhooks/almanax/{id} | Unregister Almanax Hook | +| [**DeleteWebhooksRssId**](WebhooksApi.md#deletewebhooksrssid) | **DELETE** /webhooks/rss/{id} | Unregister RSS Hook | +| [**DeleteWebhooksTwitterId**](WebhooksApi.md#deletewebhookstwitterid) | **DELETE** /webhooks/twitter/{id} | Unregister Twitter Hook | +| [**GetMetaWebhooksAlmanax**](WebhooksApi.md#getmetawebhooksalmanax) | **GET** /meta/webhooks/almanax | Get Almanax Hook Metainfo | +| [**GetMetaWebhooksRss**](WebhooksApi.md#getmetawebhooksrss) | **GET** /meta/webhooks/rss | Get RSS Hook Metainfo | +| [**GetMetaWebhooksTwitter**](WebhooksApi.md#getmetawebhookstwitter) | **GET** /meta/webhooks/twitter | Get Twitter Hook Metainfo | +| [**GetWebhooksAlmanaxId**](WebhooksApi.md#getwebhooksalmanaxid) | **GET** /webhooks/almanax/{id} | Get Almanax Hook | +| [**GetWebhooksRssId**](WebhooksApi.md#getwebhooksrssid) | **GET** /webhooks/rss/{id} | Get RSS Hook | +| [**GetWebhooksTwitterId**](WebhooksApi.md#getwebhookstwitterid) | **GET** /webhooks/twitter/{id} | Get Twitter Hook | +| [**PostWebhooksAlmanax**](WebhooksApi.md#postwebhooksalmanax) | **POST** /webhooks/almanax | Register Almanax Hook | +| [**PostWebhooksRss**](WebhooksApi.md#postwebhooksrss) | **POST** /webhooks/rss | Register RSS Hook | +| [**PostWebhooksTwitter**](WebhooksApi.md#postwebhookstwitter) | **POST** /webhooks/twitter | Register Twitter Hook | +| [**PutWebhooksAlmanaxId**](WebhooksApi.md#putwebhooksalmanaxid) | **PUT** /webhooks/almanax/{id} | Update Almanax Hook | +| [**PutWebhooksRssId**](WebhooksApi.md#putwebhooksrssid) | **PUT** /webhooks/rss/{id} | Update RSS Hook | +| [**PutWebhooksTwitterId**](WebhooksApi.md#putwebhookstwitterid) | **PUT** /webhooks/twitter/{id} | Update Twitter Hook | + + +# **DeleteWebhooksAlmanaxId** +> void DeleteWebhooksAlmanaxId (string id) + +Unregister Almanax Hook + +Delete a Webhook from the service. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class DeleteWebhooksAlmanaxIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + + try + { + // Unregister Almanax Hook + apiInstance.DeleteWebhooksAlmanaxId(id); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.DeleteWebhooksAlmanaxId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the DeleteWebhooksAlmanaxIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Unregister Almanax Hook + apiInstance.DeleteWebhooksAlmanaxIdWithHttpInfo(id); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.DeleteWebhooksAlmanaxIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **204** | No Content | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **DeleteWebhooksRssId** +> void DeleteWebhooksRssId (string id) + +Unregister RSS Hook + +Delete a Webhook from the service. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class DeleteWebhooksRssIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + + try + { + // Unregister RSS Hook + apiInstance.DeleteWebhooksRssId(id); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.DeleteWebhooksRssId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the DeleteWebhooksRssIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Unregister RSS Hook + apiInstance.DeleteWebhooksRssIdWithHttpInfo(id); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.DeleteWebhooksRssIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **204** | No Content | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **DeleteWebhooksTwitterId** +> void DeleteWebhooksTwitterId (string id) + +Unregister Twitter Hook + +Delete a Webhook from the service. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class DeleteWebhooksTwitterIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + + try + { + // Unregister Twitter Hook + apiInstance.DeleteWebhooksTwitterId(id); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.DeleteWebhooksTwitterId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the DeleteWebhooksTwitterIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Unregister Twitter Hook + apiInstance.DeleteWebhooksTwitterIdWithHttpInfo(id); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.DeleteWebhooksTwitterIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **204** | No Content | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMetaWebhooksAlmanax** +> GetMetaWebhooksTwitter200Response GetMetaWebhooksAlmanax () + +Get Almanax Hook Metainfo + +Get a list of all available subscriptions. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMetaWebhooksAlmanaxExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + + try + { + // Get Almanax Hook Metainfo + GetMetaWebhooksTwitter200Response result = apiInstance.GetMetaWebhooksAlmanax(); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.GetMetaWebhooksAlmanax: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMetaWebhooksAlmanaxWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get Almanax Hook Metainfo + ApiResponse response = apiInstance.GetMetaWebhooksAlmanaxWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.GetMetaWebhooksAlmanaxWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters +This endpoint does not need any parameter. +### Return type + +[**GetMetaWebhooksTwitter200Response**](GetMetaWebhooksTwitter200Response.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMetaWebhooksRss** +> GetMetaWebhooksTwitter200Response GetMetaWebhooksRss () + +Get RSS Hook Metainfo + +Get a list of all available subscriptions. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMetaWebhooksRssExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + + try + { + // Get RSS Hook Metainfo + GetMetaWebhooksTwitter200Response result = apiInstance.GetMetaWebhooksRss(); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.GetMetaWebhooksRss: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMetaWebhooksRssWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get RSS Hook Metainfo + ApiResponse response = apiInstance.GetMetaWebhooksRssWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.GetMetaWebhooksRssWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters +This endpoint does not need any parameter. +### Return type + +[**GetMetaWebhooksTwitter200Response**](GetMetaWebhooksTwitter200Response.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetMetaWebhooksTwitter** +> GetMetaWebhooksTwitter200Response GetMetaWebhooksTwitter () + +Get Twitter Hook Metainfo + +Get a list of all available subscriptions. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetMetaWebhooksTwitterExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + + try + { + // Get Twitter Hook Metainfo + GetMetaWebhooksTwitter200Response result = apiInstance.GetMetaWebhooksTwitter(); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.GetMetaWebhooksTwitter: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetMetaWebhooksTwitterWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get Twitter Hook Metainfo + ApiResponse response = apiInstance.GetMetaWebhooksTwitterWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.GetMetaWebhooksTwitterWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters +This endpoint does not need any parameter. +### Return type + +[**GetMetaWebhooksTwitter200Response**](GetMetaWebhooksTwitter200Response.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetWebhooksAlmanaxId** +> AlmanaxWebhook GetWebhooksAlmanaxId (string id) + +Get Almanax Hook + +Retrieve details about an existing Almanax Webhook with a given uuid. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetWebhooksAlmanaxIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + + try + { + // Get Almanax Hook + AlmanaxWebhook result = apiInstance.GetWebhooksAlmanaxId(id); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.GetWebhooksAlmanaxId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetWebhooksAlmanaxIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get Almanax Hook + ApiResponse response = apiInstance.GetWebhooksAlmanaxIdWithHttpInfo(id); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.GetWebhooksAlmanaxIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | + +### Return type + +[**AlmanaxWebhook**](AlmanaxWebhook.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetWebhooksRssId** +> RssWebhook GetWebhooksRssId (string id) + +Get RSS Hook + +Retrieve details about an existing RSS Webhook with a given uuid. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetWebhooksRssIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + + try + { + // Get RSS Hook + RssWebhook result = apiInstance.GetWebhooksRssId(id); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.GetWebhooksRssId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetWebhooksRssIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get RSS Hook + ApiResponse response = apiInstance.GetWebhooksRssIdWithHttpInfo(id); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.GetWebhooksRssIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | + +### Return type + +[**RssWebhook**](RssWebhook.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **GetWebhooksTwitterId** +> TwitterWebhook GetWebhooksTwitterId (string id) + +Get Twitter Hook + +Retrieve details about an existing Twitter Webhook with a given uuid. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class GetWebhooksTwitterIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + + try + { + // Get Twitter Hook + TwitterWebhook result = apiInstance.GetWebhooksTwitterId(id); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.GetWebhooksTwitterId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetWebhooksTwitterIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get Twitter Hook + ApiResponse response = apiInstance.GetWebhooksTwitterIdWithHttpInfo(id); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.GetWebhooksTwitterIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | + +### Return type + +[**TwitterWebhook**](TwitterWebhook.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **PostWebhooksAlmanax** +> void PostWebhooksAlmanax (CreateAlmanaxWebhook? createAlmanaxWebhook = null) + +Register Almanax Hook + +Register a new Webhook to post Almanax updates. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class PostWebhooksAlmanaxExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var createAlmanaxWebhook = new CreateAlmanaxWebhook?(); // CreateAlmanaxWebhook? | (optional) + + try + { + // Register Almanax Hook + apiInstance.PostWebhooksAlmanax(createAlmanaxWebhook); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.PostWebhooksAlmanax: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the PostWebhooksAlmanaxWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Register Almanax Hook + apiInstance.PostWebhooksAlmanaxWithHttpInfo(createAlmanaxWebhook); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.PostWebhooksAlmanaxWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **createAlmanaxWebhook** | [**CreateAlmanaxWebhook?**](CreateAlmanaxWebhook?.md) | | [optional] | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **PostWebhooksRss** +> void PostWebhooksRss (CreateRSSWebhook? createRSSWebhook = null) + +Register RSS Hook + +Register a new Webhook to post RSS news as soon as they are posted. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class PostWebhooksRssExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var createRSSWebhook = new CreateRSSWebhook?(); // CreateRSSWebhook? | (optional) + + try + { + // Register RSS Hook + apiInstance.PostWebhooksRss(createRSSWebhook); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.PostWebhooksRss: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the PostWebhooksRssWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Register RSS Hook + apiInstance.PostWebhooksRssWithHttpInfo(createRSSWebhook); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.PostWebhooksRssWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **createRSSWebhook** | [**CreateRSSWebhook?**](CreateRSSWebhook?.md) | | [optional] | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **PostWebhooksTwitter** +> void PostWebhooksTwitter (CreateTwitterWebhook? createTwitterWebhook = null) + +Register Twitter Hook + +Register a new Webhook to post Twitter updates as soon as they are posted. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class PostWebhooksTwitterExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var createTwitterWebhook = new CreateTwitterWebhook?(); // CreateTwitterWebhook? | (optional) + + try + { + // Register Twitter Hook + apiInstance.PostWebhooksTwitter(createTwitterWebhook); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.PostWebhooksTwitter: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the PostWebhooksTwitterWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Register Twitter Hook + apiInstance.PostWebhooksTwitterWithHttpInfo(createTwitterWebhook); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.PostWebhooksTwitterWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **createTwitterWebhook** | [**CreateTwitterWebhook?**](CreateTwitterWebhook?.md) | | [optional] | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **PutWebhooksAlmanaxId** +> AlmanaxWebhook PutWebhooksAlmanaxId (string id, PutAlmanaxWebhook? putAlmanaxWebhook = null) + +Update Almanax Hook + +Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class PutWebhooksAlmanaxIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + var putAlmanaxWebhook = new PutAlmanaxWebhook?(); // PutAlmanaxWebhook? | (optional) + + try + { + // Update Almanax Hook + AlmanaxWebhook result = apiInstance.PutWebhooksAlmanaxId(id, putAlmanaxWebhook); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.PutWebhooksAlmanaxId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the PutWebhooksAlmanaxIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update Almanax Hook + ApiResponse response = apiInstance.PutWebhooksAlmanaxIdWithHttpInfo(id, putAlmanaxWebhook); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.PutWebhooksAlmanaxIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | +| **putAlmanaxWebhook** | [**PutAlmanaxWebhook?**](PutAlmanaxWebhook?.md) | | [optional] | + +### Return type + +[**AlmanaxWebhook**](AlmanaxWebhook.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **PutWebhooksRssId** +> RssWebhook PutWebhooksRssId (string id, PutRSSWebhook? putRSSWebhook = null) + +Update RSS Hook + +Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class PutWebhooksRssIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + var putRSSWebhook = new PutRSSWebhook?(); // PutRSSWebhook? | (optional) + + try + { + // Update RSS Hook + RssWebhook result = apiInstance.PutWebhooksRssId(id, putRSSWebhook); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.PutWebhooksRssId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the PutWebhooksRssIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update RSS Hook + ApiResponse response = apiInstance.PutWebhooksRssIdWithHttpInfo(id, putRSSWebhook); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.PutWebhooksRssIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | +| **putRSSWebhook** | [**PutRSSWebhook?**](PutRSSWebhook?.md) | | [optional] | + +### Return type + +[**RssWebhook**](RssWebhook.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +# **PutWebhooksTwitterId** +> TwitterWebhook PutWebhooksTwitterId (string id, PutTwitterWebhook? putTwitterWebhook = null) + +Update Twitter Hook + +Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using Dofusdude.Api.Api; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Example +{ + public class PutWebhooksTwitterIdExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://api.dofusdu.de"; + var apiInstance = new WebhooksApi(config); + var id = "id_example"; // string | + var putTwitterWebhook = new PutTwitterWebhook?(); // PutTwitterWebhook? | (optional) + + try + { + // Update Twitter Hook + TwitterWebhook result = apiInstance.PutWebhooksTwitterId(id, putTwitterWebhook); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling WebhooksApi.PutWebhooksTwitterId: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the PutWebhooksTwitterIdWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Update Twitter Hook + ApiResponse response = apiInstance.PutWebhooksTwitterIdWithHttpInfo(id, putTwitterWebhook); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling WebhooksApi.PutWebhooksTwitterIdWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **id** | **string** | | | +| **putTwitterWebhook** | [**PutTwitterWebhook?**](PutTwitterWebhook?.md) | | [optional] | + +### Return type + +[**TwitterWebhook**](TwitterWebhook.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/git_push.sh b/git_push.sh new file mode 100644 index 0000000..f53a75d --- /dev/null +++ b/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/src/Dofusdude.Api.Test/Api/AlmanaxApiTests.cs b/src/Dofusdude.Api.Test/Api/AlmanaxApiTests.cs new file mode 100644 index 0000000..e7e1748 --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/AlmanaxApiTests.cs @@ -0,0 +1,88 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing AlmanaxApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class AlmanaxApiTests : IDisposable + { + private AlmanaxApi instance; + + public AlmanaxApiTests() + { + instance = new AlmanaxApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AlmanaxApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' AlmanaxApi + //Assert.IsType(instance); + } + + /// + /// Test GetAlmanaxDate + /// + [Fact] + public void GetAlmanaxDateTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //DateOnly date = null; + //var response = instance.GetAlmanaxDate(language, date); + //Assert.IsType(response); + } + + /// + /// Test GetAlmanaxRange + /// + [Fact] + public void GetAlmanaxRangeTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string? filterBonusType = null; + //DateOnly? rangeFrom = null; + //DateOnly? rangeTo = null; + //int? rangeSize = null; + //string? timezone = null; + //var response = instance.GetAlmanaxRange(language, filterBonusType, rangeFrom, rangeTo, rangeSize, timezone); + //Assert.IsType>(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/ConsumablesApiTests.cs b/src/Dofusdude.Api.Test/Api/ConsumablesApiTests.cs new file mode 100644 index 0000000..044705e --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/ConsumablesApiTests.cs @@ -0,0 +1,128 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing ConsumablesApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class ConsumablesApiTests : IDisposable + { + private ConsumablesApi instance; + + public ConsumablesApiTests() + { + instance = new ConsumablesApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ConsumablesApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' ConsumablesApi + //Assert.IsType(instance); + } + + /// + /// Test GetAllItemsConsumablesList + /// + [Fact] + public void GetAllItemsConsumablesListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //string? acceptEncoding = null; + //var response = instance.GetAllItemsConsumablesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + //Assert.IsType(response); + } + + /// + /// Test GetItemsConsumablesList + /// + [Fact] + public void GetItemsConsumablesListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? pageSize = null; + //int? pageNumber = null; + //List? fieldsItem = null; + //var response = instance.GetItemsConsumablesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + //Assert.IsType(response); + } + + /// + /// Test GetItemsConsumablesSearch + /// + [Fact] + public void GetItemsConsumablesSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? limit = null; + //var response = instance.GetItemsConsumablesSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + //Assert.IsType>(response); + } + + /// + /// Test GetItemsConsumablesSingle + /// + [Fact] + public void GetItemsConsumablesSingleTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //int ankamaId = null; + //string game = null; + //var response = instance.GetItemsConsumablesSingle(language, ankamaId, game); + //Assert.IsType(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/CosmeticsApiTests.cs b/src/Dofusdude.Api.Test/Api/CosmeticsApiTests.cs new file mode 100644 index 0000000..2784514 --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/CosmeticsApiTests.cs @@ -0,0 +1,128 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing CosmeticsApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class CosmeticsApiTests : IDisposable + { + private CosmeticsApi instance; + + public CosmeticsApiTests() + { + instance = new CosmeticsApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CosmeticsApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' CosmeticsApi + //Assert.IsType(instance); + } + + /// + /// Test GetAllCosmeticsList + /// + [Fact] + public void GetAllCosmeticsListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //string? acceptEncoding = null; + //var response = instance.GetAllCosmeticsList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + //Assert.IsType(response); + } + + /// + /// Test GetCosmeticsList + /// + [Fact] + public void GetCosmeticsListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? pageSize = null; + //int? pageNumber = null; + //List? fieldsItem = null; + //var response = instance.GetCosmeticsList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + //Assert.IsType(response); + } + + /// + /// Test GetCosmeticsSearch + /// + [Fact] + public void GetCosmeticsSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? limit = null; + //var response = instance.GetCosmeticsSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + //Assert.IsType>(response); + } + + /// + /// Test GetCosmeticsSingle + /// + [Fact] + public void GetCosmeticsSingleTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //int ankamaId = null; + //string game = null; + //var response = instance.GetCosmeticsSingle(language, ankamaId, game); + //Assert.IsType(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/EquipmentApiTests.cs b/src/Dofusdude.Api.Test/Api/EquipmentApiTests.cs new file mode 100644 index 0000000..eeb2e1a --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/EquipmentApiTests.cs @@ -0,0 +1,128 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing EquipmentApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class EquipmentApiTests : IDisposable + { + private EquipmentApi instance; + + public EquipmentApiTests() + { + instance = new EquipmentApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of EquipmentApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' EquipmentApi + //Assert.IsType(instance); + } + + /// + /// Test GetAllItemsEquipmentList + /// + [Fact] + public void GetAllItemsEquipmentListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //string? acceptEncoding = null; + //var response = instance.GetAllItemsEquipmentList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + //Assert.IsType(response); + } + + /// + /// Test GetItemsEquipmentList + /// + [Fact] + public void GetItemsEquipmentListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? pageSize = null; + //int? pageNumber = null; + //List? fieldsItem = null; + //var response = instance.GetItemsEquipmentList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + //Assert.IsType(response); + } + + /// + /// Test GetItemsEquipmentSearch + /// + [Fact] + public void GetItemsEquipmentSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? limit = null; + //var response = instance.GetItemsEquipmentSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + //Assert.IsType>(response); + } + + /// + /// Test GetItemsEquipmentSingle + /// + [Fact] + public void GetItemsEquipmentSingleTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //int ankamaId = null; + //string game = null; + //var response = instance.GetItemsEquipmentSingle(language, ankamaId, game); + //Assert.IsType(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/GameApiTests.cs b/src/Dofusdude.Api.Test/Api/GameApiTests.cs new file mode 100644 index 0000000..4784f2e --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/GameApiTests.cs @@ -0,0 +1,93 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing GameApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class GameApiTests : IDisposable + { + private GameApi instance; + + public GameApiTests() + { + instance = new GameApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of GameApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' GameApi + //Assert.IsType(instance); + } + + /// + /// Test GetGameSearch + /// + [Fact] + public void GetGameSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //List? filterType = null; + //int? limit = null; + //List? fieldsItem = null; + //var response = instance.GetGameSearch(language, game, query, filterType, limit, fieldsItem); + //Assert.IsType>(response); + } + + /// + /// Test GetItemsAllSearch + /// + [Fact] + public void GetItemsAllSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? limit = null; + //var response = instance.GetItemsAllSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + //Assert.IsType>(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/MetaApiTests.cs b/src/Dofusdude.Api.Test/Api/MetaApiTests.cs new file mode 100644 index 0000000..13668be --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/MetaApiTests.cs @@ -0,0 +1,106 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing MetaApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class MetaApiTests : IDisposable + { + private MetaApi instance; + + public MetaApiTests() + { + instance = new MetaApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MetaApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' MetaApi + //Assert.IsType(instance); + } + + /// + /// Test GetGameSearchTypes + /// + [Fact] + public void GetGameSearchTypesTest() + { + // TODO uncomment below to test the method and replace null with proper value + //var response = instance.GetGameSearchTypes(); + //Assert.IsType>(response); + } + + /// + /// Test GetMetaAlmanaxBonuses + /// + [Fact] + public void GetMetaAlmanaxBonusesTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //var response = instance.GetMetaAlmanaxBonuses(language); + //Assert.IsType>(response); + } + + /// + /// Test GetMetaAlmanaxBonusesSearch + /// + [Fact] + public void GetMetaAlmanaxBonusesSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string query = null; + //int? limit = null; + //var response = instance.GetMetaAlmanaxBonusesSearch(language, query, limit); + //Assert.IsType>(response); + } + + /// + /// Test GetMetaElements + /// + [Fact] + public void GetMetaElementsTest() + { + // TODO uncomment below to test the method and replace null with proper value + //var response = instance.GetMetaElements(); + //Assert.IsType>(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/MountsApiTests.cs b/src/Dofusdude.Api.Test/Api/MountsApiTests.cs new file mode 100644 index 0000000..d966d3f --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/MountsApiTests.cs @@ -0,0 +1,120 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing MountsApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class MountsApiTests : IDisposable + { + private MountsApi instance; + + public MountsApiTests() + { + instance = new MountsApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MountsApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' MountsApi + //Assert.IsType(instance); + } + + /// + /// Test GetAllMountsList + /// + [Fact] + public void GetAllMountsListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? filterFamilyName = null; + //string? acceptEncoding = null; + //var response = instance.GetAllMountsList(language, game, filterFamilyName, acceptEncoding); + //Assert.IsType(response); + } + + /// + /// Test GetMountsList + /// + [Fact] + public void GetMountsListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? filterFamilyName = null; + //int? pageSize = null; + //int? pageNumber = null; + //List? fieldsMount = null; + //var response = instance.GetMountsList(language, game, filterFamilyName, pageSize, pageNumber, fieldsMount); + //Assert.IsType(response); + } + + /// + /// Test GetMountsSearch + /// + [Fact] + public void GetMountsSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //string? filterFamilyName = null; + //int? limit = null; + //var response = instance.GetMountsSearch(language, game, query, filterFamilyName, limit); + //Assert.IsType>(response); + } + + /// + /// Test GetMountsSingle + /// + [Fact] + public void GetMountsSingleTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //int ankamaId = null; + //string game = null; + //var response = instance.GetMountsSingle(language, ankamaId, game); + //Assert.IsType(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/QuestItemsApiTests.cs b/src/Dofusdude.Api.Test/Api/QuestItemsApiTests.cs new file mode 100644 index 0000000..33ce2c3 --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/QuestItemsApiTests.cs @@ -0,0 +1,128 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing QuestItemsApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class QuestItemsApiTests : IDisposable + { + private QuestItemsApi instance; + + public QuestItemsApiTests() + { + instance = new QuestItemsApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of QuestItemsApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' QuestItemsApi + //Assert.IsType(instance); + } + + /// + /// Test GetAllItemsQuestList + /// + [Fact] + public void GetAllItemsQuestListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //string? acceptEncoding = null; + //var response = instance.GetAllItemsQuestList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + //Assert.IsType(response); + } + + /// + /// Test GetItemQuestSingle + /// + [Fact] + public void GetItemQuestSingleTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //int ankamaId = null; + //string game = null; + //var response = instance.GetItemQuestSingle(language, ankamaId, game); + //Assert.IsType(response); + } + + /// + /// Test GetItemsQuestList + /// + [Fact] + public void GetItemsQuestListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? pageSize = null; + //int? pageNumber = null; + //List? fieldsItem = null; + //var response = instance.GetItemsQuestList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + //Assert.IsType(response); + } + + /// + /// Test GetItemsQuestSearch + /// + [Fact] + public void GetItemsQuestSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? limit = null; + //var response = instance.GetItemsQuestSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + //Assert.IsType>(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/ResourcesApiTests.cs b/src/Dofusdude.Api.Test/Api/ResourcesApiTests.cs new file mode 100644 index 0000000..b3e6fb9 --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/ResourcesApiTests.cs @@ -0,0 +1,128 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing ResourcesApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class ResourcesApiTests : IDisposable + { + private ResourcesApi instance; + + public ResourcesApiTests() + { + instance = new ResourcesApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ResourcesApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' ResourcesApi + //Assert.IsType(instance); + } + + /// + /// Test GetAllItemsResourcesList + /// + [Fact] + public void GetAllItemsResourcesListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //string? acceptEncoding = null; + //var response = instance.GetAllItemsResourcesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + //Assert.IsType(response); + } + + /// + /// Test GetItemsResourceSearch + /// + [Fact] + public void GetItemsResourceSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? limit = null; + //var response = instance.GetItemsResourceSearch(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + //Assert.IsType>(response); + } + + /// + /// Test GetItemsResourcesList + /// + [Fact] + public void GetItemsResourcesListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //string? filterTypeName = null; + //int? filterMinLevel = null; + //int? filterMaxLevel = null; + //int? pageSize = null; + //int? pageNumber = null; + //List? fieldsItem = null; + //var response = instance.GetItemsResourcesList(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + //Assert.IsType(response); + } + + /// + /// Test GetItemsResourcesSingle + /// + [Fact] + public void GetItemsResourcesSingleTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //int ankamaId = null; + //string game = null; + //var response = instance.GetItemsResourcesSingle(language, ankamaId, game); + //Assert.IsType(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/SetsApiTests.cs b/src/Dofusdude.Api.Test/Api/SetsApiTests.cs new file mode 100644 index 0000000..237a38d --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/SetsApiTests.cs @@ -0,0 +1,125 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing SetsApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class SetsApiTests : IDisposable + { + private SetsApi instance; + + public SetsApiTests() + { + instance = new SetsApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of SetsApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' SetsApi + //Assert.IsType(instance); + } + + /// + /// Test GetAllSetsList + /// + [Fact] + public void GetAllSetsListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //int? filterMinHighestEquipmentLevel = null; + //int? filterMaxHighestEquipmentLevel = null; + //string? acceptEncoding = null; + //var response = instance.GetAllSetsList(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, acceptEncoding); + //Assert.IsType(response); + } + + /// + /// Test GetSetsList + /// + [Fact] + public void GetSetsListTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string? sortLevel = null; + //int? filterMinHighestEquipmentLevel = null; + //int? filterMaxHighestEquipmentLevel = null; + //int? pageSize = null; + //int? pageNumber = null; + //List? fieldsSet = null; + //var response = instance.GetSetsList(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, pageSize, pageNumber, fieldsSet); + //Assert.IsType(response); + } + + /// + /// Test GetSetsSearch + /// + [Fact] + public void GetSetsSearchTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //string game = null; + //string query = null; + //int? filterMinHighestEquipmentLevel = null; + //int? filterMaxHighestEquipmentLevel = null; + //int? limit = null; + //var response = instance.GetSetsSearch(language, game, query, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, limit); + //Assert.IsType>(response); + } + + /// + /// Test GetSetsSingle + /// + [Fact] + public void GetSetsSingleTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string language = null; + //int ankamaId = null; + //string game = null; + //var response = instance.GetSetsSingle(language, ankamaId, game); + //Assert.IsType(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Api/WebhooksApiTests.cs b/src/Dofusdude.Api.Test/Api/WebhooksApiTests.cs new file mode 100644 index 0000000..3fc6eb5 --- /dev/null +++ b/src/Dofusdude.Api.Test/Api/WebhooksApiTests.cs @@ -0,0 +1,232 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Reflection; +using RestSharp; +using Xunit; + +using Dofusdude.Api.Client; +using Dofusdude.Api.Api; +// uncomment below to import models +//using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Test.Api +{ + /// + /// Class for testing WebhooksApi + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the API endpoint. + /// + public class WebhooksApiTests : IDisposable + { + private WebhooksApi instance; + + public WebhooksApiTests() + { + instance = new WebhooksApi(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of WebhooksApi + /// + [Fact] + public void InstanceTest() + { + // TODO uncomment below to test 'IsType' WebhooksApi + //Assert.IsType(instance); + } + + /// + /// Test DeleteWebhooksAlmanaxId + /// + [Fact] + public void DeleteWebhooksAlmanaxIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //instance.DeleteWebhooksAlmanaxId(id); + } + + /// + /// Test DeleteWebhooksRssId + /// + [Fact] + public void DeleteWebhooksRssIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //instance.DeleteWebhooksRssId(id); + } + + /// + /// Test DeleteWebhooksTwitterId + /// + [Fact] + public void DeleteWebhooksTwitterIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //instance.DeleteWebhooksTwitterId(id); + } + + /// + /// Test GetMetaWebhooksAlmanax + /// + [Fact] + public void GetMetaWebhooksAlmanaxTest() + { + // TODO uncomment below to test the method and replace null with proper value + //var response = instance.GetMetaWebhooksAlmanax(); + //Assert.IsType(response); + } + + /// + /// Test GetMetaWebhooksRss + /// + [Fact] + public void GetMetaWebhooksRssTest() + { + // TODO uncomment below to test the method and replace null with proper value + //var response = instance.GetMetaWebhooksRss(); + //Assert.IsType(response); + } + + /// + /// Test GetMetaWebhooksTwitter + /// + [Fact] + public void GetMetaWebhooksTwitterTest() + { + // TODO uncomment below to test the method and replace null with proper value + //var response = instance.GetMetaWebhooksTwitter(); + //Assert.IsType(response); + } + + /// + /// Test GetWebhooksAlmanaxId + /// + [Fact] + public void GetWebhooksAlmanaxIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //var response = instance.GetWebhooksAlmanaxId(id); + //Assert.IsType(response); + } + + /// + /// Test GetWebhooksRssId + /// + [Fact] + public void GetWebhooksRssIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //var response = instance.GetWebhooksRssId(id); + //Assert.IsType(response); + } + + /// + /// Test GetWebhooksTwitterId + /// + [Fact] + public void GetWebhooksTwitterIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //var response = instance.GetWebhooksTwitterId(id); + //Assert.IsType(response); + } + + /// + /// Test PostWebhooksAlmanax + /// + [Fact] + public void PostWebhooksAlmanaxTest() + { + // TODO uncomment below to test the method and replace null with proper value + //CreateAlmanaxWebhook? createAlmanaxWebhook = null; + //instance.PostWebhooksAlmanax(createAlmanaxWebhook); + } + + /// + /// Test PostWebhooksRss + /// + [Fact] + public void PostWebhooksRssTest() + { + // TODO uncomment below to test the method and replace null with proper value + //CreateRSSWebhook? createRSSWebhook = null; + //instance.PostWebhooksRss(createRSSWebhook); + } + + /// + /// Test PostWebhooksTwitter + /// + [Fact] + public void PostWebhooksTwitterTest() + { + // TODO uncomment below to test the method and replace null with proper value + //CreateTwitterWebhook? createTwitterWebhook = null; + //instance.PostWebhooksTwitter(createTwitterWebhook); + } + + /// + /// Test PutWebhooksAlmanaxId + /// + [Fact] + public void PutWebhooksAlmanaxIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //PutAlmanaxWebhook? putAlmanaxWebhook = null; + //var response = instance.PutWebhooksAlmanaxId(id, putAlmanaxWebhook); + //Assert.IsType(response); + } + + /// + /// Test PutWebhooksRssId + /// + [Fact] + public void PutWebhooksRssIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //PutRSSWebhook? putRSSWebhook = null; + //var response = instance.PutWebhooksRssId(id, putRSSWebhook); + //Assert.IsType(response); + } + + /// + /// Test PutWebhooksTwitterId + /// + [Fact] + public void PutWebhooksTwitterIdTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string id = null; + //PutTwitterWebhook? putTwitterWebhook = null; + //var response = instance.PutWebhooksTwitterId(id, putTwitterWebhook); + //Assert.IsType(response); + } + } +} diff --git a/src/Dofusdude.Api.Test/Dofusdude.Api.Test.csproj b/src/Dofusdude.Api.Test/Dofusdude.Api.Test.csproj new file mode 100644 index 0000000..f6b1256 --- /dev/null +++ b/src/Dofusdude.Api.Test/Dofusdude.Api.Test.csproj @@ -0,0 +1,20 @@ + + + + Dofusdude.Api.Test + Dofusdude.Api.Test + net8.0 + false + annotations + + + + + + + + + + + + diff --git a/src/Dofusdude.Api.Test/Model/AlmanaxEntryBonusTests.cs b/src/Dofusdude.Api.Test/Model/AlmanaxEntryBonusTests.cs new file mode 100644 index 0000000..9296c94 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/AlmanaxEntryBonusTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing AlmanaxEntryBonus + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AlmanaxEntryBonusTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AlmanaxEntryBonus + //private AlmanaxEntryBonus instance; + + public AlmanaxEntryBonusTests() + { + // TODO uncomment below to create an instance of AlmanaxEntryBonus + //instance = new AlmanaxEntryBonus(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AlmanaxEntryBonus + /// + [Fact] + public void AlmanaxEntryBonusInstanceTest() + { + // TODO uncomment below to test "IsType" AlmanaxEntryBonus + //Assert.IsType(instance); + } + + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/AlmanaxEntryTests.cs b/src/Dofusdude.Api.Test/Model/AlmanaxEntryTests.cs new file mode 100644 index 0000000..43f4df4 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/AlmanaxEntryTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing AlmanaxEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AlmanaxEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AlmanaxEntry + //private AlmanaxEntry instance; + + public AlmanaxEntryTests() + { + // TODO uncomment below to create an instance of AlmanaxEntry + //instance = new AlmanaxEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AlmanaxEntry + /// + [Fact] + public void AlmanaxEntryInstanceTest() + { + // TODO uncomment below to test "IsType" AlmanaxEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'Bonus' + /// + [Fact] + public void BonusTest() + { + // TODO unit test for the property 'Bonus' + } + + /// + /// Test the property 'Date' + /// + [Fact] + public void DateTest() + { + // TODO unit test for the property 'Date' + } + + /// + /// Test the property 'Tribute' + /// + [Fact] + public void TributeTest() + { + // TODO unit test for the property 'Tribute' + } + + /// + /// Test the property 'RewardKamas' + /// + [Fact] + public void RewardKamasTest() + { + // TODO unit test for the property 'RewardKamas' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeItemTests.cs b/src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeItemTests.cs new file mode 100644 index 0000000..ec021b7 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeItemTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing AlmanaxEntryTributeItem + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AlmanaxEntryTributeItemTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AlmanaxEntryTributeItem + //private AlmanaxEntryTributeItem instance; + + public AlmanaxEntryTributeItemTests() + { + // TODO uncomment below to create an instance of AlmanaxEntryTributeItem + //instance = new AlmanaxEntryTributeItem(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AlmanaxEntryTributeItem + /// + [Fact] + public void AlmanaxEntryTributeItemInstanceTest() + { + // TODO uncomment below to test "IsType" AlmanaxEntryTributeItem + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Subtype' + /// + [Fact] + public void SubtypeTest() + { + // TODO unit test for the property 'Subtype' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeTests.cs b/src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeTests.cs new file mode 100644 index 0000000..e5d2cc2 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/AlmanaxEntryTributeTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing AlmanaxEntryTribute + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AlmanaxEntryTributeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AlmanaxEntryTribute + //private AlmanaxEntryTribute instance; + + public AlmanaxEntryTributeTests() + { + // TODO uncomment below to create an instance of AlmanaxEntryTribute + //instance = new AlmanaxEntryTribute(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AlmanaxEntryTribute + /// + [Fact] + public void AlmanaxEntryTributeInstanceTest() + { + // TODO uncomment below to test "IsType" AlmanaxEntryTribute + //Assert.IsType(instance); + } + + /// + /// Test the property 'Item' + /// + [Fact] + public void ItemTest() + { + // TODO unit test for the property 'Item' + } + + /// + /// Test the property 'Quantity' + /// + [Fact] + public void QuantityTest() + { + // TODO unit test for the property 'Quantity' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/AlmanaxWebhookDailySettingsTests.cs b/src/Dofusdude.Api.Test/Model/AlmanaxWebhookDailySettingsTests.cs new file mode 100644 index 0000000..17ef26f --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/AlmanaxWebhookDailySettingsTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing AlmanaxWebhookDailySettings + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AlmanaxWebhookDailySettingsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AlmanaxWebhookDailySettings + //private AlmanaxWebhookDailySettings instance; + + public AlmanaxWebhookDailySettingsTests() + { + // TODO uncomment below to create an instance of AlmanaxWebhookDailySettings + //instance = new AlmanaxWebhookDailySettings(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AlmanaxWebhookDailySettings + /// + [Fact] + public void AlmanaxWebhookDailySettingsInstanceTest() + { + // TODO uncomment below to test "IsType" AlmanaxWebhookDailySettings + //Assert.IsType(instance); + } + + /// + /// Test the property 'Timezone' + /// + [Fact] + public void TimezoneTest() + { + // TODO unit test for the property 'Timezone' + } + + /// + /// Test the property 'MidnightOffset' + /// + [Fact] + public void MidnightOffsetTest() + { + // TODO unit test for the property 'MidnightOffset' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/AlmanaxWebhookTests.cs b/src/Dofusdude.Api.Test/Model/AlmanaxWebhookTests.cs new file mode 100644 index 0000000..f3aac2c --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/AlmanaxWebhookTests.cs @@ -0,0 +1,166 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing AlmanaxWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class AlmanaxWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for AlmanaxWebhook + //private AlmanaxWebhook instance; + + public AlmanaxWebhookTests() + { + // TODO uncomment below to create an instance of AlmanaxWebhook + //instance = new AlmanaxWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of AlmanaxWebhook + /// + [Fact] + public void AlmanaxWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" AlmanaxWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + + /// + /// Test the property 'DailySettings' + /// + [Fact] + public void DailySettingsTest() + { + // TODO unit test for the property 'DailySettings' + } + + /// + /// Test the property 'BonusWhitelist' + /// + [Fact] + public void BonusWhitelistTest() + { + // TODO unit test for the property 'BonusWhitelist' + } + + /// + /// Test the property 'BonusBlacklist' + /// + [Fact] + public void BonusBlacklistTest() + { + // TODO unit test for the property 'BonusBlacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'IsoDate' + /// + [Fact] + public void IsoDateTest() + { + // TODO unit test for the property 'IsoDate' + } + + /// + /// Test the property 'Mentions' + /// + [Fact] + public void MentionsTest() + { + // TODO unit test for the property 'Mentions' + } + + /// + /// Test the property 'Intervals' + /// + [Fact] + public void IntervalsTest() + { + // TODO unit test for the property 'Intervals' + } + + /// + /// Test the property 'WeeklyWeekday' + /// + [Fact] + public void WeeklyWeekdayTest() + { + // TODO unit test for the property 'WeeklyWeekday' + } + + /// + /// Test the property 'CreatedAt' + /// + [Fact] + public void CreatedAtTest() + { + // TODO unit test for the property 'CreatedAt' + } + + /// + /// Test the property 'LastFiredAt' + /// + [Fact] + public void LastFiredAtTest() + { + // TODO unit test for the property 'LastFiredAt' + } + + /// + /// Test the property 'UpdatedAt' + /// + [Fact] + public void UpdatedAtTest() + { + // TODO unit test for the property 'UpdatedAt' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ConditionEntryTests.cs b/src/Dofusdude.Api.Test/Model/ConditionEntryTests.cs new file mode 100644 index 0000000..58f5441 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ConditionEntryTests.cs @@ -0,0 +1,85 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ConditionEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ConditionEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ConditionEntry + //private ConditionEntry instance; + + public ConditionEntryTests() + { + // TODO uncomment below to create an instance of ConditionEntry + //instance = new ConditionEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ConditionEntry + /// + [Fact] + public void ConditionEntryInstanceTest() + { + // TODO uncomment below to test "IsType" ConditionEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'Operator' + /// + [Fact] + public void OperatorTest() + { + // TODO unit test for the property 'Operator' + } + + /// + /// Test the property 'IntValue' + /// + [Fact] + public void IntValueTest() + { + // TODO unit test for the property 'IntValue' + } + + /// + /// Test the property 'Element' + /// + [Fact] + public void ElementTest() + { + // TODO unit test for the property 'Element' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ConditionTreeLeafTests.cs b/src/Dofusdude.Api.Test/Model/ConditionTreeLeafTests.cs new file mode 100644 index 0000000..06fcded --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ConditionTreeLeafTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ConditionTreeLeaf + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ConditionTreeLeafTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ConditionTreeLeaf + //private ConditionTreeLeaf instance; + + public ConditionTreeLeafTests() + { + // TODO uncomment below to create an instance of ConditionTreeLeaf + //instance = new ConditionTreeLeaf(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ConditionTreeLeaf + /// + [Fact] + public void ConditionTreeLeafInstanceTest() + { + // TODO uncomment below to test "IsType" ConditionTreeLeaf + //Assert.IsType(instance); + } + + /// + /// Test the property 'IsOperand' + /// + [Fact] + public void IsOperandTest() + { + // TODO unit test for the property 'IsOperand' + } + + /// + /// Test the property 'Condition' + /// + [Fact] + public void ConditionTest() + { + // TODO unit test for the property 'Condition' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ConditionTreeNodeTests.cs b/src/Dofusdude.Api.Test/Model/ConditionTreeNodeTests.cs new file mode 100644 index 0000000..8da2367 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ConditionTreeNodeTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ConditionTreeNode + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ConditionTreeNodeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ConditionTreeNode + //private ConditionTreeNode instance; + + public ConditionTreeNodeTests() + { + // TODO uncomment below to create an instance of ConditionTreeNode + //instance = new ConditionTreeNode(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ConditionTreeNode + /// + [Fact] + public void ConditionTreeNodeInstanceTest() + { + // TODO uncomment below to test "IsType" ConditionTreeNode + //Assert.IsType(instance); + } + + /// + /// Test the property 'IsOperand' + /// + [Fact] + public void IsOperandTest() + { + // TODO unit test for the property 'IsOperand' + } + + /// + /// Test the property 'Relation' + /// + [Fact] + public void RelationTest() + { + // TODO unit test for the property 'Relation' + } + + /// + /// Test the property 'Children' + /// + [Fact] + public void ChildrenTest() + { + // TODO unit test for the property 'Children' + } + + /// + /// Test the property 'Condition' + /// + [Fact] + public void ConditionTest() + { + // TODO unit test for the property 'Condition' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ConditionTreeRelationTests.cs b/src/Dofusdude.Api.Test/Model/ConditionTreeRelationTests.cs new file mode 100644 index 0000000..9c4ac5d --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ConditionTreeRelationTests.cs @@ -0,0 +1,85 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ConditionTreeRelation + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ConditionTreeRelationTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ConditionTreeRelation + //private ConditionTreeRelation instance; + + public ConditionTreeRelationTests() + { + // TODO uncomment below to create an instance of ConditionTreeRelation + //instance = new ConditionTreeRelation(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ConditionTreeRelation + /// + [Fact] + public void ConditionTreeRelationInstanceTest() + { + // TODO uncomment below to test "IsType" ConditionTreeRelation + //Assert.IsType(instance); + } + + /// + /// Test the property 'IsOperand' + /// + [Fact] + public void IsOperandTest() + { + // TODO unit test for the property 'IsOperand' + } + + /// + /// Test the property 'Relation' + /// + [Fact] + public void RelationTest() + { + // TODO unit test for the property 'Relation' + } + + /// + /// Test the property 'Children' + /// + [Fact] + public void ChildrenTest() + { + // TODO unit test for the property 'Children' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/CosmeticTests.cs b/src/Dofusdude.Api.Test/Model/CosmeticTests.cs new file mode 100644 index 0000000..3a3514d --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/CosmeticTests.cs @@ -0,0 +1,157 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing Cosmetic + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CosmeticTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Cosmetic + //private Cosmetic instance; + + public CosmeticTests() + { + // TODO uncomment below to create an instance of Cosmetic + //instance = new Cosmetic(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Cosmetic + /// + [Fact] + public void CosmeticInstanceTest() + { + // TODO uncomment below to test "IsType" Cosmetic + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'Level' + /// + [Fact] + public void LevelTest() + { + // TODO unit test for the property 'Level' + } + + /// + /// Test the property 'Pods' + /// + [Fact] + public void PodsTest() + { + // TODO unit test for the property 'Pods' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + + /// + /// Test the property 'Conditions' + /// + [Fact] + public void ConditionsTest() + { + // TODO unit test for the property 'Conditions' + } + + /// + /// Test the property 'ConditionTree' + /// + [Fact] + public void ConditionTreeTest() + { + // TODO unit test for the property 'ConditionTree' + } + + /// + /// Test the property 'Recipe' + /// + [Fact] + public void RecipeTest() + { + // TODO unit test for the property 'Recipe' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/CosmeticTypeTests.cs b/src/Dofusdude.Api.Test/Model/CosmeticTypeTests.cs new file mode 100644 index 0000000..af0e980 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/CosmeticTypeTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing CosmeticType + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CosmeticTypeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CosmeticType + //private CosmeticType instance; + + public CosmeticTypeTests() + { + // TODO uncomment below to create an instance of CosmeticType + //instance = new CosmeticType(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CosmeticType + /// + [Fact] + public void CosmeticTypeInstanceTest() + { + // TODO uncomment below to test "IsType" CosmeticType + //Assert.IsType(instance); + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookDailySettingsTests.cs b/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookDailySettingsTests.cs new file mode 100644 index 0000000..60778e0 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookDailySettingsTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing CreateAlmanaxWebhookDailySettings + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CreateAlmanaxWebhookDailySettingsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CreateAlmanaxWebhookDailySettings + //private CreateAlmanaxWebhookDailySettings instance; + + public CreateAlmanaxWebhookDailySettingsTests() + { + // TODO uncomment below to create an instance of CreateAlmanaxWebhookDailySettings + //instance = new CreateAlmanaxWebhookDailySettings(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CreateAlmanaxWebhookDailySettings + /// + [Fact] + public void CreateAlmanaxWebhookDailySettingsInstanceTest() + { + // TODO uncomment below to test "IsType" CreateAlmanaxWebhookDailySettings + //Assert.IsType(instance); + } + + /// + /// Test the property 'Timezone' + /// + [Fact] + public void TimezoneTest() + { + // TODO unit test for the property 'Timezone' + } + + /// + /// Test the property 'MidnightOffset' + /// + [Fact] + public void MidnightOffsetTest() + { + // TODO unit test for the property 'MidnightOffset' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookMentionsValueInnerTests.cs b/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookMentionsValueInnerTests.cs new file mode 100644 index 0000000..ad11d0c --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookMentionsValueInnerTests.cs @@ -0,0 +1,85 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing CreateAlmanaxWebhookMentionsValueInner + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CreateAlmanaxWebhookMentionsValueInnerTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CreateAlmanaxWebhookMentionsValueInner + //private CreateAlmanaxWebhookMentionsValueInner instance; + + public CreateAlmanaxWebhookMentionsValueInnerTests() + { + // TODO uncomment below to create an instance of CreateAlmanaxWebhookMentionsValueInner + //instance = new CreateAlmanaxWebhookMentionsValueInner(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CreateAlmanaxWebhookMentionsValueInner + /// + [Fact] + public void CreateAlmanaxWebhookMentionsValueInnerInstanceTest() + { + // TODO uncomment below to test "IsType" CreateAlmanaxWebhookMentionsValueInner + //Assert.IsType(instance); + } + + /// + /// Test the property 'DiscordId' + /// + [Fact] + public void DiscordIdTest() + { + // TODO unit test for the property 'DiscordId' + } + + /// + /// Test the property 'IsRole' + /// + [Fact] + public void IsRoleTest() + { + // TODO unit test for the property 'IsRole' + } + + /// + /// Test the property 'PingDaysBefore' + /// + [Fact] + public void PingDaysBeforeTest() + { + // TODO unit test for the property 'PingDaysBefore' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookTests.cs b/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookTests.cs new file mode 100644 index 0000000..2dd680c --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/CreateAlmanaxWebhookTests.cs @@ -0,0 +1,148 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing CreateAlmanaxWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CreateAlmanaxWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CreateAlmanaxWebhook + //private CreateAlmanaxWebhook instance; + + public CreateAlmanaxWebhookTests() + { + // TODO uncomment below to create an instance of CreateAlmanaxWebhook + //instance = new CreateAlmanaxWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CreateAlmanaxWebhook + /// + [Fact] + public void CreateAlmanaxWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" CreateAlmanaxWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'BonusWhitelist' + /// + [Fact] + public void BonusWhitelistTest() + { + // TODO unit test for the property 'BonusWhitelist' + } + + /// + /// Test the property 'BonusBlacklist' + /// + [Fact] + public void BonusBlacklistTest() + { + // TODO unit test for the property 'BonusBlacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'Format' + /// + [Fact] + public void FormatTest() + { + // TODO unit test for the property 'Format' + } + + /// + /// Test the property 'Callback' + /// + [Fact] + public void CallbackTest() + { + // TODO unit test for the property 'Callback' + } + + /// + /// Test the property 'DailySettings' + /// + [Fact] + public void DailySettingsTest() + { + // TODO unit test for the property 'DailySettings' + } + + /// + /// Test the property 'IsoDate' + /// + [Fact] + public void IsoDateTest() + { + // TODO unit test for the property 'IsoDate' + } + + /// + /// Test the property 'Mentions' + /// + [Fact] + public void MentionsTest() + { + // TODO unit test for the property 'Mentions' + } + + /// + /// Test the property 'Intervals' + /// + [Fact] + public void IntervalsTest() + { + // TODO unit test for the property 'Intervals' + } + + /// + /// Test the property 'WeeklyWeekday' + /// + [Fact] + public void WeeklyWeekdayTest() + { + // TODO unit test for the property 'WeeklyWeekday' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/CreateRSSWebhookTests.cs b/src/Dofusdude.Api.Test/Model/CreateRSSWebhookTests.cs new file mode 100644 index 0000000..5557844 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/CreateRSSWebhookTests.cs @@ -0,0 +1,112 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing CreateRSSWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CreateRSSWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CreateRSSWebhook + //private CreateRSSWebhook instance; + + public CreateRSSWebhookTests() + { + // TODO uncomment below to create an instance of CreateRSSWebhook + //instance = new CreateRSSWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CreateRSSWebhook + /// + [Fact] + public void CreateRSSWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" CreateRSSWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'Whitelist' + /// + [Fact] + public void WhitelistTest() + { + // TODO unit test for the property 'Whitelist' + } + + /// + /// Test the property 'Blacklist' + /// + [Fact] + public void BlacklistTest() + { + // TODO unit test for the property 'Blacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'Format' + /// + [Fact] + public void FormatTest() + { + // TODO unit test for the property 'Format' + } + + /// + /// Test the property 'PreviewLength' + /// + [Fact] + public void PreviewLengthTest() + { + // TODO unit test for the property 'PreviewLength' + } + + /// + /// Test the property 'Callback' + /// + [Fact] + public void CallbackTest() + { + // TODO unit test for the property 'Callback' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/CreateTwitterWebhookTests.cs b/src/Dofusdude.Api.Test/Model/CreateTwitterWebhookTests.cs new file mode 100644 index 0000000..15a5974 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/CreateTwitterWebhookTests.cs @@ -0,0 +1,112 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing CreateTwitterWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class CreateTwitterWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for CreateTwitterWebhook + //private CreateTwitterWebhook instance; + + public CreateTwitterWebhookTests() + { + // TODO uncomment below to create an instance of CreateTwitterWebhook + //instance = new CreateTwitterWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CreateTwitterWebhook + /// + [Fact] + public void CreateTwitterWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" CreateTwitterWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'Whitelist' + /// + [Fact] + public void WhitelistTest() + { + // TODO unit test for the property 'Whitelist' + } + + /// + /// Test the property 'Blacklist' + /// + [Fact] + public void BlacklistTest() + { + // TODO unit test for the property 'Blacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'Format' + /// + [Fact] + public void FormatTest() + { + // TODO unit test for the property 'Format' + } + + /// + /// Test the property 'PreviewLength' + /// + [Fact] + public void PreviewLengthTest() + { + // TODO unit test for the property 'PreviewLength' + } + + /// + /// Test the property 'Callback' + /// + [Fact] + public void CallbackTest() + { + // TODO unit test for the property 'Callback' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/EffectsEntryTests.cs b/src/Dofusdude.Api.Test/Model/EffectsEntryTests.cs new file mode 100644 index 0000000..bc076d6 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/EffectsEntryTests.cs @@ -0,0 +1,112 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing EffectsEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class EffectsEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for EffectsEntry + //private EffectsEntry instance; + + public EffectsEntryTests() + { + // TODO uncomment below to create an instance of EffectsEntry + //instance = new EffectsEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of EffectsEntry + /// + [Fact] + public void EffectsEntryInstanceTest() + { + // TODO uncomment below to test "IsType" EffectsEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'IntMinimum' + /// + [Fact] + public void IntMinimumTest() + { + // TODO unit test for the property 'IntMinimum' + } + + /// + /// Test the property 'IntMaximum' + /// + [Fact] + public void IntMaximumTest() + { + // TODO unit test for the property 'IntMaximum' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'IgnoreIntMin' + /// + [Fact] + public void IgnoreIntMinTest() + { + // TODO unit test for the property 'IgnoreIntMin' + } + + /// + /// Test the property 'IgnoreIntMax' + /// + [Fact] + public void IgnoreIntMaxTest() + { + // TODO unit test for the property 'IgnoreIntMax' + } + + /// + /// Test the property 'Formatted' + /// + [Fact] + public void FormattedTest() + { + // TODO unit test for the property 'Formatted' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/EquipmentSetTests.cs b/src/Dofusdude.Api.Test/Model/EquipmentSetTests.cs new file mode 100644 index 0000000..83f885b --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/EquipmentSetTests.cs @@ -0,0 +1,103 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing EquipmentSet + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class EquipmentSetTests : IDisposable + { + // TODO uncomment below to declare an instance variable for EquipmentSet + //private EquipmentSet instance; + + public EquipmentSetTests() + { + // TODO uncomment below to create an instance of EquipmentSet + //instance = new EquipmentSet(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of EquipmentSet + /// + [Fact] + public void EquipmentSetInstanceTest() + { + // TODO uncomment below to test "IsType" EquipmentSet + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'EquipmentIds' + /// + [Fact] + public void EquipmentIdsTest() + { + // TODO unit test for the property 'EquipmentIds' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + + /// + /// Test the property 'HighestEquipmentLevel' + /// + [Fact] + public void HighestEquipmentLevelTest() + { + // TODO unit test for the property 'HighestEquipmentLevel' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/EquipmentTests.cs b/src/Dofusdude.Api.Test/Model/EquipmentTests.cs new file mode 100644 index 0000000..5c16f95 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/EquipmentTests.cs @@ -0,0 +1,175 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing Equipment + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class EquipmentTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Equipment + //private Equipment instance; + + public EquipmentTests() + { + // TODO uncomment below to create an instance of Equipment + //instance = new Equipment(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Equipment + /// + [Fact] + public void EquipmentInstanceTest() + { + // TODO uncomment below to test "IsType" Equipment + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'IsWeapon' + /// + [Fact] + public void IsWeaponTest() + { + // TODO unit test for the property 'IsWeapon' + } + + /// + /// Test the property 'Level' + /// + [Fact] + public void LevelTest() + { + // TODO unit test for the property 'Level' + } + + /// + /// Test the property 'Pods' + /// + [Fact] + public void PodsTest() + { + // TODO unit test for the property 'Pods' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + + /// + /// Test the property 'Conditions' + /// + [Fact] + public void ConditionsTest() + { + // TODO unit test for the property 'Conditions' + } + + /// + /// Test the property 'ConditionTree' + /// + [Fact] + public void ConditionTreeTest() + { + // TODO unit test for the property 'ConditionTree' + } + + /// + /// Test the property 'Recipe' + /// + [Fact] + public void RecipeTest() + { + // TODO unit test for the property 'Recipe' + } + + /// + /// Test the property 'ParentSet' + /// + [Fact] + public void ParentSetTest() + { + // TODO unit test for the property 'ParentSet' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/GetGameSearch200ResponseInnerTests.cs b/src/Dofusdude.Api.Test/Model/GetGameSearch200ResponseInnerTests.cs new file mode 100644 index 0000000..c540e88 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/GetGameSearch200ResponseInnerTests.cs @@ -0,0 +1,85 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing GetGameSearch200ResponseInner + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class GetGameSearch200ResponseInnerTests : IDisposable + { + // TODO uncomment below to declare an instance variable for GetGameSearch200ResponseInner + //private GetGameSearch200ResponseInner instance; + + public GetGameSearch200ResponseInnerTests() + { + // TODO uncomment below to create an instance of GetGameSearch200ResponseInner + //instance = new GetGameSearch200ResponseInner(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of GetGameSearch200ResponseInner + /// + [Fact] + public void GetGameSearch200ResponseInnerInstanceTest() + { + // TODO uncomment below to test "IsType" GetGameSearch200ResponseInner + //Assert.IsType(instance); + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/GetMetaAlmanaxBonuses200ResponseInnerTests.cs b/src/Dofusdude.Api.Test/Model/GetMetaAlmanaxBonuses200ResponseInnerTests.cs new file mode 100644 index 0000000..5acdf9e --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/GetMetaAlmanaxBonuses200ResponseInnerTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing GetMetaAlmanaxBonuses200ResponseInner + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class GetMetaAlmanaxBonuses200ResponseInnerTests : IDisposable + { + // TODO uncomment below to declare an instance variable for GetMetaAlmanaxBonuses200ResponseInner + //private GetMetaAlmanaxBonuses200ResponseInner instance; + + public GetMetaAlmanaxBonuses200ResponseInnerTests() + { + // TODO uncomment below to create an instance of GetMetaAlmanaxBonuses200ResponseInner + //instance = new GetMetaAlmanaxBonuses200ResponseInner(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of GetMetaAlmanaxBonuses200ResponseInner + /// + [Fact] + public void GetMetaAlmanaxBonuses200ResponseInnerInstanceTest() + { + // TODO uncomment below to test "IsType" GetMetaAlmanaxBonuses200ResponseInner + //Assert.IsType(instance); + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/GetMetaWebhooksTwitter200ResponseTests.cs b/src/Dofusdude.Api.Test/Model/GetMetaWebhooksTwitter200ResponseTests.cs new file mode 100644 index 0000000..14f48d5 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/GetMetaWebhooksTwitter200ResponseTests.cs @@ -0,0 +1,67 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing GetMetaWebhooksTwitter200Response + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class GetMetaWebhooksTwitter200ResponseTests : IDisposable + { + // TODO uncomment below to declare an instance variable for GetMetaWebhooksTwitter200Response + //private GetMetaWebhooksTwitter200Response instance; + + public GetMetaWebhooksTwitter200ResponseTests() + { + // TODO uncomment below to create an instance of GetMetaWebhooksTwitter200Response + //instance = new GetMetaWebhooksTwitter200Response(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of GetMetaWebhooksTwitter200Response + /// + [Fact] + public void GetMetaWebhooksTwitter200ResponseInstanceTest() + { + // TODO uncomment below to test "IsType" GetMetaWebhooksTwitter200Response + //Assert.IsType(instance); + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ImageUrlsTests.cs b/src/Dofusdude.Api.Test/Model/ImageUrlsTests.cs new file mode 100644 index 0000000..26097e1 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ImageUrlsTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ImageUrls + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ImageUrlsTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ImageUrls + //private ImageUrls instance; + + public ImageUrlsTests() + { + // TODO uncomment below to create an instance of ImageUrls + //instance = new ImageUrls(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ImageUrls + /// + [Fact] + public void ImageUrlsInstanceTest() + { + // TODO uncomment below to test "IsType" ImageUrls + //Assert.IsType(instance); + } + + /// + /// Test the property 'Icon' + /// + [Fact] + public void IconTest() + { + // TODO unit test for the property 'Icon' + } + + /// + /// Test the property 'Sd' + /// + [Fact] + public void SdTest() + { + // TODO unit test for the property 'Sd' + } + + /// + /// Test the property 'Hq' + /// + [Fact] + public void HqTest() + { + // TODO unit test for the property 'Hq' + } + + /// + /// Test the property 'Hd' + /// + [Fact] + public void HdTest() + { + // TODO unit test for the property 'Hd' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ItemListEntryParentSetTests.cs b/src/Dofusdude.Api.Test/Model/ItemListEntryParentSetTests.cs new file mode 100644 index 0000000..fa05a33 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ItemListEntryParentSetTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ItemListEntryParentSet + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ItemListEntryParentSetTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ItemListEntryParentSet + //private ItemListEntryParentSet instance; + + public ItemListEntryParentSetTests() + { + // TODO uncomment below to create an instance of ItemListEntryParentSet + //instance = new ItemListEntryParentSet(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ItemListEntryParentSet + /// + [Fact] + public void ItemListEntryParentSetInstanceTest() + { + // TODO uncomment below to test "IsType" ItemListEntryParentSet + //Assert.IsType(instance); + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ItemListEntryRangeTests.cs b/src/Dofusdude.Api.Test/Model/ItemListEntryRangeTests.cs new file mode 100644 index 0000000..646231a --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ItemListEntryRangeTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ItemListEntryRange + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ItemListEntryRangeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ItemListEntryRange + //private ItemListEntryRange instance; + + public ItemListEntryRangeTests() + { + // TODO uncomment below to create an instance of ItemListEntryRange + //instance = new ItemListEntryRange(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ItemListEntryRange + /// + [Fact] + public void ItemListEntryRangeInstanceTest() + { + // TODO uncomment below to test "IsType" ItemListEntryRange + //Assert.IsType(instance); + } + + /// + /// Test the property 'Min' + /// + [Fact] + public void MinTest() + { + // TODO unit test for the property 'Min' + } + + /// + /// Test the property 'Max' + /// + [Fact] + public void MaxTest() + { + // TODO unit test for the property 'Max' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ItemListEntryTests.cs b/src/Dofusdude.Api.Test/Model/ItemListEntryTests.cs new file mode 100644 index 0000000..8a9fd9a --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ItemListEntryTests.cs @@ -0,0 +1,229 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ItemListEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ItemListEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ItemListEntry + //private ItemListEntry instance; + + public ItemListEntryTests() + { + // TODO uncomment below to create an instance of ItemListEntry + //instance = new ItemListEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ItemListEntry + /// + [Fact] + public void ItemListEntryInstanceTest() + { + // TODO uncomment below to test "IsType" ItemListEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'Level' + /// + [Fact] + public void LevelTest() + { + // TODO unit test for the property 'Level' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Recipe' + /// + [Fact] + public void RecipeTest() + { + // TODO unit test for the property 'Recipe' + } + + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + + /// + /// Test the property 'Conditions' + /// + [Fact] + public void ConditionsTest() + { + // TODO unit test for the property 'Conditions' + } + + /// + /// Test the property 'ConditionTree' + /// + [Fact] + public void ConditionTreeTest() + { + // TODO unit test for the property 'ConditionTree' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + + /// + /// Test the property 'IsWeapon' + /// + [Fact] + public void IsWeaponTest() + { + // TODO unit test for the property 'IsWeapon' + } + + /// + /// Test the property 'Pods' + /// + [Fact] + public void PodsTest() + { + // TODO unit test for the property 'Pods' + } + + /// + /// Test the property 'ParentSet' + /// + [Fact] + public void ParentSetTest() + { + // TODO unit test for the property 'ParentSet' + } + + /// + /// Test the property 'CriticalHitProbability' + /// + [Fact] + public void CriticalHitProbabilityTest() + { + // TODO unit test for the property 'CriticalHitProbability' + } + + /// + /// Test the property 'CriticalHitBonus' + /// + [Fact] + public void CriticalHitBonusTest() + { + // TODO unit test for the property 'CriticalHitBonus' + } + + /// + /// Test the property 'IsTwoHanded' + /// + [Fact] + public void IsTwoHandedTest() + { + // TODO unit test for the property 'IsTwoHanded' + } + + /// + /// Test the property 'MaxCastPerTurn' + /// + [Fact] + public void MaxCastPerTurnTest() + { + // TODO unit test for the property 'MaxCastPerTurn' + } + + /// + /// Test the property 'ApCost' + /// + [Fact] + public void ApCostTest() + { + // TODO unit test for the property 'ApCost' + } + + /// + /// Test the property 'Range' + /// + [Fact] + public void RangeTest() + { + // TODO unit test for the property 'Range' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTests.cs b/src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTests.cs new file mode 100644 index 0000000..336a28f --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTests.cs @@ -0,0 +1,112 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ItemsListEntryTyped + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ItemsListEntryTypedTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ItemsListEntryTyped + //private ItemsListEntryTyped instance; + + public ItemsListEntryTypedTests() + { + // TODO uncomment below to create an instance of ItemsListEntryTyped + //instance = new ItemsListEntryTyped(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ItemsListEntryTyped + /// + [Fact] + public void ItemsListEntryTypedInstanceTest() + { + // TODO uncomment below to test "IsType" ItemsListEntryTyped + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'ItemSubtype' + /// + [Fact] + public void ItemSubtypeTest() + { + // TODO unit test for the property 'ItemSubtype' + } + + /// + /// Test the property 'Level' + /// + [Fact] + public void LevelTest() + { + // TODO unit test for the property 'Level' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTypeTests.cs b/src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTypeTests.cs new file mode 100644 index 0000000..d2afe94 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ItemsListEntryTypedTypeTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ItemsListEntryTypedType + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ItemsListEntryTypedTypeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ItemsListEntryTypedType + //private ItemsListEntryTypedType instance; + + public ItemsListEntryTypedTypeTests() + { + // TODO uncomment below to create an instance of ItemsListEntryTypedType + //instance = new ItemsListEntryTypedType(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ItemsListEntryTypedType + /// + [Fact] + public void ItemsListEntryTypedTypeInstanceTest() + { + // TODO uncomment below to test "IsType" ItemsListEntryTypedType + //Assert.IsType(instance); + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ItemsListPagedTests.cs b/src/Dofusdude.Api.Test/Model/ItemsListPagedTests.cs new file mode 100644 index 0000000..3f7e4de --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ItemsListPagedTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing ItemsListPaged + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ItemsListPagedTests : IDisposable + { + // TODO uncomment below to declare an instance variable for ItemsListPaged + //private ItemsListPaged instance; + + public ItemsListPagedTests() + { + // TODO uncomment below to create an instance of ItemsListPaged + //instance = new ItemsListPaged(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ItemsListPaged + /// + [Fact] + public void ItemsListPagedInstanceTest() + { + // TODO uncomment below to test "IsType" ItemsListPaged + //Assert.IsType(instance); + } + + /// + /// Test the property 'Links' + /// + [Fact] + public void LinksTest() + { + // TODO unit test for the property 'Links' + } + + /// + /// Test the property 'Items' + /// + [Fact] + public void ItemsTest() + { + // TODO unit test for the property 'Items' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/LinksPagedTests.cs b/src/Dofusdude.Api.Test/Model/LinksPagedTests.cs new file mode 100644 index 0000000..4ee4478 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/LinksPagedTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing LinksPaged + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class LinksPagedTests : IDisposable + { + // TODO uncomment below to declare an instance variable for LinksPaged + //private LinksPaged instance; + + public LinksPagedTests() + { + // TODO uncomment below to create an instance of LinksPaged + //instance = new LinksPaged(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of LinksPaged + /// + [Fact] + public void LinksPagedInstanceTest() + { + // TODO uncomment below to test "IsType" LinksPaged + //Assert.IsType(instance); + } + + /// + /// Test the property 'First' + /// + [Fact] + public void FirstTest() + { + // TODO unit test for the property 'First' + } + + /// + /// Test the property 'Prev' + /// + [Fact] + public void PrevTest() + { + // TODO unit test for the property 'Prev' + } + + /// + /// Test the property 'Next' + /// + [Fact] + public void NextTest() + { + // TODO unit test for the property 'Next' + } + + /// + /// Test the property 'Last' + /// + [Fact] + public void LastTest() + { + // TODO unit test for the property 'Last' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/MountListEntryTests.cs b/src/Dofusdude.Api.Test/Model/MountListEntryTests.cs new file mode 100644 index 0000000..d1a8d19 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/MountListEntryTests.cs @@ -0,0 +1,103 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing MountListEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class MountListEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for MountListEntry + //private MountListEntry instance; + + public MountListEntryTests() + { + // TODO uncomment below to create an instance of MountListEntry + //instance = new MountListEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MountListEntry + /// + [Fact] + public void MountListEntryInstanceTest() + { + // TODO uncomment below to test "IsType" MountListEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'FamilyName' + /// + [Fact] + public void FamilyNameTest() + { + // TODO unit test for the property 'FamilyName' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/MountTests.cs b/src/Dofusdude.Api.Test/Model/MountTests.cs new file mode 100644 index 0000000..6054bbb --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/MountTests.cs @@ -0,0 +1,103 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing Mount + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class MountTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Mount + //private Mount instance; + + public MountTests() + { + // TODO uncomment below to create an instance of Mount + //instance = new Mount(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Mount + /// + [Fact] + public void MountInstanceTest() + { + // TODO uncomment below to test "IsType" Mount + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'FamilyName' + /// + [Fact] + public void FamilyNameTest() + { + // TODO unit test for the property 'FamilyName' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/MountsListPagedTests.cs b/src/Dofusdude.Api.Test/Model/MountsListPagedTests.cs new file mode 100644 index 0000000..4040c9c --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/MountsListPagedTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing MountsListPaged + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class MountsListPagedTests : IDisposable + { + // TODO uncomment below to declare an instance variable for MountsListPaged + //private MountsListPaged instance; + + public MountsListPagedTests() + { + // TODO uncomment below to create an instance of MountsListPaged + //instance = new MountsListPaged(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of MountsListPaged + /// + [Fact] + public void MountsListPagedInstanceTest() + { + // TODO uncomment below to test "IsType" MountsListPaged + //Assert.IsType(instance); + } + + /// + /// Test the property 'Links' + /// + [Fact] + public void LinksTest() + { + // TODO unit test for the property 'Links' + } + + /// + /// Test the property 'Items' + /// + [Fact] + public void ItemsTest() + { + // TODO unit test for the property 'Items' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/PutAlmanaxWebhookTests.cs b/src/Dofusdude.Api.Test/Model/PutAlmanaxWebhookTests.cs new file mode 100644 index 0000000..24f7f65 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/PutAlmanaxWebhookTests.cs @@ -0,0 +1,130 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing PutAlmanaxWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class PutAlmanaxWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for PutAlmanaxWebhook + //private PutAlmanaxWebhook instance; + + public PutAlmanaxWebhookTests() + { + // TODO uncomment below to create an instance of PutAlmanaxWebhook + //instance = new PutAlmanaxWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of PutAlmanaxWebhook + /// + [Fact] + public void PutAlmanaxWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" PutAlmanaxWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'BonusWhitelist' + /// + [Fact] + public void BonusWhitelistTest() + { + // TODO unit test for the property 'BonusWhitelist' + } + + /// + /// Test the property 'BonusBlacklist' + /// + [Fact] + public void BonusBlacklistTest() + { + // TODO unit test for the property 'BonusBlacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'DailySettings' + /// + [Fact] + public void DailySettingsTest() + { + // TODO unit test for the property 'DailySettings' + } + + /// + /// Test the property 'IsoDate' + /// + [Fact] + public void IsoDateTest() + { + // TODO unit test for the property 'IsoDate' + } + + /// + /// Test the property 'Mentions' + /// + [Fact] + public void MentionsTest() + { + // TODO unit test for the property 'Mentions' + } + + /// + /// Test the property 'Intervals' + /// + [Fact] + public void IntervalsTest() + { + // TODO unit test for the property 'Intervals' + } + + /// + /// Test the property 'WeeklyWeekday' + /// + [Fact] + public void WeeklyWeekdayTest() + { + // TODO unit test for the property 'WeeklyWeekday' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/PutRSSWebhookTests.cs b/src/Dofusdude.Api.Test/Model/PutRSSWebhookTests.cs new file mode 100644 index 0000000..de7c463 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/PutRSSWebhookTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing PutRSSWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class PutRSSWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for PutRSSWebhook + //private PutRSSWebhook instance; + + public PutRSSWebhookTests() + { + // TODO uncomment below to create an instance of PutRSSWebhook + //instance = new PutRSSWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of PutRSSWebhook + /// + [Fact] + public void PutRSSWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" PutRSSWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'Whitelist' + /// + [Fact] + public void WhitelistTest() + { + // TODO unit test for the property 'Whitelist' + } + + /// + /// Test the property 'Blacklist' + /// + [Fact] + public void BlacklistTest() + { + // TODO unit test for the property 'Blacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'PreviewLength' + /// + [Fact] + public void PreviewLengthTest() + { + // TODO unit test for the property 'PreviewLength' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/PutTwitterWebhookTests.cs b/src/Dofusdude.Api.Test/Model/PutTwitterWebhookTests.cs new file mode 100644 index 0000000..5c521dc --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/PutTwitterWebhookTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing PutTwitterWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class PutTwitterWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for PutTwitterWebhook + //private PutTwitterWebhook instance; + + public PutTwitterWebhookTests() + { + // TODO uncomment below to create an instance of PutTwitterWebhook + //instance = new PutTwitterWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of PutTwitterWebhook + /// + [Fact] + public void PutTwitterWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" PutTwitterWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'Whitelist' + /// + [Fact] + public void WhitelistTest() + { + // TODO unit test for the property 'Whitelist' + } + + /// + /// Test the property 'Blacklist' + /// + [Fact] + public void BlacklistTest() + { + // TODO unit test for the property 'Blacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'PreviewLength' + /// + [Fact] + public void PreviewLengthTest() + { + // TODO unit test for the property 'PreviewLength' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/RecipeEntryTests.cs b/src/Dofusdude.Api.Test/Model/RecipeEntryTests.cs new file mode 100644 index 0000000..b3177ed --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/RecipeEntryTests.cs @@ -0,0 +1,85 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing RecipeEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class RecipeEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for RecipeEntry + //private RecipeEntry instance; + + public RecipeEntryTests() + { + // TODO uncomment below to create an instance of RecipeEntry + //instance = new RecipeEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of RecipeEntry + /// + [Fact] + public void RecipeEntryInstanceTest() + { + // TODO uncomment below to test "IsType" RecipeEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'ItemAnkamaId' + /// + [Fact] + public void ItemAnkamaIdTest() + { + // TODO unit test for the property 'ItemAnkamaId' + } + + /// + /// Test the property 'ItemSubtype' + /// + [Fact] + public void ItemSubtypeTest() + { + // TODO unit test for the property 'ItemSubtype' + } + + /// + /// Test the property 'Quantity' + /// + [Fact] + public void QuantityTest() + { + // TODO unit test for the property 'Quantity' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/ResourceTests.cs b/src/Dofusdude.Api.Test/Model/ResourceTests.cs new file mode 100644 index 0000000..6667e53 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/ResourceTests.cs @@ -0,0 +1,157 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing Resource + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class ResourceTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Resource + //private Resource instance; + + public ResourceTests() + { + // TODO uncomment below to create an instance of Resource + //instance = new Resource(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Resource + /// + [Fact] + public void ResourceInstanceTest() + { + // TODO uncomment below to test "IsType" Resource + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'Level' + /// + [Fact] + public void LevelTest() + { + // TODO unit test for the property 'Level' + } + + /// + /// Test the property 'Pods' + /// + [Fact] + public void PodsTest() + { + // TODO unit test for the property 'Pods' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + + /// + /// Test the property 'Conditions' + /// + [Fact] + public void ConditionsTest() + { + // TODO unit test for the property 'Conditions' + } + + /// + /// Test the property 'ConditionTree' + /// + [Fact] + public void ConditionTreeTest() + { + // TODO unit test for the property 'ConditionTree' + } + + /// + /// Test the property 'Recipe' + /// + [Fact] + public void RecipeTest() + { + // TODO unit test for the property 'Recipe' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/RssWebhookTests.cs b/src/Dofusdude.Api.Test/Model/RssWebhookTests.cs new file mode 100644 index 0000000..4baccee --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/RssWebhookTests.cs @@ -0,0 +1,139 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing RssWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class RssWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for RssWebhook + //private RssWebhook instance; + + public RssWebhookTests() + { + // TODO uncomment below to create an instance of RssWebhook + //instance = new RssWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of RssWebhook + /// + [Fact] + public void RssWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" RssWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + + /// + /// Test the property 'Whitelist' + /// + [Fact] + public void WhitelistTest() + { + // TODO unit test for the property 'Whitelist' + } + + /// + /// Test the property 'Blacklist' + /// + [Fact] + public void BlacklistTest() + { + // TODO unit test for the property 'Blacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'Format' + /// + [Fact] + public void FormatTest() + { + // TODO unit test for the property 'Format' + } + + /// + /// Test the property 'PreviewLength' + /// + [Fact] + public void PreviewLengthTest() + { + // TODO unit test for the property 'PreviewLength' + } + + /// + /// Test the property 'CreatedAt' + /// + [Fact] + public void CreatedAtTest() + { + // TODO unit test for the property 'CreatedAt' + } + + /// + /// Test the property 'LastFiredAt' + /// + [Fact] + public void LastFiredAtTest() + { + // TODO unit test for the property 'LastFiredAt' + } + + /// + /// Test the property 'UpdatedAt' + /// + [Fact] + public void UpdatedAtTest() + { + // TODO unit test for the property 'UpdatedAt' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/SetEffectsEntryTests.cs b/src/Dofusdude.Api.Test/Model/SetEffectsEntryTests.cs new file mode 100644 index 0000000..0d564df --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/SetEffectsEntryTests.cs @@ -0,0 +1,121 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing SetEffectsEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class SetEffectsEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for SetEffectsEntry + //private SetEffectsEntry instance; + + public SetEffectsEntryTests() + { + // TODO uncomment below to create an instance of SetEffectsEntry + //instance = new SetEffectsEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of SetEffectsEntry + /// + [Fact] + public void SetEffectsEntryInstanceTest() + { + // TODO uncomment below to test "IsType" SetEffectsEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'IntMinimum' + /// + [Fact] + public void IntMinimumTest() + { + // TODO unit test for the property 'IntMinimum' + } + + /// + /// Test the property 'IntMaximum' + /// + [Fact] + public void IntMaximumTest() + { + // TODO unit test for the property 'IntMaximum' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'IgnoreIntMin' + /// + [Fact] + public void IgnoreIntMinTest() + { + // TODO unit test for the property 'IgnoreIntMin' + } + + /// + /// Test the property 'IgnoreIntMax' + /// + [Fact] + public void IgnoreIntMaxTest() + { + // TODO unit test for the property 'IgnoreIntMax' + } + + /// + /// Test the property 'Formatted' + /// + [Fact] + public void FormattedTest() + { + // TODO unit test for the property 'Formatted' + } + + /// + /// Test the property 'ItemCombination' + /// + [Fact] + public void ItemCombinationTest() + { + // TODO unit test for the property 'ItemCombination' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/SetEffectsEntryTypeTests.cs b/src/Dofusdude.Api.Test/Model/SetEffectsEntryTypeTests.cs new file mode 100644 index 0000000..e390f90 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/SetEffectsEntryTypeTests.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing SetEffectsEntryType + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class SetEffectsEntryTypeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for SetEffectsEntryType + //private SetEffectsEntryType instance; + + public SetEffectsEntryTypeTests() + { + // TODO uncomment below to create an instance of SetEffectsEntryType + //instance = new SetEffectsEntryType(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of SetEffectsEntryType + /// + [Fact] + public void SetEffectsEntryTypeInstanceTest() + { + // TODO uncomment below to test "IsType" SetEffectsEntryType + //Assert.IsType(instance); + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + + /// + /// Test the property 'IsMeta' + /// + [Fact] + public void IsMetaTest() + { + // TODO unit test for the property 'IsMeta' + } + + /// + /// Test the property 'IsActive' + /// + [Fact] + public void IsActiveTest() + { + // TODO unit test for the property 'IsActive' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/SetListEntryTests.cs b/src/Dofusdude.Api.Test/Model/SetListEntryTests.cs new file mode 100644 index 0000000..54c5f0d --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/SetListEntryTests.cs @@ -0,0 +1,112 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing SetListEntry + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class SetListEntryTests : IDisposable + { + // TODO uncomment below to declare an instance variable for SetListEntry + //private SetListEntry instance; + + public SetListEntryTests() + { + // TODO uncomment below to create an instance of SetListEntry + //instance = new SetListEntry(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of SetListEntry + /// + [Fact] + public void SetListEntryInstanceTest() + { + // TODO uncomment below to test "IsType" SetListEntry + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Items' + /// + [Fact] + public void ItemsTest() + { + // TODO unit test for the property 'Items' + } + + /// + /// Test the property 'Level' + /// + [Fact] + public void LevelTest() + { + // TODO unit test for the property 'Level' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + + /// + /// Test the property 'EquipmentIds' + /// + [Fact] + public void EquipmentIdsTest() + { + // TODO unit test for the property 'EquipmentIds' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/SetsListPagedTests.cs b/src/Dofusdude.Api.Test/Model/SetsListPagedTests.cs new file mode 100644 index 0000000..a98b23b --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/SetsListPagedTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing SetsListPaged + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class SetsListPagedTests : IDisposable + { + // TODO uncomment below to declare an instance variable for SetsListPaged + //private SetsListPaged instance; + + public SetsListPagedTests() + { + // TODO uncomment below to create an instance of SetsListPaged + //instance = new SetsListPaged(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of SetsListPaged + /// + [Fact] + public void SetsListPagedInstanceTest() + { + // TODO uncomment below to test "IsType" SetsListPaged + //Assert.IsType(instance); + } + + /// + /// Test the property 'Links' + /// + [Fact] + public void LinksTest() + { + // TODO unit test for the property 'Links' + } + + /// + /// Test the property 'Items' + /// + [Fact] + public void ItemsTest() + { + // TODO unit test for the property 'Items' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/TwitterWebhookTests.cs b/src/Dofusdude.Api.Test/Model/TwitterWebhookTests.cs new file mode 100644 index 0000000..8c11280 --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/TwitterWebhookTests.cs @@ -0,0 +1,139 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing TwitterWebhook + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class TwitterWebhookTests : IDisposable + { + // TODO uncomment below to declare an instance variable for TwitterWebhook + //private TwitterWebhook instance; + + public TwitterWebhookTests() + { + // TODO uncomment below to create an instance of TwitterWebhook + //instance = new TwitterWebhook(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TwitterWebhook + /// + [Fact] + public void TwitterWebhookInstanceTest() + { + // TODO uncomment below to test "IsType" TwitterWebhook + //Assert.IsType(instance); + } + + /// + /// Test the property 'Id' + /// + [Fact] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + + /// + /// Test the property 'Whitelist' + /// + [Fact] + public void WhitelistTest() + { + // TODO unit test for the property 'Whitelist' + } + + /// + /// Test the property 'Blacklist' + /// + [Fact] + public void BlacklistTest() + { + // TODO unit test for the property 'Blacklist' + } + + /// + /// Test the property 'Subscriptions' + /// + [Fact] + public void SubscriptionsTest() + { + // TODO unit test for the property 'Subscriptions' + } + + /// + /// Test the property 'Format' + /// + [Fact] + public void FormatTest() + { + // TODO unit test for the property 'Format' + } + + /// + /// Test the property 'PreviewLength' + /// + [Fact] + public void PreviewLengthTest() + { + // TODO unit test for the property 'PreviewLength' + } + + /// + /// Test the property 'CreatedAt' + /// + [Fact] + public void CreatedAtTest() + { + // TODO unit test for the property 'CreatedAt' + } + + /// + /// Test the property 'LastFiredAt' + /// + [Fact] + public void LastFiredAtTest() + { + // TODO unit test for the property 'LastFiredAt' + } + + /// + /// Test the property 'UpdatedAt' + /// + [Fact] + public void UpdatedAtTest() + { + // TODO unit test for the property 'UpdatedAt' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/WeaponRangeTests.cs b/src/Dofusdude.Api.Test/Model/WeaponRangeTests.cs new file mode 100644 index 0000000..14d1e7b --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/WeaponRangeTests.cs @@ -0,0 +1,76 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing WeaponRange + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class WeaponRangeTests : IDisposable + { + // TODO uncomment below to declare an instance variable for WeaponRange + //private WeaponRange instance; + + public WeaponRangeTests() + { + // TODO uncomment below to create an instance of WeaponRange + //instance = new WeaponRange(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of WeaponRange + /// + [Fact] + public void WeaponRangeInstanceTest() + { + // TODO uncomment below to test "IsType" WeaponRange + //Assert.IsType(instance); + } + + /// + /// Test the property 'Min' + /// + [Fact] + public void MinTest() + { + // TODO unit test for the property 'Min' + } + + /// + /// Test the property 'Max' + /// + [Fact] + public void MaxTest() + { + // TODO unit test for the property 'Max' + } + } +} diff --git a/src/Dofusdude.Api.Test/Model/WeaponTests.cs b/src/Dofusdude.Api.Test/Model/WeaponTests.cs new file mode 100644 index 0000000..cc8b78c --- /dev/null +++ b/src/Dofusdude.Api.Test/Model/WeaponTests.cs @@ -0,0 +1,229 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Xunit; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using Dofusdude.Api.Model; +using Dofusdude.Api.Client; +using System.Reflection; +using Newtonsoft.Json; + +namespace Dofusdude.Api.Test.Model +{ + /// + /// Class for testing Weapon + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + public class WeaponTests : IDisposable + { + // TODO uncomment below to declare an instance variable for Weapon + //private Weapon instance; + + public WeaponTests() + { + // TODO uncomment below to create an instance of Weapon + //instance = new Weapon(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of Weapon + /// + [Fact] + public void WeaponInstanceTest() + { + // TODO uncomment below to test "IsType" Weapon + //Assert.IsType(instance); + } + + /// + /// Test the property 'AnkamaId' + /// + [Fact] + public void AnkamaIdTest() + { + // TODO unit test for the property 'AnkamaId' + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + // TODO unit test for the property 'Name' + } + + /// + /// Test the property 'Description' + /// + [Fact] + public void DescriptionTest() + { + // TODO unit test for the property 'Description' + } + + /// + /// Test the property 'Type' + /// + [Fact] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + + /// + /// Test the property 'IsWeapon' + /// + [Fact] + public void IsWeaponTest() + { + // TODO unit test for the property 'IsWeapon' + } + + /// + /// Test the property 'Level' + /// + [Fact] + public void LevelTest() + { + // TODO unit test for the property 'Level' + } + + /// + /// Test the property 'Pods' + /// + [Fact] + public void PodsTest() + { + // TODO unit test for the property 'Pods' + } + + /// + /// Test the property 'ImageUrls' + /// + [Fact] + public void ImageUrlsTest() + { + // TODO unit test for the property 'ImageUrls' + } + + /// + /// Test the property 'Effects' + /// + [Fact] + public void EffectsTest() + { + // TODO unit test for the property 'Effects' + } + + /// + /// Test the property 'Conditions' + /// + [Fact] + public void ConditionsTest() + { + // TODO unit test for the property 'Conditions' + } + + /// + /// Test the property 'ConditionTree' + /// + [Fact] + public void ConditionTreeTest() + { + // TODO unit test for the property 'ConditionTree' + } + + /// + /// Test the property 'CriticalHitProbability' + /// + [Fact] + public void CriticalHitProbabilityTest() + { + // TODO unit test for the property 'CriticalHitProbability' + } + + /// + /// Test the property 'CriticalHitBonus' + /// + [Fact] + public void CriticalHitBonusTest() + { + // TODO unit test for the property 'CriticalHitBonus' + } + + /// + /// Test the property 'IsTwoHanded' + /// + [Fact] + public void IsTwoHandedTest() + { + // TODO unit test for the property 'IsTwoHanded' + } + + /// + /// Test the property 'MaxCastPerTurn' + /// + [Fact] + public void MaxCastPerTurnTest() + { + // TODO unit test for the property 'MaxCastPerTurn' + } + + /// + /// Test the property 'ApCost' + /// + [Fact] + public void ApCostTest() + { + // TODO unit test for the property 'ApCost' + } + + /// + /// Test the property 'Range' + /// + [Fact] + public void RangeTest() + { + // TODO unit test for the property 'Range' + } + + /// + /// Test the property 'Recipe' + /// + [Fact] + public void RecipeTest() + { + // TODO unit test for the property 'Recipe' + } + + /// + /// Test the property 'ParentSet' + /// + [Fact] + public void ParentSetTest() + { + // TODO unit test for the property 'ParentSet' + } + } +} diff --git a/src/Dofusdude.Api/Api/AlmanaxApi.cs b/src/Dofusdude.Api/Api/AlmanaxApi.cs new file mode 100644 index 0000000..5f27438 --- /dev/null +++ b/src/Dofusdude.Api/Api/AlmanaxApi.cs @@ -0,0 +1,646 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IAlmanaxApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// Single Almanax Date + /// + /// + /// Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// AlmanaxEntry + AlmanaxEntry GetAlmanaxDate(string language, DateOnly date, int operationIndex = 0); + + /// + /// Single Almanax Date + /// + /// + /// Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// ApiResponse of AlmanaxEntry + ApiResponse GetAlmanaxDateWithHttpInfo(string language, DateOnly date, int operationIndex = 0); + /// + /// Almanax Range + /// + /// + /// Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// List<AlmanaxEntry> + List GetAlmanaxRange(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0); + + /// + /// Almanax Range + /// + /// + /// Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// ApiResponse of List<AlmanaxEntry> + ApiResponse> GetAlmanaxRangeWithHttpInfo(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IAlmanaxApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// Single Almanax Date + /// + /// + /// Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of AlmanaxEntry + System.Threading.Tasks.Task GetAlmanaxDateAsync(string language, DateOnly date, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Almanax Date + /// + /// + /// Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (AlmanaxEntry) + System.Threading.Tasks.Task> GetAlmanaxDateWithHttpInfoAsync(string language, DateOnly date, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Almanax Range + /// + /// + /// Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<AlmanaxEntry> + System.Threading.Tasks.Task> GetAlmanaxRangeAsync(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Almanax Range + /// + /// + /// Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<AlmanaxEntry>) + System.Threading.Tasks.Task>> GetAlmanaxRangeWithHttpInfoAsync(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IAlmanaxApi : IAlmanaxApiSync, IAlmanaxApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class AlmanaxApi : IAlmanaxApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public AlmanaxApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public AlmanaxApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public AlmanaxApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public AlmanaxApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// Single Almanax Date Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// AlmanaxEntry + public AlmanaxEntry GetAlmanaxDate(string language, DateOnly date, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAlmanaxDateWithHttpInfo(language, date); + return localVarResponse.Data; + } + + /// + /// Single Almanax Date Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// ApiResponse of AlmanaxEntry + public Dofusdude.Api.Client.ApiResponse GetAlmanaxDateWithHttpInfo(string language, DateOnly date, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling AlmanaxApi->GetAlmanaxDate"); + } + + // verify the required parameter 'date' is set + if (date == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'date' when calling AlmanaxApi->GetAlmanaxDate"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("date", Dofusdude.Api.Client.ClientUtils.ParameterToString(date)); // path parameter + + localVarRequestOptions.Operation = "AlmanaxApi.GetAlmanaxDate"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/dofus2/{language}/almanax/{date}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAlmanaxDate", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Almanax Date Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of AlmanaxEntry + public async System.Threading.Tasks.Task GetAlmanaxDateAsync(string language, DateOnly date, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAlmanaxDateWithHttpInfoAsync(language, date, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Almanax Date Get a single date. There are not more details in the returned object than the normal range endpoint. + /// + /// Thrown when fails to make API call + /// code + /// yyyy-mm-dd + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (AlmanaxEntry) + public async System.Threading.Tasks.Task> GetAlmanaxDateWithHttpInfoAsync(string language, DateOnly date, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling AlmanaxApi->GetAlmanaxDate"); + } + + // verify the required parameter 'date' is set + if (date == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'date' when calling AlmanaxApi->GetAlmanaxDate"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("date", Dofusdude.Api.Client.ClientUtils.ParameterToString(date)); // path parameter + + localVarRequestOptions.Operation = "AlmanaxApi.GetAlmanaxDate"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/dofus2/{language}/almanax/{date}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAlmanaxDate", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Almanax Range Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// List<AlmanaxEntry> + public List GetAlmanaxRange(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetAlmanaxRangeWithHttpInfo(language, filterBonusType, rangeFrom, rangeTo, rangeSize, timezone); + return localVarResponse.Data; + } + + /// + /// Almanax Range Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// ApiResponse of List<AlmanaxEntry> + public Dofusdude.Api.Client.ApiResponse> GetAlmanaxRangeWithHttpInfo(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling AlmanaxApi->GetAlmanaxRange"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + if (filterBonusType != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[bonus_type]", filterBonusType)); + } + if (rangeFrom != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "range[from]", rangeFrom)); + } + if (rangeTo != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "range[to]", rangeTo)); + } + if (rangeSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "range[size]", rangeSize)); + } + if (timezone != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "timezone", timezone)); + } + + localVarRequestOptions.Operation = "AlmanaxApi.GetAlmanaxRange"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/dofus2/{language}/almanax", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAlmanaxRange", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Almanax Range Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<AlmanaxEntry> + public async System.Threading.Tasks.Task> GetAlmanaxRangeAsync(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetAlmanaxRangeWithHttpInfoAsync(language, filterBonusType, rangeFrom, rangeTo, rangeSize, timezone, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Almanax Range Get a range of dates, defaults to today + 6 following days but can specified by the query parameters. filter[bonus_type] can be used seperately and does not have an effect on the other parameters. range[from] changes the start date, everything else defaults to 6 following dates from this start date. range[to] when used without anything else, it will use today as start date and this parameter as end. All ranges are inclusive. range[from] + range[to] = inclusive range over the specified dates, should never be farther apart than 35 days. range[from|to] + range[size] no need to specify the date, just following days with [from] (0 is today) or go backwards in time with only [to] and [size]. Not all combinations are listed but this should give you an idea how to they could work. + /// + /// Thrown when fails to make API call + /// code + /// ids from meta/{language}/almanax/bonuses (optional) + /// yyyy-mm-dd (optional) + /// yyyy-mm-dd (optional) + /// size of the returned range (optional) + /// determine what the current time is. If you live in Brazil, \"today\" will be hours apart from Paris. Use your timezone to get results relative to your location. (optional, default to "Europe/Paris") + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<AlmanaxEntry>) + public async System.Threading.Tasks.Task>> GetAlmanaxRangeWithHttpInfoAsync(string language, string? filterBonusType = default(string?), DateOnly? rangeFrom = default(DateOnly?), DateOnly? rangeTo = default(DateOnly?), int? rangeSize = default(int?), string? timezone = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling AlmanaxApi->GetAlmanaxRange"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + if (filterBonusType != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[bonus_type]", filterBonusType)); + } + if (rangeFrom != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "range[from]", rangeFrom)); + } + if (rangeTo != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "range[to]", rangeTo)); + } + if (rangeSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "range[size]", rangeSize)); + } + if (timezone != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "timezone", timezone)); + } + + localVarRequestOptions.Operation = "AlmanaxApi.GetAlmanaxRange"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/dofus2/{language}/almanax", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAlmanaxRange", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/ConsumablesApi.cs b/src/Dofusdude.Api/Api/ConsumablesApi.cs new file mode 100644 index 0000000..4354b7f --- /dev/null +++ b/src/Dofusdude.Api/Api/ConsumablesApi.cs @@ -0,0 +1,1304 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IConsumablesApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// List All Consumables + /// + /// + /// Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetAllItemsConsumablesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + + /// + /// List All Consumables + /// + /// + /// Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetAllItemsConsumablesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + /// + /// List Consumables + /// + /// + /// Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetItemsConsumablesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + + /// + /// List Consumables + /// + /// + /// Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetItemsConsumablesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + /// + /// Search Consumables + /// + /// + /// Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + List GetItemsConsumablesSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Consumables + /// + /// + /// Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + ApiResponse> GetItemsConsumablesSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + /// + /// Single Consumables + /// + /// + /// Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Resource + Resource GetItemsConsumablesSingle(string language, int ankamaId, string game, int operationIndex = 0); + + /// + /// Single Consumables + /// + /// + /// Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Resource + ApiResponse GetItemsConsumablesSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IConsumablesApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// List All Consumables + /// + /// + /// Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetAllItemsConsumablesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List All Consumables + /// + /// + /// Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetAllItemsConsumablesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// List Consumables + /// + /// + /// Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetItemsConsumablesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List Consumables + /// + /// + /// Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetItemsConsumablesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Consumables + /// + /// + /// Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + System.Threading.Tasks.Task> GetItemsConsumablesSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Consumables + /// + /// + /// Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + System.Threading.Tasks.Task>> GetItemsConsumablesSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Single Consumables + /// + /// + /// Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Resource + System.Threading.Tasks.Task GetItemsConsumablesSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Consumables + /// + /// + /// Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Resource) + System.Threading.Tasks.Task> GetItemsConsumablesSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IConsumablesApi : IConsumablesApiSync, IConsumablesApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class ConsumablesApi : IConsumablesApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public ConsumablesApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public ConsumablesApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public ConsumablesApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public ConsumablesApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// List All Consumables Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetAllItemsConsumablesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAllItemsConsumablesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + return localVarResponse.Data; + } + + /// + /// List All Consumables Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetAllItemsConsumablesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetAllItemsConsumablesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetAllItemsConsumablesList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "ConsumablesApi.GetAllItemsConsumablesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/consumables/all", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsConsumablesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List All Consumables Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetAllItemsConsumablesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAllItemsConsumablesListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List All Consumables Retrieve all consumable items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetAllItemsConsumablesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetAllItemsConsumablesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetAllItemsConsumablesList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "ConsumablesApi.GetAllItemsConsumablesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/consumables/all", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsConsumablesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Consumables Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetItemsConsumablesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemsConsumablesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + return localVarResponse.Data; + } + + /// + /// List Consumables Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetItemsConsumablesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetItemsConsumablesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetItemsConsumablesList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "ConsumablesApi.GetItemsConsumablesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/consumables", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsConsumablesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Consumables Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetItemsConsumablesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemsConsumablesListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List Consumables Retrieve a list of consumable items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetItemsConsumablesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetItemsConsumablesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetItemsConsumablesList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "ConsumablesApi.GetItemsConsumablesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/consumables", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsConsumablesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Consumables Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + public List GetItemsConsumablesSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetItemsConsumablesSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + return localVarResponse.Data; + } + + /// + /// Search Consumables Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + public Dofusdude.Api.Client.ApiResponse> GetItemsConsumablesSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetItemsConsumablesSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetItemsConsumablesSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling ConsumablesApi->GetItemsConsumablesSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "ConsumablesApi.GetItemsConsumablesSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/items/consumables/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsConsumablesSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Consumables Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + public async System.Threading.Tasks.Task> GetItemsConsumablesSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetItemsConsumablesSearchWithHttpInfoAsync(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Consumables Search in all names and descriptions of consumable items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + public async System.Threading.Tasks.Task>> GetItemsConsumablesSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetItemsConsumablesSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetItemsConsumablesSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling ConsumablesApi->GetItemsConsumablesSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "ConsumablesApi.GetItemsConsumablesSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/items/consumables/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsConsumablesSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Consumables Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Resource + public Resource GetItemsConsumablesSingle(string language, int ankamaId, string game, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemsConsumablesSingleWithHttpInfo(language, ankamaId, game); + return localVarResponse.Data; + } + + /// + /// Single Consumables Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Resource + public Dofusdude.Api.Client.ApiResponse GetItemsConsumablesSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetItemsConsumablesSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetItemsConsumablesSingle"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "ConsumablesApi.GetItemsConsumablesSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/consumables/{ankama_id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsConsumablesSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Consumables Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Resource + public async System.Threading.Tasks.Task GetItemsConsumablesSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemsConsumablesSingleWithHttpInfoAsync(language, ankamaId, game, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Consumables Retrieve a specific consumable item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Resource) + public async System.Threading.Tasks.Task> GetItemsConsumablesSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ConsumablesApi->GetItemsConsumablesSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ConsumablesApi->GetItemsConsumablesSingle"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "ConsumablesApi.GetItemsConsumablesSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/consumables/{ankama_id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsConsumablesSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/CosmeticsApi.cs b/src/Dofusdude.Api/Api/CosmeticsApi.cs new file mode 100644 index 0000000..052c28c --- /dev/null +++ b/src/Dofusdude.Api/Api/CosmeticsApi.cs @@ -0,0 +1,1304 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ICosmeticsApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// List All Cosmetics + /// + /// + /// Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetAllCosmeticsList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + + /// + /// List All Cosmetics + /// + /// + /// Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetAllCosmeticsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + /// + /// List Cosmetics + /// + /// + /// Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetCosmeticsList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + + /// + /// List Cosmetics + /// + /// + /// Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetCosmeticsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + /// + /// Search Cosmetics + /// + /// + /// Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + List GetCosmeticsSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Cosmetics + /// + /// + /// Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + ApiResponse> GetCosmeticsSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + /// + /// Single Cosmetics + /// + /// + /// Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cosmetic + Cosmetic GetCosmeticsSingle(string language, int ankamaId, string game, int operationIndex = 0); + + /// + /// Single Cosmetics + /// + /// + /// Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Cosmetic + ApiResponse GetCosmeticsSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ICosmeticsApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// List All Cosmetics + /// + /// + /// Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetAllCosmeticsListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List All Cosmetics + /// + /// + /// Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetAllCosmeticsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// List Cosmetics + /// + /// + /// Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetCosmeticsListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List Cosmetics + /// + /// + /// Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetCosmeticsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Cosmetics + /// + /// + /// Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + System.Threading.Tasks.Task> GetCosmeticsSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Cosmetics + /// + /// + /// Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + System.Threading.Tasks.Task>> GetCosmeticsSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Single Cosmetics + /// + /// + /// Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Cosmetic + System.Threading.Tasks.Task GetCosmeticsSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Cosmetics + /// + /// + /// Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Cosmetic) + System.Threading.Tasks.Task> GetCosmeticsSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ICosmeticsApi : ICosmeticsApiSync, ICosmeticsApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class CosmeticsApi : ICosmeticsApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public CosmeticsApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public CosmeticsApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public CosmeticsApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public CosmeticsApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// List All Cosmetics Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetAllCosmeticsList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAllCosmeticsListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + return localVarResponse.Data; + } + + /// + /// List All Cosmetics Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetAllCosmeticsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetAllCosmeticsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetAllCosmeticsList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "CosmeticsApi.GetAllCosmeticsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/cosmetics/all", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllCosmeticsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List All Cosmetics Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetAllCosmeticsListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAllCosmeticsListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List All Cosmetics Retrieve all cosmetic items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetAllCosmeticsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetAllCosmeticsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetAllCosmeticsList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "CosmeticsApi.GetAllCosmeticsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/cosmetics/all", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllCosmeticsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Cosmetics Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetCosmeticsList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetCosmeticsListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + return localVarResponse.Data; + } + + /// + /// List Cosmetics Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetCosmeticsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetCosmeticsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetCosmeticsList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "CosmeticsApi.GetCosmeticsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/cosmetics", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetCosmeticsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Cosmetics Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetCosmeticsListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetCosmeticsListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List Cosmetics Retrieve a list of cosmetic items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetCosmeticsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetCosmeticsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetCosmeticsList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "CosmeticsApi.GetCosmeticsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/cosmetics", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetCosmeticsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Cosmetics Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + public List GetCosmeticsSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetCosmeticsSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + return localVarResponse.Data; + } + + /// + /// Search Cosmetics Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + public Dofusdude.Api.Client.ApiResponse> GetCosmeticsSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetCosmeticsSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetCosmeticsSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling CosmeticsApi->GetCosmeticsSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "CosmeticsApi.GetCosmeticsSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/items/cosmetics/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetCosmeticsSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Cosmetics Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + public async System.Threading.Tasks.Task> GetCosmeticsSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetCosmeticsSearchWithHttpInfoAsync(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Cosmetics Search in all names and descriptions of cosmetic items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + public async System.Threading.Tasks.Task>> GetCosmeticsSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetCosmeticsSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetCosmeticsSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling CosmeticsApi->GetCosmeticsSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "CosmeticsApi.GetCosmeticsSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/items/cosmetics/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetCosmeticsSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Cosmetics Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cosmetic + public Cosmetic GetCosmeticsSingle(string language, int ankamaId, string game, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetCosmeticsSingleWithHttpInfo(language, ankamaId, game); + return localVarResponse.Data; + } + + /// + /// Single Cosmetics Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Cosmetic + public Dofusdude.Api.Client.ApiResponse GetCosmeticsSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetCosmeticsSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetCosmeticsSingle"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "CosmeticsApi.GetCosmeticsSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/cosmetics/{ankama_id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetCosmeticsSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Cosmetics Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Cosmetic + public async System.Threading.Tasks.Task GetCosmeticsSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetCosmeticsSingleWithHttpInfoAsync(language, ankamaId, game, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Cosmetics Retrieve a specific cosmetic item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Cosmetic) + public async System.Threading.Tasks.Task> GetCosmeticsSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling CosmeticsApi->GetCosmeticsSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling CosmeticsApi->GetCosmeticsSingle"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "CosmeticsApi.GetCosmeticsSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/cosmetics/{ankama_id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetCosmeticsSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/EquipmentApi.cs b/src/Dofusdude.Api/Api/EquipmentApi.cs new file mode 100644 index 0000000..aed9643 --- /dev/null +++ b/src/Dofusdude.Api/Api/EquipmentApi.cs @@ -0,0 +1,1304 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IEquipmentApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// List All Equipment + /// + /// + /// Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetAllItemsEquipmentList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + + /// + /// List All Equipment + /// + /// + /// Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetAllItemsEquipmentListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + /// + /// List Equipment + /// + /// + /// Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetItemsEquipmentList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + + /// + /// List Equipment + /// + /// + /// Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetItemsEquipmentListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + /// + /// Search Equipment + /// + /// + /// Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + List GetItemsEquipmentSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Equipment + /// + /// + /// Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + ApiResponse> GetItemsEquipmentSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + /// + /// Single Equipment + /// + /// + /// Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Weapon + Weapon GetItemsEquipmentSingle(string language, int ankamaId, string game, int operationIndex = 0); + + /// + /// Single Equipment + /// + /// + /// Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Weapon + ApiResponse GetItemsEquipmentSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IEquipmentApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// List All Equipment + /// + /// + /// Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetAllItemsEquipmentListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List All Equipment + /// + /// + /// Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetAllItemsEquipmentListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// List Equipment + /// + /// + /// Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetItemsEquipmentListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List Equipment + /// + /// + /// Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetItemsEquipmentListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Equipment + /// + /// + /// Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + System.Threading.Tasks.Task> GetItemsEquipmentSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Equipment + /// + /// + /// Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + System.Threading.Tasks.Task>> GetItemsEquipmentSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Single Equipment + /// + /// + /// Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Weapon + System.Threading.Tasks.Task GetItemsEquipmentSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Equipment + /// + /// + /// Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Weapon) + System.Threading.Tasks.Task> GetItemsEquipmentSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IEquipmentApi : IEquipmentApiSync, IEquipmentApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class EquipmentApi : IEquipmentApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public EquipmentApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public EquipmentApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public EquipmentApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public EquipmentApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// List All Equipment Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetAllItemsEquipmentList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAllItemsEquipmentListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + return localVarResponse.Data; + } + + /// + /// List All Equipment Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetAllItemsEquipmentListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetAllItemsEquipmentList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetAllItemsEquipmentList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "EquipmentApi.GetAllItemsEquipmentList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/equipment/all", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsEquipmentList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List All Equipment Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetAllItemsEquipmentListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAllItemsEquipmentListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List All Equipment Retrieve all equipment items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetAllItemsEquipmentListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetAllItemsEquipmentList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetAllItemsEquipmentList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "EquipmentApi.GetAllItemsEquipmentList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/equipment/all", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsEquipmentList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Equipment Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetItemsEquipmentList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemsEquipmentListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + return localVarResponse.Data; + } + + /// + /// List Equipment Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetItemsEquipmentListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetItemsEquipmentList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetItemsEquipmentList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "EquipmentApi.GetItemsEquipmentList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/equipment", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsEquipmentList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Equipment Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetItemsEquipmentListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemsEquipmentListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List Equipment Retrieve a list of equipment items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetItemsEquipmentListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetItemsEquipmentList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetItemsEquipmentList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "EquipmentApi.GetItemsEquipmentList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/equipment", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsEquipmentList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Equipment Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + public List GetItemsEquipmentSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetItemsEquipmentSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + return localVarResponse.Data; + } + + /// + /// Search Equipment Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + public Dofusdude.Api.Client.ApiResponse> GetItemsEquipmentSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetItemsEquipmentSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetItemsEquipmentSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling EquipmentApi->GetItemsEquipmentSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "EquipmentApi.GetItemsEquipmentSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/items/equipment/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsEquipmentSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Equipment Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + public async System.Threading.Tasks.Task> GetItemsEquipmentSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetItemsEquipmentSearchWithHttpInfoAsync(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Equipment Search in all names and descriptions of equipment items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + public async System.Threading.Tasks.Task>> GetItemsEquipmentSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetItemsEquipmentSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetItemsEquipmentSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling EquipmentApi->GetItemsEquipmentSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "EquipmentApi.GetItemsEquipmentSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/items/equipment/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsEquipmentSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Equipment Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Weapon + public Weapon GetItemsEquipmentSingle(string language, int ankamaId, string game, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemsEquipmentSingleWithHttpInfo(language, ankamaId, game); + return localVarResponse.Data; + } + + /// + /// Single Equipment Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Weapon + public Dofusdude.Api.Client.ApiResponse GetItemsEquipmentSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetItemsEquipmentSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetItemsEquipmentSingle"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "EquipmentApi.GetItemsEquipmentSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/equipment/{ankama_id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsEquipmentSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Equipment Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Weapon + public async System.Threading.Tasks.Task GetItemsEquipmentSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemsEquipmentSingleWithHttpInfoAsync(language, ankamaId, game, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Equipment Retrieve a specific equipment item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Weapon) + public async System.Threading.Tasks.Task> GetItemsEquipmentSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling EquipmentApi->GetItemsEquipmentSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling EquipmentApi->GetItemsEquipmentSingle"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "EquipmentApi.GetItemsEquipmentSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/equipment/{ankama_id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsEquipmentSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/GameApi.cs b/src/Dofusdude.Api/Api/GameApi.cs new file mode 100644 index 0000000..e3fec48 --- /dev/null +++ b/src/Dofusdude.Api/Api/GameApi.cs @@ -0,0 +1,744 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IGameApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// Game Search + /// + /// + /// Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// List<GetGameSearch200ResponseInner> + List GetGameSearch(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + + /// + /// Game Search + /// + /// + /// Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of List<GetGameSearch200ResponseInner> + ApiResponse> GetGameSearchWithHttpInfo(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + /// + /// Search All Items + /// + /// + /// Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemsListEntryTyped> + List GetItemsAllSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search All Items + /// + /// + /// Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemsListEntryTyped> + ApiResponse> GetItemsAllSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IGameApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// Game Search + /// + /// + /// Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<GetGameSearch200ResponseInner> + System.Threading.Tasks.Task> GetGameSearchAsync(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Game Search + /// + /// + /// Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<GetGameSearch200ResponseInner>) + System.Threading.Tasks.Task>> GetGameSearchWithHttpInfoAsync(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search All Items + /// + /// + /// Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemsListEntryTyped> + System.Threading.Tasks.Task> GetItemsAllSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search All Items + /// + /// + /// Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemsListEntryTyped>) + System.Threading.Tasks.Task>> GetItemsAllSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IGameApi : IGameApiSync, IGameApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class GameApi : IGameApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public GameApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public GameApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public GameApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public GameApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// Game Search Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// List<GetGameSearch200ResponseInner> + public List GetGameSearch(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetGameSearchWithHttpInfo(language, game, query, filterType, limit, fieldsItem); + return localVarResponse.Data; + } + + /// + /// Game Search Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of List<GetGameSearch200ResponseInner> + public Dofusdude.Api.Client.ApiResponse> GetGameSearchWithHttpInfo(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling GameApi->GetGameSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling GameApi->GetGameSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling GameApi->GetGameSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterType != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "filter[type]", filterType)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "GameApi.GetGameSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetGameSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Game Search Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<GetGameSearch200ResponseInner> + public async System.Threading.Tasks.Task> GetGameSearchAsync(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetGameSearchWithHttpInfoAsync(language, game, query, filterType, limit, fieldsItem, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Game Search Search in all names and descriptions of all supported types in the game. For the list of supported types see the endpoint /dofus2/meta/search/types. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// search query + /// only results with all specific type (optional) + /// maximum number of returned results (optional, default to 8) + /// adds fields from the item search to the list entries if the hit is a item. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<GetGameSearch200ResponseInner>) + public async System.Threading.Tasks.Task>> GetGameSearchWithHttpInfoAsync(string language, string game, string query, List? filterType = default(List?), int? limit = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling GameApi->GetGameSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling GameApi->GetGameSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling GameApi->GetGameSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterType != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "filter[type]", filterType)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "GameApi.GetGameSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetGameSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search All Items Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemsListEntryTyped> + public List GetItemsAllSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetItemsAllSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + return localVarResponse.Data; + } + + /// + /// Search All Items Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemsListEntryTyped> + public Dofusdude.Api.Client.ApiResponse> GetItemsAllSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling GameApi->GetItemsAllSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling GameApi->GetItemsAllSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling GameApi->GetItemsAllSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "GameApi.GetItemsAllSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/items/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsAllSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search All Items Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemsListEntryTyped> + public async System.Threading.Tasks.Task> GetItemsAllSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetItemsAllSearchWithHttpInfoAsync(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search All Items Search in all names and descriptions of Dofus items (including all subtypes) with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name across all item_subtypes (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemsListEntryTyped>) + public async System.Threading.Tasks.Task>> GetItemsAllSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling GameApi->GetItemsAllSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling GameApi->GetItemsAllSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling GameApi->GetItemsAllSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "GameApi.GetItemsAllSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/items/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsAllSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/MetaApi.cs b/src/Dofusdude.Api/Api/MetaApi.cs new file mode 100644 index 0000000..6360ae5 --- /dev/null +++ b/src/Dofusdude.Api/Api/MetaApi.cs @@ -0,0 +1,922 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IMetaApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// Available Game Search Types + /// + /// + /// Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// List<string> + List GetGameSearchTypes(int operationIndex = 0); + + /// + /// Available Game Search Types + /// + /// + /// Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of List<string> + ApiResponse> GetGameSearchTypesWithHttpInfo(int operationIndex = 0); + /// + /// Available Almanax Bonuses + /// + /// + /// Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// List<GetMetaAlmanaxBonuses200ResponseInner> + List GetMetaAlmanaxBonuses(string language, int operationIndex = 0); + + /// + /// Available Almanax Bonuses + /// + /// + /// Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of List<GetMetaAlmanaxBonuses200ResponseInner> + ApiResponse> GetMetaAlmanaxBonusesWithHttpInfo(string language, int operationIndex = 0); + /// + /// Search Available Almanax Bonuses + /// + /// + /// Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// List<GetMetaAlmanaxBonuses200ResponseInner> + List GetMetaAlmanaxBonusesSearch(string language, string query, int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Available Almanax Bonuses + /// + /// + /// Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// ApiResponse of List<GetMetaAlmanaxBonuses200ResponseInner> + ApiResponse> GetMetaAlmanaxBonusesSearchWithHttpInfo(string language, string query, int? limit = default(int?), int operationIndex = 0); + /// + /// Effects and Condition Elements + /// + /// + /// Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// List<string> + List GetMetaElements(int operationIndex = 0); + + /// + /// Effects and Condition Elements + /// + /// + /// Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of List<string> + ApiResponse> GetMetaElementsWithHttpInfo(int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IMetaApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// Available Game Search Types + /// + /// + /// Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<string> + System.Threading.Tasks.Task> GetGameSearchTypesAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Available Game Search Types + /// + /// + /// Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<string>) + System.Threading.Tasks.Task>> GetGameSearchTypesWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Available Almanax Bonuses + /// + /// + /// Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<GetMetaAlmanaxBonuses200ResponseInner> + System.Threading.Tasks.Task> GetMetaAlmanaxBonusesAsync(string language, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Available Almanax Bonuses + /// + /// + /// Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<GetMetaAlmanaxBonuses200ResponseInner>) + System.Threading.Tasks.Task>> GetMetaAlmanaxBonusesWithHttpInfoAsync(string language, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Available Almanax Bonuses + /// + /// + /// Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<GetMetaAlmanaxBonuses200ResponseInner> + System.Threading.Tasks.Task> GetMetaAlmanaxBonusesSearchAsync(string language, string query, int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Available Almanax Bonuses + /// + /// + /// Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<GetMetaAlmanaxBonuses200ResponseInner>) + System.Threading.Tasks.Task>> GetMetaAlmanaxBonusesSearchWithHttpInfoAsync(string language, string query, int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Effects and Condition Elements + /// + /// + /// Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<string> + System.Threading.Tasks.Task> GetMetaElementsAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Effects and Condition Elements + /// + /// + /// Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<string>) + System.Threading.Tasks.Task>> GetMetaElementsWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IMetaApi : IMetaApiSync, IMetaApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class MetaApi : IMetaApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public MetaApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public MetaApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public MetaApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public MetaApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// Available Game Search Types Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// List<string> + public List GetGameSearchTypes(int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetGameSearchTypesWithHttpInfo(); + return localVarResponse.Data; + } + + /// + /// Available Game Search Types Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of List<string> + public Dofusdude.Api.Client.ApiResponse> GetGameSearchTypesWithHttpInfo(int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "MetaApi.GetGameSearchTypes"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/dofus2/meta/search/types", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetGameSearchTypes", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Available Game Search Types Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<string> + public async System.Threading.Tasks.Task> GetGameSearchTypesAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetGameSearchTypesWithHttpInfoAsync(operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Available Game Search Types Get all types for /{game}/{lang}/search available for filtering. All names are english for comparing them inside applications. Order is fixed so you can compare indices instead of strings. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<string>) + public async System.Threading.Tasks.Task>> GetGameSearchTypesWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "MetaApi.GetGameSearchTypes"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/dofus2/meta/search/types", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetGameSearchTypes", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Available Almanax Bonuses Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// List<GetMetaAlmanaxBonuses200ResponseInner> + public List GetMetaAlmanaxBonuses(string language, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetMetaAlmanaxBonusesWithHttpInfo(language); + return localVarResponse.Data; + } + + /// + /// Available Almanax Bonuses Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of List<GetMetaAlmanaxBonuses200ResponseInner> + public Dofusdude.Api.Client.ApiResponse> GetMetaAlmanaxBonusesWithHttpInfo(string language, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MetaApi->GetMetaAlmanaxBonuses"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + + localVarRequestOptions.Operation = "MetaApi.GetMetaAlmanaxBonuses"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/dofus2/meta/{language}/almanax/bonuses", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaAlmanaxBonuses", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Available Almanax Bonuses Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<GetMetaAlmanaxBonuses200ResponseInner> + public async System.Threading.Tasks.Task> GetMetaAlmanaxBonusesAsync(string language, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetMetaAlmanaxBonusesWithHttpInfoAsync(language, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Available Almanax Bonuses Get all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<GetMetaAlmanaxBonuses200ResponseInner>) + public async System.Threading.Tasks.Task>> GetMetaAlmanaxBonusesWithHttpInfoAsync(string language, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MetaApi->GetMetaAlmanaxBonuses"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + + localVarRequestOptions.Operation = "MetaApi.GetMetaAlmanaxBonuses"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/dofus2/meta/{language}/almanax/bonuses", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaAlmanaxBonuses", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Available Almanax Bonuses Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// List<GetMetaAlmanaxBonuses200ResponseInner> + public List GetMetaAlmanaxBonusesSearch(string language, string query, int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetMetaAlmanaxBonusesSearchWithHttpInfo(language, query, limit); + return localVarResponse.Data; + } + + /// + /// Search Available Almanax Bonuses Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// ApiResponse of List<GetMetaAlmanaxBonuses200ResponseInner> + public Dofusdude.Api.Client.ApiResponse> GetMetaAlmanaxBonusesSearchWithHttpInfo(string language, string query, int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MetaApi->GetMetaAlmanaxBonusesSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling MetaApi->GetMetaAlmanaxBonusesSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "MetaApi.GetMetaAlmanaxBonusesSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/dofus2/meta/{language}/almanax/bonuses/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaAlmanaxBonusesSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Available Almanax Bonuses Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<GetMetaAlmanaxBonuses200ResponseInner> + public async System.Threading.Tasks.Task> GetMetaAlmanaxBonusesSearchAsync(string language, string query, int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetMetaAlmanaxBonusesSearchWithHttpInfoAsync(language, query, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Available Almanax Bonuses Search all the available bonuses and their id for filtering them in the range endpoint. + /// + /// Thrown when fails to make API call + /// a valid language code + /// case sensitive search query + /// maximum number of returned results (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<GetMetaAlmanaxBonuses200ResponseInner>) + public async System.Threading.Tasks.Task>> GetMetaAlmanaxBonusesSearchWithHttpInfoAsync(string language, string query, int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MetaApi->GetMetaAlmanaxBonusesSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling MetaApi->GetMetaAlmanaxBonusesSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "MetaApi.GetMetaAlmanaxBonusesSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/dofus2/meta/{language}/almanax/bonuses/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaAlmanaxBonusesSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Effects and Condition Elements Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// List<string> + public List GetMetaElements(int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetMetaElementsWithHttpInfo(); + return localVarResponse.Data; + } + + /// + /// Effects and Condition Elements Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of List<string> + public Dofusdude.Api.Client.ApiResponse> GetMetaElementsWithHttpInfo(int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "MetaApi.GetMetaElements"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/dofus2/meta/elements", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaElements", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Effects and Condition Elements Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<string> + public async System.Threading.Tasks.Task> GetMetaElementsAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetMetaElementsWithHttpInfoAsync(operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Effects and Condition Elements Get the mappings for all specific elements that are linked in the dataset. All names are english. Translations are not needed because of a global unique id which is the index inside the array. Future elements will get a higher id. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<string>) + public async System.Threading.Tasks.Task>> GetMetaElementsWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "MetaApi.GetMetaElements"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/dofus2/meta/elements", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaElements", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/MountsApi.cs b/src/Dofusdude.Api/Api/MountsApi.cs new file mode 100644 index 0000000..9f5673f --- /dev/null +++ b/src/Dofusdude.Api/Api/MountsApi.cs @@ -0,0 +1,1176 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IMountsApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// List All Mounts + /// + /// + /// Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// MountsListPaged + MountsListPaged GetAllMountsList(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0); + + /// + /// List All Mounts + /// + /// + /// Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of MountsListPaged + ApiResponse GetAllMountsListWithHttpInfo(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0); + /// + /// List Mounts + /// + /// + /// Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// MountsListPaged + MountsListPaged GetMountsList(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0); + + /// + /// List Mounts + /// + /// + /// Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of MountsListPaged + ApiResponse GetMountsListWithHttpInfo(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0); + /// + /// Search Mounts + /// + /// + /// Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<MountListEntry> + List GetMountsSearch(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Mounts + /// + /// + /// Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<MountListEntry> + ApiResponse> GetMountsSearchWithHttpInfo(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0); + /// + /// Single Mounts + /// + /// + /// Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Mount + Mount GetMountsSingle(string language, int ankamaId, string game, int operationIndex = 0); + + /// + /// Single Mounts + /// + /// + /// Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Mount + ApiResponse GetMountsSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IMountsApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// List All Mounts + /// + /// + /// Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of MountsListPaged + System.Threading.Tasks.Task GetAllMountsListAsync(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List All Mounts + /// + /// + /// Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (MountsListPaged) + System.Threading.Tasks.Task> GetAllMountsListWithHttpInfoAsync(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// List Mounts + /// + /// + /// Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of MountsListPaged + System.Threading.Tasks.Task GetMountsListAsync(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List Mounts + /// + /// + /// Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (MountsListPaged) + System.Threading.Tasks.Task> GetMountsListWithHttpInfoAsync(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Mounts + /// + /// + /// Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<MountListEntry> + System.Threading.Tasks.Task> GetMountsSearchAsync(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Mounts + /// + /// + /// Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<MountListEntry>) + System.Threading.Tasks.Task>> GetMountsSearchWithHttpInfoAsync(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Single Mounts + /// + /// + /// Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Mount + System.Threading.Tasks.Task GetMountsSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Mounts + /// + /// + /// Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Mount) + System.Threading.Tasks.Task> GetMountsSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IMountsApi : IMountsApiSync, IMountsApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class MountsApi : IMountsApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public MountsApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public MountsApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public MountsApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public MountsApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// List All Mounts Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// MountsListPaged + public MountsListPaged GetAllMountsList(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAllMountsListWithHttpInfo(language, game, filterFamilyName, acceptEncoding); + return localVarResponse.Data; + } + + /// + /// List All Mounts Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of MountsListPaged + public Dofusdude.Api.Client.ApiResponse GetAllMountsListWithHttpInfo(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetAllMountsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetAllMountsList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (filterFamilyName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[family_name]", filterFamilyName)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "MountsApi.GetAllMountsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/mounts/all", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllMountsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List All Mounts Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of MountsListPaged + public async System.Threading.Tasks.Task GetAllMountsListAsync(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAllMountsListWithHttpInfoAsync(language, game, filterFamilyName, acceptEncoding, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List All Mounts Retrieve all mounts with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (MountsListPaged) + public async System.Threading.Tasks.Task> GetAllMountsListWithHttpInfoAsync(string language, string game, string? filterFamilyName = default(string?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetAllMountsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetAllMountsList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (filterFamilyName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[family_name]", filterFamilyName)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "MountsApi.GetAllMountsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/mounts/all", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllMountsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Mounts Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// MountsListPaged + public MountsListPaged GetMountsList(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetMountsListWithHttpInfo(language, game, filterFamilyName, pageSize, pageNumber, fieldsMount); + return localVarResponse.Data; + } + + /// + /// List Mounts Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of MountsListPaged + public Dofusdude.Api.Client.ApiResponse GetMountsListWithHttpInfo(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetMountsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetMountsList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (filterFamilyName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[family_name]", filterFamilyName)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsMount != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[mount]", fieldsMount)); + } + + localVarRequestOptions.Operation = "MountsApi.GetMountsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/mounts", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMountsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Mounts Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of MountsListPaged + public async System.Threading.Tasks.Task GetMountsListAsync(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetMountsListWithHttpInfoAsync(language, game, filterFamilyName, pageSize, pageNumber, fieldsMount, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List Mounts Retrieve a list of mounts. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// only results with the translated family name (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (MountsListPaged) + public async System.Threading.Tasks.Task> GetMountsListWithHttpInfoAsync(string language, string game, string? filterFamilyName = default(string?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsMount = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetMountsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetMountsList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (filterFamilyName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[family_name]", filterFamilyName)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsMount != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[mount]", fieldsMount)); + } + + localVarRequestOptions.Operation = "MountsApi.GetMountsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/mounts", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMountsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Mounts Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<MountListEntry> + public List GetMountsSearch(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetMountsSearchWithHttpInfo(language, game, query, filterFamilyName, limit); + return localVarResponse.Data; + } + + /// + /// Search Mounts Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<MountListEntry> + public Dofusdude.Api.Client.ApiResponse> GetMountsSearchWithHttpInfo(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetMountsSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetMountsSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling MountsApi->GetMountsSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterFamilyName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[family_name]", filterFamilyName)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "MountsApi.GetMountsSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/mounts/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMountsSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Mounts Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<MountListEntry> + public async System.Threading.Tasks.Task> GetMountsSearchAsync(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetMountsSearchWithHttpInfoAsync(language, game, query, filterFamilyName, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Mounts Search in all names and descriptions of mounts with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated family name (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<MountListEntry>) + public async System.Threading.Tasks.Task>> GetMountsSearchWithHttpInfoAsync(string language, string game, string query, string? filterFamilyName = default(string?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetMountsSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetMountsSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling MountsApi->GetMountsSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterFamilyName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[family_name]", filterFamilyName)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "MountsApi.GetMountsSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/mounts/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMountsSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Mounts Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Mount + public Mount GetMountsSingle(string language, int ankamaId, string game, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetMountsSingleWithHttpInfo(language, ankamaId, game); + return localVarResponse.Data; + } + + /// + /// Single Mounts Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Mount + public Dofusdude.Api.Client.ApiResponse GetMountsSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetMountsSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetMountsSingle"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "MountsApi.GetMountsSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/mounts/{ankama_id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMountsSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Mounts Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Mount + public async System.Threading.Tasks.Task GetMountsSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetMountsSingleWithHttpInfoAsync(language, ankamaId, game, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Mounts Retrieve a specific mount with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Mount) + public async System.Threading.Tasks.Task> GetMountsSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling MountsApi->GetMountsSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling MountsApi->GetMountsSingle"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "MountsApi.GetMountsSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/mounts/{ankama_id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMountsSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/QuestItemsApi.cs b/src/Dofusdude.Api/Api/QuestItemsApi.cs new file mode 100644 index 0000000..58e36d5 --- /dev/null +++ b/src/Dofusdude.Api/Api/QuestItemsApi.cs @@ -0,0 +1,1304 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IQuestItemsApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// List All Quest Items + /// + /// + /// Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetAllItemsQuestList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + + /// + /// List All Quest Items + /// + /// + /// Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetAllItemsQuestListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + /// + /// Single Quest Items + /// + /// + /// Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Resource + Resource GetItemQuestSingle(string language, int ankamaId, string game, int operationIndex = 0); + + /// + /// Single Quest Items + /// + /// + /// Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Resource + ApiResponse GetItemQuestSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0); + /// + /// List Quest Items + /// + /// + /// Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetItemsQuestList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + + /// + /// List Quest Items + /// + /// + /// Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetItemsQuestListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + /// + /// Search Quest Items + /// + /// + /// Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + List GetItemsQuestSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Quest Items + /// + /// + /// Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + ApiResponse> GetItemsQuestSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IQuestItemsApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// List All Quest Items + /// + /// + /// Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetAllItemsQuestListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List All Quest Items + /// + /// + /// Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetAllItemsQuestListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Single Quest Items + /// + /// + /// Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Resource + System.Threading.Tasks.Task GetItemQuestSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Quest Items + /// + /// + /// Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Resource) + System.Threading.Tasks.Task> GetItemQuestSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// List Quest Items + /// + /// + /// Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetItemsQuestListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List Quest Items + /// + /// + /// Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetItemsQuestListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Quest Items + /// + /// + /// Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + System.Threading.Tasks.Task> GetItemsQuestSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Quest Items + /// + /// + /// Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + System.Threading.Tasks.Task>> GetItemsQuestSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IQuestItemsApi : IQuestItemsApiSync, IQuestItemsApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class QuestItemsApi : IQuestItemsApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public QuestItemsApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public QuestItemsApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public QuestItemsApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public QuestItemsApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// List All Quest Items Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetAllItemsQuestList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAllItemsQuestListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + return localVarResponse.Data; + } + + /// + /// List All Quest Items Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetAllItemsQuestListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetAllItemsQuestList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetAllItemsQuestList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "QuestItemsApi.GetAllItemsQuestList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/quest/all", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsQuestList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List All Quest Items Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetAllItemsQuestListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAllItemsQuestListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List All Quest Items Retrieve all quest items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetAllItemsQuestListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetAllItemsQuestList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetAllItemsQuestList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "QuestItemsApi.GetAllItemsQuestList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/quest/all", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsQuestList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Quest Items Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Resource + public Resource GetItemQuestSingle(string language, int ankamaId, string game, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemQuestSingleWithHttpInfo(language, ankamaId, game); + return localVarResponse.Data; + } + + /// + /// Single Quest Items Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Resource + public Dofusdude.Api.Client.ApiResponse GetItemQuestSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetItemQuestSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetItemQuestSingle"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "QuestItemsApi.GetItemQuestSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/quest/{ankama_id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemQuestSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Quest Items Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Resource + public async System.Threading.Tasks.Task GetItemQuestSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemQuestSingleWithHttpInfoAsync(language, ankamaId, game, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Quest Items Retrieve a specific quest item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Resource) + public async System.Threading.Tasks.Task> GetItemQuestSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetItemQuestSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetItemQuestSingle"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "QuestItemsApi.GetItemQuestSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/quest/{ankama_id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemQuestSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Quest Items Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetItemsQuestList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemsQuestListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + return localVarResponse.Data; + } + + /// + /// List Quest Items Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetItemsQuestListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetItemsQuestList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetItemsQuestList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "QuestItemsApi.GetItemsQuestList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/quest", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsQuestList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Quest Items Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetItemsQuestListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemsQuestListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List Quest Items Retrieve a list of quest items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetItemsQuestListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetItemsQuestList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetItemsQuestList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "QuestItemsApi.GetItemsQuestList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/quest", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsQuestList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Quest Items Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + public List GetItemsQuestSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetItemsQuestSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + return localVarResponse.Data; + } + + /// + /// Search Quest Items Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + public Dofusdude.Api.Client.ApiResponse> GetItemsQuestSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetItemsQuestSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetItemsQuestSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling QuestItemsApi->GetItemsQuestSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "QuestItemsApi.GetItemsQuestSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/items/quest/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsQuestSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Quest Items Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + public async System.Threading.Tasks.Task> GetItemsQuestSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetItemsQuestSearchWithHttpInfoAsync(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Quest Items Search in all names and descriptions of quest items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + public async System.Threading.Tasks.Task>> GetItemsQuestSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling QuestItemsApi->GetItemsQuestSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling QuestItemsApi->GetItemsQuestSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling QuestItemsApi->GetItemsQuestSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "QuestItemsApi.GetItemsQuestSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/items/quest/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsQuestSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/ResourcesApi.cs b/src/Dofusdude.Api/Api/ResourcesApi.cs new file mode 100644 index 0000000..e8afab5 --- /dev/null +++ b/src/Dofusdude.Api/Api/ResourcesApi.cs @@ -0,0 +1,1304 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IResourcesApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// List All Resources + /// + /// + /// Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetAllItemsResourcesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + + /// + /// List All Resources + /// + /// + /// Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetAllItemsResourcesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + /// + /// Search Resources + /// + /// + /// Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + List GetItemsResourceSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Resources + /// + /// + /// Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + ApiResponse> GetItemsResourceSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + /// + /// List Resources + /// + /// + /// Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + ItemsListPaged GetItemsResourcesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + + /// + /// List Resources + /// + /// + /// Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + ApiResponse GetItemsResourcesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0); + /// + /// Single Resources + /// + /// + /// Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Resource + Resource GetItemsResourcesSingle(string language, int ankamaId, string game, int operationIndex = 0); + + /// + /// Single Resources + /// + /// + /// Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Resource + ApiResponse GetItemsResourcesSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IResourcesApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// List All Resources + /// + /// + /// Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetAllItemsResourcesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List All Resources + /// + /// + /// Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetAllItemsResourcesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Resources + /// + /// + /// Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + System.Threading.Tasks.Task> GetItemsResourceSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Resources + /// + /// + /// Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + System.Threading.Tasks.Task>> GetItemsResourceSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// List Resources + /// + /// + /// Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + System.Threading.Tasks.Task GetItemsResourcesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List Resources + /// + /// + /// Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + System.Threading.Tasks.Task> GetItemsResourcesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Single Resources + /// + /// + /// Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Resource + System.Threading.Tasks.Task GetItemsResourcesSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Resources + /// + /// + /// Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Resource) + System.Threading.Tasks.Task> GetItemsResourcesSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IResourcesApi : IResourcesApiSync, IResourcesApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class ResourcesApi : IResourcesApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public ResourcesApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public ResourcesApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public ResourcesApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public ResourcesApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// List All Resources Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetAllItemsResourcesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAllItemsResourcesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding); + return localVarResponse.Data; + } + + /// + /// List All Resources Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetAllItemsResourcesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetAllItemsResourcesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetAllItemsResourcesList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "ResourcesApi.GetAllItemsResourcesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/resources/all", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsResourcesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List All Resources Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetAllItemsResourcesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAllItemsResourcesListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, acceptEncoding, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List All Resources Retrieve all resource items with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetAllItemsResourcesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetAllItemsResourcesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetAllItemsResourcesList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "ResourcesApi.GetAllItemsResourcesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/resources/all", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllItemsResourcesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Resources Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<ItemListEntry> + public List GetItemsResourceSearch(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetItemsResourceSearchWithHttpInfo(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit); + return localVarResponse.Data; + } + + /// + /// Search Resources Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<ItemListEntry> + public Dofusdude.Api.Client.ApiResponse> GetItemsResourceSearchWithHttpInfo(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetItemsResourceSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetItemsResourceSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling ResourcesApi->GetItemsResourceSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "ResourcesApi.GetItemsResourceSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/items/resources/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsResourceSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Resources Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<ItemListEntry> + public async System.Threading.Tasks.Task> GetItemsResourceSearchAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetItemsResourceSearchWithHttpInfoAsync(language, game, query, filterTypeName, filterMinLevel, filterMaxLevel, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Resources Search in all names and descriptions of resource items with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<ItemListEntry>) + public async System.Threading.Tasks.Task>> GetItemsResourceSearchWithHttpInfoAsync(string language, string game, string query, string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetItemsResourceSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetItemsResourceSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling ResourcesApi->GetItemsResourceSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "ResourcesApi.GetItemsResourceSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/items/resources/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsResourceSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Resources Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ItemsListPaged + public ItemsListPaged GetItemsResourcesList(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemsResourcesListWithHttpInfo(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem); + return localVarResponse.Data; + } + + /// + /// List Resources Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of ItemsListPaged + public Dofusdude.Api.Client.ApiResponse GetItemsResourcesListWithHttpInfo(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetItemsResourcesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetItemsResourcesList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "ResourcesApi.GetItemsResourcesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/resources", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsResourcesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Resources Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ItemsListPaged + public async System.Threading.Tasks.Task GetItemsResourcesListAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemsResourcesListWithHttpInfoAsync(language, game, sortLevel, filterTypeName, filterMinLevel, filterMaxLevel, pageSize, pageNumber, fieldsItem, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List Resources Retrieve a list of resource items. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results with the translated type name (optional) + /// only results which level is equal or above this value (optional) + /// only results which level is equal or below this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (ItemsListPaged) + public async System.Threading.Tasks.Task> GetItemsResourcesListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), string? filterTypeName = default(string?), int? filterMinLevel = default(int?), int? filterMaxLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsItem = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetItemsResourcesList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetItemsResourcesList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterTypeName != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[type_name]", filterTypeName)); + } + if (filterMinLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_level]", filterMinLevel)); + } + if (filterMaxLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_level]", filterMaxLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsItem != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[item]", fieldsItem)); + } + + localVarRequestOptions.Operation = "ResourcesApi.GetItemsResourcesList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/resources", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsResourcesList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Resources Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Resource + public Resource GetItemsResourcesSingle(string language, int ankamaId, string game, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetItemsResourcesSingleWithHttpInfo(language, ankamaId, game); + return localVarResponse.Data; + } + + /// + /// Single Resources Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of Resource + public Dofusdude.Api.Client.ApiResponse GetItemsResourcesSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetItemsResourcesSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetItemsResourcesSingle"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "ResourcesApi.GetItemsResourcesSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/items/resources/{ankama_id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsResourcesSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Resources Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of Resource + public async System.Threading.Tasks.Task GetItemsResourcesSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetItemsResourcesSingleWithHttpInfoAsync(language, ankamaId, game, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Resources Retrieve a specific resource item with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (Resource) + public async System.Threading.Tasks.Task> GetItemsResourcesSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling ResourcesApi->GetItemsResourcesSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling ResourcesApi->GetItemsResourcesSingle"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "ResourcesApi.GetItemsResourcesSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/items/resources/{ankama_id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetItemsResourcesSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/SetsApi.cs b/src/Dofusdude.Api/Api/SetsApi.cs new file mode 100644 index 0000000..ce12d4b --- /dev/null +++ b/src/Dofusdude.Api/Api/SetsApi.cs @@ -0,0 +1,1256 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ISetsApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// List All Sets + /// + /// + /// Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// SetsListPaged + SetsListPaged GetAllSetsList(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + + /// + /// List All Sets + /// + /// + /// Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of SetsListPaged + ApiResponse GetAllSetsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0); + /// + /// List Sets + /// + /// + /// Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// SetsListPaged + SetsListPaged GetSetsList(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0); + + /// + /// List Sets + /// + /// + /// Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of SetsListPaged + ApiResponse GetSetsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0); + /// + /// Search Sets + /// + /// + /// Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<SetListEntry> + List GetSetsSearch(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + + /// + /// Search Sets + /// + /// + /// Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<SetListEntry> + ApiResponse> GetSetsSearchWithHttpInfo(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0); + /// + /// Single Sets + /// + /// + /// Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// EquipmentSet + EquipmentSet GetSetsSingle(string language, int ankamaId, string game, int operationIndex = 0); + + /// + /// Single Sets + /// + /// + /// Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of EquipmentSet + ApiResponse GetSetsSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ISetsApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// List All Sets + /// + /// + /// Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of SetsListPaged + System.Threading.Tasks.Task GetAllSetsListAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List All Sets + /// + /// + /// Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (SetsListPaged) + System.Threading.Tasks.Task> GetAllSetsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// List Sets + /// + /// + /// Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of SetsListPaged + System.Threading.Tasks.Task GetSetsListAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// List Sets + /// + /// + /// Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (SetsListPaged) + System.Threading.Tasks.Task> GetSetsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Search Sets + /// + /// + /// Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<SetListEntry> + System.Threading.Tasks.Task> GetSetsSearchAsync(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Search Sets + /// + /// + /// Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<SetListEntry>) + System.Threading.Tasks.Task>> GetSetsSearchWithHttpInfoAsync(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Single Sets + /// + /// + /// Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of EquipmentSet + System.Threading.Tasks.Task GetSetsSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Single Sets + /// + /// + /// Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (EquipmentSet) + System.Threading.Tasks.Task> GetSetsSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface ISetsApi : ISetsApiSync, ISetsApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class SetsApi : ISetsApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public SetsApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public SetsApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public SetsApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public SetsApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// List All Sets Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// SetsListPaged + public SetsListPaged GetAllSetsList(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetAllSetsListWithHttpInfo(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, acceptEncoding); + return localVarResponse.Data; + } + + /// + /// List All Sets Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// ApiResponse of SetsListPaged + public Dofusdude.Api.Client.ApiResponse GetAllSetsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetAllSetsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetAllSetsList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterMinHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_highest_equipment_level]", filterMinHighestEquipmentLevel)); + } + if (filterMaxHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_highest_equipment_level]", filterMaxHighestEquipmentLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "SetsApi.GetAllSetsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/sets/all", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllSetsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List All Sets Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of SetsListPaged + public async System.Threading.Tasks.Task GetAllSetsListAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetAllSetsListWithHttpInfoAsync(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, acceptEncoding, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List All Sets Retrieve all sets with one request. This endpoint is just an alias for the a list with disabled pagination (page[size]=-1) and all fields[type] set. If you want everything unfiltered, delete the other query parameters. Be careful with testing or (god forbid) using /all in your browser, the returned json is huge and will slow down the browser! Tip: set the HTTP Header 'Accept-Encoding: gzip' for saving bandwidth. You will need to uncompress it on your end. Example with cURL: ``` curl -sH 'Accept-Encoding: gzip' <api-endpoint> | gunzip - ``` + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// optional compression for saving bandwidth (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (SetsListPaged) + public async System.Threading.Tasks.Task> GetAllSetsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), string? acceptEncoding = default(string?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetAllSetsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetAllSetsList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterMinHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_highest_equipment_level]", filterMinHighestEquipmentLevel)); + } + if (filterMaxHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_highest_equipment_level]", filterMaxHighestEquipmentLevel)); + } + if (acceptEncoding != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept-Encoding", Dofusdude.Api.Client.ClientUtils.ParameterToString(acceptEncoding)); // header parameter + } + + localVarRequestOptions.Operation = "SetsApi.GetAllSetsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/sets/all", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetAllSetsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Sets Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// SetsListPaged + public SetsListPaged GetSetsList(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetSetsListWithHttpInfo(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, pageSize, pageNumber, fieldsSet); + return localVarResponse.Data; + } + + /// + /// List Sets Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// ApiResponse of SetsListPaged + public Dofusdude.Api.Client.ApiResponse GetSetsListWithHttpInfo(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetSetsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetSetsList"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterMinHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_highest_equipment_level]", filterMinHighestEquipmentLevel)); + } + if (filterMaxHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_highest_equipment_level]", filterMaxHighestEquipmentLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsSet != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[set]", fieldsSet)); + } + + localVarRequestOptions.Operation = "SetsApi.GetSetsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/sets", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetSetsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// List Sets Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of SetsListPaged + public async System.Threading.Tasks.Task GetSetsListAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetSetsListWithHttpInfoAsync(language, game, sortLevel, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, pageSize, pageNumber, fieldsSet, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// List Sets Retrieve a list of sets. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// sort the resulting list by level, default unsorted (optional) + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// size of the results from the list. -1 disables pagination and gets all in one response. (optional) + /// page number based on the current page[size]. So you could get page 1 with 8 entrys and page 2 would have entries 8 to 16. (optional) + /// adds fields from their detail endpoint to the item list entries. Multiple comma separated values allowed. (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (SetsListPaged) + public async System.Threading.Tasks.Task> GetSetsListWithHttpInfoAsync(string language, string game, string? sortLevel = default(string?), int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? pageSize = default(int?), int? pageNumber = default(int?), List? fieldsSet = default(List?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetSetsList"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetSetsList"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + if (sortLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "sort[level]", sortLevel)); + } + if (filterMinHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_highest_equipment_level]", filterMinHighestEquipmentLevel)); + } + if (filterMaxHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_highest_equipment_level]", filterMaxHighestEquipmentLevel)); + } + if (pageSize != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[size]", pageSize)); + } + if (pageNumber != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "page[number]", pageNumber)); + } + if (fieldsSet != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("csv", "fields[set]", fieldsSet)); + } + + localVarRequestOptions.Operation = "SetsApi.GetSetsList"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/sets", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetSetsList", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Sets Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// List<SetListEntry> + public List GetSetsSearch(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = GetSetsSearchWithHttpInfo(language, game, query, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, limit); + return localVarResponse.Data; + } + + /// + /// Search Sets Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// ApiResponse of List<SetListEntry> + public Dofusdude.Api.Client.ApiResponse> GetSetsSearchWithHttpInfo(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetSetsSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetSetsSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling SetsApi->GetSetsSearch"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterMinHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_highest_equipment_level]", filterMinHighestEquipmentLevel)); + } + if (filterMaxHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_highest_equipment_level]", filterMaxHighestEquipmentLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "SetsApi.GetSetsSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get>("/{game}/{language}/sets/search", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetSetsSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Search Sets Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of List<SetListEntry> + public async System.Threading.Tasks.Task> GetSetsSearchAsync(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse> localVarResponse = await GetSetsSearchWithHttpInfoAsync(language, game, query, filterMinHighestEquipmentLevel, filterMaxHighestEquipmentLevel, limit, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Search Sets Search in all names and descriptions of sets with a query. + /// + /// Thrown when fails to make API call + /// a valid language code + /// + /// case sensitive search query + /// only results where the equipment with the highest level is above or equal to this value (optional) + /// only results where the equipment with the highest level is below or equal to this value (optional) + /// maximum number of returned results (optional, default to 8) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (List<SetListEntry>) + public async System.Threading.Tasks.Task>> GetSetsSearchWithHttpInfoAsync(string language, string game, string query, int? filterMinHighestEquipmentLevel = default(int?), int? filterMaxHighestEquipmentLevel = default(int?), int? limit = default(int?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetSetsSearch"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetSetsSearch"); + } + + // verify the required parameter 'query' is set + if (query == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'query' when calling SetsApi->GetSetsSearch"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "query", query)); + if (filterMinHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[min_highest_equipment_level]", filterMinHighestEquipmentLevel)); + } + if (filterMaxHighestEquipmentLevel != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "filter[max_highest_equipment_level]", filterMaxHighestEquipmentLevel)); + } + if (limit != null) + { + localVarRequestOptions.QueryParameters.Add(Dofusdude.Api.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); + } + + localVarRequestOptions.Operation = "SetsApi.GetSetsSearch"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync>("/{game}/{language}/sets/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetSetsSearch", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Sets Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// EquipmentSet + public EquipmentSet GetSetsSingle(string language, int ankamaId, string game, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetSetsSingleWithHttpInfo(language, ankamaId, game); + return localVarResponse.Data; + } + + /// + /// Single Sets Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// ApiResponse of EquipmentSet + public Dofusdude.Api.Client.ApiResponse GetSetsSingleWithHttpInfo(string language, int ankamaId, string game, int operationIndex = 0) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetSetsSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetSetsSingle"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "SetsApi.GetSetsSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/{game}/{language}/sets/{ankama_id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetSetsSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Single Sets Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of EquipmentSet + public async System.Threading.Tasks.Task GetSetsSingleAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetSetsSingleWithHttpInfoAsync(language, ankamaId, game, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Single Sets Retrieve a specific set with id. + /// + /// Thrown when fails to make API call + /// a valid language code + /// identifier + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (EquipmentSet) + public async System.Threading.Tasks.Task> GetSetsSingleWithHttpInfoAsync(string language, int ankamaId, string game, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'language' is set + if (language == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'language' when calling SetsApi->GetSetsSingle"); + } + + // verify the required parameter 'game' is set + if (game == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'game' when calling SetsApi->GetSetsSingle"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("language", Dofusdude.Api.Client.ClientUtils.ParameterToString(language)); // path parameter + localVarRequestOptions.PathParameters.Add("ankama_id", Dofusdude.Api.Client.ClientUtils.ParameterToString(ankamaId)); // path parameter + localVarRequestOptions.PathParameters.Add("game", Dofusdude.Api.Client.ClientUtils.ParameterToString(game)); // path parameter + + localVarRequestOptions.Operation = "SetsApi.GetSetsSingle"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/{game}/{language}/sets/{ankama_id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetSetsSingle", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Api/WebhooksApi.cs b/src/Dofusdude.Api/Api/WebhooksApi.cs new file mode 100644 index 0000000..251e80c --- /dev/null +++ b/src/Dofusdude.Api/Api/WebhooksApi.cs @@ -0,0 +1,2956 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using System.Net.Mime; +using Dofusdude.Api.Client; +using Dofusdude.Api.Model; + +namespace Dofusdude.Api.Api +{ + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IWebhooksApiSync : IApiAccessor + { + #region Synchronous Operations + /// + /// Unregister Almanax Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// + void DeleteWebhooksAlmanaxId(string id, int operationIndex = 0); + + /// + /// Unregister Almanax Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of Object(void) + ApiResponse DeleteWebhooksAlmanaxIdWithHttpInfo(string id, int operationIndex = 0); + /// + /// Unregister RSS Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// + void DeleteWebhooksRssId(string id, int operationIndex = 0); + + /// + /// Unregister RSS Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of Object(void) + ApiResponse DeleteWebhooksRssIdWithHttpInfo(string id, int operationIndex = 0); + /// + /// Unregister Twitter Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// + void DeleteWebhooksTwitterId(string id, int operationIndex = 0); + + /// + /// Unregister Twitter Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of Object(void) + ApiResponse DeleteWebhooksTwitterIdWithHttpInfo(string id, int operationIndex = 0); + /// + /// Get Almanax Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// GetMetaWebhooksTwitter200Response + GetMetaWebhooksTwitter200Response GetMetaWebhooksAlmanax(int operationIndex = 0); + + /// + /// Get Almanax Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of GetMetaWebhooksTwitter200Response + ApiResponse GetMetaWebhooksAlmanaxWithHttpInfo(int operationIndex = 0); + /// + /// Get RSS Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// GetMetaWebhooksTwitter200Response + GetMetaWebhooksTwitter200Response GetMetaWebhooksRss(int operationIndex = 0); + + /// + /// Get RSS Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of GetMetaWebhooksTwitter200Response + ApiResponse GetMetaWebhooksRssWithHttpInfo(int operationIndex = 0); + /// + /// Get Twitter Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// GetMetaWebhooksTwitter200Response + GetMetaWebhooksTwitter200Response GetMetaWebhooksTwitter(int operationIndex = 0); + + /// + /// Get Twitter Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of GetMetaWebhooksTwitter200Response + ApiResponse GetMetaWebhooksTwitterWithHttpInfo(int operationIndex = 0); + /// + /// Get Almanax Hook + /// + /// + /// Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// AlmanaxWebhook + AlmanaxWebhook GetWebhooksAlmanaxId(string id, int operationIndex = 0); + + /// + /// Get Almanax Hook + /// + /// + /// Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of AlmanaxWebhook + ApiResponse GetWebhooksAlmanaxIdWithHttpInfo(string id, int operationIndex = 0); + /// + /// Get RSS Hook + /// + /// + /// Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// RssWebhook + RssWebhook GetWebhooksRssId(string id, int operationIndex = 0); + + /// + /// Get RSS Hook + /// + /// + /// Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of RssWebhook + ApiResponse GetWebhooksRssIdWithHttpInfo(string id, int operationIndex = 0); + /// + /// Get Twitter Hook + /// + /// + /// Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// TwitterWebhook + TwitterWebhook GetWebhooksTwitterId(string id, int operationIndex = 0); + + /// + /// Get Twitter Hook + /// + /// + /// Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of TwitterWebhook + ApiResponse GetWebhooksTwitterIdWithHttpInfo(string id, int operationIndex = 0); + /// + /// Register Almanax Hook + /// + /// + /// Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// + void PostWebhooksAlmanax(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0); + + /// + /// Register Almanax Hook + /// + /// + /// Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// ApiResponse of Object(void) + ApiResponse PostWebhooksAlmanaxWithHttpInfo(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0); + /// + /// Register RSS Hook + /// + /// + /// Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// + void PostWebhooksRss(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0); + + /// + /// Register RSS Hook + /// + /// + /// Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// ApiResponse of Object(void) + ApiResponse PostWebhooksRssWithHttpInfo(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0); + /// + /// Register Twitter Hook + /// + /// + /// Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// + void PostWebhooksTwitter(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0); + + /// + /// Register Twitter Hook + /// + /// + /// Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// ApiResponse of Object(void) + ApiResponse PostWebhooksTwitterWithHttpInfo(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0); + /// + /// Update Almanax Hook + /// + /// + /// Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// AlmanaxWebhook + AlmanaxWebhook PutWebhooksAlmanaxId(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0); + + /// + /// Update Almanax Hook + /// + /// + /// Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// ApiResponse of AlmanaxWebhook + ApiResponse PutWebhooksAlmanaxIdWithHttpInfo(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0); + /// + /// Update RSS Hook + /// + /// + /// Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// RssWebhook + RssWebhook PutWebhooksRssId(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0); + + /// + /// Update RSS Hook + /// + /// + /// Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// ApiResponse of RssWebhook + ApiResponse PutWebhooksRssIdWithHttpInfo(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0); + /// + /// Update Twitter Hook + /// + /// + /// Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// TwitterWebhook + TwitterWebhook PutWebhooksTwitterId(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0); + + /// + /// Update Twitter Hook + /// + /// + /// Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// ApiResponse of TwitterWebhook + ApiResponse PutWebhooksTwitterIdWithHttpInfo(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0); + #endregion Synchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IWebhooksApiAsync : IApiAccessor + { + #region Asynchronous Operations + /// + /// Unregister Almanax Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + System.Threading.Tasks.Task DeleteWebhooksAlmanaxIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Unregister Almanax Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteWebhooksAlmanaxIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Unregister RSS Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + System.Threading.Tasks.Task DeleteWebhooksRssIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Unregister RSS Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteWebhooksRssIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Unregister Twitter Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + System.Threading.Tasks.Task DeleteWebhooksTwitterIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Unregister Twitter Hook + /// + /// + /// Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + System.Threading.Tasks.Task> DeleteWebhooksTwitterIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Get Almanax Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of GetMetaWebhooksTwitter200Response + System.Threading.Tasks.Task GetMetaWebhooksAlmanaxAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Get Almanax Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (GetMetaWebhooksTwitter200Response) + System.Threading.Tasks.Task> GetMetaWebhooksAlmanaxWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Get RSS Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of GetMetaWebhooksTwitter200Response + System.Threading.Tasks.Task GetMetaWebhooksRssAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Get RSS Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (GetMetaWebhooksTwitter200Response) + System.Threading.Tasks.Task> GetMetaWebhooksRssWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Get Twitter Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of GetMetaWebhooksTwitter200Response + System.Threading.Tasks.Task GetMetaWebhooksTwitterAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Get Twitter Hook Metainfo + /// + /// + /// Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (GetMetaWebhooksTwitter200Response) + System.Threading.Tasks.Task> GetMetaWebhooksTwitterWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Get Almanax Hook + /// + /// + /// Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of AlmanaxWebhook + System.Threading.Tasks.Task GetWebhooksAlmanaxIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Get Almanax Hook + /// + /// + /// Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (AlmanaxWebhook) + System.Threading.Tasks.Task> GetWebhooksAlmanaxIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Get RSS Hook + /// + /// + /// Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of RssWebhook + System.Threading.Tasks.Task GetWebhooksRssIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Get RSS Hook + /// + /// + /// Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (RssWebhook) + System.Threading.Tasks.Task> GetWebhooksRssIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Get Twitter Hook + /// + /// + /// Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of TwitterWebhook + System.Threading.Tasks.Task GetWebhooksTwitterIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Get Twitter Hook + /// + /// + /// Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (TwitterWebhook) + System.Threading.Tasks.Task> GetWebhooksTwitterIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Register Almanax Hook + /// + /// + /// Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + System.Threading.Tasks.Task PostWebhooksAlmanaxAsync(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Register Almanax Hook + /// + /// + /// Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + System.Threading.Tasks.Task> PostWebhooksAlmanaxWithHttpInfoAsync(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Register RSS Hook + /// + /// + /// Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + System.Threading.Tasks.Task PostWebhooksRssAsync(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Register RSS Hook + /// + /// + /// Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + System.Threading.Tasks.Task> PostWebhooksRssWithHttpInfoAsync(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Register Twitter Hook + /// + /// + /// Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + System.Threading.Tasks.Task PostWebhooksTwitterAsync(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Register Twitter Hook + /// + /// + /// Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + System.Threading.Tasks.Task> PostWebhooksTwitterWithHttpInfoAsync(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Update Almanax Hook + /// + /// + /// Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of AlmanaxWebhook + System.Threading.Tasks.Task PutWebhooksAlmanaxIdAsync(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Update Almanax Hook + /// + /// + /// Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (AlmanaxWebhook) + System.Threading.Tasks.Task> PutWebhooksAlmanaxIdWithHttpInfoAsync(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Update RSS Hook + /// + /// + /// Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of RssWebhook + System.Threading.Tasks.Task PutWebhooksRssIdAsync(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Update RSS Hook + /// + /// + /// Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (RssWebhook) + System.Threading.Tasks.Task> PutWebhooksRssIdWithHttpInfoAsync(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + /// + /// Update Twitter Hook + /// + /// + /// Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of TwitterWebhook + System.Threading.Tasks.Task PutWebhooksTwitterIdAsync(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Update Twitter Hook + /// + /// + /// Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (TwitterWebhook) + System.Threading.Tasks.Task> PutWebhooksTwitterIdWithHttpInfoAsync(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + #endregion Asynchronous Operations + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public interface IWebhooksApi : IWebhooksApiSync, IWebhooksApiAsync + { + + } + + /// + /// Represents a collection of functions to interact with the API endpoints + /// + public partial class WebhooksApi : IWebhooksApi + { + private Dofusdude.Api.Client.ExceptionFactory _exceptionFactory = (name, response) => null; + + /// + /// Initializes a new instance of the class. + /// + /// + public WebhooksApi() : this((string)null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + public WebhooksApi(string basePath) + { + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + new Dofusdude.Api.Client.Configuration { BasePath = basePath } + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using Configuration object + /// + /// An instance of Configuration + /// + public WebhooksApi(Dofusdude.Api.Client.Configuration configuration) + { + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Configuration = Dofusdude.Api.Client.Configuration.MergeConfigurations( + Dofusdude.Api.Client.GlobalConfiguration.Instance, + configuration + ); + this.Client = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + this.AsynchronousClient = new Dofusdude.Api.Client.ApiClient(this.Configuration.BasePath); + ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// Initializes a new instance of the class + /// using a Configuration object and client instance. + /// + /// The client interface for synchronous API access. + /// The client interface for asynchronous API access. + /// The configuration object. + public WebhooksApi(Dofusdude.Api.Client.ISynchronousClient client, Dofusdude.Api.Client.IAsynchronousClient asyncClient, Dofusdude.Api.Client.IReadableConfiguration configuration) + { + if (client == null) throw new ArgumentNullException("client"); + if (asyncClient == null) throw new ArgumentNullException("asyncClient"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + this.Client = client; + this.AsynchronousClient = asyncClient; + this.Configuration = configuration; + this.ExceptionFactory = Dofusdude.Api.Client.Configuration.DefaultExceptionFactory; + } + + /// + /// The client for accessing this underlying API asynchronously. + /// + public Dofusdude.Api.Client.IAsynchronousClient AsynchronousClient { get; set; } + + /// + /// The client for accessing this underlying API synchronously. + /// + public Dofusdude.Api.Client.ISynchronousClient Client { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + public string GetBasePath() + { + return this.Configuration.BasePath; + } + + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + public Dofusdude.Api.Client.IReadableConfiguration Configuration { get; set; } + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + public Dofusdude.Api.Client.ExceptionFactory ExceptionFactory + { + get + { + if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1) + { + throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported."); + } + return _exceptionFactory; + } + set { _exceptionFactory = value; } + } + + /// + /// Unregister Almanax Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// + public void DeleteWebhooksAlmanaxId(string id, int operationIndex = 0) + { + DeleteWebhooksAlmanaxIdWithHttpInfo(id); + } + + /// + /// Unregister Almanax Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of Object(void) + public Dofusdude.Api.Client.ApiResponse DeleteWebhooksAlmanaxIdWithHttpInfo(string id, int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->DeleteWebhooksAlmanaxId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.DeleteWebhooksAlmanaxId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Delete("/webhooks/almanax/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteWebhooksAlmanaxId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Unregister Almanax Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + public async System.Threading.Tasks.Task DeleteWebhooksAlmanaxIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + await DeleteWebhooksAlmanaxIdWithHttpInfoAsync(id, operationIndex, cancellationToken).ConfigureAwait(false); + } + + /// + /// Unregister Almanax Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteWebhooksAlmanaxIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->DeleteWebhooksAlmanaxId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.DeleteWebhooksAlmanaxId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/webhooks/almanax/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteWebhooksAlmanaxId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Unregister RSS Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// + public void DeleteWebhooksRssId(string id, int operationIndex = 0) + { + DeleteWebhooksRssIdWithHttpInfo(id); + } + + /// + /// Unregister RSS Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of Object(void) + public Dofusdude.Api.Client.ApiResponse DeleteWebhooksRssIdWithHttpInfo(string id, int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->DeleteWebhooksRssId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.DeleteWebhooksRssId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Delete("/webhooks/rss/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteWebhooksRssId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Unregister RSS Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + public async System.Threading.Tasks.Task DeleteWebhooksRssIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + await DeleteWebhooksRssIdWithHttpInfoAsync(id, operationIndex, cancellationToken).ConfigureAwait(false); + } + + /// + /// Unregister RSS Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteWebhooksRssIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->DeleteWebhooksRssId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.DeleteWebhooksRssId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/webhooks/rss/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteWebhooksRssId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Unregister Twitter Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// + public void DeleteWebhooksTwitterId(string id, int operationIndex = 0) + { + DeleteWebhooksTwitterIdWithHttpInfo(id); + } + + /// + /// Unregister Twitter Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of Object(void) + public Dofusdude.Api.Client.ApiResponse DeleteWebhooksTwitterIdWithHttpInfo(string id, int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->DeleteWebhooksTwitterId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.DeleteWebhooksTwitterId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Delete("/webhooks/twitter/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteWebhooksTwitterId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Unregister Twitter Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + public async System.Threading.Tasks.Task DeleteWebhooksTwitterIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + await DeleteWebhooksTwitterIdWithHttpInfoAsync(id, operationIndex, cancellationToken).ConfigureAwait(false); + } + + /// + /// Unregister Twitter Hook Delete a Webhook from the service. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> DeleteWebhooksTwitterIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->DeleteWebhooksTwitterId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.DeleteWebhooksTwitterId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/webhooks/twitter/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteWebhooksTwitterId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Almanax Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// GetMetaWebhooksTwitter200Response + public GetMetaWebhooksTwitter200Response GetMetaWebhooksAlmanax(int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetMetaWebhooksAlmanaxWithHttpInfo(); + return localVarResponse.Data; + } + + /// + /// Get Almanax Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of GetMetaWebhooksTwitter200Response + public Dofusdude.Api.Client.ApiResponse GetMetaWebhooksAlmanaxWithHttpInfo(int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "WebhooksApi.GetMetaWebhooksAlmanax"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/meta/webhooks/almanax", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaWebhooksAlmanax", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Almanax Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of GetMetaWebhooksTwitter200Response + public async System.Threading.Tasks.Task GetMetaWebhooksAlmanaxAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetMetaWebhooksAlmanaxWithHttpInfoAsync(operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Get Almanax Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (GetMetaWebhooksTwitter200Response) + public async System.Threading.Tasks.Task> GetMetaWebhooksAlmanaxWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "WebhooksApi.GetMetaWebhooksAlmanax"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/meta/webhooks/almanax", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaWebhooksAlmanax", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get RSS Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// GetMetaWebhooksTwitter200Response + public GetMetaWebhooksTwitter200Response GetMetaWebhooksRss(int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetMetaWebhooksRssWithHttpInfo(); + return localVarResponse.Data; + } + + /// + /// Get RSS Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of GetMetaWebhooksTwitter200Response + public Dofusdude.Api.Client.ApiResponse GetMetaWebhooksRssWithHttpInfo(int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "WebhooksApi.GetMetaWebhooksRss"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/meta/webhooks/rss", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaWebhooksRss", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get RSS Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of GetMetaWebhooksTwitter200Response + public async System.Threading.Tasks.Task GetMetaWebhooksRssAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetMetaWebhooksRssWithHttpInfoAsync(operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Get RSS Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (GetMetaWebhooksTwitter200Response) + public async System.Threading.Tasks.Task> GetMetaWebhooksRssWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "WebhooksApi.GetMetaWebhooksRss"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/meta/webhooks/rss", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaWebhooksRss", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Twitter Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// GetMetaWebhooksTwitter200Response + public GetMetaWebhooksTwitter200Response GetMetaWebhooksTwitter(int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetMetaWebhooksTwitterWithHttpInfo(); + return localVarResponse.Data; + } + + /// + /// Get Twitter Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// ApiResponse of GetMetaWebhooksTwitter200Response + public Dofusdude.Api.Client.ApiResponse GetMetaWebhooksTwitterWithHttpInfo(int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "WebhooksApi.GetMetaWebhooksTwitter"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/meta/webhooks/twitter", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaWebhooksTwitter", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Twitter Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of GetMetaWebhooksTwitter200Response + public async System.Threading.Tasks.Task GetMetaWebhooksTwitterAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetMetaWebhooksTwitterWithHttpInfoAsync(operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Get Twitter Hook Metainfo Get a list of all available subscriptions. + /// + /// Thrown when fails to make API call + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (GetMetaWebhooksTwitter200Response) + public async System.Threading.Tasks.Task> GetMetaWebhooksTwitterWithHttpInfoAsync(int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + + localVarRequestOptions.Operation = "WebhooksApi.GetMetaWebhooksTwitter"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/meta/webhooks/twitter", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetMetaWebhooksTwitter", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Almanax Hook Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// AlmanaxWebhook + public AlmanaxWebhook GetWebhooksAlmanaxId(string id, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetWebhooksAlmanaxIdWithHttpInfo(id); + return localVarResponse.Data; + } + + /// + /// Get Almanax Hook Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of AlmanaxWebhook + public Dofusdude.Api.Client.ApiResponse GetWebhooksAlmanaxIdWithHttpInfo(string id, int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->GetWebhooksAlmanaxId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.GetWebhooksAlmanaxId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/webhooks/almanax/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetWebhooksAlmanaxId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Almanax Hook Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of AlmanaxWebhook + public async System.Threading.Tasks.Task GetWebhooksAlmanaxIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetWebhooksAlmanaxIdWithHttpInfoAsync(id, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Get Almanax Hook Retrieve details about an existing Almanax Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (AlmanaxWebhook) + public async System.Threading.Tasks.Task> GetWebhooksAlmanaxIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->GetWebhooksAlmanaxId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.GetWebhooksAlmanaxId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/webhooks/almanax/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetWebhooksAlmanaxId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get RSS Hook Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// RssWebhook + public RssWebhook GetWebhooksRssId(string id, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetWebhooksRssIdWithHttpInfo(id); + return localVarResponse.Data; + } + + /// + /// Get RSS Hook Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of RssWebhook + public Dofusdude.Api.Client.ApiResponse GetWebhooksRssIdWithHttpInfo(string id, int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->GetWebhooksRssId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.GetWebhooksRssId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/webhooks/rss/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetWebhooksRssId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get RSS Hook Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of RssWebhook + public async System.Threading.Tasks.Task GetWebhooksRssIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetWebhooksRssIdWithHttpInfoAsync(id, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Get RSS Hook Retrieve details about an existing RSS Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (RssWebhook) + public async System.Threading.Tasks.Task> GetWebhooksRssIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->GetWebhooksRssId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.GetWebhooksRssId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/webhooks/rss/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetWebhooksRssId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Twitter Hook Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// TwitterWebhook + public TwitterWebhook GetWebhooksTwitterId(string id, int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = GetWebhooksTwitterIdWithHttpInfo(id); + return localVarResponse.Data; + } + + /// + /// Get Twitter Hook Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// ApiResponse of TwitterWebhook + public Dofusdude.Api.Client.ApiResponse GetWebhooksTwitterIdWithHttpInfo(string id, int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->GetWebhooksTwitterId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.GetWebhooksTwitterId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Get("/webhooks/twitter/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetWebhooksTwitterId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Get Twitter Hook Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of TwitterWebhook + public async System.Threading.Tasks.Task GetWebhooksTwitterIdAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await GetWebhooksTwitterIdWithHttpInfoAsync(id, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Get Twitter Hook Retrieve details about an existing Twitter Webhook with a given uuid. + /// + /// Thrown when fails to make API call + /// + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (TwitterWebhook) + public async System.Threading.Tasks.Task> GetWebhooksTwitterIdWithHttpInfoAsync(string id, int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->GetWebhooksTwitterId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + + localVarRequestOptions.Operation = "WebhooksApi.GetWebhooksTwitterId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.GetAsync("/webhooks/twitter/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetWebhooksTwitterId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Register Almanax Hook Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// + public void PostWebhooksAlmanax(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0) + { + PostWebhooksAlmanaxWithHttpInfo(createAlmanaxWebhook); + } + + /// + /// Register Almanax Hook Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// ApiResponse of Object(void) + public Dofusdude.Api.Client.ApiResponse PostWebhooksAlmanaxWithHttpInfo(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.Data = createAlmanaxWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PostWebhooksAlmanax"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Post("/webhooks/almanax", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PostWebhooksAlmanax", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Register Almanax Hook Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + public async System.Threading.Tasks.Task PostWebhooksAlmanaxAsync(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + await PostWebhooksAlmanaxWithHttpInfoAsync(createAlmanaxWebhook, operationIndex, cancellationToken).ConfigureAwait(false); + } + + /// + /// Register Almanax Hook Register a new Webhook to post Almanax updates. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> PostWebhooksAlmanaxWithHttpInfoAsync(CreateAlmanaxWebhook? createAlmanaxWebhook = default(CreateAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.Data = createAlmanaxWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PostWebhooksAlmanax"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.PostAsync("/webhooks/almanax", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PostWebhooksAlmanax", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Register RSS Hook Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// + public void PostWebhooksRss(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0) + { + PostWebhooksRssWithHttpInfo(createRSSWebhook); + } + + /// + /// Register RSS Hook Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// ApiResponse of Object(void) + public Dofusdude.Api.Client.ApiResponse PostWebhooksRssWithHttpInfo(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.Data = createRSSWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PostWebhooksRss"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Post("/webhooks/rss", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PostWebhooksRss", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Register RSS Hook Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + public async System.Threading.Tasks.Task PostWebhooksRssAsync(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + await PostWebhooksRssWithHttpInfoAsync(createRSSWebhook, operationIndex, cancellationToken).ConfigureAwait(false); + } + + /// + /// Register RSS Hook Register a new Webhook to post RSS news as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> PostWebhooksRssWithHttpInfoAsync(CreateRSSWebhook? createRSSWebhook = default(CreateRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.Data = createRSSWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PostWebhooksRss"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.PostAsync("/webhooks/rss", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PostWebhooksRss", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Register Twitter Hook Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// + public void PostWebhooksTwitter(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0) + { + PostWebhooksTwitterWithHttpInfo(createTwitterWebhook); + } + + /// + /// Register Twitter Hook Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// ApiResponse of Object(void) + public Dofusdude.Api.Client.ApiResponse PostWebhooksTwitterWithHttpInfo(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0) + { + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.Data = createTwitterWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PostWebhooksTwitter"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Post("/webhooks/twitter", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PostWebhooksTwitter", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Register Twitter Hook Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of void + public async System.Threading.Tasks.Task PostWebhooksTwitterAsync(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + await PostWebhooksTwitterWithHttpInfoAsync(createTwitterWebhook, operationIndex, cancellationToken).ConfigureAwait(false); + } + + /// + /// Register Twitter Hook Register a new Webhook to post Twitter updates as soon as they are posted. + /// + /// Thrown when fails to make API call + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse + public async System.Threading.Tasks.Task> PostWebhooksTwitterWithHttpInfoAsync(CreateTwitterWebhook? createTwitterWebhook = default(CreateTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.Data = createTwitterWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PostWebhooksTwitter"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.PostAsync("/webhooks/twitter", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PostWebhooksTwitter", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Update Almanax Hook Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// AlmanaxWebhook + public AlmanaxWebhook PutWebhooksAlmanaxId(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = PutWebhooksAlmanaxIdWithHttpInfo(id, putAlmanaxWebhook); + return localVarResponse.Data; + } + + /// + /// Update Almanax Hook Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// ApiResponse of AlmanaxWebhook + public Dofusdude.Api.Client.ApiResponse PutWebhooksAlmanaxIdWithHttpInfo(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->PutWebhooksAlmanaxId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + localVarRequestOptions.Data = putAlmanaxWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PutWebhooksAlmanaxId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Put("/webhooks/almanax/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PutWebhooksAlmanaxId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Update Almanax Hook Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of AlmanaxWebhook + public async System.Threading.Tasks.Task PutWebhooksAlmanaxIdAsync(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await PutWebhooksAlmanaxIdWithHttpInfoAsync(id, putAlmanaxWebhook, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Update Almanax Hook Update the details of an Almanax Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (AlmanaxWebhook) + public async System.Threading.Tasks.Task> PutWebhooksAlmanaxIdWithHttpInfoAsync(string id, PutAlmanaxWebhook? putAlmanaxWebhook = default(PutAlmanaxWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->PutWebhooksAlmanaxId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + localVarRequestOptions.Data = putAlmanaxWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PutWebhooksAlmanaxId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.PutAsync("/webhooks/almanax/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PutWebhooksAlmanaxId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Update RSS Hook Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// RssWebhook + public RssWebhook PutWebhooksRssId(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = PutWebhooksRssIdWithHttpInfo(id, putRSSWebhook); + return localVarResponse.Data; + } + + /// + /// Update RSS Hook Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// ApiResponse of RssWebhook + public Dofusdude.Api.Client.ApiResponse PutWebhooksRssIdWithHttpInfo(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->PutWebhooksRssId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + localVarRequestOptions.Data = putRSSWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PutWebhooksRssId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Put("/webhooks/rss/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PutWebhooksRssId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Update RSS Hook Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of RssWebhook + public async System.Threading.Tasks.Task PutWebhooksRssIdAsync(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await PutWebhooksRssIdWithHttpInfoAsync(id, putRSSWebhook, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Update RSS Hook Update the details of a RSS Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (RssWebhook) + public async System.Threading.Tasks.Task> PutWebhooksRssIdWithHttpInfoAsync(string id, PutRSSWebhook? putRSSWebhook = default(PutRSSWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->PutWebhooksRssId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + localVarRequestOptions.Data = putRSSWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PutWebhooksRssId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.PutAsync("/webhooks/rss/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PutWebhooksRssId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Update Twitter Hook Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// TwitterWebhook + public TwitterWebhook PutWebhooksTwitterId(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = PutWebhooksTwitterIdWithHttpInfo(id, putTwitterWebhook); + return localVarResponse.Data; + } + + /// + /// Update Twitter Hook Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// ApiResponse of TwitterWebhook + public Dofusdude.Api.Client.ApiResponse PutWebhooksTwitterIdWithHttpInfo(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->PutWebhooksTwitterId"); + } + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + localVarRequestOptions.Data = putTwitterWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PutWebhooksTwitterId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = this.Client.Put("/webhooks/twitter/{id}", localVarRequestOptions, this.Configuration); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PutWebhooksTwitterId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Update Twitter Hook Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of TwitterWebhook + public async System.Threading.Tasks.Task PutWebhooksTwitterIdAsync(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + Dofusdude.Api.Client.ApiResponse localVarResponse = await PutWebhooksTwitterIdWithHttpInfoAsync(id, putTwitterWebhook, operationIndex, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Update Twitter Hook Update the details of a Twitter Webhook. All fields are optional and arrays will be overwritten, so always put all selected items of an array. + /// + /// Thrown when fails to make API call + /// + /// (optional) + /// Index associated with the operation. + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (TwitterWebhook) + public async System.Threading.Tasks.Task> PutWebhooksTwitterIdWithHttpInfoAsync(string id, PutTwitterWebhook? putTwitterWebhook = default(PutTwitterWebhook?), int operationIndex = 0, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + // verify the required parameter 'id' is set + if (id == null) + { + throw new Dofusdude.Api.Client.ApiException(400, "Missing required parameter 'id' when calling WebhooksApi->PutWebhooksTwitterId"); + } + + + Dofusdude.Api.Client.RequestOptions localVarRequestOptions = new Dofusdude.Api.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Dofusdude.Api.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = Dofusdude.Api.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add("id", Dofusdude.Api.Client.ClientUtils.ParameterToString(id)); // path parameter + localVarRequestOptions.Data = putTwitterWebhook; + + localVarRequestOptions.Operation = "WebhooksApi.PutWebhooksTwitterId"; + localVarRequestOptions.OperationIndex = operationIndex; + + + // make the HTTP request + var localVarResponse = await this.AsynchronousClient.PutAsync("/webhooks/twitter/{id}", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("PutWebhooksTwitterId", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + } +} diff --git a/src/Dofusdude.Api/Client/ApiClient.cs b/src/Dofusdude.Api/Client/ApiClient.cs new file mode 100644 index 0000000..268275d --- /dev/null +++ b/src/Dofusdude.Api/Client/ApiClient.cs @@ -0,0 +1,834 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Net; +using System.Reflection; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Formatters; +using System.Text; +using System.Threading; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Web; +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; +using RestSharp; +using RestSharp.Serializers; +using RestSharpMethod = RestSharp.Method; +using Polly; + +namespace Dofusdude.Api.Client +{ + /// + /// Allows RestSharp to Serialize/Deserialize JSON using our custom logic, but only when ContentType is JSON. + /// + internal class CustomJsonCodec : IRestSerializer, ISerializer, IDeserializer + { + private readonly IReadableConfiguration _configuration; + private readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings + { + // OpenAPI generated types generally hide default constructors. + ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor, + ContractResolver = new DefaultContractResolver + { + NamingStrategy = new CamelCaseNamingStrategy + { + OverrideSpecifiedNames = false + } + } + }; + + public CustomJsonCodec(IReadableConfiguration configuration) + { + _configuration = configuration; + } + + public CustomJsonCodec(JsonSerializerSettings serializerSettings, IReadableConfiguration configuration) + { + _serializerSettings = serializerSettings; + _configuration = configuration; + } + + /// + /// Serialize the object into a JSON string. + /// + /// Object to be serialized. + /// A JSON string. + public string Serialize(object obj) + { + if (obj != null && obj is Dofusdude.Api.Model.AbstractOpenAPISchema) + { + // the object to be serialized is an oneOf/anyOf schema + return ((Dofusdude.Api.Model.AbstractOpenAPISchema)obj).ToJson(); + } + else + { + return JsonConvert.SerializeObject(obj, _serializerSettings); + } + } + + public string Serialize(Parameter bodyParameter) => Serialize(bodyParameter.Value); + + public T Deserialize(RestResponse response) + { + var result = (T)Deserialize(response, typeof(T)); + return result; + } + + /// + /// Deserialize the JSON string into a proper object. + /// + /// The HTTP response. + /// Object type. + /// Object representation of the JSON string. + internal object Deserialize(RestResponse response, Type type) + { + if (type == typeof(byte[])) // return byte array + { + return response.RawBytes; + } + + // TODO: ? if (type.IsAssignableFrom(typeof(Stream))) + if (type == typeof(Stream)) + { + var bytes = response.RawBytes; + if (response.Headers != null) + { + var filePath = string.IsNullOrEmpty(_configuration.TempFolderPath) + ? Path.GetTempPath() + : _configuration.TempFolderPath; + var regex = new Regex(@"Content-Disposition=.*filename=['""]?([^'""\s]+)['""]?$"); + foreach (var header in response.Headers) + { + var match = regex.Match(header.ToString()); + if (match.Success) + { + string fileName = filePath + ClientUtils.SanitizeFilename(match.Groups[1].Value.Replace("\"", "").Replace("'", "")); + File.WriteAllBytes(fileName, bytes); + return new FileStream(fileName, FileMode.Open); + } + } + } + var stream = new MemoryStream(bytes); + return stream; + } + + if (type.Name.StartsWith("System.Nullable`1[[System.DateTime")) // return a datetime object + { + return DateTime.Parse(response.Content, null, System.Globalization.DateTimeStyles.RoundtripKind); + } + + if (type == typeof(string) || type.Name.StartsWith("System.Nullable")) // return primitive type + { + return Convert.ChangeType(response.Content, type); + } + + // at this point, it must be a model (json) + try + { + return JsonConvert.DeserializeObject(response.Content, type, _serializerSettings); + } + catch (Exception e) + { + throw new ApiException(500, e.Message); + } + } + + public ISerializer Serializer => this; + public IDeserializer Deserializer => this; + + public string[] AcceptedContentTypes => RestSharp.ContentType.JsonAccept; + + public SupportsContentType SupportsContentType => contentType => + contentType.Value.EndsWith("json", StringComparison.InvariantCultureIgnoreCase) || + contentType.Value.EndsWith("javascript", StringComparison.InvariantCultureIgnoreCase); + + public ContentType ContentType { get; set; } = RestSharp.ContentType.Json; + + public DataFormat DataFormat => DataFormat.Json; + } + /// + /// Provides a default implementation of an Api client (both synchronous and asynchronous implementations), + /// encapsulating general REST accessor use cases. + /// + public partial class ApiClient : ISynchronousClient, IAsynchronousClient + { + private readonly string _baseUrl; + + /// + /// Specifies the settings on a object. + /// These settings can be adjusted to accommodate custom serialization rules. + /// + public JsonSerializerSettings SerializerSettings { get; set; } = new JsonSerializerSettings + { + // OpenAPI generated types generally hide default constructors. + ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor, + ContractResolver = new DefaultContractResolver + { + NamingStrategy = new CamelCaseNamingStrategy + { + OverrideSpecifiedNames = false + } + } + }; + + /// + /// Allows for extending request processing for generated code. + /// + /// The RestSharp request object + partial void InterceptRequest(RestRequest request); + + /// + /// Allows for extending response processing for generated code. + /// + /// The RestSharp request object + /// The RestSharp response object + partial void InterceptResponse(RestRequest request, RestResponse response); + + /// + /// Initializes a new instance of the , defaulting to the global configurations' base url. + /// + public ApiClient() + { + _baseUrl = Dofusdude.Api.Client.GlobalConfiguration.Instance.BasePath; + } + + /// + /// Initializes a new instance of the + /// + /// The target service's base path in URL format. + /// + public ApiClient(string basePath) + { + if (string.IsNullOrEmpty(basePath)) + throw new ArgumentException("basePath cannot be empty"); + + _baseUrl = basePath; + } + + /// + /// Constructs the RestSharp version of an http method + /// + /// Swagger Client Custom HttpMethod + /// RestSharp's HttpMethod instance. + /// + private RestSharpMethod Method(HttpMethod method) + { + RestSharpMethod other; + switch (method) + { + case HttpMethod.Get: + other = RestSharpMethod.Get; + break; + case HttpMethod.Post: + other = RestSharpMethod.Post; + break; + case HttpMethod.Put: + other = RestSharpMethod.Put; + break; + case HttpMethod.Delete: + other = RestSharpMethod.Delete; + break; + case HttpMethod.Head: + other = RestSharpMethod.Head; + break; + case HttpMethod.Options: + other = RestSharpMethod.Options; + break; + case HttpMethod.Patch: + other = RestSharpMethod.Patch; + break; + default: + throw new ArgumentOutOfRangeException("method", method, null); + } + + return other; + } + + /// + /// Provides all logic for constructing a new RestSharp . + /// At this point, all information for querying the service is known. Here, it is simply + /// mapped into the RestSharp request. + /// + /// The http verb. + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// [private] A new RestRequest instance. + /// + private RestRequest NewRequest( + HttpMethod method, + string path, + RequestOptions options, + IReadableConfiguration configuration) + { + if (path == null) throw new ArgumentNullException("path"); + if (options == null) throw new ArgumentNullException("options"); + if (configuration == null) throw new ArgumentNullException("configuration"); + + RestRequest request = new RestRequest(path, Method(method)); + + if (options.PathParameters != null) + { + foreach (var pathParam in options.PathParameters) + { + request.AddParameter(pathParam.Key, pathParam.Value, ParameterType.UrlSegment); + } + } + + if (options.QueryParameters != null) + { + foreach (var queryParam in options.QueryParameters) + { + foreach (var value in queryParam.Value) + { + request.AddQueryParameter(queryParam.Key, value); + } + } + } + + if (configuration.DefaultHeaders != null) + { + foreach (var headerParam in configuration.DefaultHeaders) + { + request.AddHeader(headerParam.Key, headerParam.Value); + } + } + + if (options.HeaderParameters != null) + { + foreach (var headerParam in options.HeaderParameters) + { + foreach (var value in headerParam.Value) + { + request.AddHeader(headerParam.Key, value); + } + } + } + + if (options.FormParameters != null) + { + foreach (var formParam in options.FormParameters) + { + request.AddParameter(formParam.Key, formParam.Value); + } + } + + if (options.Data != null) + { + if (options.Data is Stream stream) + { + var contentType = "application/octet-stream"; + if (options.HeaderParameters != null) + { + var contentTypes = options.HeaderParameters["Content-Type"]; + contentType = contentTypes[0]; + } + + var bytes = ClientUtils.ReadAsBytes(stream); + request.AddParameter(contentType, bytes, ParameterType.RequestBody); + } + else + { + if (options.HeaderParameters != null) + { + var contentTypes = options.HeaderParameters["Content-Type"]; + if (contentTypes == null || contentTypes.Any(header => header.Contains("application/json"))) + { + request.RequestFormat = DataFormat.Json; + } + else + { + // TODO: Generated client user should add additional handlers. RestSharp only supports XML and JSON, with XML as default. + } + } + else + { + // Here, we'll assume JSON APIs are more common. XML can be forced by adding produces/consumes to openapi spec explicitly. + request.RequestFormat = DataFormat.Json; + } + + request.AddJsonBody(options.Data); + } + } + + if (options.FileParameters != null) + { + foreach (var fileParam in options.FileParameters) + { + foreach (var file in fileParam.Value) + { + var bytes = ClientUtils.ReadAsBytes(file); + var fileStream = file as FileStream; + if (fileStream != null) + request.AddFile(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)); + else + request.AddFile(fileParam.Key, bytes, "no_file_name_provided"); + } + } + } + + return request; + } + + private ApiResponse ToApiResponse(RestResponse response) + { + T result = response.Data; + string rawContent = response.Content; + + var transformed = new ApiResponse(response.StatusCode, new Multimap(), result, rawContent) + { + ErrorText = response.ErrorMessage, + Cookies = new List() + }; + + if (response.Headers != null) + { + foreach (var responseHeader in response.Headers) + { + transformed.Headers.Add(responseHeader.Name, ClientUtils.ParameterToString(responseHeader.Value)); + } + } + + if (response.ContentHeaders != null) + { + foreach (var responseHeader in response.ContentHeaders) + { + transformed.Headers.Add(responseHeader.Name, ClientUtils.ParameterToString(responseHeader.Value)); + } + } + + if (response.Cookies != null) + { + foreach (var responseCookies in response.Cookies.Cast()) + { + transformed.Cookies.Add( + new Cookie( + responseCookies.Name, + responseCookies.Value, + responseCookies.Path, + responseCookies.Domain) + ); + } + } + + return transformed; + } + + private ApiResponse Exec(RestRequest request, RequestOptions options, IReadableConfiguration configuration) + { + var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl; + + var cookies = new CookieContainer(); + + if (options.Cookies != null && options.Cookies.Count > 0) + { + foreach (var cookie in options.Cookies) + { + cookies.Add(new Cookie(cookie.Name, cookie.Value)); + } + } + + var clientOptions = new RestClientOptions(baseUrl) + { + ClientCertificates = configuration.ClientCertificates, + CookieContainer = cookies, + MaxTimeout = configuration.Timeout, + Proxy = configuration.Proxy, + UserAgent = configuration.UserAgent, + UseDefaultCredentials = configuration.UseDefaultCredentials, + RemoteCertificateValidationCallback = configuration.RemoteCertificateValidationCallback + }; + + using (RestClient client = new RestClient(clientOptions, + configureSerialization: serializerConfig => serializerConfig.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration)))) + { + InterceptRequest(request); + + RestResponse response; + if (RetryConfiguration.RetryPolicy != null) + { + var policy = RetryConfiguration.RetryPolicy; + var policyResult = policy.ExecuteAndCapture(() => client.Execute(request)); + response = (policyResult.Outcome == OutcomeType.Successful) ? client.Deserialize(policyResult.Result) : new RestResponse(request) + { + ErrorException = policyResult.FinalException + }; + } + else + { + response = client.Execute(request); + } + + // if the response type is oneOf/anyOf, call FromJSON to deserialize the data + if (typeof(Dofusdude.Api.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) + { + try + { + response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); + } + catch (Exception ex) + { + throw ex.InnerException != null ? ex.InnerException : ex; + } + } + else if (typeof(T).Name == "Stream") // for binary response + { + response.Data = (T)(object)new MemoryStream(response.RawBytes); + } + else if (typeof(T).Name == "Byte[]") // for byte response + { + response.Data = (T)(object)response.RawBytes; + } + else if (typeof(T).Name == "String") // for string response + { + response.Data = (T)(object)response.Content; + } + + InterceptResponse(request, response); + + var result = ToApiResponse(response); + if (response.ErrorMessage != null) + { + result.ErrorText = response.ErrorMessage; + } + + if (response.Cookies != null && response.Cookies.Count > 0) + { + if (result.Cookies == null) result.Cookies = new List(); + foreach (var restResponseCookie in response.Cookies.Cast()) + { + var cookie = new Cookie( + restResponseCookie.Name, + restResponseCookie.Value, + restResponseCookie.Path, + restResponseCookie.Domain + ) + { + Comment = restResponseCookie.Comment, + CommentUri = restResponseCookie.CommentUri, + Discard = restResponseCookie.Discard, + Expired = restResponseCookie.Expired, + Expires = restResponseCookie.Expires, + HttpOnly = restResponseCookie.HttpOnly, + Port = restResponseCookie.Port, + Secure = restResponseCookie.Secure, + Version = restResponseCookie.Version + }; + + result.Cookies.Add(cookie); + } + } + return result; + } + } + + private async Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl; + + var clientOptions = new RestClientOptions(baseUrl) + { + ClientCertificates = configuration.ClientCertificates, + MaxTimeout = configuration.Timeout, + Proxy = configuration.Proxy, + UserAgent = configuration.UserAgent, + UseDefaultCredentials = configuration.UseDefaultCredentials, + RemoteCertificateValidationCallback = configuration.RemoteCertificateValidationCallback + }; + + using (RestClient client = new RestClient(clientOptions, + configureSerialization: serializerConfig => serializerConfig.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration)))) + { + InterceptRequest(request); + + RestResponse response; + if (RetryConfiguration.AsyncRetryPolicy != null) + { + var policy = RetryConfiguration.AsyncRetryPolicy; + var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false); + response = (policyResult.Outcome == OutcomeType.Successful) ? client.Deserialize(policyResult.Result) : new RestResponse(request) + { + ErrorException = policyResult.FinalException + }; + } + else + { + response = await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false); + } + + // if the response type is oneOf/anyOf, call FromJSON to deserialize the data + if (typeof(Dofusdude.Api.Model.AbstractOpenAPISchema).IsAssignableFrom(typeof(T))) + { + response.Data = (T) typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content }); + } + else if (typeof(T).Name == "Stream") // for binary response + { + response.Data = (T)(object)new MemoryStream(response.RawBytes); + } + else if (typeof(T).Name == "Byte[]") // for byte response + { + response.Data = (T)(object)response.RawBytes; + } + + InterceptResponse(request, response); + + var result = ToApiResponse(response); + if (response.ErrorMessage != null) + { + result.ErrorText = response.ErrorMessage; + } + + if (response.Cookies != null && response.Cookies.Count > 0) + { + if (result.Cookies == null) result.Cookies = new List(); + foreach (var restResponseCookie in response.Cookies.Cast()) + { + var cookie = new Cookie( + restResponseCookie.Name, + restResponseCookie.Value, + restResponseCookie.Path, + restResponseCookie.Domain + ) + { + Comment = restResponseCookie.Comment, + CommentUri = restResponseCookie.CommentUri, + Discard = restResponseCookie.Discard, + Expired = restResponseCookie.Expired, + Expires = restResponseCookie.Expires, + HttpOnly = restResponseCookie.HttpOnly, + Port = restResponseCookie.Port, + Secure = restResponseCookie.Secure, + Version = restResponseCookie.Version + }; + + result.Cookies.Add(cookie); + } + } + return result; + } + } + + #region IAsynchronousClient + /// + /// Make a HTTP GET request (async). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// Token that enables callers to cancel the request. + /// A Task containing ApiResponse + public Task> GetAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var config = configuration ?? GlobalConfiguration.Instance; + return ExecAsync(NewRequest(HttpMethod.Get, path, options, config), options, config, cancellationToken); + } + + /// + /// Make a HTTP POST request (async). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// Token that enables callers to cancel the request. + /// A Task containing ApiResponse + public Task> PostAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var config = configuration ?? GlobalConfiguration.Instance; + return ExecAsync(NewRequest(HttpMethod.Post, path, options, config), options, config, cancellationToken); + } + + /// + /// Make a HTTP PUT request (async). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// Token that enables callers to cancel the request. + /// A Task containing ApiResponse + public Task> PutAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var config = configuration ?? GlobalConfiguration.Instance; + return ExecAsync(NewRequest(HttpMethod.Put, path, options, config), options, config, cancellationToken); + } + + /// + /// Make a HTTP DELETE request (async). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// Token that enables callers to cancel the request. + /// A Task containing ApiResponse + public Task> DeleteAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var config = configuration ?? GlobalConfiguration.Instance; + return ExecAsync(NewRequest(HttpMethod.Delete, path, options, config), options, config, cancellationToken); + } + + /// + /// Make a HTTP HEAD request (async). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// Token that enables callers to cancel the request. + /// A Task containing ApiResponse + public Task> HeadAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var config = configuration ?? GlobalConfiguration.Instance; + return ExecAsync(NewRequest(HttpMethod.Head, path, options, config), options, config, cancellationToken); + } + + /// + /// Make a HTTP OPTION request (async). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// Token that enables callers to cancel the request. + /// A Task containing ApiResponse + public Task> OptionsAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var config = configuration ?? GlobalConfiguration.Instance; + return ExecAsync(NewRequest(HttpMethod.Options, path, options, config), options, config, cancellationToken); + } + + /// + /// Make a HTTP PATCH request (async). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// Token that enables callers to cancel the request. + /// A Task containing ApiResponse + public Task> PatchAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var config = configuration ?? GlobalConfiguration.Instance; + return ExecAsync(NewRequest(HttpMethod.Patch, path, options, config), options, config, cancellationToken); + } + #endregion IAsynchronousClient + + #region ISynchronousClient + /// + /// Make a HTTP GET request (synchronous). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// A Task containing ApiResponse + public ApiResponse Get(string path, RequestOptions options, IReadableConfiguration configuration = null) + { + var config = configuration ?? GlobalConfiguration.Instance; + return Exec(NewRequest(HttpMethod.Get, path, options, config), options, config); + } + + /// + /// Make a HTTP POST request (synchronous). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// A Task containing ApiResponse + public ApiResponse Post(string path, RequestOptions options, IReadableConfiguration configuration = null) + { + var config = configuration ?? GlobalConfiguration.Instance; + return Exec(NewRequest(HttpMethod.Post, path, options, config), options, config); + } + + /// + /// Make a HTTP PUT request (synchronous). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// A Task containing ApiResponse + public ApiResponse Put(string path, RequestOptions options, IReadableConfiguration configuration = null) + { + var config = configuration ?? GlobalConfiguration.Instance; + return Exec(NewRequest(HttpMethod.Put, path, options, config), options, config); + } + + /// + /// Make a HTTP DELETE request (synchronous). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// A Task containing ApiResponse + public ApiResponse Delete(string path, RequestOptions options, IReadableConfiguration configuration = null) + { + var config = configuration ?? GlobalConfiguration.Instance; + return Exec(NewRequest(HttpMethod.Delete, path, options, config), options, config); + } + + /// + /// Make a HTTP HEAD request (synchronous). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// A Task containing ApiResponse + public ApiResponse Head(string path, RequestOptions options, IReadableConfiguration configuration = null) + { + var config = configuration ?? GlobalConfiguration.Instance; + return Exec(NewRequest(HttpMethod.Head, path, options, config), options, config); + } + + /// + /// Make a HTTP OPTION request (synchronous). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// A Task containing ApiResponse + public ApiResponse Options(string path, RequestOptions options, IReadableConfiguration configuration = null) + { + var config = configuration ?? GlobalConfiguration.Instance; + return Exec(NewRequest(HttpMethod.Options, path, options, config), options, config); + } + + /// + /// Make a HTTP PATCH request (synchronous). + /// + /// The target path (or resource). + /// The additional request options. + /// A per-request configuration object. It is assumed that any merge with + /// GlobalConfiguration has been done before calling this method. + /// A Task containing ApiResponse + public ApiResponse Patch(string path, RequestOptions options, IReadableConfiguration configuration = null) + { + var config = configuration ?? GlobalConfiguration.Instance; + return Exec(NewRequest(HttpMethod.Patch, path, options, config), options, config); + } + #endregion ISynchronousClient + } +} diff --git a/src/Dofusdude.Api/Client/ApiException.cs b/src/Dofusdude.Api/Client/ApiException.cs new file mode 100644 index 0000000..e76f02e --- /dev/null +++ b/src/Dofusdude.Api/Client/ApiException.cs @@ -0,0 +1,69 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; + +namespace Dofusdude.Api.Client +{ + /// + /// API Exception + /// + public class ApiException : Exception + { + /// + /// Gets or sets the error code (HTTP status code) + /// + /// The error code (HTTP status code). + public int ErrorCode { get; set; } + + /// + /// Gets or sets the error content (body json object) + /// + /// The error content (Http response body). + public object ErrorContent { get; private set; } + + /// + /// Gets or sets the HTTP headers + /// + /// HTTP headers + public Multimap Headers { get; private set; } + + /// + /// Initializes a new instance of the class. + /// + public ApiException() { } + + /// + /// Initializes a new instance of the class. + /// + /// HTTP status code. + /// Error message. + public ApiException(int errorCode, string message) : base(message) + { + this.ErrorCode = errorCode; + } + + /// + /// Initializes a new instance of the class. + /// + /// HTTP status code. + /// Error message. + /// Error content. + /// HTTP Headers. + public ApiException(int errorCode, string message, object errorContent = null, Multimap headers = null) : base(message) + { + this.ErrorCode = errorCode; + this.ErrorContent = errorContent; + this.Headers = headers; + } + } + +} diff --git a/src/Dofusdude.Api/Client/ApiResponse.cs b/src/Dofusdude.Api/Client/ApiResponse.cs new file mode 100644 index 0000000..d5dc6d9 --- /dev/null +++ b/src/Dofusdude.Api/Client/ApiResponse.cs @@ -0,0 +1,167 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Net; + +namespace Dofusdude.Api.Client +{ + /// + /// Provides a non-generic contract for the ApiResponse wrapper. + /// + public interface IApiResponse + { + /// + /// The data type of + /// + Type ResponseType { get; } + + /// + /// The content of this response + /// + Object Content { get; } + + /// + /// Gets or sets the status code (HTTP status code) + /// + /// The status code. + HttpStatusCode StatusCode { get; } + + /// + /// Gets or sets the HTTP headers + /// + /// HTTP headers + Multimap Headers { get; } + + /// + /// Gets or sets any error text defined by the calling client. + /// + string ErrorText { get; set; } + + /// + /// Gets or sets any cookies passed along on the response. + /// + List Cookies { get; set; } + + /// + /// The raw content of this response + /// + string RawContent { get; } + } + + /// + /// API Response + /// + public class ApiResponse : IApiResponse + { + #region Properties + + /// + /// Gets or sets the status code (HTTP status code) + /// + /// The status code. + public HttpStatusCode StatusCode { get; } + + /// + /// Gets or sets the HTTP headers + /// + /// HTTP headers + public Multimap Headers { get; } + + /// + /// Gets or sets the data (parsed HTTP body) + /// + /// The data. + public T Data { get; } + + /// + /// Gets or sets any error text defined by the calling client. + /// + public string ErrorText { get; set; } + + /// + /// Gets or sets any cookies passed along on the response. + /// + public List Cookies { get; set; } + + /// + /// The content of this response + /// + public Type ResponseType + { + get { return typeof(T); } + } + + /// + /// The data type of + /// + public object Content + { + get { return Data; } + } + + /// + /// The raw content + /// + public string RawContent { get; } + + #endregion Properties + + #region Constructors + + /// + /// Initializes a new instance of the class. + /// + /// HTTP status code. + /// HTTP headers. + /// Data (parsed HTTP body) + /// Raw content. + public ApiResponse(HttpStatusCode statusCode, Multimap headers, T data, string rawContent) + { + StatusCode = statusCode; + Headers = headers; + Data = data; + RawContent = rawContent; + } + + /// + /// Initializes a new instance of the class. + /// + /// HTTP status code. + /// HTTP headers. + /// Data (parsed HTTP body) + public ApiResponse(HttpStatusCode statusCode, Multimap headers, T data) : this(statusCode, headers, data, null) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// HTTP status code. + /// Data (parsed HTTP body) + /// Raw content. + public ApiResponse(HttpStatusCode statusCode, T data, string rawContent) : this(statusCode, null, data, rawContent) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// HTTP status code. + /// Data (parsed HTTP body) + public ApiResponse(HttpStatusCode statusCode, T data) : this(statusCode, data, null) + { + } + + #endregion Constructors + } +} diff --git a/src/Dofusdude.Api/Client/ClientUtils.cs b/src/Dofusdude.Api/Client/ClientUtils.cs new file mode 100644 index 0000000..6cec1c3 --- /dev/null +++ b/src/Dofusdude.Api/Client/ClientUtils.cs @@ -0,0 +1,248 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace Dofusdude.Api.Client +{ + /// + /// Utility functions providing some benefit to API client consumers. + /// + public static class ClientUtils + { + /// + /// Sanitize filename by removing the path + /// + /// Filename + /// Filename + public static string SanitizeFilename(string filename) + { + Match match = Regex.Match(filename, @".*[/\\](.*)$"); + return match.Success ? match.Groups[1].Value : filename; + } + + /// + /// Convert params to key/value pairs. + /// Use collectionFormat to properly format lists and collections. + /// + /// The swagger-supported collection format, one of: csv, tsv, ssv, pipes, multi + /// Key name. + /// Value object. + /// A multimap of keys with 1..n associated values. + public static Multimap ParameterToMultiMap(string collectionFormat, string name, object value) + { + var parameters = new Multimap(); + + if (value is ICollection collection && collectionFormat == "multi") + { + foreach (var item in collection) + { + parameters.Add(name, ParameterToString(item)); + } + } + else if (value is IDictionary dictionary) + { + if(collectionFormat == "deepObject") { + foreach (DictionaryEntry entry in dictionary) + { + parameters.Add(name + "[" + entry.Key + "]", ParameterToString(entry.Value)); + } + } + else { + foreach (DictionaryEntry entry in dictionary) + { + parameters.Add(entry.Key.ToString(), ParameterToString(entry.Value)); + } + } + } + else + { + parameters.Add(name, ParameterToString(value)); + } + + return parameters; + } + + /// + /// If parameter is DateTime, output in a formatted string (default ISO 8601), customizable with Configuration.DateTime. + /// If parameter is a list, join the list with ",". + /// Otherwise just return the string. + /// + /// The parameter (header, path, query, form). + /// An optional configuration instance, providing formatting options used in processing. + /// Formatted string. + public static string ParameterToString(object obj, IReadableConfiguration configuration = null) + { + if (obj is DateTime dateTime) + // Return a formatted date string - Can be customized with Configuration.DateTimeFormat + // Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o") + // https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8 + // For example: 2009-06-15T13:45:30.0000000 + return dateTime.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat); + if (obj is DateTimeOffset dateTimeOffset) + // Return a formatted date string - Can be customized with Configuration.DateTimeFormat + // Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o") + // https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8 + // For example: 2009-06-15T13:45:30.0000000 + return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat); + if (obj is bool boolean) + return boolean ? "true" : "false"; + if (obj is ICollection collection) { + List entries = new List(); + foreach (var entry in collection) + entries.Add(ParameterToString(entry, configuration)); + return string.Join(",", entries); + } + if (obj is Enum && HasEnumMemberAttrValue(obj)) + return GetEnumMemberAttrValue(obj); + + return Convert.ToString(obj, CultureInfo.InvariantCulture); + } + + /// + /// Serializes the given object when not null. Otherwise return null. + /// + /// The object to serialize. + /// Serialized string. + public static string Serialize(object obj) + { + return obj != null ? Newtonsoft.Json.JsonConvert.SerializeObject(obj) : null; + } + + /// + /// Encode string in base64 format. + /// + /// string to be encoded. + /// Encoded string. + public static string Base64Encode(string text) + { + return Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(text)); + } + + /// + /// Convert stream to byte array + /// + /// Input stream to be converted + /// Byte array + public static byte[] ReadAsBytes(Stream inputStream) + { + using (var ms = new MemoryStream()) + { + inputStream.CopyTo(ms); + return ms.ToArray(); + } + } + + /// + /// Select the Content-Type header's value from the given content-type array: + /// if JSON type exists in the given array, use it; + /// otherwise use the first one defined in 'consumes' + /// + /// The Content-Type array to select from. + /// The Content-Type header to use. + public static string SelectHeaderContentType(string[] contentTypes) + { + if (contentTypes.Length == 0) + return null; + + foreach (var contentType in contentTypes) + { + if (IsJsonMime(contentType)) + return contentType; + } + + return contentTypes[0]; // use the first content type specified in 'consumes' + } + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them (joining into a string) + /// + /// The accepts array to select from. + /// The Accept header to use. + public static string SelectHeaderAccept(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return "application/json"; + + return string.Join(",", accepts); + } + + /// + /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. + /// + public static readonly Regex JsonRegex = new Regex("(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$"); + + /// + /// Check if the given MIME is a JSON MIME. + /// JSON MIME examples: + /// application/json + /// application/json; charset=UTF8 + /// APPLICATION/JSON + /// application/vnd.company+json + /// + /// MIME + /// Returns True if MIME type is json. + public static bool IsJsonMime(string mime) + { + if (string.IsNullOrWhiteSpace(mime)) return false; + + return JsonRegex.IsMatch(mime) || mime.Equals("application/json-patch+json"); + } + + /// + /// Is the Enum decorated with EnumMember Attribute + /// + /// + /// true if found + private static bool HasEnumMemberAttrValue(object enumVal) + { + if (enumVal == null) + throw new ArgumentNullException(nameof(enumVal)); + var enumType = enumVal.GetType(); + var memInfo = enumType.GetMember(enumVal.ToString() ?? throw new InvalidOperationException()); + var attr = memInfo.FirstOrDefault()?.GetCustomAttributes(false).OfType().FirstOrDefault(); + if (attr != null) return true; + return false; + } + + /// + /// Get the EnumMember value + /// + /// + /// EnumMember value as string otherwise null + private static string GetEnumMemberAttrValue(object enumVal) + { + if (enumVal == null) + throw new ArgumentNullException(nameof(enumVal)); + var enumType = enumVal.GetType(); + var memInfo = enumType.GetMember(enumVal.ToString() ?? throw new InvalidOperationException()); + var attr = memInfo.FirstOrDefault()?.GetCustomAttributes(false).OfType().FirstOrDefault(); + if (attr != null) + { + return attr.Value; + } + return null; + } + } +} diff --git a/src/Dofusdude.Api/Client/Configuration.cs b/src/Dofusdude.Api/Client/Configuration.cs new file mode 100644 index 0000000..b63ed3c --- /dev/null +++ b/src/Dofusdude.Api/Client/Configuration.cs @@ -0,0 +1,613 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Reflection; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Net.Http; +using System.Net.Security; + +namespace Dofusdude.Api.Client +{ + /// + /// Represents a set of configuration settings + /// + public class Configuration : IReadableConfiguration + { + #region Constants + + /// + /// Version of the package. + /// + /// Version of the package. + public const string Version = "packageVersion=0.9.0"; + + /// + /// Identifier for ISO 8601 DateTime Format + /// + /// See https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8 for more information. + // ReSharper disable once InconsistentNaming + public const string ISO8601_DATETIME_FORMAT = "o"; + + #endregion Constants + + #region Static Members + + /// + /// Default creation of exceptions for a given method name and response object + /// + public static readonly ExceptionFactory DefaultExceptionFactory = (methodName, response) => + { + var status = (int)response.StatusCode; + if (status >= 400) + { + return new ApiException(status, + string.Format("Error calling {0}: {1}", methodName, response.RawContent), + response.RawContent, response.Headers); + } + if (status == 0) + { + return new ApiException(status, + string.Format("Error calling {0}: {1}", methodName, response.ErrorText), response.ErrorText); + } + return null; + }; + + #endregion Static Members + + #region Private Members + + /// + /// Defines the base path of the target API server. + /// Example: http://localhost:3000/v1/ + /// + private string _basePath; + + private bool _useDefaultCredentials = false; + + /// + /// Gets or sets the API key based on the authentication name. + /// This is the key and value comprising the "secret" for accessing an API. + /// + /// The API key. + private IDictionary _apiKey; + + /// + /// Gets or sets the prefix (e.g. Token) of the API key based on the authentication name. + /// + /// The prefix of the API key. + private IDictionary _apiKeyPrefix; + + private string _dateTimeFormat = ISO8601_DATETIME_FORMAT; + private string _tempFolderPath = Path.GetTempPath(); + + /// + /// Gets or sets the servers defined in the OpenAPI spec. + /// + /// The servers + private IList> _servers; + + /// + /// Gets or sets the operation servers defined in the OpenAPI spec. + /// + /// The operation servers + private IReadOnlyDictionary>> _operationServers; + + #endregion Private Members + + #region Constructors + + /// + /// Initializes a new instance of the class + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")] + public Configuration() + { + Proxy = null; + UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/packageVersion=0.9.0/csharp"); + BasePath = "https://api.dofusdu.de"; + DefaultHeaders = new ConcurrentDictionary(); + ApiKey = new ConcurrentDictionary(); + ApiKeyPrefix = new ConcurrentDictionary(); + Servers = new List>() + { + { + new Dictionary { + {"url", "https://api.dofusdu.de"}, + {"description", "API"}, + } + } + }; + OperationServers = new Dictionary>>() + { + }; + + // Setting Timeout has side effects (forces ApiClient creation). + Timeout = 100000; + } + + /// + /// Initializes a new instance of the class + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")] + public Configuration( + IDictionary defaultHeaders, + IDictionary apiKey, + IDictionary apiKeyPrefix, + string basePath = "https://api.dofusdu.de") : this() + { + if (string.IsNullOrWhiteSpace(basePath)) + throw new ArgumentException("The provided basePath is invalid.", "basePath"); + if (defaultHeaders == null) + throw new ArgumentNullException("defaultHeaders"); + if (apiKey == null) + throw new ArgumentNullException("apiKey"); + if (apiKeyPrefix == null) + throw new ArgumentNullException("apiKeyPrefix"); + + BasePath = basePath; + + foreach (var keyValuePair in defaultHeaders) + { + DefaultHeaders.Add(keyValuePair); + } + + foreach (var keyValuePair in apiKey) + { + ApiKey.Add(keyValuePair); + } + + foreach (var keyValuePair in apiKeyPrefix) + { + ApiKeyPrefix.Add(keyValuePair); + } + } + + #endregion Constructors + + #region Properties + + /// + /// Gets or sets the base path for API access. + /// + public virtual string BasePath + { + get { return _basePath; } + set { _basePath = value; } + } + + /// + /// Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) will be sent along to the server. The default is false. + /// + public virtual bool UseDefaultCredentials + { + get { return _useDefaultCredentials; } + set { _useDefaultCredentials = value; } + } + + /// + /// Gets or sets the default header. + /// + [Obsolete("Use DefaultHeaders instead.")] + public virtual IDictionary DefaultHeader + { + get + { + return DefaultHeaders; + } + set + { + DefaultHeaders = value; + } + } + + /// + /// Gets or sets the default headers. + /// + public virtual IDictionary DefaultHeaders { get; set; } + + /// + /// Gets or sets the HTTP timeout (milliseconds) of ApiClient. Default to 100000 milliseconds. + /// + public virtual int Timeout { get; set; } + + /// + /// Gets or sets the proxy + /// + /// Proxy. + public virtual WebProxy Proxy { get; set; } + + /// + /// Gets or sets the HTTP user agent. + /// + /// Http user agent. + public virtual string UserAgent { get; set; } + + /// + /// Gets or sets the username (HTTP basic authentication). + /// + /// The username. + public virtual string Username { get; set; } + + /// + /// Gets or sets the password (HTTP basic authentication). + /// + /// The password. + public virtual string Password { get; set; } + + /// + /// Gets the API key with prefix. + /// + /// API key identifier (authentication scheme). + /// API key with prefix. + public string GetApiKeyWithPrefix(string apiKeyIdentifier) + { + string apiKeyValue; + ApiKey.TryGetValue(apiKeyIdentifier, out apiKeyValue); + string apiKeyPrefix; + if (ApiKeyPrefix.TryGetValue(apiKeyIdentifier, out apiKeyPrefix)) + { + return apiKeyPrefix + " " + apiKeyValue; + } + + return apiKeyValue; + } + + /// + /// Gets or sets certificate collection to be sent with requests. + /// + /// X509 Certificate collection. + public X509CertificateCollection ClientCertificates { get; set; } + + /// + /// Gets or sets the access token for OAuth2 authentication. + /// + /// This helper property simplifies code generation. + /// + /// The access token. + public virtual string AccessToken { get; set; } + + /// + /// Gets or sets the temporary folder path to store the files downloaded from the server. + /// + /// Folder path. + public virtual string TempFolderPath + { + get { return _tempFolderPath; } + + set + { + if (string.IsNullOrEmpty(value)) + { + _tempFolderPath = Path.GetTempPath(); + return; + } + + // create the directory if it does not exist + if (!Directory.Exists(value)) + { + Directory.CreateDirectory(value); + } + + // check if the path contains directory separator at the end + if (value[value.Length - 1] == Path.DirectorySeparatorChar) + { + _tempFolderPath = value; + } + else + { + _tempFolderPath = value + Path.DirectorySeparatorChar; + } + } + } + + /// + /// Gets or sets the date time format used when serializing in the ApiClient + /// By default, it's set to ISO 8601 - "o", for others see: + /// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx + /// and https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx + /// No validation is done to ensure that the string you're providing is valid + /// + /// The DateTimeFormat string + public virtual string DateTimeFormat + { + get { return _dateTimeFormat; } + set + { + if (string.IsNullOrEmpty(value)) + { + // Never allow a blank or null string, go back to the default + _dateTimeFormat = ISO8601_DATETIME_FORMAT; + return; + } + + // Caution, no validation when you choose date time format other than ISO 8601 + // Take a look at the above links + _dateTimeFormat = value; + } + } + + /// + /// Gets or sets the prefix (e.g. Token) of the API key based on the authentication name. + /// + /// Whatever you set here will be prepended to the value defined in AddApiKey. + /// + /// An example invocation here might be: + /// + /// ApiKeyPrefix["Authorization"] = "Bearer"; + /// + /// … where ApiKey["Authorization"] would then be used to set the value of your bearer token. + /// + /// + /// OAuth2 workflows should set tokens via AccessToken. + /// + /// + /// The prefix of the API key. + public virtual IDictionary ApiKeyPrefix + { + get { return _apiKeyPrefix; } + set + { + if (value == null) + { + throw new InvalidOperationException("ApiKeyPrefix collection may not be null."); + } + _apiKeyPrefix = value; + } + } + + /// + /// Gets or sets the API key based on the authentication name. + /// + /// The API key. + public virtual IDictionary ApiKey + { + get { return _apiKey; } + set + { + if (value == null) + { + throw new InvalidOperationException("ApiKey collection may not be null."); + } + _apiKey = value; + } + } + + /// + /// Gets or sets the servers. + /// + /// The servers. + public virtual IList> Servers + { + get { return _servers; } + set + { + if (value == null) + { + throw new InvalidOperationException("Servers may not be null."); + } + _servers = value; + } + } + + /// + /// Gets or sets the operation servers. + /// + /// The operation servers. + public virtual IReadOnlyDictionary>> OperationServers + { + get { return _operationServers; } + set + { + if (value == null) + { + throw new InvalidOperationException("Operation servers may not be null."); + } + _operationServers = value; + } + } + + /// + /// Returns URL based on server settings without providing values + /// for the variables + /// + /// Array index of the server settings. + /// The server URL. + public string GetServerUrl(int index) + { + return GetServerUrl(Servers, index, null); + } + + /// + /// Returns URL based on server settings. + /// + /// Array index of the server settings. + /// Dictionary of the variables and the corresponding values. + /// The server URL. + public string GetServerUrl(int index, Dictionary inputVariables) + { + return GetServerUrl(Servers, index, inputVariables); + } + + /// + /// Returns URL based on operation server settings. + /// + /// Operation associated with the request path. + /// Array index of the server settings. + /// The operation server URL. + public string GetOperationServerUrl(string operation, int index) + { + return GetOperationServerUrl(operation, index, null); + } + + /// + /// Returns URL based on operation server settings. + /// + /// Operation associated with the request path. + /// Array index of the server settings. + /// Dictionary of the variables and the corresponding values. + /// The operation server URL. + public string GetOperationServerUrl(string operation, int index, Dictionary inputVariables) + { + if (operation != null && OperationServers.TryGetValue(operation, out var operationServer)) + { + return GetServerUrl(operationServer, index, inputVariables); + } + + return null; + } + + /// + /// Returns URL based on server settings. + /// + /// Dictionary of server settings. + /// Array index of the server settings. + /// Dictionary of the variables and the corresponding values. + /// The server URL. + private string GetServerUrl(IList> servers, int index, Dictionary inputVariables) + { + if (index < 0 || index >= servers.Count) + { + throw new InvalidOperationException($"Invalid index {index} when selecting the server. Must be less than {servers.Count}."); + } + + if (inputVariables == null) + { + inputVariables = new Dictionary(); + } + + IReadOnlyDictionary server = servers[index]; + string url = (string)server["url"]; + + if (server.ContainsKey("variables")) + { + // go through each variable and assign a value + foreach (KeyValuePair variable in (IReadOnlyDictionary)server["variables"]) + { + + IReadOnlyDictionary serverVariables = (IReadOnlyDictionary)(variable.Value); + + if (inputVariables.ContainsKey(variable.Key)) + { + if (((List)serverVariables["enum_values"]).Contains(inputVariables[variable.Key])) + { + url = url.Replace("{" + variable.Key + "}", inputVariables[variable.Key]); + } + else + { + throw new InvalidOperationException($"The variable `{variable.Key}` in the server URL has invalid value #{inputVariables[variable.Key]}. Must be {(List)serverVariables["enum_values"]}"); + } + } + else + { + // use default value + url = url.Replace("{" + variable.Key + "}", (string)serverVariables["default_value"]); + } + } + } + + return url; + } + + /// + /// Gets and Sets the RemoteCertificateValidationCallback + /// + public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; } + + #endregion Properties + + #region Methods + + /// + /// Returns a string with essential information for debugging. + /// + public static string ToDebugReport() + { + string report = "C# SDK (Dofusdude.Api) Debug Report:\n"; + report += " OS: " + System.Environment.OSVersion + "\n"; + report += " .NET Framework Version: " + System.Environment.Version + "\n"; + report += " Version of the API: 0.9.0\n"; + report += " SDK Package Version: packageVersion=0.9.0\n"; + + return report; + } + + /// + /// Add Api Key Header. + /// + /// Api Key name. + /// Api Key value. + /// + public void AddApiKey(string key, string value) + { + ApiKey[key] = value; + } + + /// + /// Sets the API key prefix. + /// + /// Api Key name. + /// Api Key value. + public void AddApiKeyPrefix(string key, string value) + { + ApiKeyPrefix[key] = value; + } + + #endregion Methods + + #region Static Members + /// + /// Merge configurations. + /// + /// First configuration. + /// Second configuration. + /// Merged configuration. + public static IReadableConfiguration MergeConfigurations(IReadableConfiguration first, IReadableConfiguration second) + { + if (second == null) return first ?? GlobalConfiguration.Instance; + + Dictionary apiKey = first.ApiKey.ToDictionary(kvp => kvp.Key, kvp => kvp.Value); + Dictionary apiKeyPrefix = first.ApiKeyPrefix.ToDictionary(kvp => kvp.Key, kvp => kvp.Value); + Dictionary defaultHeaders = first.DefaultHeaders.ToDictionary(kvp => kvp.Key, kvp => kvp.Value); + + foreach (var kvp in second.ApiKey) apiKey[kvp.Key] = kvp.Value; + foreach (var kvp in second.ApiKeyPrefix) apiKeyPrefix[kvp.Key] = kvp.Value; + foreach (var kvp in second.DefaultHeaders) defaultHeaders[kvp.Key] = kvp.Value; + + var config = new Configuration + { + ApiKey = apiKey, + ApiKeyPrefix = apiKeyPrefix, + DefaultHeaders = defaultHeaders, + BasePath = second.BasePath ?? first.BasePath, + Timeout = second.Timeout, + Proxy = second.Proxy ?? first.Proxy, + UserAgent = second.UserAgent ?? first.UserAgent, + Username = second.Username ?? first.Username, + Password = second.Password ?? first.Password, + AccessToken = second.AccessToken ?? first.AccessToken, + TempFolderPath = second.TempFolderPath ?? first.TempFolderPath, + DateTimeFormat = second.DateTimeFormat ?? first.DateTimeFormat, + ClientCertificates = second.ClientCertificates ?? first.ClientCertificates, + UseDefaultCredentials = second.UseDefaultCredentials, + RemoteCertificateValidationCallback = second.RemoteCertificateValidationCallback ?? first.RemoteCertificateValidationCallback, + }; + return config; + } + #endregion Static Members + } +} diff --git a/src/Dofusdude.Api/Client/ExceptionFactory.cs b/src/Dofusdude.Api/Client/ExceptionFactory.cs new file mode 100644 index 0000000..4b0a68f --- /dev/null +++ b/src/Dofusdude.Api/Client/ExceptionFactory.cs @@ -0,0 +1,23 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; + +namespace Dofusdude.Api.Client +{ + /// + /// A delegate to ExceptionFactory method + /// + /// Method name + /// Response + /// Exceptions + public delegate Exception ExceptionFactory(string methodName, IApiResponse response); +} diff --git a/src/Dofusdude.Api/Client/GlobalConfiguration.cs b/src/Dofusdude.Api/Client/GlobalConfiguration.cs new file mode 100644 index 0000000..0dc62d1 --- /dev/null +++ b/src/Dofusdude.Api/Client/GlobalConfiguration.cs @@ -0,0 +1,68 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System.Collections.Generic; + +namespace Dofusdude.Api.Client +{ + /// + /// provides a compile-time extension point for globally configuring + /// API Clients. + /// + /// + /// A customized implementation via partial class may reside in another file and may + /// be excluded from automatic generation via a .openapi-generator-ignore file. + /// + public partial class GlobalConfiguration : Configuration + { + #region Private Members + + private static readonly object GlobalConfigSync = new { }; + private static IReadableConfiguration _globalConfiguration; + + #endregion Private Members + + #region Constructors + + /// + private GlobalConfiguration() + { + } + + /// + public GlobalConfiguration(IDictionary defaultHeader, IDictionary apiKey, IDictionary apiKeyPrefix, string basePath = "http://localhost:3000/api") : base(defaultHeader, apiKey, apiKeyPrefix, basePath) + { + } + + static GlobalConfiguration() + { + Instance = new GlobalConfiguration(); + } + + #endregion Constructors + + /// + /// Gets or sets the default Configuration. + /// + /// Configuration. + public static IReadableConfiguration Instance + { + get { return _globalConfiguration; } + set + { + lock (GlobalConfigSync) + { + _globalConfiguration = value; + } + } + } + } +} diff --git a/src/Dofusdude.Api/Client/HttpMethod.cs b/src/Dofusdude.Api/Client/HttpMethod.cs new file mode 100644 index 0000000..ad1adc6 --- /dev/null +++ b/src/Dofusdude.Api/Client/HttpMethod.cs @@ -0,0 +1,34 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +namespace Dofusdude.Api.Client +{ + /// + /// Http methods supported by swagger + /// + public enum HttpMethod + { + /// HTTP GET request. + Get, + /// HTTP POST request. + Post, + /// HTTP PUT request. + Put, + /// HTTP DELETE request. + Delete, + /// HTTP HEAD request. + Head, + /// HTTP OPTIONS request. + Options, + /// HTTP PATCH request. + Patch + } +} diff --git a/src/Dofusdude.Api/Client/IApiAccessor.cs b/src/Dofusdude.Api/Client/IApiAccessor.cs new file mode 100644 index 0000000..5fff2d9 --- /dev/null +++ b/src/Dofusdude.Api/Client/IApiAccessor.cs @@ -0,0 +1,38 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; + +namespace Dofusdude.Api.Client +{ + /// + /// Represents configuration aspects required to interact with the API endpoints. + /// + public interface IApiAccessor + { + /// + /// Gets or sets the configuration object + /// + /// An instance of the Configuration + IReadableConfiguration Configuration { get; set; } + + /// + /// Gets the base path of the API client. + /// + /// The base path + string GetBasePath(); + + /// + /// Provides a factory method hook for the creation of exceptions. + /// + ExceptionFactory ExceptionFactory { get; set; } + } +} diff --git a/src/Dofusdude.Api/Client/IAsynchronousClient.cs b/src/Dofusdude.Api/Client/IAsynchronousClient.cs new file mode 100644 index 0000000..06fb650 --- /dev/null +++ b/src/Dofusdude.Api/Client/IAsynchronousClient.cs @@ -0,0 +1,101 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Threading.Tasks; + +namespace Dofusdude.Api.Client +{ + /// + /// Contract for Asynchronous RESTful API interactions. + /// + /// This interface allows consumers to provide a custom API accessor client. + /// + public interface IAsynchronousClient + { + /// + /// Executes a non-blocking call to some using the GET http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// Cancellation Token to cancel the request. + /// The return type. + /// A task eventually representing the response data, decorated with + Task> GetAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Executes a non-blocking call to some using the POST http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// Cancellation Token to cancel the request. + /// The return type. + /// A task eventually representing the response data, decorated with + Task> PostAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Executes a non-blocking call to some using the PUT http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// Cancellation Token to cancel the request. + /// The return type. + /// A task eventually representing the response data, decorated with + Task> PutAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Executes a non-blocking call to some using the DELETE http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// Cancellation Token to cancel the request. + /// The return type. + /// A task eventually representing the response data, decorated with + Task> DeleteAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Executes a non-blocking call to some using the HEAD http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// Cancellation Token to cancel the request. + /// The return type. + /// A task eventually representing the response data, decorated with + Task> HeadAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Executes a non-blocking call to some using the OPTIONS http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// Cancellation Token to cancel the request. + /// The return type. + /// A task eventually representing the response data, decorated with + Task> OptionsAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// + /// Executes a non-blocking call to some using the PATCH http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// Cancellation Token to cancel the request. + /// The return type. + /// A task eventually representing the response data, decorated with + Task> PatchAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + } +} diff --git a/src/Dofusdude.Api/Client/IReadableConfiguration.cs b/src/Dofusdude.Api/Client/IReadableConfiguration.cs new file mode 100644 index 0000000..93a257c --- /dev/null +++ b/src/Dofusdude.Api/Client/IReadableConfiguration.cs @@ -0,0 +1,142 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.Net; +using System.Net.Security; +using System.Security.Cryptography.X509Certificates; + +namespace Dofusdude.Api.Client +{ + /// + /// Represents a readable-only configuration contract. + /// + public interface IReadableConfiguration + { + /// + /// Gets the access token. + /// + /// Access token. + string AccessToken { get; } + + /// + /// Gets the API key. + /// + /// API key. + IDictionary ApiKey { get; } + + /// + /// Gets the API key prefix. + /// + /// API key prefix. + IDictionary ApiKeyPrefix { get; } + + /// + /// Gets the base path. + /// + /// Base path. + string BasePath { get; } + + /// + /// Gets the date time format. + /// + /// Date time format. + string DateTimeFormat { get; } + + /// + /// Gets the default header. + /// + /// Default header. + [Obsolete("Use DefaultHeaders instead.")] + IDictionary DefaultHeader { get; } + + /// + /// Gets the default headers. + /// + /// Default headers. + IDictionary DefaultHeaders { get; } + + /// + /// Gets the temp folder path. + /// + /// Temp folder path. + string TempFolderPath { get; } + + /// + /// Gets the HTTP connection timeout (in milliseconds) + /// + /// HTTP connection timeout. + int Timeout { get; } + + /// + /// Gets the proxy. + /// + /// Proxy. + WebProxy Proxy { get; } + + /// + /// Gets the user agent. + /// + /// User agent. + string UserAgent { get; } + + /// + /// Gets the username. + /// + /// Username. + string Username { get; } + + /// + /// Gets the password. + /// + /// Password. + string Password { get; } + + /// + /// Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) will be sent along to the server. The default is false. + /// + bool UseDefaultCredentials { get; } + + /// + /// Get the servers associated with the operation. + /// + /// Operation servers. + IReadOnlyDictionary>> OperationServers { get; } + + /// + /// Gets the API key with prefix. + /// + /// API key identifier (authentication scheme). + /// API key with prefix. + string GetApiKeyWithPrefix(string apiKeyIdentifier); + + /// + /// Gets the Operation server url at the provided index. + /// + /// Operation server name. + /// Index of the operation server settings. + /// + string GetOperationServerUrl(string operation, int index); + + /// + /// Gets certificate collection to be sent with requests. + /// + /// X509 Certificate collection. + X509CertificateCollection ClientCertificates { get; } + + /// + /// Callback function for handling the validation of remote certificates. Useful for certificate pinning and + /// overriding certificate errors in the scope of a request. + /// + RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; } + } +} diff --git a/src/Dofusdude.Api/Client/ISynchronousClient.cs b/src/Dofusdude.Api/Client/ISynchronousClient.cs new file mode 100644 index 0000000..dd7347b --- /dev/null +++ b/src/Dofusdude.Api/Client/ISynchronousClient.cs @@ -0,0 +1,94 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.IO; + +namespace Dofusdude.Api.Client +{ + /// + /// Contract for Synchronous RESTful API interactions. + /// + /// This interface allows consumers to provide a custom API accessor client. + /// + public interface ISynchronousClient + { + /// + /// Executes a blocking call to some using the GET http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// The return type. + /// The response data, decorated with + ApiResponse Get(string path, RequestOptions options, IReadableConfiguration configuration = null); + + /// + /// Executes a blocking call to some using the POST http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// The return type. + /// The response data, decorated with + ApiResponse Post(string path, RequestOptions options, IReadableConfiguration configuration = null); + + /// + /// Executes a blocking call to some using the PUT http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// The return type. + /// The response data, decorated with + ApiResponse Put(string path, RequestOptions options, IReadableConfiguration configuration = null); + + /// + /// Executes a blocking call to some using the DELETE http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// The return type. + /// The response data, decorated with + ApiResponse Delete(string path, RequestOptions options, IReadableConfiguration configuration = null); + + /// + /// Executes a blocking call to some using the HEAD http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// The return type. + /// The response data, decorated with + ApiResponse Head(string path, RequestOptions options, IReadableConfiguration configuration = null); + + /// + /// Executes a blocking call to some using the OPTIONS http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// The return type. + /// The response data, decorated with + ApiResponse Options(string path, RequestOptions options, IReadableConfiguration configuration = null); + + /// + /// Executes a blocking call to some using the PATCH http verb. + /// + /// The relative path to invoke. + /// The request parameters to pass along to the client. + /// Per-request configurable settings. + /// The return type. + /// The response data, decorated with + ApiResponse Patch(string path, RequestOptions options, IReadableConfiguration configuration = null); + } +} diff --git a/src/Dofusdude.Api/Client/Multimap.cs b/src/Dofusdude.Api/Client/Multimap.cs new file mode 100644 index 0000000..135b40d --- /dev/null +++ b/src/Dofusdude.Api/Client/Multimap.cs @@ -0,0 +1,296 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Dofusdude.Api.Client +{ + /// + /// A dictionary in which one key has many associated values. + /// + /// The type of the key + /// The type of the value associated with the key. + public class Multimap : IDictionary> + { + #region Private Fields + + private readonly Dictionary> _dictionary; + + #endregion Private Fields + + #region Constructors + + /// + /// Empty Constructor. + /// + public Multimap() + { + _dictionary = new Dictionary>(); + } + + /// + /// Constructor with comparer. + /// + /// + public Multimap(IEqualityComparer comparer) + { + _dictionary = new Dictionary>(comparer); + } + + #endregion Constructors + + #region Enumerators + + /// + /// To get the enumerator. + /// + /// Enumerator + public IEnumerator>> GetEnumerator() + { + return _dictionary.GetEnumerator(); + } + + /// + /// To get the enumerator. + /// + /// Enumerator + IEnumerator IEnumerable.GetEnumerator() + { + return _dictionary.GetEnumerator(); + } + + #endregion Enumerators + + #region Public Members + /// + /// Add values to Multimap + /// + /// Key value pair + public void Add(KeyValuePair> item) + { + if (!TryAdd(item.Key, item.Value)) + throw new InvalidOperationException("Could not add values to Multimap."); + } + + /// + /// Add Multimap to Multimap + /// + /// Multimap + public void Add(Multimap multimap) + { + foreach (var item in multimap) + { + if (!TryAdd(item.Key, item.Value)) + throw new InvalidOperationException("Could not add values to Multimap."); + } + } + + /// + /// Clear Multimap + /// + public void Clear() + { + _dictionary.Clear(); + } + + /// + /// Determines whether Multimap contains the specified item. + /// + /// Key value pair + /// Method needs to be implemented + /// true if the Multimap contains the item; otherwise, false. + public bool Contains(KeyValuePair> item) + { + throw new NotImplementedException(); + } + + /// + /// Copy items of the Multimap to an array, + /// starting at a particular array index. + /// + /// The array that is the destination of the items copied + /// from Multimap. The array must have zero-based indexing. + /// The zero-based index in array at which copying begins. + /// Method needs to be implemented + public void CopyTo(KeyValuePair>[] array, int arrayIndex) + { + throw new NotImplementedException(); + } + + /// + /// Removes the specified item from the Multimap. + /// + /// Key value pair + /// true if the item is successfully removed; otherwise, false. + /// Method needs to be implemented + public bool Remove(KeyValuePair> item) + { + throw new NotImplementedException(); + } + + /// + /// Gets the number of items contained in the Multimap. + /// + public int Count => _dictionary.Count; + + /// + /// Gets a value indicating whether the Multimap is read-only. + /// + public bool IsReadOnly => false; + + /// + /// Adds an item with the provided key and value to the Multimap. + /// + /// The object to use as the key of the item to add. + /// The object to use as the value of the item to add. + /// Thrown when couldn't add the value to Multimap. + public void Add(TKey key, IList value) + { + if (value != null && value.Count > 0) + { + if (_dictionary.TryGetValue(key, out var list)) + { + foreach (var k in value) list.Add(k); + } + else + { + list = new List(value); + if (!TryAdd(key, list)) + throw new InvalidOperationException("Could not add values to Multimap."); + } + } + } + + /// + /// Determines whether the Multimap contains an item with the specified key. + /// + /// The key to locate in the Multimap. + /// true if the Multimap contains an item with + /// the key; otherwise, false. + public bool ContainsKey(TKey key) + { + return _dictionary.ContainsKey(key); + } + + /// + /// Removes item with the specified key from the Multimap. + /// + /// The key to locate in the Multimap. + /// true if the item is successfully removed; otherwise, false. + public bool Remove(TKey key) + { + return TryRemove(key, out var _); + } + + /// + /// Gets the value associated with the specified key. + /// + /// The key whose value to get. + /// When this method returns, the value associated with the specified key, if the + /// key is found; otherwise, the default value for the type of the value parameter. + /// This parameter is passed uninitialized. + /// true if the object that implements Multimap contains + /// an item with the specified key; otherwise, false. + public bool TryGetValue(TKey key, out IList value) + { + return _dictionary.TryGetValue(key, out value); + } + + /// + /// Gets or sets the item with the specified key. + /// + /// The key of the item to get or set. + /// The value of the specified key. + public IList this[TKey key] + { + get => _dictionary[key]; + set => _dictionary[key] = value; + } + + /// + /// Gets a System.Collections.Generic.ICollection containing the keys of the Multimap. + /// + public ICollection Keys => _dictionary.Keys; + + /// + /// Gets a System.Collections.Generic.ICollection containing the values of the Multimap. + /// + public ICollection> Values => _dictionary.Values; + + /// + /// Copy the items of the Multimap to an System.Array, + /// starting at a particular System.Array index. + /// + /// The one-dimensional System.Array that is the destination of the items copied + /// from Multimap. The System.Array must have zero-based indexing. + /// The zero-based index in array at which copying begins. + public void CopyTo(Array array, int index) + { + ((ICollection)_dictionary).CopyTo(array, index); + } + + /// + /// Adds an item with the provided key and value to the Multimap. + /// + /// The object to use as the key of the item to add. + /// The object to use as the value of the item to add. + /// Thrown when couldn't add value to Multimap. + public void Add(TKey key, TValue value) + { + if (value != null) + { + if (_dictionary.TryGetValue(key, out var list)) + { + list.Add(value); + } + else + { + list = new List { value }; + if (!TryAdd(key, list)) + throw new InvalidOperationException("Could not add value to Multimap."); + } + } + } + + #endregion Public Members + + #region Private Members + + /** + * Helper method to encapsulate generator differences between dictionary types. + */ + private bool TryRemove(TKey key, out IList value) + { + _dictionary.TryGetValue(key, out value); + return _dictionary.Remove(key); + } + + /** + * Helper method to encapsulate generator differences between dictionary types. + */ + private bool TryAdd(TKey key, IList value) + { + try + { + _dictionary.Add(key, value); + } + catch (ArgumentException) + { + return false; + } + + return true; + } + #endregion Private Members + } +} diff --git a/src/Dofusdude.Api/Client/OpenAPIDateConverter.cs b/src/Dofusdude.Api/Client/OpenAPIDateConverter.cs new file mode 100644 index 0000000..1374af8 --- /dev/null +++ b/src/Dofusdude.Api/Client/OpenAPIDateConverter.cs @@ -0,0 +1,30 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + +using Newtonsoft.Json.Converters; + +namespace Dofusdude.Api.Client +{ + /// + /// Formatter for 'date' openapi formats ss defined by full-date - RFC3339 + /// see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#data-types + /// + public class OpenAPIDateConverter : IsoDateTimeConverter + { + /// + /// Initializes a new instance of the class. + /// + public OpenAPIDateConverter() + { + // full-date = date-fullyear "-" date-month "-" date-mday + DateTimeFormat = "yyyy-MM-dd"; + } + } +} diff --git a/src/Dofusdude.Api/Client/RequestOptions.cs b/src/Dofusdude.Api/Client/RequestOptions.cs new file mode 100644 index 0000000..288e181 --- /dev/null +++ b/src/Dofusdude.Api/Client/RequestOptions.cs @@ -0,0 +1,85 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; + +namespace Dofusdude.Api.Client +{ + /// + /// A container for generalized request inputs. This type allows consumers to extend the request functionality + /// by abstracting away from the default (built-in) request framework (e.g. RestSharp). + /// + public class RequestOptions + { + /// + /// Parameters to be bound to path parts of the Request's URL + /// + public Dictionary PathParameters { get; set; } + + /// + /// Query parameters to be applied to the request. + /// Keys may have 1 or more values associated. + /// + public Multimap QueryParameters { get; set; } + + /// + /// Header parameters to be applied to the request. + /// Keys may have 1 or more values associated. + /// + public Multimap HeaderParameters { get; set; } + + /// + /// Form parameters to be sent along with the request. + /// + public Dictionary FormParameters { get; set; } + + /// + /// File parameters to be sent along with the request. + /// + public Multimap FileParameters { get; set; } + + /// + /// Cookies to be sent along with the request. + /// + public List Cookies { get; set; } + + /// + /// Operation associated with the request path. + /// + public string Operation { get; set; } + + /// + /// Index associated with the operation. + /// + public int OperationIndex { get; set; } + + /// + /// Any data associated with a request body. + /// + public Object Data { get; set; } + + /// + /// Constructs a new instance of + /// + public RequestOptions() + { + PathParameters = new Dictionary(); + QueryParameters = new Multimap(); + HeaderParameters = new Multimap(); + FormParameters = new Dictionary(); + FileParameters = new Multimap(); + Cookies = new List(); + } + } +} diff --git a/src/Dofusdude.Api/Client/RetryConfiguration.cs b/src/Dofusdude.Api/Client/RetryConfiguration.cs new file mode 100644 index 0000000..21c8242 --- /dev/null +++ b/src/Dofusdude.Api/Client/RetryConfiguration.cs @@ -0,0 +1,32 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using Polly; +using RestSharp; + +namespace Dofusdude.Api.Client +{ + /// + /// Configuration class to set the polly retry policies to be applied to the requests. + /// + public static class RetryConfiguration + { + /// + /// Retry policy + /// + public static Policy RetryPolicy { get; set; } + + /// + /// Async retry policy + /// + public static AsyncPolicy AsyncRetryPolicy { get; set; } + } +} diff --git a/src/Dofusdude.Api/Dofusdude.Api.csproj b/src/Dofusdude.Api/Dofusdude.Api.csproj new file mode 100644 index 0000000..fefa5fb --- /dev/null +++ b/src/Dofusdude.Api/Dofusdude.Api.csproj @@ -0,0 +1,36 @@ + + + + false + net8.0 + Dofusdude.Api + Dofusdude.Api + Library + OpenAPI + OpenAPI + OpenAPI Library + A library generated from a OpenAPI doc + No Copyright + Dofusdude.Api + packageVersion=0.9.0 + bin\$(Configuration)\$(TargetFramework)\Dofusdude.Api.xml + https://github.com/GIT_USER_ID/GIT_REPO_ID.git + git + Minor update + annotations + + + + + + + + + + + + + + + + diff --git a/src/Dofusdude.Api/Model/AbstractOpenAPISchema.cs b/src/Dofusdude.Api/Model/AbstractOpenAPISchema.cs new file mode 100644 index 0000000..c5bfae4 --- /dev/null +++ b/src/Dofusdude.Api/Model/AbstractOpenAPISchema.cs @@ -0,0 +1,77 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; + +namespace Dofusdude.Api.Model +{ + /// + /// Abstract base class for oneOf, anyOf schemas in the OpenAPI specification + /// + public abstract partial class AbstractOpenAPISchema + { + /// + /// Custom JSON serializer + /// + static public readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings + { + // OpenAPI generated types generally hide default constructors. + ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor, + MissingMemberHandling = MissingMemberHandling.Error, + ContractResolver = new DefaultContractResolver + { + NamingStrategy = new CamelCaseNamingStrategy + { + OverrideSpecifiedNames = false + } + } + }; + + /// + /// Custom JSON serializer for objects with additional properties + /// + static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings + { + // OpenAPI generated types generally hide default constructors. + ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor, + MissingMemberHandling = MissingMemberHandling.Ignore, + ContractResolver = new DefaultContractResolver + { + NamingStrategy = new CamelCaseNamingStrategy + { + OverrideSpecifiedNames = false + } + } + }; + + /// + /// Gets or Sets the actual instance + /// + public abstract Object ActualInstance { get; set; } + + /// + /// Gets or Sets IsNullable to indicate whether the instance is nullable + /// + public bool IsNullable { get; protected set; } + + /// + /// Gets or Sets the schema type, which can be either `oneOf` or `anyOf` + /// + public string SchemaType { get; protected set; } + + /// + /// Converts the instance into JSON string. + /// + public abstract string ToJson(); + } +} diff --git a/src/Dofusdude.Api/Model/AlmanaxEntry.cs b/src/Dofusdude.Api/Model/AlmanaxEntry.cs new file mode 100644 index 0000000..ffabdc4 --- /dev/null +++ b/src/Dofusdude.Api/Model/AlmanaxEntry.cs @@ -0,0 +1,111 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// AlmanaxEntry + /// + [DataContract(Name = "Almanax-Entry")] + public partial class AlmanaxEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// bonus. + /// date. + /// tribute. + /// Amount of Kamas you get as reward for finishing this Almanax quest.. + public AlmanaxEntry(AlmanaxEntryBonus bonus = default(AlmanaxEntryBonus), string date = default(string), AlmanaxEntryTribute tribute = default(AlmanaxEntryTribute), int? rewardKamas = default(int?)) + { + this.Bonus = bonus; + this.Date = date; + this.Tribute = tribute; + this.RewardKamas = rewardKamas; + } + + /// + /// Gets or Sets Bonus + /// + [DataMember(Name = "bonus", EmitDefaultValue = false)] + public AlmanaxEntryBonus Bonus { get; set; } + + /// + /// Gets or Sets Date + /// + [DataMember(Name = "date", EmitDefaultValue = false)] + public string Date { get; set; } + + /// + /// Gets or Sets Tribute + /// + [DataMember(Name = "tribute", EmitDefaultValue = false)] + public AlmanaxEntryTribute Tribute { get; set; } + + /// + /// Amount of Kamas you get as reward for finishing this Almanax quest. + /// + /// Amount of Kamas you get as reward for finishing this Almanax quest. + [DataMember(Name = "reward_kamas", EmitDefaultValue = true)] + public int? RewardKamas { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class AlmanaxEntry {\n"); + sb.Append(" Bonus: ").Append(Bonus).Append("\n"); + sb.Append(" Date: ").Append(Date).Append("\n"); + sb.Append(" Tribute: ").Append(Tribute).Append("\n"); + sb.Append(" RewardKamas: ").Append(RewardKamas).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/AlmanaxEntryBonus.cs b/src/Dofusdude.Api/Model/AlmanaxEntryBonus.cs new file mode 100644 index 0000000..40be356 --- /dev/null +++ b/src/Dofusdude.Api/Model/AlmanaxEntryBonus.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// AlmanaxEntryBonus + /// + [DataContract(Name = "Almanax_Entry_bonus")] + public partial class AlmanaxEntryBonus : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// description. + /// type. + public AlmanaxEntryBonus(string description = default(string), GetMetaAlmanaxBonuses200ResponseInner type = default(GetMetaAlmanaxBonuses200ResponseInner)) + { + this.Description = description; + this.Type = type; + } + + /// + /// Gets or Sets Description + /// + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public GetMetaAlmanaxBonuses200ResponseInner Type { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class AlmanaxEntryBonus {\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/AlmanaxEntryTribute.cs b/src/Dofusdude.Api/Model/AlmanaxEntryTribute.cs new file mode 100644 index 0000000..9f8897f --- /dev/null +++ b/src/Dofusdude.Api/Model/AlmanaxEntryTribute.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// AlmanaxEntryTribute + /// + [DataContract(Name = "Almanax_Entry_tribute")] + public partial class AlmanaxEntryTribute : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// item. + /// quantity. + public AlmanaxEntryTribute(AlmanaxEntryTributeItem item = default(AlmanaxEntryTributeItem), int quantity = default(int)) + { + this.Item = item; + this.Quantity = quantity; + } + + /// + /// Gets or Sets Item + /// + [DataMember(Name = "item", EmitDefaultValue = false)] + public AlmanaxEntryTributeItem Item { get; set; } + + /// + /// Gets or Sets Quantity + /// + [DataMember(Name = "quantity", EmitDefaultValue = false)] + public int Quantity { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class AlmanaxEntryTribute {\n"); + sb.Append(" Item: ").Append(Item).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/AlmanaxEntryTributeItem.cs b/src/Dofusdude.Api/Model/AlmanaxEntryTributeItem.cs new file mode 100644 index 0000000..8f8a0d4 --- /dev/null +++ b/src/Dofusdude.Api/Model/AlmanaxEntryTributeItem.cs @@ -0,0 +1,110 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// AlmanaxEntryTributeItem + /// + [DataContract(Name = "Almanax_Entry_tribute_item")] + public partial class AlmanaxEntryTributeItem : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// imageUrls. + /// name. + /// subtype. + public AlmanaxEntryTributeItem(int ankamaId = default(int), ImageUrls imageUrls = default(ImageUrls), string name = default(string), string subtype = default(string)) + { + this.AnkamaId = ankamaId; + this.ImageUrls = imageUrls; + this.Name = name; + this.Subtype = subtype; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Subtype + /// + [DataMember(Name = "subtype", EmitDefaultValue = false)] + public string Subtype { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class AlmanaxEntryTributeItem {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Subtype: ").Append(Subtype).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/AlmanaxWebhook.cs b/src/Dofusdude.Api/Model/AlmanaxWebhook.cs new file mode 100644 index 0000000..726fdda --- /dev/null +++ b/src/Dofusdude.Api/Model/AlmanaxWebhook.cs @@ -0,0 +1,267 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// AlmanaxWebhook + /// + [DataContract(Name = "AlmanaxWebhook")] + public partial class AlmanaxWebhook : IValidatableObject + { + /// + /// Defines Intervals + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum IntervalsEnum + { + /// + /// Enum Daily for value: daily + /// + [EnumMember(Value = "daily")] + Daily = 1, + + /// + /// Enum Weekly for value: weekly + /// + [EnumMember(Value = "weekly")] + Weekly = 2, + + /// + /// Enum Monthly for value: monthly + /// + [EnumMember(Value = "monthly")] + Monthly = 3 + } + + /// + /// When to post the weekly preview at the specified time. + /// + /// When to post the weekly preview at the specified time. + [JsonConverter(typeof(StringEnumConverter))] + public enum WeeklyWeekdayEnum + { + /// + /// Enum Sunday for value: sunday + /// + [EnumMember(Value = "sunday")] + Sunday = 1, + + /// + /// Enum Monday for value: monday + /// + [EnumMember(Value = "monday")] + Monday = 2, + + /// + /// Enum Tuesday for value: tuesday + /// + [EnumMember(Value = "tuesday")] + Tuesday = 3, + + /// + /// Enum Wednesday for value: wednesday + /// + [EnumMember(Value = "wednesday")] + Wednesday = 4, + + /// + /// Enum Thursday for value: thursday + /// + [EnumMember(Value = "thursday")] + Thursday = 5, + + /// + /// Enum Friday for value: friday + /// + [EnumMember(Value = "friday")] + Friday = 6, + + /// + /// Enum Saturday for value: saturday + /// + [EnumMember(Value = "saturday")] + Saturday = 7 + } + + + /// + /// When to post the weekly preview at the specified time. + /// + /// When to post the weekly preview at the specified time. + /// sunday + [DataMember(Name = "weekly_weekday", EmitDefaultValue = true)] + public WeeklyWeekdayEnum? WeeklyWeekday { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// id. + /// dailySettings. + /// Only post when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses.. + /// Skip the day when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. + /// Get the available subscriptions with /meta/webhooks/almanax. + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. (default to false). + /// Almanax bonus ids mapped to array of mentions.. + /// - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want.. + /// When to post the weekly preview at the specified time.. + /// createdAt. + /// lastFiredAt. + /// updatedAt. + public AlmanaxWebhook(Guid id = default(Guid), AlmanaxWebhookDailySettings dailySettings = default(AlmanaxWebhookDailySettings), List bonusWhitelist = default(List), List bonusBlacklist = default(List), List subscriptions = default(List), bool isoDate = false, Dictionary> mentions = default(Dictionary>), List intervals = default(List), WeeklyWeekdayEnum? weeklyWeekday = default(WeeklyWeekdayEnum?), DateTime createdAt = default(DateTime), DateTime? lastFiredAt = default(DateTime?), DateTime updatedAt = default(DateTime)) + { + this.Id = id; + this.DailySettings = dailySettings; + this.BonusWhitelist = bonusWhitelist; + this.BonusBlacklist = bonusBlacklist; + this.Subscriptions = subscriptions; + this.IsoDate = isoDate; + this.Mentions = mentions; + this.Intervals = intervals; + this.WeeklyWeekday = weeklyWeekday; + this.CreatedAt = createdAt; + this.LastFiredAt = lastFiredAt; + this.UpdatedAt = updatedAt; + } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public Guid Id { get; set; } + + /// + /// Gets or Sets DailySettings + /// + [DataMember(Name = "daily_settings", EmitDefaultValue = false)] + public AlmanaxWebhookDailySettings DailySettings { get; set; } + + /// + /// Only post when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. + /// + /// Only post when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. + [DataMember(Name = "bonus_whitelist", EmitDefaultValue = true)] + public List BonusWhitelist { get; set; } + + /// + /// Skip the day when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses + /// + /// Skip the day when these bonuses come up. From all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses + [DataMember(Name = "bonus_blacklist", EmitDefaultValue = true)] + public List BonusBlacklist { get; set; } + + /// + /// Get the available subscriptions with /meta/webhooks/almanax + /// + /// Get the available subscriptions with /meta/webhooks/almanax + [DataMember(Name = "subscriptions", EmitDefaultValue = false)] + public List Subscriptions { get; set; } + + /// + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. + /// + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. + [DataMember(Name = "iso_date", EmitDefaultValue = true)] + public bool IsoDate { get; set; } + + /// + /// Almanax bonus ids mapped to array of mentions. + /// + /// Almanax bonus ids mapped to array of mentions. + /// {"kolossium-experience":[{"discord_id":1234,"is_role":true,"ping_days_before":null}]} + [DataMember(Name = "mentions", EmitDefaultValue = true)] + public Dictionary> Mentions { get; set; } + + /// + /// - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. + /// + /// - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. + /// ["daily"] + [DataMember(Name = "intervals", EmitDefaultValue = false)] + public List Intervals { get; set; } + + /// + /// Gets or Sets CreatedAt + /// + [DataMember(Name = "created_at", EmitDefaultValue = false)] + public DateTime CreatedAt { get; set; } + + /// + /// Gets or Sets LastFiredAt + /// + [DataMember(Name = "last_fired_at", EmitDefaultValue = true)] + public DateTime? LastFiredAt { get; set; } + + /// + /// Gets or Sets UpdatedAt + /// + [DataMember(Name = "updated_at", EmitDefaultValue = false)] + public DateTime UpdatedAt { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class AlmanaxWebhook {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" DailySettings: ").Append(DailySettings).Append("\n"); + sb.Append(" BonusWhitelist: ").Append(BonusWhitelist).Append("\n"); + sb.Append(" BonusBlacklist: ").Append(BonusBlacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" IsoDate: ").Append(IsoDate).Append("\n"); + sb.Append(" Mentions: ").Append(Mentions).Append("\n"); + sb.Append(" Intervals: ").Append(Intervals).Append("\n"); + sb.Append(" WeeklyWeekday: ").Append(WeeklyWeekday).Append("\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" LastFiredAt: ").Append(LastFiredAt).Append("\n"); + sb.Append(" UpdatedAt: ").Append(UpdatedAt).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/AlmanaxWebhookDailySettings.cs b/src/Dofusdude.Api/Model/AlmanaxWebhookDailySettings.cs new file mode 100644 index 0000000..ecaf01e --- /dev/null +++ b/src/Dofusdude.Api/Model/AlmanaxWebhookDailySettings.cs @@ -0,0 +1,97 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// AlmanaxWebhookDailySettings + /// + [DataContract(Name = "AlmanaxWebhook_daily_settings")] + public partial class AlmanaxWebhookDailySettings : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Timezone of your community to determine midnight. (default to "Europe/Paris"). + /// Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. (default to 0). + public AlmanaxWebhookDailySettings(string timezone = @"Europe/Paris", int midnightOffset = 0) + { + // use default value if no "timezone" provided + this.Timezone = timezone ?? @"Europe/Paris"; + this.MidnightOffset = midnightOffset; + } + + /// + /// Timezone of your community to determine midnight. + /// + /// Timezone of your community to determine midnight. + /// Europe/Paris + [DataMember(Name = "timezone", EmitDefaultValue = false)] + public string Timezone { get; set; } + + /// + /// Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. + /// + /// Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. + /// 0 + [DataMember(Name = "midnight_offset", EmitDefaultValue = false)] + public int MidnightOffset { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class AlmanaxWebhookDailySettings {\n"); + sb.Append(" Timezone: ").Append(Timezone).Append("\n"); + sb.Append(" MidnightOffset: ").Append(MidnightOffset).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ConditionEntry.cs b/src/Dofusdude.Api/Model/ConditionEntry.cs new file mode 100644 index 0000000..a1d8cf5 --- /dev/null +++ b/src/Dofusdude.Api/Model/ConditionEntry.cs @@ -0,0 +1,101 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ConditionEntry + /// + [DataContract(Name = "Condition-Entry")] + public partial class ConditionEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// varOperator. + /// intValue. + /// element. + public ConditionEntry(string varOperator = default(string), int intValue = default(int), ItemsListEntryTypedType element = default(ItemsListEntryTypedType)) + { + this.Operator = varOperator; + this.IntValue = intValue; + this.Element = element; + } + + /// + /// Gets or Sets Operator + /// + [DataMember(Name = "operator", EmitDefaultValue = false)] + public string Operator { get; set; } + + /// + /// Gets or Sets IntValue + /// + [DataMember(Name = "int_value", EmitDefaultValue = false)] + public int IntValue { get; set; } + + /// + /// Gets or Sets Element + /// + [DataMember(Name = "element", EmitDefaultValue = false)] + public ItemsListEntryTypedType Element { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ConditionEntry {\n"); + sb.Append(" Operator: ").Append(Operator).Append("\n"); + sb.Append(" IntValue: ").Append(IntValue).Append("\n"); + sb.Append(" Element: ").Append(Element).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ConditionTreeLeaf.cs b/src/Dofusdude.Api/Model/ConditionTreeLeaf.cs new file mode 100644 index 0000000..e302011 --- /dev/null +++ b/src/Dofusdude.Api/Model/ConditionTreeLeaf.cs @@ -0,0 +1,93 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ConditionTreeLeaf + /// + [DataContract(Name = "Condition-Tree-Leaf")] + public partial class ConditionTreeLeaf : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// always \"true\" for the leaf of a tree (default to true). + /// condition. + public ConditionTreeLeaf(bool isOperand = true, ConditionEntry condition = default(ConditionEntry)) + { + this.IsOperand = isOperand; + this.Condition = condition; + } + + /// + /// always \"true\" for the leaf of a tree + /// + /// always \"true\" for the leaf of a tree + [DataMember(Name = "is_operand", EmitDefaultValue = true)] + public bool IsOperand { get; set; } + + /// + /// Gets or Sets Condition + /// + [DataMember(Name = "condition", EmitDefaultValue = false)] + public ConditionEntry Condition { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ConditionTreeLeaf {\n"); + sb.Append(" IsOperand: ").Append(IsOperand).Append("\n"); + sb.Append(" Condition: ").Append(Condition).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ConditionTreeNode.cs b/src/Dofusdude.Api/Model/ConditionTreeNode.cs new file mode 100644 index 0000000..019035e --- /dev/null +++ b/src/Dofusdude.Api/Model/ConditionTreeNode.cs @@ -0,0 +1,261 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; +using System.Reflection; + +namespace Dofusdude.Api.Model +{ + /// + /// ConditionTreeNode + /// + [JsonConverter(typeof(ConditionTreeNodeJsonConverter))] + [DataContract(Name = "Condition-Tree-Node")] + public partial class ConditionTreeNode : AbstractOpenAPISchema, IValidatableObject + { + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of ConditionTreeRelation. + public ConditionTreeNode(ConditionTreeRelation actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of ConditionTreeLeaf. + public ConditionTreeNode(ConditionTreeLeaf actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + + + private Object _actualInstance; + + /// + /// Gets or Sets ActualInstance + /// + public override Object ActualInstance + { + get + { + return _actualInstance; + } + set + { + if (value.GetType() == typeof(ConditionTreeLeaf)) + { + this._actualInstance = value; + } + else if (value.GetType() == typeof(ConditionTreeRelation)) + { + this._actualInstance = value; + } + else + { + throw new ArgumentException("Invalid instance found. Must be the following types: ConditionTreeLeaf, ConditionTreeRelation"); + } + } + } + + /// + /// Get the actual instance of `ConditionTreeRelation`. If the actual instance is not `ConditionTreeRelation`, + /// the InvalidClassException will be thrown + /// + /// An instance of ConditionTreeRelation + public ConditionTreeRelation GetConditionTreeRelation() + { + return (ConditionTreeRelation)this.ActualInstance; + } + + /// + /// Get the actual instance of `ConditionTreeLeaf`. If the actual instance is not `ConditionTreeLeaf`, + /// the InvalidClassException will be thrown + /// + /// An instance of ConditionTreeLeaf + public ConditionTreeLeaf GetConditionTreeLeaf() + { + return (ConditionTreeLeaf)this.ActualInstance; + } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ConditionTreeNode {\n"); + sb.Append(" ActualInstance: ").Append(this.ActualInstance).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public override string ToJson() + { + return JsonConvert.SerializeObject(this.ActualInstance, ConditionTreeNode.SerializerSettings); + } + + /// + /// Converts the JSON string into an instance of ConditionTreeNode + /// + /// JSON string + /// An instance of ConditionTreeNode + public static ConditionTreeNode FromJson(string jsonString) + { + ConditionTreeNode newConditionTreeNode = null; + + if (string.IsNullOrEmpty(jsonString)) + { + return newConditionTreeNode; + } + int match = 0; + List matchedTypes = new List(); + + try + { + // if it does not contains "AdditionalProperties", use SerializerSettings to deserialize + if (typeof(ConditionTreeLeaf).GetProperty("AdditionalProperties") == null) + { + newConditionTreeNode = new ConditionTreeNode(JsonConvert.DeserializeObject(jsonString, ConditionTreeNode.SerializerSettings)); + } + else + { + newConditionTreeNode = new ConditionTreeNode(JsonConvert.DeserializeObject(jsonString, ConditionTreeNode.AdditionalPropertiesSerializerSettings)); + } + matchedTypes.Add("ConditionTreeLeaf"); + match++; + } + catch (Exception exception) + { + // deserialization failed, try the next one + System.Diagnostics.Debug.WriteLine(string.Format("Failed to deserialize `{0}` into ConditionTreeLeaf: {1}", jsonString, exception.ToString())); + } + + try + { + // if it does not contains "AdditionalProperties", use SerializerSettings to deserialize + if (typeof(ConditionTreeRelation).GetProperty("AdditionalProperties") == null) + { + newConditionTreeNode = new ConditionTreeNode(JsonConvert.DeserializeObject(jsonString, ConditionTreeNode.SerializerSettings)); + } + else + { + newConditionTreeNode = new ConditionTreeNode(JsonConvert.DeserializeObject(jsonString, ConditionTreeNode.AdditionalPropertiesSerializerSettings)); + } + matchedTypes.Add("ConditionTreeRelation"); + match++; + } + catch (Exception exception) + { + // deserialization failed, try the next one + System.Diagnostics.Debug.WriteLine(string.Format("Failed to deserialize `{0}` into ConditionTreeRelation: {1}", jsonString, exception.ToString())); + } + + if (match == 0) + { + throw new InvalidDataException("The JSON string `" + jsonString + "` cannot be deserialized into any schema defined."); + } + else if (match > 1) + { + throw new InvalidDataException("The JSON string `" + jsonString + "` incorrectly matches more than one schema (should be exactly one match): " + String.Join(",", matchedTypes)); + } + + // deserialization is considered successful at this point if no exception has been thrown. + return newConditionTreeNode; + } + + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + + /// + /// Custom JSON converter for ConditionTreeNode + /// + public class ConditionTreeNodeJsonConverter : JsonConverter + { + /// + /// To write the JSON string + /// + /// JSON writer + /// Object to be converted into a JSON string + /// JSON Serializer + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + writer.WriteRawValue((string)(typeof(ConditionTreeNode).GetMethod("ToJson").Invoke(value, null))); + } + + /// + /// To convert a JSON string into an object + /// + /// JSON reader + /// Object type + /// Existing value + /// JSON Serializer + /// The object converted from the JSON string + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + switch(reader.TokenType) + { + case JsonToken.StartObject: + return ConditionTreeNode.FromJson(JObject.Load(reader).ToString(Formatting.None)); + case JsonToken.StartArray: + return ConditionTreeNode.FromJson(JArray.Load(reader).ToString(Formatting.None)); + default: + return null; + } + } + + /// + /// Check if the object can be converted + /// + /// Object type + /// True if the object can be converted + public override bool CanConvert(Type objectType) + { + return false; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ConditionTreeRelation.cs b/src/Dofusdude.Api/Model/ConditionTreeRelation.cs new file mode 100644 index 0000000..d9201d0 --- /dev/null +++ b/src/Dofusdude.Api/Model/ConditionTreeRelation.cs @@ -0,0 +1,105 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ConditionTreeRelation + /// + [DataContract(Name = "Condition-Tree-Relation")] + public partial class ConditionTreeRelation : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// always \"false\" for relations (default to false). + /// \"and\", \"or\" (default to "and"). + /// children. + public ConditionTreeRelation(bool isOperand = false, string relation = @"and", List children = default(List)) + { + this.IsOperand = isOperand; + // use default value if no "relation" provided + this.Relation = relation ?? @"and"; + this.Children = children; + } + + /// + /// always \"false\" for relations + /// + /// always \"false\" for relations + [DataMember(Name = "is_operand", EmitDefaultValue = true)] + public bool IsOperand { get; set; } + + /// + /// \"and\", \"or\" + /// + /// \"and\", \"or\" + /// and + [DataMember(Name = "relation", EmitDefaultValue = false)] + public string Relation { get; set; } + + /// + /// Gets or Sets Children + /// + [DataMember(Name = "children", EmitDefaultValue = false)] + public List Children { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ConditionTreeRelation {\n"); + sb.Append(" IsOperand: ").Append(IsOperand).Append("\n"); + sb.Append(" Relation: ").Append(Relation).Append("\n"); + sb.Append(" Children: ").Append(Children).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/Cosmetic.cs b/src/Dofusdude.Api/Model/Cosmetic.cs new file mode 100644 index 0000000..bb3ed78 --- /dev/null +++ b/src/Dofusdude.Api/Model/Cosmetic.cs @@ -0,0 +1,174 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// Cosmetic + /// + [DataContract(Name = "Cosmetic")] + public partial class Cosmetic : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// description. + /// type. + /// level. + /// pods. + /// imageUrls. + /// effects. + /// conditions. + /// conditionTree. + /// recipe. + public Cosmetic(int ankamaId = default(int), string name = default(string), string description = default(string), CosmeticType type = default(CosmeticType), int level = default(int), int pods = default(int), ImageUrls imageUrls = default(ImageUrls), List effects = default(List), List conditions = default(List), ConditionTreeNode conditionTree = default(ConditionTreeNode), List recipe = default(List)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.Description = description; + this.Type = type; + this.Level = level; + this.Pods = pods; + this.ImageUrls = imageUrls; + this.Effects = effects; + this.Conditions = conditions; + this.ConditionTree = conditionTree; + this.Recipe = recipe; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Description + /// + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public CosmeticType Type { get; set; } + + /// + /// Gets or Sets Level + /// + [DataMember(Name = "level", EmitDefaultValue = false)] + public int Level { get; set; } + + /// + /// Gets or Sets Pods + /// + [DataMember(Name = "pods", EmitDefaultValue = false)] + public int Pods { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List Effects { get; set; } + + /// + /// Gets or Sets Conditions + /// + [DataMember(Name = "conditions", EmitDefaultValue = true)] + [Obsolete] + public List Conditions { get; set; } + + /// + /// Gets or Sets ConditionTree + /// + [DataMember(Name = "condition_tree", EmitDefaultValue = false)] + public ConditionTreeNode ConditionTree { get; set; } + + /// + /// Gets or Sets Recipe + /// + [DataMember(Name = "recipe", EmitDefaultValue = true)] + public List Recipe { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class Cosmetic {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Level: ").Append(Level).Append("\n"); + sb.Append(" Pods: ").Append(Pods).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" Conditions: ").Append(Conditions).Append("\n"); + sb.Append(" ConditionTree: ").Append(ConditionTree).Append("\n"); + sb.Append(" Recipe: ").Append(Recipe).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/CosmeticType.cs b/src/Dofusdude.Api/Model/CosmeticType.cs new file mode 100644 index 0000000..10b7a64 --- /dev/null +++ b/src/Dofusdude.Api/Model/CosmeticType.cs @@ -0,0 +1,98 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// CosmeticType + /// + [DataContract(Name = "Cosmetic_type")] + public partial class CosmeticType : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// name. + /// id. + public CosmeticType(string name = default(string), int id = default(int)) + { + this.Name = name; + this.Id = id; + } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public int Id { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CosmeticType {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Id (int) minimum + if (this.Id < (int)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Id, must be a value greater than or equal to 0.", new [] { "Id" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/CreateAlmanaxWebhook.cs b/src/Dofusdude.Api/Model/CreateAlmanaxWebhook.cs new file mode 100644 index 0000000..2fda0bd --- /dev/null +++ b/src/Dofusdude.Api/Model/CreateAlmanaxWebhook.cs @@ -0,0 +1,285 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// CreateAlmanaxWebhook + /// + [DataContract(Name = "CreateAlmanaxWebhook")] + public partial class CreateAlmanaxWebhook : IValidatableObject + { + /// + /// Defines Format + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum FormatEnum + { + /// + /// Enum Discord for value: discord + /// + [EnumMember(Value = "discord")] + Discord = 1 + } + + + /// + /// Gets or Sets Format + /// + [DataMember(Name = "format", IsRequired = true, EmitDefaultValue = true)] + public FormatEnum Format { get; set; } + /// + /// Defines Intervals + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum IntervalsEnum + { + /// + /// Enum Daily for value: daily + /// + [EnumMember(Value = "daily")] + Daily = 1, + + /// + /// Enum Weekly for value: weekly + /// + [EnumMember(Value = "weekly")] + Weekly = 2, + + /// + /// Enum Monthly for value: monthly + /// + [EnumMember(Value = "monthly")] + Monthly = 3 + } + + /// + /// When to post the weekly preview at the specified time. + /// + /// When to post the weekly preview at the specified time. + [JsonConverter(typeof(StringEnumConverter))] + public enum WeeklyWeekdayEnum + { + /// + /// Enum Sunday for value: sunday + /// + [EnumMember(Value = "sunday")] + Sunday = 1, + + /// + /// Enum Monday for value: monday + /// + [EnumMember(Value = "monday")] + Monday = 2, + + /// + /// Enum Tuesday for value: tuesday + /// + [EnumMember(Value = "tuesday")] + Tuesday = 3, + + /// + /// Enum Wednesday for value: wednesday + /// + [EnumMember(Value = "wednesday")] + Wednesday = 4, + + /// + /// Enum Thursday for value: thursday + /// + [EnumMember(Value = "thursday")] + Thursday = 5, + + /// + /// Enum Friday for value: friday + /// + [EnumMember(Value = "friday")] + Friday = 6, + + /// + /// Enum Saturday for value: saturday + /// + [EnumMember(Value = "saturday")] + Saturday = 7 + } + + + /// + /// When to post the weekly preview at the specified time. + /// + /// When to post the weekly preview at the specified time. + /// sunday + [DataMember(Name = "weekly_weekday", EmitDefaultValue = true)] + public WeeklyWeekdayEnum? WeeklyWeekday { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CreateAlmanaxWebhook() { } + /// + /// Initializes a new instance of the class. + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. + /// Get the available subscriptions with /meta/webhooks/almanax (required). + /// format (required). + /// Discord Webhook URL (required). + /// dailySettings. + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. (default to false). + /// Almanax bonus ids mapped to array of mentions.. + /// - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. (required). + /// When to post the weekly preview at the specified time.. + public CreateAlmanaxWebhook(List bonusWhitelist = default(List), List bonusBlacklist = default(List), List subscriptions = default(List), FormatEnum format = default(FormatEnum), string callback = default(string), CreateAlmanaxWebhookDailySettings dailySettings = default(CreateAlmanaxWebhookDailySettings), bool? isoDate = false, Dictionary> mentions = default(Dictionary>), List intervals = default(List), WeeklyWeekdayEnum? weeklyWeekday = default(WeeklyWeekdayEnum?)) + { + // to ensure "subscriptions" is required (not null) + if (subscriptions == null) + { + throw new ArgumentNullException("subscriptions is a required property for CreateAlmanaxWebhook and cannot be null"); + } + this.Subscriptions = subscriptions; + this.Format = format; + // to ensure "callback" is required (not null) + if (callback == null) + { + throw new ArgumentNullException("callback is a required property for CreateAlmanaxWebhook and cannot be null"); + } + this.Callback = callback; + // to ensure "intervals" is required (not null) + if (intervals == null) + { + throw new ArgumentNullException("intervals is a required property for CreateAlmanaxWebhook and cannot be null"); + } + this.Intervals = intervals; + this.BonusWhitelist = bonusWhitelist; + this.BonusBlacklist = bonusBlacklist; + this.DailySettings = dailySettings; + // use default value if no "isoDate" provided + this.IsoDate = isoDate ?? false; + this.Mentions = mentions; + this.WeeklyWeekday = weeklyWeekday; + } + + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses + [DataMember(Name = "bonus_whitelist", EmitDefaultValue = true)] + public List BonusWhitelist { get; set; } + + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses + [DataMember(Name = "bonus_blacklist", EmitDefaultValue = true)] + public List BonusBlacklist { get; set; } + + /// + /// Get the available subscriptions with /meta/webhooks/almanax + /// + /// Get the available subscriptions with /meta/webhooks/almanax + [DataMember(Name = "subscriptions", IsRequired = true, EmitDefaultValue = true)] + public List Subscriptions { get; set; } + + /// + /// Discord Webhook URL + /// + /// Discord Webhook URL + /// https://discord.com/api/webhooks/XYZ + [DataMember(Name = "callback", IsRequired = true, EmitDefaultValue = true)] + public string Callback { get; set; } + + /// + /// Gets or Sets DailySettings + /// + [DataMember(Name = "daily_settings", EmitDefaultValue = true)] + public CreateAlmanaxWebhookDailySettings DailySettings { get; set; } + + /// + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. + /// + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. + [DataMember(Name = "iso_date", EmitDefaultValue = true)] + public bool? IsoDate { get; set; } + + /// + /// Almanax bonus ids mapped to array of mentions. + /// + /// Almanax bonus ids mapped to array of mentions. + /// {"kolossium-experience":[{"discord_id":1234,"is_role":true,"ping_days_before":null}]} + [DataMember(Name = "mentions", EmitDefaultValue = true)] + public Dictionary> Mentions { get; set; } + + /// + /// - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. + /// + /// - Daily posts each day, filtering with Black/Whitelist and mentions are applied daily. - Weekly posts the next 7 days (excluding the posting day) once per week at the specified time. With only weekly selected, of all mentions, only prior notices will come through daily. The 7 day preview gets filtered by the Black/Whitelist. - Monthly posts a preview of the next month from first to last date. The post will be on the last day of a month (ignoring day of the week) at the specified time. Mentions and filtering works like weekly. The biggest difference between daily and the other two is that daily always posts the current day while monthly and weekly only show future days. You can always combine the intervals by selecting multiple intervals for one hook or create multiple hooks for the same channel with different settings to get every highly specific combination you want. + /// ["daily"] + [DataMember(Name = "intervals", IsRequired = true, EmitDefaultValue = true)] + public List Intervals { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CreateAlmanaxWebhook {\n"); + sb.Append(" BonusWhitelist: ").Append(BonusWhitelist).Append("\n"); + sb.Append(" BonusBlacklist: ").Append(BonusBlacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" Format: ").Append(Format).Append("\n"); + sb.Append(" Callback: ").Append(Callback).Append("\n"); + sb.Append(" DailySettings: ").Append(DailySettings).Append("\n"); + sb.Append(" IsoDate: ").Append(IsoDate).Append("\n"); + sb.Append(" Mentions: ").Append(Mentions).Append("\n"); + sb.Append(" Intervals: ").Append(Intervals).Append("\n"); + sb.Append(" WeeklyWeekday: ").Append(WeeklyWeekday).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/CreateAlmanaxWebhookDailySettings.cs b/src/Dofusdude.Api/Model/CreateAlmanaxWebhookDailySettings.cs new file mode 100644 index 0000000..49cbf81 --- /dev/null +++ b/src/Dofusdude.Api/Model/CreateAlmanaxWebhookDailySettings.cs @@ -0,0 +1,110 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// CreateAlmanaxWebhookDailySettings + /// + [DataContract(Name = "CreateAlmanaxWebhook_daily_settings")] + public partial class CreateAlmanaxWebhookDailySettings : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Timezone of your community to determine midnight. (default to "Europe/Paris"). + /// Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. (default to 0). + public CreateAlmanaxWebhookDailySettings(string timezone = @"Europe/Paris", int? midnightOffset = 0) + { + // use default value if no "timezone" provided + this.Timezone = timezone ?? @"Europe/Paris"; + // use default value if no "midnightOffset" provided + this.MidnightOffset = midnightOffset ?? 0; + } + + /// + /// Timezone of your community to determine midnight. + /// + /// Timezone of your community to determine midnight. + /// Europe/Paris + [DataMember(Name = "timezone", EmitDefaultValue = true)] + public string Timezone { get; set; } + + /// + /// Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. + /// + /// Hours added to midnight at the selected timezone. 8 = 8:00 in the morning. + /// 0 + [DataMember(Name = "midnight_offset", EmitDefaultValue = true)] + public int? MidnightOffset { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CreateAlmanaxWebhookDailySettings {\n"); + sb.Append(" Timezone: ").Append(Timezone).Append("\n"); + sb.Append(" MidnightOffset: ").Append(MidnightOffset).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // MidnightOffset (int?) maximum + if (this.MidnightOffset > (int?)23) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for MidnightOffset, must be a value less than or equal to 23.", new [] { "MidnightOffset" }); + } + + // MidnightOffset (int?) minimum + if (this.MidnightOffset < (int?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for MidnightOffset, must be a value greater than or equal to 0.", new [] { "MidnightOffset" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/CreateAlmanaxWebhookMentionsValueInner.cs b/src/Dofusdude.Api/Model/CreateAlmanaxWebhookMentionsValueInner.cs new file mode 100644 index 0000000..0c36036 --- /dev/null +++ b/src/Dofusdude.Api/Model/CreateAlmanaxWebhookMentionsValueInner.cs @@ -0,0 +1,119 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// Mention + /// + [DataContract(Name = "CreateAlmanaxWebhook_mentions_value_inner")] + public partial class CreateAlmanaxWebhookMentionsValueInner : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// User or role ID directly from Discord. Activate developer mode and right click a user or role to get them.. + /// Whether an ID describes a role (true) or user (false). This is needed for formatting the mention command so Discord understands it.. + /// Get a mention days before the bonus comes up. It will post on the specified time. Also works when the interval is not daily.. + public CreateAlmanaxWebhookMentionsValueInner(int discordId = default(int), bool isRole = default(bool), int? pingDaysBefore = default(int?)) + { + this.DiscordId = discordId; + this.IsRole = isRole; + this.PingDaysBefore = pingDaysBefore; + } + + /// + /// User or role ID directly from Discord. Activate developer mode and right click a user or role to get them. + /// + /// User or role ID directly from Discord. Activate developer mode and right click a user or role to get them. + /// 1234 + [DataMember(Name = "discord_id", EmitDefaultValue = false)] + public int DiscordId { get; set; } + + /// + /// Whether an ID describes a role (true) or user (false). This is needed for formatting the mention command so Discord understands it. + /// + /// Whether an ID describes a role (true) or user (false). This is needed for formatting the mention command so Discord understands it. + /// true + [DataMember(Name = "is_role", EmitDefaultValue = true)] + public bool IsRole { get; set; } + + /// + /// Get a mention days before the bonus comes up. It will post on the specified time. Also works when the interval is not daily. + /// + /// Get a mention days before the bonus comes up. It will post on the specified time. Also works when the interval is not daily. + /// 1 + [DataMember(Name = "ping_days_before", EmitDefaultValue = true)] + public int? PingDaysBefore { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CreateAlmanaxWebhookMentionsValueInner {\n"); + sb.Append(" DiscordId: ").Append(DiscordId).Append("\n"); + sb.Append(" IsRole: ").Append(IsRole).Append("\n"); + sb.Append(" PingDaysBefore: ").Append(PingDaysBefore).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PingDaysBefore (int?) maximum + if (this.PingDaysBefore > (int?)31) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PingDaysBefore, must be a value less than or equal to 31.", new [] { "PingDaysBefore" }); + } + + // PingDaysBefore (int?) minimum + if (this.PingDaysBefore < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PingDaysBefore, must be a value greater than or equal to 1.", new [] { "PingDaysBefore" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/CreateRSSWebhook.cs b/src/Dofusdude.Api/Model/CreateRSSWebhook.cs new file mode 100644 index 0000000..1a42276 --- /dev/null +++ b/src/Dofusdude.Api/Model/CreateRSSWebhook.cs @@ -0,0 +1,172 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// CreateRSSWebhook + /// + [DataContract(Name = "CreateRSSWebhook")] + public partial class CreateRSSWebhook : IValidatableObject + { + /// + /// Defines Format + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum FormatEnum + { + /// + /// Enum Discord for value: discord + /// + [EnumMember(Value = "discord")] + Discord = 1 + } + + + /// + /// Gets or Sets Format + /// + [DataMember(Name = "format", IsRequired = true, EmitDefaultValue = true)] + public FormatEnum Format { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CreateRSSWebhook() { } + /// + /// Initializes a new instance of the class. + /// + /// whitelist. + /// blacklist. + /// Get the available subscriptions with /meta/webhooks/rss (required). + /// format (required). + /// previewLength. + /// Discord Webhook URL (required). + public CreateRSSWebhook(List whitelist = default(List), List blacklist = default(List), List subscriptions = default(List), FormatEnum format = default(FormatEnum), int? previewLength = default(int?), string callback = default(string)) + { + // to ensure "subscriptions" is required (not null) + if (subscriptions == null) + { + throw new ArgumentNullException("subscriptions is a required property for CreateRSSWebhook and cannot be null"); + } + this.Subscriptions = subscriptions; + this.Format = format; + // to ensure "callback" is required (not null) + if (callback == null) + { + throw new ArgumentNullException("callback is a required property for CreateRSSWebhook and cannot be null"); + } + this.Callback = callback; + this.Whitelist = whitelist; + this.Blacklist = blacklist; + this.PreviewLength = previewLength; + } + + /// + /// Gets or Sets Whitelist + /// + [DataMember(Name = "whitelist", EmitDefaultValue = true)] + public List Whitelist { get; set; } + + /// + /// Gets or Sets Blacklist + /// + [DataMember(Name = "blacklist", EmitDefaultValue = true)] + public List Blacklist { get; set; } + + /// + /// Get the available subscriptions with /meta/webhooks/rss + /// + /// Get the available subscriptions with /meta/webhooks/rss + [DataMember(Name = "subscriptions", IsRequired = true, EmitDefaultValue = true)] + public List Subscriptions { get; set; } + + /// + /// Gets or Sets PreviewLength + /// + /// 2000 + [DataMember(Name = "preview_length", EmitDefaultValue = true)] + public int? PreviewLength { get; set; } + + /// + /// Discord Webhook URL + /// + /// Discord Webhook URL + /// https://discord.com/api/webhooks/XYZ + [DataMember(Name = "callback", IsRequired = true, EmitDefaultValue = true)] + public string Callback { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CreateRSSWebhook {\n"); + sb.Append(" Whitelist: ").Append(Whitelist).Append("\n"); + sb.Append(" Blacklist: ").Append(Blacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" Format: ").Append(Format).Append("\n"); + sb.Append(" PreviewLength: ").Append(PreviewLength).Append("\n"); + sb.Append(" Callback: ").Append(Callback).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PreviewLength (int?) maximum + if (this.PreviewLength > (int?)4000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value less than or equal to 4000.", new [] { "PreviewLength" }); + } + + // PreviewLength (int?) minimum + if (this.PreviewLength < (int?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value greater than or equal to 0.", new [] { "PreviewLength" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/CreateTwitterWebhook.cs b/src/Dofusdude.Api/Model/CreateTwitterWebhook.cs new file mode 100644 index 0000000..0aec425 --- /dev/null +++ b/src/Dofusdude.Api/Model/CreateTwitterWebhook.cs @@ -0,0 +1,172 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// CreateTwitterWebhook + /// + [DataContract(Name = "CreateTwitterWebhook")] + public partial class CreateTwitterWebhook : IValidatableObject + { + /// + /// Defines Format + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum FormatEnum + { + /// + /// Enum Discord for value: discord + /// + [EnumMember(Value = "discord")] + Discord = 1 + } + + + /// + /// Gets or Sets Format + /// + [DataMember(Name = "format", IsRequired = true, EmitDefaultValue = true)] + public FormatEnum Format { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CreateTwitterWebhook() { } + /// + /// Initializes a new instance of the class. + /// + /// whitelist. + /// blacklist. + /// Get the available subscriptions with /meta/webhooks/twitter (required). + /// format (required). + /// previewLength. + /// Discord Webhook URL (required). + public CreateTwitterWebhook(List whitelist = default(List), List blacklist = default(List), List subscriptions = default(List), FormatEnum format = default(FormatEnum), int? previewLength = default(int?), string callback = default(string)) + { + // to ensure "subscriptions" is required (not null) + if (subscriptions == null) + { + throw new ArgumentNullException("subscriptions is a required property for CreateTwitterWebhook and cannot be null"); + } + this.Subscriptions = subscriptions; + this.Format = format; + // to ensure "callback" is required (not null) + if (callback == null) + { + throw new ArgumentNullException("callback is a required property for CreateTwitterWebhook and cannot be null"); + } + this.Callback = callback; + this.Whitelist = whitelist; + this.Blacklist = blacklist; + this.PreviewLength = previewLength; + } + + /// + /// Gets or Sets Whitelist + /// + [DataMember(Name = "whitelist", EmitDefaultValue = true)] + public List Whitelist { get; set; } + + /// + /// Gets or Sets Blacklist + /// + [DataMember(Name = "blacklist", EmitDefaultValue = true)] + public List Blacklist { get; set; } + + /// + /// Get the available subscriptions with /meta/webhooks/twitter + /// + /// Get the available subscriptions with /meta/webhooks/twitter + [DataMember(Name = "subscriptions", IsRequired = true, EmitDefaultValue = true)] + public List Subscriptions { get; set; } + + /// + /// Gets or Sets PreviewLength + /// + /// 280 + [DataMember(Name = "preview_length", EmitDefaultValue = true)] + public int? PreviewLength { get; set; } + + /// + /// Discord Webhook URL + /// + /// Discord Webhook URL + /// https://discord.com/api/webhooks/XYZ + [DataMember(Name = "callback", IsRequired = true, EmitDefaultValue = true)] + public string Callback { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CreateTwitterWebhook {\n"); + sb.Append(" Whitelist: ").Append(Whitelist).Append("\n"); + sb.Append(" Blacklist: ").Append(Blacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" Format: ").Append(Format).Append("\n"); + sb.Append(" PreviewLength: ").Append(PreviewLength).Append("\n"); + sb.Append(" Callback: ").Append(Callback).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PreviewLength (int?) maximum + if (this.PreviewLength > (int?)280) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value less than or equal to 280.", new [] { "PreviewLength" }); + } + + // PreviewLength (int?) minimum + if (this.PreviewLength < (int?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value greater than or equal to 0.", new [] { "PreviewLength" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/EffectsEntry.cs b/src/Dofusdude.Api/Model/EffectsEntry.cs new file mode 100644 index 0000000..8312d26 --- /dev/null +++ b/src/Dofusdude.Api/Model/EffectsEntry.cs @@ -0,0 +1,133 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// EffectsEntry + /// + [DataContract(Name = "Effects-Entry")] + public partial class EffectsEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// minimum int value, can be a single if ignore_int_max and no ignore_int_min. + /// maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value. + /// type. + /// ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. . + /// ignore the int max field, if ignore_int_min is true, int min is a single value. + /// all fields from above encoded in a single string. + public EffectsEntry(int intMinimum = default(int), int intMaximum = default(int), SetEffectsEntryType type = default(SetEffectsEntryType), bool ignoreIntMin = default(bool), bool ignoreIntMax = default(bool), string formatted = default(string)) + { + this.IntMinimum = intMinimum; + this.IntMaximum = intMaximum; + this.Type = type; + this.IgnoreIntMin = ignoreIntMin; + this.IgnoreIntMax = ignoreIntMax; + this.Formatted = formatted; + } + + /// + /// minimum int value, can be a single if ignore_int_max and no ignore_int_min + /// + /// minimum int value, can be a single if ignore_int_max and no ignore_int_min + [DataMember(Name = "int_minimum", EmitDefaultValue = false)] + public int IntMinimum { get; set; } + + /// + /// maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value + /// + /// maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value + [DataMember(Name = "int_maximum", EmitDefaultValue = false)] + public int IntMaximum { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public SetEffectsEntryType Type { get; set; } + + /// + /// ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. + /// + /// ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. + [DataMember(Name = "ignore_int_min", EmitDefaultValue = true)] + public bool IgnoreIntMin { get; set; } + + /// + /// ignore the int max field, if ignore_int_min is true, int min is a single value + /// + /// ignore the int max field, if ignore_int_min is true, int min is a single value + [DataMember(Name = "ignore_int_max", EmitDefaultValue = true)] + public bool IgnoreIntMax { get; set; } + + /// + /// all fields from above encoded in a single string + /// + /// all fields from above encoded in a single string + [DataMember(Name = "formatted", EmitDefaultValue = false)] + public string Formatted { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class EffectsEntry {\n"); + sb.Append(" IntMinimum: ").Append(IntMinimum).Append("\n"); + sb.Append(" IntMaximum: ").Append(IntMaximum).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" IgnoreIntMin: ").Append(IgnoreIntMin).Append("\n"); + sb.Append(" IgnoreIntMax: ").Append(IgnoreIntMax).Append("\n"); + sb.Append(" Formatted: ").Append(Formatted).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/Equipment.cs b/src/Dofusdude.Api/Model/Equipment.cs new file mode 100644 index 0000000..7ac2775 --- /dev/null +++ b/src/Dofusdude.Api/Model/Equipment.cs @@ -0,0 +1,192 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// Equipment + /// + [DataContract(Name = "Equipment")] + public partial class Equipment : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// description. + /// type. + /// isWeapon. + /// level. + /// pods. + /// imageUrls. + /// effects. + /// conditions. + /// conditionTree. + /// recipe. + /// parentSet. + public Equipment(int ankamaId = default(int), string name = default(string), string description = default(string), ItemsListEntryTypedType type = default(ItemsListEntryTypedType), bool isWeapon = default(bool), int level = default(int), int pods = default(int), ImageUrls imageUrls = default(ImageUrls), List effects = default(List), List conditions = default(List), ConditionTreeNode conditionTree = default(ConditionTreeNode), List recipe = default(List), ItemListEntryParentSet parentSet = default(ItemListEntryParentSet)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.Description = description; + this.Type = type; + this.IsWeapon = isWeapon; + this.Level = level; + this.Pods = pods; + this.ImageUrls = imageUrls; + this.Effects = effects; + this.Conditions = conditions; + this.ConditionTree = conditionTree; + this.Recipe = recipe; + this.ParentSet = parentSet; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Description + /// + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public ItemsListEntryTypedType Type { get; set; } + + /// + /// Gets or Sets IsWeapon + /// + [DataMember(Name = "is_weapon", EmitDefaultValue = true)] + public bool IsWeapon { get; set; } + + /// + /// Gets or Sets Level + /// + [DataMember(Name = "level", EmitDefaultValue = false)] + public int Level { get; set; } + + /// + /// Gets or Sets Pods + /// + [DataMember(Name = "pods", EmitDefaultValue = false)] + public int Pods { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List Effects { get; set; } + + /// + /// Gets or Sets Conditions + /// + [DataMember(Name = "conditions", EmitDefaultValue = true)] + [Obsolete] + public List Conditions { get; set; } + + /// + /// Gets or Sets ConditionTree + /// + [DataMember(Name = "condition_tree", EmitDefaultValue = false)] + public ConditionTreeNode ConditionTree { get; set; } + + /// + /// Gets or Sets Recipe + /// + [DataMember(Name = "recipe", EmitDefaultValue = true)] + public List Recipe { get; set; } + + /// + /// Gets or Sets ParentSet + /// + [DataMember(Name = "parent_set", EmitDefaultValue = true)] + public ItemListEntryParentSet ParentSet { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class Equipment {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" IsWeapon: ").Append(IsWeapon).Append("\n"); + sb.Append(" Level: ").Append(Level).Append("\n"); + sb.Append(" Pods: ").Append(Pods).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" Conditions: ").Append(Conditions).Append("\n"); + sb.Append(" ConditionTree: ").Append(ConditionTree).Append("\n"); + sb.Append(" Recipe: ").Append(Recipe).Append("\n"); + sb.Append(" ParentSet: ").Append(ParentSet).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/EquipmentSet.cs b/src/Dofusdude.Api/Model/EquipmentSet.cs new file mode 100644 index 0000000..33b3ba5 --- /dev/null +++ b/src/Dofusdude.Api/Model/EquipmentSet.cs @@ -0,0 +1,119 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// EquipmentSet + /// + [DataContract(Name = "Equipment-Set")] + public partial class EquipmentSet : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// equipmentIds. + /// effects. + /// highestEquipmentLevel. + public EquipmentSet(int ankamaId = default(int), string name = default(string), List equipmentIds = default(List), List> effects = default(List>), int highestEquipmentLevel = default(int)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.EquipmentIds = equipmentIds; + this.Effects = effects; + this.HighestEquipmentLevel = highestEquipmentLevel; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets EquipmentIds + /// + [DataMember(Name = "equipment_ids", EmitDefaultValue = false)] + public List EquipmentIds { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List> Effects { get; set; } + + /// + /// Gets or Sets HighestEquipmentLevel + /// + [DataMember(Name = "highest_equipment_level", EmitDefaultValue = false)] + public int HighestEquipmentLevel { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class EquipmentSet {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" EquipmentIds: ").Append(EquipmentIds).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" HighestEquipmentLevel: ").Append(HighestEquipmentLevel).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/GetGameSearch200ResponseInner.cs b/src/Dofusdude.Api/Model/GetGameSearch200ResponseInner.cs new file mode 100644 index 0000000..9e3a852 --- /dev/null +++ b/src/Dofusdude.Api/Model/GetGameSearch200ResponseInner.cs @@ -0,0 +1,104 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// GetGameSearch200ResponseInner + /// + [DataContract(Name = "get_game_search_200_response_inner")] + public partial class GetGameSearch200ResponseInner : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Name of the hit. The query could still have matched with the description only.. + /// Ankama ID for retrieving more details in the type specific endpoint.. + /// Type classification. + public GetGameSearch200ResponseInner(string name = default(string), int ankamaId = default(int), string type = default(string)) + { + this.Name = name; + this.AnkamaId = ankamaId; + this.Type = type; + } + + /// + /// Name of the hit. The query could still have matched with the description only. + /// + /// Name of the hit. The query could still have matched with the description only. + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Ankama ID for retrieving more details in the type specific endpoint. + /// + /// Ankama ID for retrieving more details in the type specific endpoint. + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Type classification + /// + /// Type classification + [DataMember(Name = "type", EmitDefaultValue = false)] + public string Type { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class GetGameSearch200ResponseInner {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/GetMetaAlmanaxBonuses200ResponseInner.cs b/src/Dofusdude.Api/Model/GetMetaAlmanaxBonuses200ResponseInner.cs new file mode 100644 index 0000000..95c38fc --- /dev/null +++ b/src/Dofusdude.Api/Model/GetMetaAlmanaxBonuses200ResponseInner.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// GetMetaAlmanaxBonuses200ResponseInner + /// + [DataContract(Name = "get_meta_almanax_bonuses_200_response_inner")] + public partial class GetMetaAlmanaxBonuses200ResponseInner : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// id. + /// name. + public GetMetaAlmanaxBonuses200ResponseInner(string id = default(string), string name = default(string)) + { + this.Id = id; + this.Name = name; + } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public string Id { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class GetMetaAlmanaxBonuses200ResponseInner {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/GetMetaWebhooksTwitter200Response.cs b/src/Dofusdude.Api/Model/GetMetaWebhooksTwitter200Response.cs new file mode 100644 index 0000000..92e3470 --- /dev/null +++ b/src/Dofusdude.Api/Model/GetMetaWebhooksTwitter200Response.cs @@ -0,0 +1,83 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// GetMetaWebhooksTwitter200Response + /// + [DataContract(Name = "get_meta_webhooks_twitter_200_response")] + public partial class GetMetaWebhooksTwitter200Response : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// subscriptions. + public GetMetaWebhooksTwitter200Response(List subscriptions = default(List)) + { + this.Subscriptions = subscriptions; + } + + /// + /// Gets or Sets Subscriptions + /// + [DataMember(Name = "subscriptions", EmitDefaultValue = false)] + public List Subscriptions { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class GetMetaWebhooksTwitter200Response {\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ImageUrls.cs b/src/Dofusdude.Api/Model/ImageUrls.cs new file mode 100644 index 0000000..7becee0 --- /dev/null +++ b/src/Dofusdude.Api/Model/ImageUrls.cs @@ -0,0 +1,114 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// All images except icon are rendered in the background which can take some time (up to hours if all data is completely generated from scratch). Because of this, they can be null if they are not yet rendered. + /// + [DataContract(Name = "Image-Urls")] + public partial class ImageUrls : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// 60x60 px, always available. + /// 200x200 px. + /// 400x400 px. + /// 800x800 px. + public ImageUrls(string icon = default(string), string sd = default(string), string hq = default(string), string hd = default(string)) + { + this.Icon = icon; + this.Sd = sd; + this.Hq = hq; + this.Hd = hd; + } + + /// + /// 60x60 px, always available + /// + /// 60x60 px, always available + [DataMember(Name = "icon", EmitDefaultValue = false)] + public string Icon { get; set; } + + /// + /// 200x200 px + /// + /// 200x200 px + [DataMember(Name = "sd", EmitDefaultValue = true)] + public string Sd { get; set; } + + /// + /// 400x400 px + /// + /// 400x400 px + [DataMember(Name = "hq", EmitDefaultValue = true)] + public string Hq { get; set; } + + /// + /// 800x800 px + /// + /// 800x800 px + [DataMember(Name = "hd", EmitDefaultValue = true)] + public string Hd { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ImageUrls {\n"); + sb.Append(" Icon: ").Append(Icon).Append("\n"); + sb.Append(" Sd: ").Append(Sd).Append("\n"); + sb.Append(" Hq: ").Append(Hq).Append("\n"); + sb.Append(" Hd: ").Append(Hd).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ItemListEntry.cs b/src/Dofusdude.Api/Model/ItemListEntry.cs new file mode 100644 index 0000000..71256fe --- /dev/null +++ b/src/Dofusdude.Api/Model/ItemListEntry.cs @@ -0,0 +1,246 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ItemListEntry + /// + [DataContract(Name = "Item-List-Entry")] + public partial class ItemListEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// type. + /// level. + /// imageUrls. + /// recipe. + /// description. + /// conditions. + /// conditionTree. + /// effects. + /// isWeapon. + /// pods. + /// parentSet. + /// criticalHitProbability. + /// criticalHitBonus. + /// isTwoHanded. + /// maxCastPerTurn. + /// apCost. + /// range. + public ItemListEntry(int ankamaId = default(int), string name = default(string), ItemsListEntryTypedType type = default(ItemsListEntryTypedType), int level = default(int), ImageUrls imageUrls = default(ImageUrls), List recipe = default(List), string description = default(string), List conditions = default(List), ConditionTreeNode conditionTree = default(ConditionTreeNode), List effects = default(List), bool? isWeapon = default(bool?), int? pods = default(int?), ItemListEntryParentSet parentSet = default(ItemListEntryParentSet), int? criticalHitProbability = default(int?), int? criticalHitBonus = default(int?), bool? isTwoHanded = default(bool?), int? maxCastPerTurn = default(int?), int? apCost = default(int?), ItemListEntryRange range = default(ItemListEntryRange)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.Type = type; + this.Level = level; + this.ImageUrls = imageUrls; + this.Recipe = recipe; + this.Description = description; + this.Conditions = conditions; + this.ConditionTree = conditionTree; + this.Effects = effects; + this.IsWeapon = isWeapon; + this.Pods = pods; + this.ParentSet = parentSet; + this.CriticalHitProbability = criticalHitProbability; + this.CriticalHitBonus = criticalHitBonus; + this.IsTwoHanded = isTwoHanded; + this.MaxCastPerTurn = maxCastPerTurn; + this.ApCost = apCost; + this.Range = range; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public ItemsListEntryTypedType Type { get; set; } + + /// + /// Gets or Sets Level + /// + [DataMember(Name = "level", EmitDefaultValue = false)] + public int Level { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Recipe + /// + [DataMember(Name = "recipe", EmitDefaultValue = true)] + public List Recipe { get; set; } + + /// + /// Gets or Sets Description + /// + [DataMember(Name = "description", EmitDefaultValue = true)] + public string Description { get; set; } + + /// + /// Gets or Sets Conditions + /// + [DataMember(Name = "conditions", EmitDefaultValue = true)] + [Obsolete] + public List Conditions { get; set; } + + /// + /// Gets or Sets ConditionTree + /// + [DataMember(Name = "condition_tree", EmitDefaultValue = false)] + public ConditionTreeNode ConditionTree { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List Effects { get; set; } + + /// + /// Gets or Sets IsWeapon + /// + [DataMember(Name = "is_weapon", EmitDefaultValue = true)] + public bool? IsWeapon { get; set; } + + /// + /// Gets or Sets Pods + /// + [DataMember(Name = "pods", EmitDefaultValue = true)] + public int? Pods { get; set; } + + /// + /// Gets or Sets ParentSet + /// + [DataMember(Name = "parent_set", EmitDefaultValue = true)] + public ItemListEntryParentSet ParentSet { get; set; } + + /// + /// Gets or Sets CriticalHitProbability + /// + [DataMember(Name = "critical_hit_probability", EmitDefaultValue = true)] + public int? CriticalHitProbability { get; set; } + + /// + /// Gets or Sets CriticalHitBonus + /// + [DataMember(Name = "critical_hit_bonus", EmitDefaultValue = true)] + public int? CriticalHitBonus { get; set; } + + /// + /// Gets or Sets IsTwoHanded + /// + [DataMember(Name = "is_two_handed", EmitDefaultValue = true)] + public bool? IsTwoHanded { get; set; } + + /// + /// Gets or Sets MaxCastPerTurn + /// + [DataMember(Name = "max_cast_per_turn", EmitDefaultValue = true)] + public int? MaxCastPerTurn { get; set; } + + /// + /// Gets or Sets ApCost + /// + [DataMember(Name = "ap_cost", EmitDefaultValue = true)] + public int? ApCost { get; set; } + + /// + /// Gets or Sets Range + /// + [DataMember(Name = "range", EmitDefaultValue = true)] + public ItemListEntryRange Range { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ItemListEntry {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Level: ").Append(Level).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Recipe: ").Append(Recipe).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Conditions: ").Append(Conditions).Append("\n"); + sb.Append(" ConditionTree: ").Append(ConditionTree).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" IsWeapon: ").Append(IsWeapon).Append("\n"); + sb.Append(" Pods: ").Append(Pods).Append("\n"); + sb.Append(" ParentSet: ").Append(ParentSet).Append("\n"); + sb.Append(" CriticalHitProbability: ").Append(CriticalHitProbability).Append("\n"); + sb.Append(" CriticalHitBonus: ").Append(CriticalHitBonus).Append("\n"); + sb.Append(" IsTwoHanded: ").Append(IsTwoHanded).Append("\n"); + sb.Append(" MaxCastPerTurn: ").Append(MaxCastPerTurn).Append("\n"); + sb.Append(" ApCost: ").Append(ApCost).Append("\n"); + sb.Append(" Range: ").Append(Range).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ItemListEntryParentSet.cs b/src/Dofusdude.Api/Model/ItemListEntryParentSet.cs new file mode 100644 index 0000000..44a11dc --- /dev/null +++ b/src/Dofusdude.Api/Model/ItemListEntryParentSet.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ItemListEntryParentSet + /// + [DataContract(Name = "Item_List_Entry_parent_set")] + public partial class ItemListEntryParentSet : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// id. + /// name. + public ItemListEntryParentSet(int id = default(int), string name = default(string)) + { + this.Id = id; + this.Name = name; + } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public int Id { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ItemListEntryParentSet {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ItemListEntryRange.cs b/src/Dofusdude.Api/Model/ItemListEntryRange.cs new file mode 100644 index 0000000..43529ca --- /dev/null +++ b/src/Dofusdude.Api/Model/ItemListEntryRange.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ItemListEntryRange + /// + [DataContract(Name = "Item_List_Entry_range")] + public partial class ItemListEntryRange : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// min. + /// max. + public ItemListEntryRange(int min = default(int), int max = default(int)) + { + this.Min = min; + this.Max = max; + } + + /// + /// Gets or Sets Min + /// + [DataMember(Name = "min", EmitDefaultValue = false)] + public int Min { get; set; } + + /// + /// Gets or Sets Max + /// + [DataMember(Name = "max", EmitDefaultValue = false)] + public int Max { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ItemListEntryRange {\n"); + sb.Append(" Min: ").Append(Min).Append("\n"); + sb.Append(" Max: ").Append(Max).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ItemsListEntryTyped.cs b/src/Dofusdude.Api/Model/ItemsListEntryTyped.cs new file mode 100644 index 0000000..ed6f148 --- /dev/null +++ b/src/Dofusdude.Api/Model/ItemsListEntryTyped.cs @@ -0,0 +1,129 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ItemsListEntryTyped + /// + [DataContract(Name = "Items-List-Entry-Typed")] + public partial class ItemsListEntryTyped : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// type. + /// The API item category. Can be used to build the request URL for this particular item. Always english.. + /// level. + /// imageUrls. + public ItemsListEntryTyped(int ankamaId = default(int), string name = default(string), ItemsListEntryTypedType type = default(ItemsListEntryTypedType), string itemSubtype = default(string), int level = default(int), ImageUrls imageUrls = default(ImageUrls)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.Type = type; + this.ItemSubtype = itemSubtype; + this.Level = level; + this.ImageUrls = imageUrls; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public ItemsListEntryTypedType Type { get; set; } + + /// + /// The API item category. Can be used to build the request URL for this particular item. Always english. + /// + /// The API item category. Can be used to build the request URL for this particular item. Always english. + [DataMember(Name = "item_subtype", EmitDefaultValue = false)] + public string ItemSubtype { get; set; } + + /// + /// Gets or Sets Level + /// + [DataMember(Name = "level", EmitDefaultValue = false)] + public int Level { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ItemsListEntryTyped {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" ItemSubtype: ").Append(ItemSubtype).Append("\n"); + sb.Append(" Level: ").Append(Level).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ItemsListEntryTypedType.cs b/src/Dofusdude.Api/Model/ItemsListEntryTypedType.cs new file mode 100644 index 0000000..176dd60 --- /dev/null +++ b/src/Dofusdude.Api/Model/ItemsListEntryTypedType.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ItemsListEntryTypedType + /// + [DataContract(Name = "Items_List_Entry_Typed_type")] + public partial class ItemsListEntryTypedType : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// name. + /// id. + public ItemsListEntryTypedType(string name = default(string), int id = default(int)) + { + this.Name = name; + this.Id = id; + } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public int Id { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ItemsListEntryTypedType {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/ItemsListPaged.cs b/src/Dofusdude.Api/Model/ItemsListPaged.cs new file mode 100644 index 0000000..f7230aa --- /dev/null +++ b/src/Dofusdude.Api/Model/ItemsListPaged.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// ItemsListPaged + /// + [DataContract(Name = "Items-List-Paged")] + public partial class ItemsListPaged : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// links. + /// items. + public ItemsListPaged(LinksPaged links = default(LinksPaged), List items = default(List)) + { + this.Links = links; + this.Items = items; + } + + /// + /// Gets or Sets Links + /// + [DataMember(Name = "_links", EmitDefaultValue = false)] + public LinksPaged Links { get; set; } + + /// + /// Gets or Sets Items + /// + [DataMember(Name = "items", EmitDefaultValue = false)] + public List Items { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ItemsListPaged {\n"); + sb.Append(" Links: ").Append(Links).Append("\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/LinksPaged.cs b/src/Dofusdude.Api/Model/LinksPaged.cs new file mode 100644 index 0000000..a31aa48 --- /dev/null +++ b/src/Dofusdude.Api/Model/LinksPaged.cs @@ -0,0 +1,110 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// LinksPaged + /// + [DataContract(Name = "Links-Paged")] + public partial class LinksPaged : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// first. + /// prev. + /// next. + /// last. + public LinksPaged(string first = default(string), string prev = default(string), string next = default(string), string last = default(string)) + { + this.First = first; + this.Prev = prev; + this.Next = next; + this.Last = last; + } + + /// + /// Gets or Sets First + /// + [DataMember(Name = "first", EmitDefaultValue = true)] + public string First { get; set; } + + /// + /// Gets or Sets Prev + /// + [DataMember(Name = "prev", EmitDefaultValue = true)] + public string Prev { get; set; } + + /// + /// Gets or Sets Next + /// + [DataMember(Name = "next", EmitDefaultValue = true)] + public string Next { get; set; } + + /// + /// Gets or Sets Last + /// + [DataMember(Name = "last", EmitDefaultValue = true)] + public string Last { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class LinksPaged {\n"); + sb.Append(" First: ").Append(First).Append("\n"); + sb.Append(" Prev: ").Append(Prev).Append("\n"); + sb.Append(" Next: ").Append(Next).Append("\n"); + sb.Append(" Last: ").Append(Last).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/Mount.cs b/src/Dofusdude.Api/Model/Mount.cs new file mode 100644 index 0000000..8464cf4 --- /dev/null +++ b/src/Dofusdude.Api/Model/Mount.cs @@ -0,0 +1,119 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// Mount + /// + [DataContract(Name = "Mount")] + public partial class Mount : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// familyName. + /// imageUrls. + /// effects. + public Mount(int ankamaId = default(int), string name = default(string), string familyName = default(string), ImageUrls imageUrls = default(ImageUrls), List effects = default(List)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.FamilyName = familyName; + this.ImageUrls = imageUrls; + this.Effects = effects; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets FamilyName + /// + [DataMember(Name = "family_name", EmitDefaultValue = false)] + public string FamilyName { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List Effects { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class Mount {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" FamilyName: ").Append(FamilyName).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/MountListEntry.cs b/src/Dofusdude.Api/Model/MountListEntry.cs new file mode 100644 index 0000000..8e8769d --- /dev/null +++ b/src/Dofusdude.Api/Model/MountListEntry.cs @@ -0,0 +1,119 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// MountListEntry + /// + [DataContract(Name = "Mount-List-Entry")] + public partial class MountListEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// familyName. + /// imageUrls. + /// effects. + public MountListEntry(int ankamaId = default(int), string name = default(string), string familyName = default(string), ImageUrls imageUrls = default(ImageUrls), List effects = default(List)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.FamilyName = familyName; + this.ImageUrls = imageUrls; + this.Effects = effects; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets FamilyName + /// + [DataMember(Name = "family_name", EmitDefaultValue = false)] + public string FamilyName { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List Effects { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class MountListEntry {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" FamilyName: ").Append(FamilyName).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/MountsListPaged.cs b/src/Dofusdude.Api/Model/MountsListPaged.cs new file mode 100644 index 0000000..cd150bf --- /dev/null +++ b/src/Dofusdude.Api/Model/MountsListPaged.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// MountsListPaged + /// + [DataContract(Name = "Mounts-List-Paged")] + public partial class MountsListPaged : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// links. + /// items. + public MountsListPaged(LinksPaged links = default(LinksPaged), List items = default(List)) + { + this.Links = links; + this.Items = items; + } + + /// + /// Gets or Sets Links + /// + [DataMember(Name = "_links", EmitDefaultValue = false)] + public LinksPaged Links { get; set; } + + /// + /// Gets or Sets Items + /// + [DataMember(Name = "items", EmitDefaultValue = false)] + public List Items { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class MountsListPaged {\n"); + sb.Append(" Links: ").Append(Links).Append("\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/PutAlmanaxWebhook.cs b/src/Dofusdude.Api/Model/PutAlmanaxWebhook.cs new file mode 100644 index 0000000..4495c7f --- /dev/null +++ b/src/Dofusdude.Api/Model/PutAlmanaxWebhook.cs @@ -0,0 +1,231 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// PutAlmanaxWebhook + /// + [DataContract(Name = "PutAlmanaxWebhook")] + public partial class PutAlmanaxWebhook : IValidatableObject + { + /// + /// Defines Intervals + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum IntervalsEnum + { + /// + /// Enum Daily for value: daily + /// + [EnumMember(Value = "daily")] + Daily = 1, + + /// + /// Enum Weekly for value: weekly + /// + [EnumMember(Value = "weekly")] + Weekly = 2, + + /// + /// Enum Monthly for value: monthly + /// + [EnumMember(Value = "monthly")] + Monthly = 3 + } + + /// + /// When to post the weekly preview at the specified time. + /// + /// When to post the weekly preview at the specified time. + [JsonConverter(typeof(StringEnumConverter))] + public enum WeeklyWeekdayEnum + { + /// + /// Enum Sunday for value: sunday + /// + [EnumMember(Value = "sunday")] + Sunday = 1, + + /// + /// Enum Monday for value: monday + /// + [EnumMember(Value = "monday")] + Monday = 2, + + /// + /// Enum Tuesday for value: tuesday + /// + [EnumMember(Value = "tuesday")] + Tuesday = 3, + + /// + /// Enum Wednesday for value: wednesday + /// + [EnumMember(Value = "wednesday")] + Wednesday = 4, + + /// + /// Enum Thursday for value: thursday + /// + [EnumMember(Value = "thursday")] + Thursday = 5, + + /// + /// Enum Friday for value: friday + /// + [EnumMember(Value = "friday")] + Friday = 6, + + /// + /// Enum Saturday for value: saturday + /// + [EnumMember(Value = "saturday")] + Saturday = 7 + } + + + /// + /// When to post the weekly preview at the specified time. + /// + /// When to post the weekly preview at the specified time. + /// sunday + [DataMember(Name = "weekly_weekday", EmitDefaultValue = true)] + public WeeklyWeekdayEnum? WeeklyWeekday { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing.. + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing.. + /// Get the available subscriptions with /meta/webhooks/almanax. + /// dailySettings. + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. (default to false). + /// Almanax bonus ids mapped to array of mentions.. + /// intervals. + /// When to post the weekly preview at the specified time.. + public PutAlmanaxWebhook(List bonusWhitelist = default(List), List bonusBlacklist = default(List), List subscriptions = default(List), CreateAlmanaxWebhookDailySettings dailySettings = default(CreateAlmanaxWebhookDailySettings), bool? isoDate = false, Dictionary> mentions = default(Dictionary>), List intervals = default(List), WeeklyWeekdayEnum? weeklyWeekday = default(WeeklyWeekdayEnum?)) + { + this.BonusWhitelist = bonusWhitelist; + this.BonusBlacklist = bonusBlacklist; + this.Subscriptions = subscriptions; + this.DailySettings = dailySettings; + // use default value if no "isoDate" provided + this.IsoDate = isoDate ?? false; + this.Mentions = mentions; + this.Intervals = intervals; + this.WeeklyWeekday = weeklyWeekday; + } + + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing. + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing. + [DataMember(Name = "bonus_whitelist", EmitDefaultValue = true)] + public List BonusWhitelist { get; set; } + + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing. + /// + /// from all available bonuses (ids) from /dofus2/meta/{language}/almanax/bonuses. Delete old entries with empty array []. Just null changes nothing. + [DataMember(Name = "bonus_blacklist", EmitDefaultValue = true)] + public List BonusBlacklist { get; set; } + + /// + /// Get the available subscriptions with /meta/webhooks/almanax + /// + /// Get the available subscriptions with /meta/webhooks/almanax + [DataMember(Name = "subscriptions", EmitDefaultValue = true)] + public List Subscriptions { get; set; } + + /// + /// Gets or Sets DailySettings + /// + [DataMember(Name = "daily_settings", EmitDefaultValue = true)] + public CreateAlmanaxWebhookDailySettings DailySettings { get; set; } + + /// + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. + /// + /// If false, it will use common local time formats and weekday translations. If true, the format is YYYY-MM-DD. + [DataMember(Name = "iso_date", EmitDefaultValue = true)] + public bool? IsoDate { get; set; } + + /// + /// Almanax bonus ids mapped to array of mentions. + /// + /// Almanax bonus ids mapped to array of mentions. + /// {"kolossium-experience":[{"discord_id":1234,"is_role":true,"ping_days_before":null}]} + [DataMember(Name = "mentions", EmitDefaultValue = false)] + public Dictionary> Mentions { get; set; } + + /// + /// Gets or Sets Intervals + /// + /// ["daily"] + [DataMember(Name = "intervals", EmitDefaultValue = true)] + public List Intervals { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class PutAlmanaxWebhook {\n"); + sb.Append(" BonusWhitelist: ").Append(BonusWhitelist).Append("\n"); + sb.Append(" BonusBlacklist: ").Append(BonusBlacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" DailySettings: ").Append(DailySettings).Append("\n"); + sb.Append(" IsoDate: ").Append(IsoDate).Append("\n"); + sb.Append(" Mentions: ").Append(Mentions).Append("\n"); + sb.Append(" Intervals: ").Append(Intervals).Append("\n"); + sb.Append(" WeeklyWeekday: ").Append(WeeklyWeekday).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/PutRSSWebhook.cs b/src/Dofusdude.Api/Model/PutRSSWebhook.cs new file mode 100644 index 0000000..ec03402 --- /dev/null +++ b/src/Dofusdude.Api/Model/PutRSSWebhook.cs @@ -0,0 +1,124 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// PutRSSWebhook + /// + [DataContract(Name = "PutRSSWebhook")] + public partial class PutRSSWebhook : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// whitelist. + /// blacklist. + /// Get the available subscriptions with /meta/webhooks/rss. + /// previewLength. + public PutRSSWebhook(List whitelist = default(List), List blacklist = default(List), List subscriptions = default(List), int? previewLength = default(int?)) + { + this.Whitelist = whitelist; + this.Blacklist = blacklist; + this.Subscriptions = subscriptions; + this.PreviewLength = previewLength; + } + + /// + /// Gets or Sets Whitelist + /// + [DataMember(Name = "whitelist", EmitDefaultValue = true)] + public List Whitelist { get; set; } + + /// + /// Gets or Sets Blacklist + /// + [DataMember(Name = "blacklist", EmitDefaultValue = true)] + public List Blacklist { get; set; } + + /// + /// Get the available subscriptions with /meta/webhooks/rss + /// + /// Get the available subscriptions with /meta/webhooks/rss + [DataMember(Name = "subscriptions", EmitDefaultValue = true)] + public List Subscriptions { get; set; } + + /// + /// Gets or Sets PreviewLength + /// + /// 2000 + [DataMember(Name = "preview_length", EmitDefaultValue = true)] + public int? PreviewLength { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class PutRSSWebhook {\n"); + sb.Append(" Whitelist: ").Append(Whitelist).Append("\n"); + sb.Append(" Blacklist: ").Append(Blacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" PreviewLength: ").Append(PreviewLength).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PreviewLength (int?) maximum + if (this.PreviewLength > (int?)4000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value less than or equal to 4000.", new [] { "PreviewLength" }); + } + + // PreviewLength (int?) minimum + if (this.PreviewLength < (int?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value greater than or equal to 0.", new [] { "PreviewLength" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/PutTwitterWebhook.cs b/src/Dofusdude.Api/Model/PutTwitterWebhook.cs new file mode 100644 index 0000000..5b29af5 --- /dev/null +++ b/src/Dofusdude.Api/Model/PutTwitterWebhook.cs @@ -0,0 +1,124 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// PutTwitterWebhook + /// + [DataContract(Name = "PutTwitterWebhook")] + public partial class PutTwitterWebhook : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// whitelist. + /// blacklist. + /// Get the available subscriptions with /meta/webhooks/twitter. + /// previewLength. + public PutTwitterWebhook(List whitelist = default(List), List blacklist = default(List), List subscriptions = default(List), int? previewLength = default(int?)) + { + this.Whitelist = whitelist; + this.Blacklist = blacklist; + this.Subscriptions = subscriptions; + this.PreviewLength = previewLength; + } + + /// + /// Gets or Sets Whitelist + /// + [DataMember(Name = "whitelist", EmitDefaultValue = true)] + public List Whitelist { get; set; } + + /// + /// Gets or Sets Blacklist + /// + [DataMember(Name = "blacklist", EmitDefaultValue = true)] + public List Blacklist { get; set; } + + /// + /// Get the available subscriptions with /meta/webhooks/twitter + /// + /// Get the available subscriptions with /meta/webhooks/twitter + [DataMember(Name = "subscriptions", EmitDefaultValue = true)] + public List Subscriptions { get; set; } + + /// + /// Gets or Sets PreviewLength + /// + /// 280 + [DataMember(Name = "preview_length", EmitDefaultValue = true)] + public int? PreviewLength { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class PutTwitterWebhook {\n"); + sb.Append(" Whitelist: ").Append(Whitelist).Append("\n"); + sb.Append(" Blacklist: ").Append(Blacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" PreviewLength: ").Append(PreviewLength).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PreviewLength (int?) maximum + if (this.PreviewLength > (int?)280) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value less than or equal to 280.", new [] { "PreviewLength" }); + } + + // PreviewLength (int?) minimum + if (this.PreviewLength < (int?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value greater than or equal to 0.", new [] { "PreviewLength" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/RecipeEntry.cs b/src/Dofusdude.Api/Model/RecipeEntry.cs new file mode 100644 index 0000000..df1fb6a --- /dev/null +++ b/src/Dofusdude.Api/Model/RecipeEntry.cs @@ -0,0 +1,101 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// RecipeEntry + /// + [DataContract(Name = "Recipe-Entry")] + public partial class RecipeEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// itemAnkamaId. + /// itemSubtype. + /// quantity. + public RecipeEntry(int itemAnkamaId = default(int), string itemSubtype = default(string), int quantity = default(int)) + { + this.ItemAnkamaId = itemAnkamaId; + this.ItemSubtype = itemSubtype; + this.Quantity = quantity; + } + + /// + /// Gets or Sets ItemAnkamaId + /// + [DataMember(Name = "item_ankama_id", EmitDefaultValue = false)] + public int ItemAnkamaId { get; set; } + + /// + /// Gets or Sets ItemSubtype + /// + [DataMember(Name = "item_subtype", EmitDefaultValue = false)] + public string ItemSubtype { get; set; } + + /// + /// Gets or Sets Quantity + /// + [DataMember(Name = "quantity", EmitDefaultValue = false)] + public int Quantity { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class RecipeEntry {\n"); + sb.Append(" ItemAnkamaId: ").Append(ItemAnkamaId).Append("\n"); + sb.Append(" ItemSubtype: ").Append(ItemSubtype).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/Resource.cs b/src/Dofusdude.Api/Model/Resource.cs new file mode 100644 index 0000000..7c0ccbf --- /dev/null +++ b/src/Dofusdude.Api/Model/Resource.cs @@ -0,0 +1,174 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// Resource + /// + [DataContract(Name = "Resource")] + public partial class Resource : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// description. + /// type. + /// level. + /// pods. + /// imageUrls. + /// effects. + /// conditions. + /// conditionTree. + /// recipe. + public Resource(int ankamaId = default(int), string name = default(string), string description = default(string), CosmeticType type = default(CosmeticType), int level = default(int), int pods = default(int), ImageUrls imageUrls = default(ImageUrls), List effects = default(List), List conditions = default(List), ConditionTreeNode conditionTree = default(ConditionTreeNode), List recipe = default(List)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.Description = description; + this.Type = type; + this.Level = level; + this.Pods = pods; + this.ImageUrls = imageUrls; + this.Effects = effects; + this.Conditions = conditions; + this.ConditionTree = conditionTree; + this.Recipe = recipe; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Description + /// + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public CosmeticType Type { get; set; } + + /// + /// Gets or Sets Level + /// + [DataMember(Name = "level", EmitDefaultValue = false)] + public int Level { get; set; } + + /// + /// Gets or Sets Pods + /// + [DataMember(Name = "pods", EmitDefaultValue = false)] + public int Pods { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List Effects { get; set; } + + /// + /// Gets or Sets Conditions + /// + [DataMember(Name = "conditions", EmitDefaultValue = true)] + [Obsolete] + public List Conditions { get; set; } + + /// + /// Gets or Sets ConditionTree + /// + [DataMember(Name = "condition_tree", EmitDefaultValue = false)] + public ConditionTreeNode ConditionTree { get; set; } + + /// + /// Gets or Sets Recipe + /// + [DataMember(Name = "recipe", EmitDefaultValue = true)] + public List Recipe { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class Resource {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Level: ").Append(Level).Append("\n"); + sb.Append(" Pods: ").Append(Pods).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" Conditions: ").Append(Conditions).Append("\n"); + sb.Append(" ConditionTree: ").Append(ConditionTree).Append("\n"); + sb.Append(" Recipe: ").Append(Recipe).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/RssWebhook.cs b/src/Dofusdude.Api/Model/RssWebhook.cs new file mode 100644 index 0000000..01245cb --- /dev/null +++ b/src/Dofusdude.Api/Model/RssWebhook.cs @@ -0,0 +1,184 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// RssWebhook + /// + [DataContract(Name = "RssWebhook")] + public partial class RssWebhook : IValidatableObject + { + /// + /// Defines Format + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum FormatEnum + { + /// + /// Enum Discord for value: discord + /// + [EnumMember(Value = "discord")] + Discord = 1 + } + + + /// + /// Gets or Sets Format + /// + [DataMember(Name = "format", EmitDefaultValue = false)] + public FormatEnum? Format { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// id. + /// whitelist. + /// blacklist. + /// subscriptions. + /// format. + /// previewLength. + /// createdAt. + /// lastFiredAt. + /// updatedAt. + public RssWebhook(string id = default(string), List whitelist = default(List), List blacklist = default(List), List subscriptions = default(List), FormatEnum? format = default(FormatEnum?), int previewLength = default(int), DateTime createdAt = default(DateTime), DateTime? lastFiredAt = default(DateTime?), DateTime updatedAt = default(DateTime)) + { + this.Id = id; + this.Whitelist = whitelist; + this.Blacklist = blacklist; + this.Subscriptions = subscriptions; + this.Format = format; + this.PreviewLength = previewLength; + this.CreatedAt = createdAt; + this.LastFiredAt = lastFiredAt; + this.UpdatedAt = updatedAt; + } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public string Id { get; set; } + + /// + /// Gets or Sets Whitelist + /// + [DataMember(Name = "whitelist", EmitDefaultValue = true)] + public List Whitelist { get; set; } + + /// + /// Gets or Sets Blacklist + /// + [DataMember(Name = "blacklist", EmitDefaultValue = true)] + public List Blacklist { get; set; } + + /// + /// Gets or Sets Subscriptions + /// + [DataMember(Name = "subscriptions", EmitDefaultValue = false)] + public List Subscriptions { get; set; } + + /// + /// Gets or Sets PreviewLength + /// + /// 2000 + [DataMember(Name = "preview_length", EmitDefaultValue = false)] + public int PreviewLength { get; set; } + + /// + /// Gets or Sets CreatedAt + /// + /// 2022-10-25T15:32:37.406281+02:00 + [DataMember(Name = "created_at", EmitDefaultValue = false)] + public DateTime CreatedAt { get; set; } + + /// + /// Gets or Sets LastFiredAt + /// + /// 2022-10-25T15:35:37.103240+02:00 + [DataMember(Name = "last_fired_at", EmitDefaultValue = true)] + public DateTime? LastFiredAt { get; set; } + + /// + /// Gets or Sets UpdatedAt + /// + /// 2022-10-25T15:32:37.406281+02:00 + [DataMember(Name = "updated_at", EmitDefaultValue = false)] + public DateTime UpdatedAt { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class RssWebhook {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Whitelist: ").Append(Whitelist).Append("\n"); + sb.Append(" Blacklist: ").Append(Blacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" Format: ").Append(Format).Append("\n"); + sb.Append(" PreviewLength: ").Append(PreviewLength).Append("\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" LastFiredAt: ").Append(LastFiredAt).Append("\n"); + sb.Append(" UpdatedAt: ").Append(UpdatedAt).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PreviewLength (int) maximum + if (this.PreviewLength > (int)4000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value less than or equal to 4000.", new [] { "PreviewLength" }); + } + + // PreviewLength (int) minimum + if (this.PreviewLength < (int)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value greater than or equal to 0.", new [] { "PreviewLength" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/SetEffectsEntry.cs b/src/Dofusdude.Api/Model/SetEffectsEntry.cs new file mode 100644 index 0000000..93acf04 --- /dev/null +++ b/src/Dofusdude.Api/Model/SetEffectsEntry.cs @@ -0,0 +1,143 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// SetEffectsEntry + /// + [DataContract(Name = "Set-Effects-Entry")] + public partial class SetEffectsEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// minimum int value, can be a single if ignore_int_max and no ignore_int_min. + /// maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value. + /// type. + /// ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. . + /// ignore the int max field, if ignore_int_min is true, int min is a single value. + /// all fields from above encoded in a single string. + /// how many items it needs to trigger this effect with the given set. + public SetEffectsEntry(int intMinimum = default(int), int intMaximum = default(int), SetEffectsEntryType type = default(SetEffectsEntryType), bool ignoreIntMin = default(bool), bool ignoreIntMax = default(bool), string formatted = default(string), int itemCombination = default(int)) + { + this.IntMinimum = intMinimum; + this.IntMaximum = intMaximum; + this.Type = type; + this.IgnoreIntMin = ignoreIntMin; + this.IgnoreIntMax = ignoreIntMax; + this.Formatted = formatted; + this.ItemCombination = itemCombination; + } + + /// + /// minimum int value, can be a single if ignore_int_max and no ignore_int_min + /// + /// minimum int value, can be a single if ignore_int_max and no ignore_int_min + [DataMember(Name = "int_minimum", EmitDefaultValue = false)] + public int IntMinimum { get; set; } + + /// + /// maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value + /// + /// maximum int value, if not ignore_int_max and not ignore_int_min, the effect has a range value + [DataMember(Name = "int_maximum", EmitDefaultValue = false)] + public int IntMaximum { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public SetEffectsEntryType Type { get; set; } + + /// + /// ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. + /// + /// ignore the int min field because the actual value is a string. For readability the templated field is the only important field in this case. + [DataMember(Name = "ignore_int_min", EmitDefaultValue = true)] + public bool IgnoreIntMin { get; set; } + + /// + /// ignore the int max field, if ignore_int_min is true, int min is a single value + /// + /// ignore the int max field, if ignore_int_min is true, int min is a single value + [DataMember(Name = "ignore_int_max", EmitDefaultValue = true)] + public bool IgnoreIntMax { get; set; } + + /// + /// all fields from above encoded in a single string + /// + /// all fields from above encoded in a single string + [DataMember(Name = "formatted", EmitDefaultValue = false)] + public string Formatted { get; set; } + + /// + /// how many items it needs to trigger this effect with the given set + /// + /// how many items it needs to trigger this effect with the given set + [DataMember(Name = "item_combination", EmitDefaultValue = false)] + public int ItemCombination { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class SetEffectsEntry {\n"); + sb.Append(" IntMinimum: ").Append(IntMinimum).Append("\n"); + sb.Append(" IntMaximum: ").Append(IntMaximum).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" IgnoreIntMin: ").Append(IgnoreIntMin).Append("\n"); + sb.Append(" IgnoreIntMax: ").Append(IgnoreIntMax).Append("\n"); + sb.Append(" Formatted: ").Append(Formatted).Append("\n"); + sb.Append(" ItemCombination: ").Append(ItemCombination).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/SetEffectsEntryType.cs b/src/Dofusdude.Api/Model/SetEffectsEntryType.cs new file mode 100644 index 0000000..ce01a5e --- /dev/null +++ b/src/Dofusdude.Api/Model/SetEffectsEntryType.cs @@ -0,0 +1,112 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// SetEffectsEntryType + /// + [DataContract(Name = "Set_Effects_Entry_type")] + public partial class SetEffectsEntryType : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// name. + /// id. + /// true if a type is generated from the Api instead of Ankama. In that case, always prefer showing the templated string and omit everything else. The \"name\" field will have an english description of the meta type. An example for such effects are class sets effects.. + /// Affects target or source actively.. + public SetEffectsEntryType(string name = default(string), int id = default(int), bool isMeta = default(bool), bool isActive = default(bool)) + { + this.Name = name; + this.Id = id; + this.IsMeta = isMeta; + this.IsActive = isActive; + } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public int Id { get; set; } + + /// + /// true if a type is generated from the Api instead of Ankama. In that case, always prefer showing the templated string and omit everything else. The \"name\" field will have an english description of the meta type. An example for such effects are class sets effects. + /// + /// true if a type is generated from the Api instead of Ankama. In that case, always prefer showing the templated string and omit everything else. The \"name\" field will have an english description of the meta type. An example for such effects are class sets effects. + [DataMember(Name = "is_meta", EmitDefaultValue = true)] + public bool IsMeta { get; set; } + + /// + /// Affects target or source actively. + /// + /// Affects target or source actively. + [DataMember(Name = "is_active", EmitDefaultValue = true)] + public bool IsActive { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class SetEffectsEntryType {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" IsMeta: ").Append(IsMeta).Append("\n"); + sb.Append(" IsActive: ").Append(IsActive).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/SetListEntry.cs b/src/Dofusdude.Api/Model/SetListEntry.cs new file mode 100644 index 0000000..9708dde --- /dev/null +++ b/src/Dofusdude.Api/Model/SetListEntry.cs @@ -0,0 +1,129 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// SetListEntry + /// + [DataContract(Name = "Set-List-Entry")] + public partial class SetListEntry : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// amount. + /// level. + /// effects. + /// equipmentIds. + public SetListEntry(int ankamaId = default(int), string name = default(string), int items = default(int), int level = default(int), List> effects = default(List>), List equipmentIds = default(List)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.Items = items; + this.Level = level; + this.Effects = effects; + this.EquipmentIds = equipmentIds; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// amount + /// + /// amount + [DataMember(Name = "items", EmitDefaultValue = false)] + public int Items { get; set; } + + /// + /// Gets or Sets Level + /// + [DataMember(Name = "level", EmitDefaultValue = false)] + public int Level { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List> Effects { get; set; } + + /// + /// Gets or Sets EquipmentIds + /// + [DataMember(Name = "equipment_ids", EmitDefaultValue = true)] + public List EquipmentIds { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class SetListEntry {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append(" Level: ").Append(Level).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" EquipmentIds: ").Append(EquipmentIds).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/SetsListPaged.cs b/src/Dofusdude.Api/Model/SetsListPaged.cs new file mode 100644 index 0000000..fb843e9 --- /dev/null +++ b/src/Dofusdude.Api/Model/SetsListPaged.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// SetsListPaged + /// + [DataContract(Name = "Sets-List-Paged")] + public partial class SetsListPaged : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// links. + /// items. + public SetsListPaged(LinksPaged links = default(LinksPaged), List items = default(List)) + { + this.Links = links; + this.Items = items; + } + + /// + /// Gets or Sets Links + /// + [DataMember(Name = "_links", EmitDefaultValue = false)] + public LinksPaged Links { get; set; } + + /// + /// Gets or Sets Items + /// + [DataMember(Name = "items", EmitDefaultValue = false)] + public List Items { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class SetsListPaged {\n"); + sb.Append(" Links: ").Append(Links).Append("\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/TwitterWebhook.cs b/src/Dofusdude.Api/Model/TwitterWebhook.cs new file mode 100644 index 0000000..cdfb5d0 --- /dev/null +++ b/src/Dofusdude.Api/Model/TwitterWebhook.cs @@ -0,0 +1,184 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// TwitterWebhook + /// + [DataContract(Name = "TwitterWebhook")] + public partial class TwitterWebhook : IValidatableObject + { + /// + /// Defines Format + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum FormatEnum + { + /// + /// Enum Discord for value: discord + /// + [EnumMember(Value = "discord")] + Discord = 1 + } + + + /// + /// Gets or Sets Format + /// + [DataMember(Name = "format", EmitDefaultValue = false)] + public FormatEnum? Format { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// id. + /// whitelist. + /// blacklist. + /// subscriptions. + /// format. + /// previewLength. + /// createdAt. + /// lastFiredAt. + /// updatedAt. + public TwitterWebhook(Guid id = default(Guid), List whitelist = default(List), List blacklist = default(List), List subscriptions = default(List), FormatEnum? format = default(FormatEnum?), int previewLength = default(int), DateTime createdAt = default(DateTime), DateTime? lastFiredAt = default(DateTime?), DateTime updatedAt = default(DateTime)) + { + this.Id = id; + this.Whitelist = whitelist; + this.Blacklist = blacklist; + this.Subscriptions = subscriptions; + this.Format = format; + this.PreviewLength = previewLength; + this.CreatedAt = createdAt; + this.LastFiredAt = lastFiredAt; + this.UpdatedAt = updatedAt; + } + + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + public Guid Id { get; set; } + + /// + /// Gets or Sets Whitelist + /// + [DataMember(Name = "whitelist", EmitDefaultValue = true)] + public List Whitelist { get; set; } + + /// + /// Gets or Sets Blacklist + /// + [DataMember(Name = "blacklist", EmitDefaultValue = true)] + public List Blacklist { get; set; } + + /// + /// Gets or Sets Subscriptions + /// + [DataMember(Name = "subscriptions", EmitDefaultValue = false)] + public List Subscriptions { get; set; } + + /// + /// Gets or Sets PreviewLength + /// + /// 280 + [DataMember(Name = "preview_length", EmitDefaultValue = false)] + public int PreviewLength { get; set; } + + /// + /// Gets or Sets CreatedAt + /// + /// 2022-10-25T15:32:37.406281+02:00 + [DataMember(Name = "created_at", EmitDefaultValue = false)] + public DateTime CreatedAt { get; set; } + + /// + /// Gets or Sets LastFiredAt + /// + /// 2022-10-25T15:35:37.103240+02:00 + [DataMember(Name = "last_fired_at", EmitDefaultValue = true)] + public DateTime? LastFiredAt { get; set; } + + /// + /// Gets or Sets UpdatedAt + /// + /// 2022-10-25T15:32:37.406281+02:00 + [DataMember(Name = "updated_at", EmitDefaultValue = false)] + public DateTime UpdatedAt { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class TwitterWebhook {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Whitelist: ").Append(Whitelist).Append("\n"); + sb.Append(" Blacklist: ").Append(Blacklist).Append("\n"); + sb.Append(" Subscriptions: ").Append(Subscriptions).Append("\n"); + sb.Append(" Format: ").Append(Format).Append("\n"); + sb.Append(" PreviewLength: ").Append(PreviewLength).Append("\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" LastFiredAt: ").Append(LastFiredAt).Append("\n"); + sb.Append(" UpdatedAt: ").Append(UpdatedAt).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PreviewLength (int) maximum + if (this.PreviewLength > (int)280) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value less than or equal to 280.", new [] { "PreviewLength" }); + } + + // PreviewLength (int) minimum + if (this.PreviewLength < (int)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PreviewLength, must be a value greater than or equal to 0.", new [] { "PreviewLength" }); + } + + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/Weapon.cs b/src/Dofusdude.Api/Model/Weapon.cs new file mode 100644 index 0000000..e952544 --- /dev/null +++ b/src/Dofusdude.Api/Model/Weapon.cs @@ -0,0 +1,247 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// Weapon + /// + [DataContract(Name = "Weapon")] + public partial class Weapon : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ankamaId. + /// name. + /// description. + /// type. + /// always true when the item is a weapon. Many fields are now available. Always check for this flag first when getting single equipment items.. + /// level. + /// pods. + /// imageUrls. + /// effects. + /// conditions. + /// conditionTree. + /// criticalHitProbability. + /// criticalHitBonus. + /// isTwoHanded. + /// maxCastPerTurn. + /// apCost. + /// range. + /// recipe. + /// parentSet. + public Weapon(int ankamaId = default(int), string name = default(string), string description = default(string), ItemsListEntryTypedType type = default(ItemsListEntryTypedType), bool isWeapon = default(bool), int level = default(int), int pods = default(int), ImageUrls imageUrls = default(ImageUrls), List effects = default(List), List conditions = default(List), ConditionTreeNode conditionTree = default(ConditionTreeNode), int criticalHitProbability = default(int), int criticalHitBonus = default(int), bool isTwoHanded = default(bool), int maxCastPerTurn = default(int), int apCost = default(int), WeaponRange range = default(WeaponRange), List recipe = default(List), ItemListEntryParentSet parentSet = default(ItemListEntryParentSet)) + { + this.AnkamaId = ankamaId; + this.Name = name; + this.Description = description; + this.Type = type; + this.IsWeapon = isWeapon; + this.Level = level; + this.Pods = pods; + this.ImageUrls = imageUrls; + this.Effects = effects; + this.Conditions = conditions; + this.ConditionTree = conditionTree; + this.CriticalHitProbability = criticalHitProbability; + this.CriticalHitBonus = criticalHitBonus; + this.IsTwoHanded = isTwoHanded; + this.MaxCastPerTurn = maxCastPerTurn; + this.ApCost = apCost; + this.Range = range; + this.Recipe = recipe; + this.ParentSet = parentSet; + } + + /// + /// Gets or Sets AnkamaId + /// + [DataMember(Name = "ankama_id", EmitDefaultValue = false)] + public int AnkamaId { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets Description + /// + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name = "type", EmitDefaultValue = false)] + public ItemsListEntryTypedType Type { get; set; } + + /// + /// always true when the item is a weapon. Many fields are now available. Always check for this flag first when getting single equipment items. + /// + /// always true when the item is a weapon. Many fields are now available. Always check for this flag first when getting single equipment items. + [DataMember(Name = "is_weapon", EmitDefaultValue = true)] + public bool IsWeapon { get; set; } + + /// + /// Gets or Sets Level + /// + [DataMember(Name = "level", EmitDefaultValue = false)] + public int Level { get; set; } + + /// + /// Gets or Sets Pods + /// + [DataMember(Name = "pods", EmitDefaultValue = false)] + public int Pods { get; set; } + + /// + /// Gets or Sets ImageUrls + /// + [DataMember(Name = "image_urls", EmitDefaultValue = false)] + public ImageUrls ImageUrls { get; set; } + + /// + /// Gets or Sets Effects + /// + [DataMember(Name = "effects", EmitDefaultValue = true)] + public List Effects { get; set; } + + /// + /// Gets or Sets Conditions + /// + [DataMember(Name = "conditions", EmitDefaultValue = true)] + [Obsolete] + public List Conditions { get; set; } + + /// + /// Gets or Sets ConditionTree + /// + [DataMember(Name = "condition_tree", EmitDefaultValue = false)] + public ConditionTreeNode ConditionTree { get; set; } + + /// + /// Gets or Sets CriticalHitProbability + /// + [DataMember(Name = "critical_hit_probability", EmitDefaultValue = false)] + public int CriticalHitProbability { get; set; } + + /// + /// Gets or Sets CriticalHitBonus + /// + [DataMember(Name = "critical_hit_bonus", EmitDefaultValue = false)] + public int CriticalHitBonus { get; set; } + + /// + /// Gets or Sets IsTwoHanded + /// + [DataMember(Name = "is_two_handed", EmitDefaultValue = true)] + public bool IsTwoHanded { get; set; } + + /// + /// Gets or Sets MaxCastPerTurn + /// + [DataMember(Name = "max_cast_per_turn", EmitDefaultValue = false)] + public int MaxCastPerTurn { get; set; } + + /// + /// Gets or Sets ApCost + /// + [DataMember(Name = "ap_cost", EmitDefaultValue = false)] + public int ApCost { get; set; } + + /// + /// Gets or Sets Range + /// + [DataMember(Name = "range", EmitDefaultValue = false)] + public WeaponRange Range { get; set; } + + /// + /// Gets or Sets Recipe + /// + [DataMember(Name = "recipe", EmitDefaultValue = true)] + public List Recipe { get; set; } + + /// + /// Gets or Sets ParentSet + /// + [DataMember(Name = "parent_set", EmitDefaultValue = true)] + public ItemListEntryParentSet ParentSet { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class Weapon {\n"); + sb.Append(" AnkamaId: ").Append(AnkamaId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" IsWeapon: ").Append(IsWeapon).Append("\n"); + sb.Append(" Level: ").Append(Level).Append("\n"); + sb.Append(" Pods: ").Append(Pods).Append("\n"); + sb.Append(" ImageUrls: ").Append(ImageUrls).Append("\n"); + sb.Append(" Effects: ").Append(Effects).Append("\n"); + sb.Append(" Conditions: ").Append(Conditions).Append("\n"); + sb.Append(" ConditionTree: ").Append(ConditionTree).Append("\n"); + sb.Append(" CriticalHitProbability: ").Append(CriticalHitProbability).Append("\n"); + sb.Append(" CriticalHitBonus: ").Append(CriticalHitBonus).Append("\n"); + sb.Append(" IsTwoHanded: ").Append(IsTwoHanded).Append("\n"); + sb.Append(" MaxCastPerTurn: ").Append(MaxCastPerTurn).Append("\n"); + sb.Append(" ApCost: ").Append(ApCost).Append("\n"); + sb.Append(" Range: ").Append(Range).Append("\n"); + sb.Append(" Recipe: ").Append(Recipe).Append("\n"); + sb.Append(" ParentSet: ").Append(ParentSet).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/src/Dofusdude.Api/Model/WeaponRange.cs b/src/Dofusdude.Api/Model/WeaponRange.cs new file mode 100644 index 0000000..c8ea3c4 --- /dev/null +++ b/src/Dofusdude.Api/Model/WeaponRange.cs @@ -0,0 +1,92 @@ +/* + * dofusdude + * + * # A project for you - the developer. The all-in-one toolbelt for your next Ankama related project. ## Client SDKs - [Javascript](https://github.com/dofusdude/dofusdude-js) `npm i dofusdude-js - -save` - [Typescript](https://github.com/dofusdude/dofusdude-ts) `npm i dofusdude-ts - -save` - [Go](https://github.com/dofusdude/dodugo) `go get -u github.com/dofusdude/dodugo` - [Python](https://github.com/dofusdude/dofusdude-py) `pip install dofusdude` - [PHP](https://github.com/dofusdude/dofusdude-php) - [Java](https://github.com/dofusdude/dofusdude-java) Maven with GitHub packages setup Everything, including this site, is generated out of the [Docs Repo](https://github.com/dofusdude/api-docs). Consider it the Single Source of Truth. If there is a problem with the SDKs, create an issue there. Your favorite language is missing? Please let me know! # Main Features - 🥷 **Seamless Auto-Update** load data in the background when a new Dofus version is released and serving it within 10 minutes with atomic data source switching. No downtime and no effects for the user, just always up-to-date. - ⚡ **Blazingly Fast** all data in-memory, aggressive caching over short time spans, HTTP/2 multiplexing, written in Go, optimized for low latency, hosted on bare metal in 🇩🇪. - 📨 **Discord Integration** Ankama related RSS and Almanax feeds to post to Discord servers with advanced features like filters or mentions. Use the endpoints as a dev or the official [Web Client](https://discord.dofusdude.com) as a user. - 🩸 **Dofus 2 Beta** from stable to bleeding edge by replacing /dofus2 with /dofus2beta. - 🗣️ **Multilingual** supporting _en_, _fr_, _es_, _pt_ including the dropped languages from the Dofus website _de_ and _it_. - 🧠 **Search by Relevance** allowing typos in name and description, handled by language specific text analysis and indexing. - 🕵️ **Complete** actual data from the game including items invisible to the encyclopedia like quest items. - 🖼️ **HD Images** rendering game assets to high-res images with up to 800x800 px. ... and much more on the Roadmap on my [Discord](https://discord.gg/3EtHskZD8h). + * + * The version of the OpenAPI document: 0.9.0 + * Contact: stelzo@steado.de + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Dofusdude.Api.Client.OpenAPIDateConverter; + +namespace Dofusdude.Api.Model +{ + /// + /// WeaponRange + /// + [DataContract(Name = "Weapon_range")] + public partial class WeaponRange : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// min. + /// max. + public WeaponRange(int min = default(int), int max = default(int)) + { + this.Min = min; + this.Max = max; + } + + /// + /// Gets or Sets Min + /// + [DataMember(Name = "min", EmitDefaultValue = false)] + public int Min { get; set; } + + /// + /// Gets or Sets Max + /// + [DataMember(Name = "max", EmitDefaultValue = false)] + public int Max { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class WeaponRange {\n"); + sb.Append(" Min: ").Append(Min).Append("\n"); + sb.Append(" Max: ").Append(Max).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +}