From cdb6bc0a0fb317daf762ac1db22baf5cd3bcf51e Mon Sep 17 00:00:00 2001 From: Ahson Khan Date: Fri, 6 Dec 2024 12:00:13 -0800 Subject: [PATCH] Split out paged response types into its own header and re-enable KeyLabel Entity field. (#6277) * Split out paged response types into its own header and re-enable KeyLabel Entity field. * Add new line at eof * Forward declare ConfigurationClient. --- .../CMakeLists.txt | 1 + .../inc/azure/data/appconfiguration.hpp | 1 + .../appconfiguration/configuration_client.hpp | 1 + .../configuration_client_models.hpp | 97 --------------- .../configuration_client_options.hpp | 7 +- .../configuration_client_paged_responses.hpp | 110 ++++++++++++++++++ .../src/configuration_client.cpp | 3 - 7 files changed, 114 insertions(+), 106 deletions(-) create mode 100644 sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_paged_responses.hpp diff --git a/sdk/appconfiguration/azure-data-appconfiguration/CMakeLists.txt b/sdk/appconfiguration/azure-data-appconfiguration/CMakeLists.txt index 6fa4c7b68..101efc4d6 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/CMakeLists.txt +++ b/sdk/appconfiguration/azure-data-appconfiguration/CMakeLists.txt @@ -43,6 +43,7 @@ set( inc/azure/data/appconfiguration/configuration_client.hpp inc/azure/data/appconfiguration/configuration_client_models.hpp inc/azure/data/appconfiguration/configuration_client_options.hpp + inc/azure/data/appconfiguration/configuration_client_paged_responses.hpp inc/azure/data/appconfiguration/dll_import_export.hpp inc/azure/data/appconfiguration/rtti.hpp ) diff --git a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration.hpp b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration.hpp index f9c73ad48..cc8d028ed 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration.hpp +++ b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration.hpp @@ -11,5 +11,6 @@ #include "azure/data/appconfiguration/configuration_client.hpp" #include "azure/data/appconfiguration/configuration_client_models.hpp" #include "azure/data/appconfiguration/configuration_client_options.hpp" +#include "azure/data/appconfiguration/configuration_client_paged_responses.hpp" #include "azure/data/appconfiguration/dll_import_export.hpp" #include "azure/data/appconfiguration/rtti.hpp" diff --git a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client.hpp b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client.hpp index f39a9c79c..7b5615dc7 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client.hpp +++ b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client.hpp @@ -7,6 +7,7 @@ #include "configuration_client_models.hpp" #include "configuration_client_options.hpp" +#include "configuration_client_paged_responses.hpp" #include #include diff --git a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_models.hpp b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_models.hpp index 8260441fc..07f7e9355 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_models.hpp +++ b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_models.hpp @@ -5,13 +5,11 @@ #pragma once -#include "configuration_client_options.hpp" #include "dll_import_export.hpp" #include #include #include -#include #include #include @@ -23,12 +21,6 @@ #include namespace Azure { namespace Data { namespace AppConfiguration { - class ConfigurationClient; - struct GetKeysOptions; - struct GetKeyValuesOptions; - struct GetSnapshotsOptions; - struct GetLabelsOptions; - struct GetRevisionsOptions; class GetKeysResponseContentType final : public Core::_internal::ExtendableEnumeration { @@ -522,93 +514,4 @@ namespace Azure { namespace Data { namespace AppConfiguration { std::string SyncToken; std::string ETag; }; - - class GetKeysPagedResponse final : public Core::PagedResponse { - friend class ConfigurationClient; - friend class Core::PagedResponse; - - private: - std::shared_ptr m_client; - std::string m_accept; - GetKeysOptions m_options; - - void OnNextPage(Core::Context const& context); - - public: - Nullable> Items; - std::string SyncToken; - GetKeysResponseContentType ContentType; - }; - - class GetKeyValuesPagedResponse final : public Core::PagedResponse { - friend class ConfigurationClient; - friend class Core::PagedResponse; - - private: - std::shared_ptr m_client; - std::string m_accept; - GetKeyValuesOptions m_options; - - void OnNextPage(Core::Context const& context); - - public: - Nullable> Items; - Nullable Etag; - std::string SyncToken; - std::string ETag; - GetKeyValuesResponseContentType ContentType; - }; - - class GetSnapshotsPagedResponse final : public Core::PagedResponse { - friend class ConfigurationClient; - friend class Core::PagedResponse; - - private: - std::shared_ptr m_client; - std::string m_accept; - GetSnapshotsOptions m_options; - - void OnNextPage(Core::Context const& context); - - public: - Nullable> Items; - std::string SyncToken; - GetSnapshotsResponseContentType ContentType; - }; - - class GetLabelsPagedResponse final : public Core::PagedResponse { - friend class ConfigurationClient; - friend class Core::PagedResponse; - - private: - std::shared_ptr m_client; - std::string m_accept; - GetLabelsOptions m_options; - - void OnNextPage(Core::Context const& context); - - public: - Nullable> Items; - std::string SyncToken; - GetLabelsResponseContentType ContentType; - }; - - class GetRevisionsPagedResponse final : public Core::PagedResponse { - friend class ConfigurationClient; - friend class Core::PagedResponse; - - private: - std::shared_ptr m_client; - std::string m_accept; - GetRevisionsOptions m_options; - - void OnNextPage(Core::Context const& context); - - public: - Nullable> Items; - Nullable Etag; - std::string SyncToken; - std::string ETag; - GetRevisionsResponseContentType ContentType; - }; }}} // namespace Azure::Data::AppConfiguration diff --git a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_options.hpp b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_options.hpp index b8652d4a5..19c3d1037 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_options.hpp +++ b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_options.hpp @@ -22,11 +22,6 @@ #include namespace Azure { namespace Data { namespace AppConfiguration { - class KeyValueFields; - struct KeyValue; - class SnapshotFields; - class SnapshotStatus; - class LabelFields; struct ConfigurationClientOptions final : public Azure::Core::_internal::ClientOptions { @@ -99,7 +94,7 @@ namespace Azure { namespace Data { namespace AppConfiguration { std::string IfMatch; std::string IfNoneMatch; Core::Uuid XMsClientRequestId{}; - // KeyValue Entity; TODO: Implement KeyValue entity + KeyValue Entity; }; struct DeleteKeyValueOptions final diff --git a/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_paged_responses.hpp b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_paged_responses.hpp new file mode 100644 index 000000000..bd5e84699 --- /dev/null +++ b/sdk/appconfiguration/azure-data-appconfiguration/inc/azure/data/appconfiguration/configuration_client_paged_responses.hpp @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) TypeSpec Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +#pragma once + +#include "configuration_client_models.hpp" +#include "configuration_client_options.hpp" + +#include +#include +#include + +#include +#include +#include + +namespace Azure { namespace Data { namespace AppConfiguration { + class ConfigurationClient; + + class GetKeysPagedResponse final : public Core::PagedResponse { + friend class ConfigurationClient; + friend class Core::PagedResponse; + + private: + std::shared_ptr m_client; + std::string m_accept; + GetKeysOptions m_options; + + void OnNextPage(Core::Context const& context); + + public: + Nullable> Items; + std::string SyncToken; + GetKeysResponseContentType ContentType; + }; + + class GetKeyValuesPagedResponse final : public Core::PagedResponse { + friend class ConfigurationClient; + friend class Core::PagedResponse; + + private: + std::shared_ptr m_client; + std::string m_accept; + GetKeyValuesOptions m_options; + + void OnNextPage(Core::Context const& context); + + public: + Nullable> Items; + Nullable Etag; + std::string SyncToken; + std::string ETag; + GetKeyValuesResponseContentType ContentType; + }; + + class GetSnapshotsPagedResponse final : public Core::PagedResponse { + friend class ConfigurationClient; + friend class Core::PagedResponse; + + private: + std::shared_ptr m_client; + std::string m_accept; + GetSnapshotsOptions m_options; + + void OnNextPage(Core::Context const& context); + + public: + Nullable> Items; + std::string SyncToken; + GetSnapshotsResponseContentType ContentType; + }; + + class GetLabelsPagedResponse final : public Core::PagedResponse { + friend class ConfigurationClient; + friend class Core::PagedResponse; + + private: + std::shared_ptr m_client; + std::string m_accept; + GetLabelsOptions m_options; + + void OnNextPage(Core::Context const& context); + + public: + Nullable> Items; + std::string SyncToken; + GetLabelsResponseContentType ContentType; + }; + + class GetRevisionsPagedResponse final : public Core::PagedResponse { + friend class ConfigurationClient; + friend class Core::PagedResponse; + + private: + std::shared_ptr m_client; + std::string m_accept; + GetRevisionsOptions m_options; + + void OnNextPage(Core::Context const& context); + + public: + Nullable> Items; + Nullable Etag; + std::string SyncToken; + std::string ETag; + GetRevisionsResponseContentType ContentType; + }; +}}} // namespace Azure::Data::AppConfiguration diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/configuration_client.cpp b/sdk/appconfiguration/azure-data-appconfiguration/src/configuration_client.cpp index 4a36d5513..5d5944acc 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/configuration_client.cpp +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/configuration_client.cpp @@ -643,8 +643,6 @@ Azure::Response ConfigurationClient::PutKeyValue( { auto jsonRoot = Core::Json::_internal::json::object(); -// TODO: Add support for KeyValue Entity -#if 0 jsonRoot["key"] = options.Entity.Key; if (options.Entity.Label.HasValue()) @@ -685,7 +683,6 @@ Azure::Response ConfigurationClient::PutKeyValue( { jsonRoot["etag"] = options.Entity.Etag.Value(); } -#endif jsonBody = jsonRoot.dump(); }