diff --git a/.github/workflows/apidocs.yml b/.github/workflows/apidocs.yml new file mode 100644 index 0000000..9c3b285 --- /dev/null +++ b/.github/workflows/apidocs.yml @@ -0,0 +1,115 @@ +name: API Docs + +on: + release: + types: [published] + workflow_dispatch: + inputs: + version_tag: + description: 'Git tag to build docs for (e.g., 3.8.0 or v3.8.0-rc1)' + required: true + smoke_test: + description: 'Run as smoke test (build & artifact only, without pushing to S3)' + type: boolean + required: false + default: false + +env: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_NOLOGO: 1 + +jobs: + validate-inputs: + name: Validate Inputs + runs-on: ubuntu-latest + outputs: + tag: ${{ steps.compute.outputs.tag }} + version: ${{ steps.compute.outputs.version }} + publish: ${{ steps.compute.outputs.publish }} + smoke: ${{ steps.compute.outputs.smoke }} + steps: + - id: compute + name: Compute tag, version, smoke flag + shell: bash + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + TAG_INPUT="${{ github.event.inputs.version_tag }}" + SMOKE_INPUT="${{ github.event.inputs.smoke_test }}" + else + TAG_INPUT="${{ github.ref_name }}" + SMOKE_INPUT="false" + fi + if [ -z "$TAG_INPUT" ]; then + echo "Tag input is required." >&2 + exit 1 + fi + if ! echo "$TAG_INPUT" | grep -Eq '^(v)?[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9.-]+)?$'; then + echo "Tag must be a semantic version (e.g., 3.8.0 or v3.8.0-rc1)." >&2 + exit 1 + fi + VER="${TAG_INPUT#v}" + echo "tag=$TAG_INPUT" >> $GITHUB_OUTPUT + echo "version=$VER" >> $GITHUB_OUTPUT + echo "smoke=$SMOKE_INPUT" >> $GITHUB_OUTPUT + if [ "$SMOKE_INPUT" = "true" ]; then echo "publish=false" >> $GITHUB_OUTPUT; else echo "publish=true" >> $GITHUB_OUTPUT; fi + + build-docs: + name: Build API Docs + runs-on: ubuntu-latest + needs: validate-inputs + env: + PACKAGE_VERSION: ${{ needs.validate-inputs.outputs.version }} + API_NAME: analytics-dotnet-client + AWS_REGION: us-west-1 + S3_BUCKET: docs.couchbase.com + steps: + - name: Checkout repo at tag + uses: actions/checkout@v4 + with: + ref: ${{ needs.validate-inputs.outputs.tag }} + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + cache: false + + - name: Install DocFX + run: dotnet tool install -g docfx + + - name: Build docs + run: | + cd docs + ~/.dotnet/tools/docfx metadata + ~/.dotnet/tools/docfx build + + - name: Validate site generated + run: | + test -d docs/_site/api || (echo "No API output found" && exit 1) + test $(ls -1 docs/_site/api/*.html | wc -l) -ge 2 || (echo "Insufficient API HTML files" && exit 1) + + - name: Archive docs + run: | + zip -rq "${{ env.API_NAME }}-${{ env.PACKAGE_VERSION }}.zip" docs/_site/* + + - name: Upload API Docs Artifact + uses: actions/upload-artifact@v4 + with: + name: apidocs-zip + path: ${{ env.API_NAME }}-${{ env.PACKAGE_VERSION }}.zip + + - name: Configure AWS Credentials + if: needs.validate-inputs.outputs.publish == 'true' + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: Publish to S3 + if: needs.validate-inputs.outputs.publish == 'true' + run: | + aws s3 sync "./docs/_site/" "s3://$S3_BUCKET/sdk-api/$API_NAME-$PACKAGE_VERSION/" --acl public-read --delete + + + diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..27f181a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,227 @@ +name: Release + +on: + release: + types: [published] + workflow_dispatch: + inputs: + version_tag: + description: 'Git tag to release (e.g., 3.8.0 or 3.8.0-rc1; optional leading v)' + required: true + smoke_test: + description: 'Run as smoke test (build, test, pack only; no NuGet publish)' + type: boolean + required: false + default: false + +env: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_NOLOGO: 1 + +jobs: + validate-inputs: + name: Validate Inputs + runs-on: ubuntu-latest + outputs: + tag: ${{ steps.compute.outputs.tag }} + version: ${{ steps.compute.outputs.version }} + smoke: ${{ steps.compute.outputs.smoke }} + steps: + - id: compute + name: Compute tag, version, and smoke flag + shell: bash + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + TAG_INPUT="${{ github.event.inputs.version_tag }}" + SMOKE_INPUT="${{ github.event.inputs.smoke_test }}" + else + TAG_INPUT="${{ github.ref_name }}" + SMOKE_INPUT="false" + fi + if [ -z "$TAG_INPUT" ]; then + echo "Tag input is required." >&2 + exit 1 + fi + if ! echo "$TAG_INPUT" | grep -Eq '^(v)?[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9.-]+)?$'; then + echo "Tag must be a semantic version (e.g., 3.8.0 or v3.8.0-rc1)." >&2 + exit 1 + fi + VER="${TAG_INPUT#v}" + echo "tag=$TAG_INPUT" >> $GITHUB_OUTPUT + echo "version=$VER" >> $GITHUB_OUTPUT + if [ "$SMOKE_INPUT" = "true" ]; then echo "smoke=true" >> $GITHUB_OUTPUT; else echo "smoke=false" >> $GITHUB_OUTPUT; fi + + build-and-test: + name: Build & Test (${{ matrix.name }}) + runs-on: ${{ matrix.os }} + needs: validate-inputs + strategy: + fail-fast: false + matrix: + include: + - name: ubuntu + os: ubuntu-latest + - name: windows + os: windows-latest + - name: macos + os: macos-latest + - name: centos + os: ubuntu-latest + container: quay.io/centos/centos:stream9 + container: ${{ matrix.container }} + steps: + - name: Checkout tag + uses: actions/checkout@v4 + with: + ref: ${{ needs.validate-inputs.outputs.tag }} + fetch-depth: 0 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + cache: false + + - name: Install prerequisites (CentOS) + if: matrix.name == 'centos' + run: | + yum -y update + yum -y install tar gzip curl ca-certificates krb5-libs libicu zlib openssl + + - name: Restore + run: dotnet restore src/Couchbase.Analytics/Couchbase.Analytics.csproj + + - name: Build (Release) + run: dotnet build src/Couchbase.Analytics/Couchbase.Analytics.csproj --configuration Release --no-restore + + - name: Test - Couchbase.Analytics.UnitTests (Release) + run: dotnet test tests/Couchbase.Analytics.UnitTests/Couchbase.Analytics.UnitTests.csproj --configuration Release --no-build --logger "trx;LogFileName=unit-tests.trx" --results-directory "TestResults" + + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v4 + with: + name: unit-test-results-${{ matrix.name }} + path: TestResults + + pack: + name: Pack (Windows) + runs-on: windows-latest + needs: [validate-inputs, build-and-test] + env: + PACKAGE_VERSION: ${{ needs.validate-inputs.outputs.version }} + NETSDK_SIGNKEY: ${{ secrets.NETSDK_SIGNKEY }} + steps: + - name: Checkout tag + uses: actions/checkout@v4 + with: + ref: ${{ needs.validate-inputs.outputs.tag }} + fetch-depth: 0 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + cache: false + + - name: Restore + run: dotnet restore src/Couchbase.Analytics/Couchbase.Analytics.csproj + + - name: Prepare strong-name key (SNK) (optional) + if: env.NETSDK_SIGNKEY != '' + shell: pwsh + run: | + $bytes = [System.Convert]::FromBase64String("${{ env.NETSDK_SIGNKEY }}") + [IO.File]::WriteAllBytes("signkey.snk", $bytes) + + - name: Build (Release, signed) + shell: pwsh + run: | + $signProps = '' + if ("${{ env.NETSDK_SIGNKEY }}" -ne '') { $signProps = "/p:SignAssembly=true /p:AssemblyOriginatorKeyFile=signkey.snk" } + dotnet build src/Couchbase.Analytics/Couchbase.Analytics.csproj -c Release --no-restore /p:ContinuousIntegrationBuild=true /p:Version="${{ env.PACKAGE_VERSION }}" /p:IncludeSymbols=true /p:IncludeSource=true /p:SourceLinkCreate=true $signProps + + - name: Pack (Release, signed) + shell: pwsh + run: | + $signProps = '' + if ("${{ env.NETSDK_SIGNKEY }}" -ne '') { $signProps = "/p:SignAssembly=true /p:AssemblyOriginatorKeyFile=signkey.snk" } + dotnet pack src/Couchbase.Analytics/Couchbase.Analytics.csproj -c Release --no-build /p:ContinuousIntegrationBuild=true /p:Version="${{ env.PACKAGE_VERSION }}" /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg /p:IncludeSource=true /p:SourceLinkCreate=true $signProps + + - name: Upload Packages Artifact + uses: actions/upload-artifact@v4 + with: + name: nuget-packages + path: | + **/*.nupkg + **/*.snupkg + + publish: + name: Publish to NuGet + runs-on: windows-latest + needs: [validate-inputs, pack] + environment: nuget-publish + # Only publish when not a smoke test + if: needs.validate-inputs.outputs.smoke != 'true' + env: + PACKAGE_VERSION: ${{ needs.validate-inputs.outputs.version }} + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} + steps: + - name: Download Packages Artifact + uses: actions/download-artifact@v4 + with: + name: nuget-packages + path: ./artifacts + + - name: Publish to NuGet (nupkg) + if: env.NUGET_API_KEY != '' + shell: pwsh + run: | + $ver = "$Env:PACKAGE_VERSION" + Get-ChildItem -Path ./artifacts -Recurse -Filter *.nupkg | Where-Object { $_.Name -like "*.$ver.nupkg" } | ForEach-Object { + dotnet nuget push $_.FullName --source "https://api.nuget.org/v3/index.json" --api-key "${{ env.NUGET_API_KEY }}" --skip-duplicate + } + + - name: Publish symbols to NuGet (snupkg) + if: env.NUGET_API_KEY != '' + shell: pwsh + run: | + $ver = "$Env:PACKAGE_VERSION" + Get-ChildItem -Path ./artifacts -Recurse -Filter *.snupkg | Where-Object { $_.Name -like "*.$ver.snupkg" } | ForEach-Object { + dotnet nuget push $_.FullName --source "https://api.nuget.org/v3/index.json" --api-key "${{ env.NUGET_API_KEY }}" --skip-duplicate + } + + smoke-summary: + name: Smoke Summary + runs-on: ubuntu-latest + needs: [validate-inputs, build-and-test, pack] + if: github.event_name == 'workflow_dispatch' && github.event.inputs.smoke_test == 'true' + env: + PACKAGE_VERSION: ${{ needs.validate-inputs.outputs.version }} + steps: + - name: Download Packages Artifact + uses: actions/download-artifact@v4 + with: + name: nuget-packages + path: ./artifacts + + - name: Download Test Results Artifacts + uses: actions/download-artifact@v4 + with: + pattern: unit-test-results-* + merge-multiple: true + path: ./test-results + + - name: Print tag, package names, test result files + shell: bash + run: | + echo "Tag: ${{ needs.validate-inputs.outputs.tag }}" + echo "Package version: $PACKAGE_VERSION" + echo "Packages:" + find ./artifacts -type f -name "*.$PACKAGE_VERSION.nupkg" -print | sed 's/^/ /' || true + find ./artifacts -type f -name "*.$PACKAGE_VERSION.snupkg" -print | sed 's/^/ /' || true + echo "Test result files:" + find ./test-results -type f -name "*.trx" -print | sed 's/^/ /' || true + + + diff --git a/.gitignore b/.gitignore index 4f23cbd..8d4a80e 100644 --- a/.gitignore +++ b/.gitignore @@ -406,4 +406,8 @@ FodyWeavers.xsd *.sln.iml # test config -tests/Couchbase.Analytics.FunctionalTests/settings.json \ No newline at end of file +tests/Couchbase.Analytics.FunctionalTests/settings.json + +#generated api docs +docs/_site/ +docs/api/ diff --git a/docs/docfx.json b/docs/docfx.json new file mode 100644 index 0000000..84430c9 --- /dev/null +++ b/docs/docfx.json @@ -0,0 +1,46 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json", + "metadata": [ + { + "src": [ + { + "src": "../src", + "files": [ + "**/*.csproj" + ] + } + ], + "dest": "api" + } + ], + "build": { + "content": [ + { + "files": [ + "**/*.{md,yml}" + ], + "exclude": [ + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ] + } + ], + "output": "_site", + "template": [ + "default", + "modern" + ], + "globalMetadata": { + "_appName": "analytics-dotnet-client", + "_appTitle": "analytics-dotnet-client", + "_enableSearch": true, + "pdf": true + } + } +} \ No newline at end of file diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 0000000..dbfda0d --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,104 @@ +# Getting Started + +This guide shows how to install the package, connect to a Couchbase cluster, and run Analytics queries. + +## Install + +Add the package to your project: + +```bash +dotnet add package Couchbase.Analytics +``` + +Requires .NET 8.0. + +## Connect + +Create a `Cluster` with a connection string and `Credential`. The connection string supports `http` or `https`, multiple hosts, and query/timeout/TLS parameters. + +```csharp +using Couchbase.AnalyticsClient; +using Couchbase.AnalyticsClient.HTTP; +using Couchbase.AnalyticsClient.Options; + +var credential = Credential.Create("username", "password"); + +var cluster = Cluster.Create( + connectionString: "https://analytics.my-couchbase.example.com:18095?max_retries=5", + credential: credential, + configureOptions: options => options + .WithTimeoutOptions(timeoutOpts => timeoutOpts + .WithQueryTimeout(TimeSpan.FromSeconds(15))) + .WithSecurityOptions(securityOpts => securityOpts + .WithTrustOnlyCapella()) +); +``` + +Notes: +- Use `http://host:8095` for non-TLS clusters, `https://host:18095` for TLS (or your own custom ports for a load balancer or proxy) +- If multiple IP addresses are resolved for a host, a connection will be attempted for a random IP address. If a connection attempt fails, another IP will be picked to attempt a connection, until all are exhausted. +- Connection string parameters include: + - `timeout.connect_timeout`, `timeout.dispatch_timeout`, `timeout.query_timeout` (in milliseconds) + - `security.trust_only_pem_file`, `security.disable_server_certificate_verification`, `security.cipher_suites` + - `max_retries` + +## Query + +Run an Analytics statement and stream rows: + +Note: Results are streamed by default. Use `QueryOptions.WithAsStreaming(false)` to get a blocking result. + +```csharp +using Couchbase.AnalyticsClient.Options; + +var result = await cluster.ExecuteQueryAsync( + "SELECT 1 AS one;", + new QueryOptions() + .WithReadOnly(true) + .WithScanConsistency(QueryScanConsistency.RequestPlus) +); + +await foreach (var row in result.Rows) +{ + Console.WriteLine(row.ContentAs()); +} +``` + +### Query with parameters + +```csharp +var statement = "SELECT * FROM `travel-sample`.inventory.airline WHERE country = $country LIMIT $limit"; + +var paramResult = await cluster.ExecuteQueryAsync( + statement, + new QueryOptions() + .WithNamedParameter("country", "United States") + .WithNamedParameter("limit", 10) +); +``` + +### Database and scope context + +Target a specific database and scope using `Database(...).Scope(...).ExecuteQueryAsync(...)`: + +```csharp +var db = cluster.Database("travel-sample"); +var scope = db.Scope("inventory"); + +var scoped = await scope.ExecuteQueryAsync( + "SELECT META().id FROM airline LIMIT 5" +); + +await foreach (var row in scoped.Rows) +{ + Console.WriteLine(row.Json.ToString()); +} +``` + +## Cleanup + +`Cluster` implements `IDisposable`. Dispose when done to release resources: + +```csharp +cluster.Dispose(); +``` \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..3ae36c1 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,3 @@ +--- +redirect_url: introduction.html +--- \ No newline at end of file diff --git a/docs/introduction.md b/docs/introduction.md new file mode 100644 index 0000000..497f672 --- /dev/null +++ b/docs/introduction.md @@ -0,0 +1,27 @@ +--- +_layout: landing +--- + +# Couchbase Analytics .NET Client + +This library provides a lightweight, focused .NET client for interacting with the Couchbase Analytics service. + +It is designed for high-throughput analytics workloads and exposes a simple API to: + +- Create a cluster connection with credentials and options +- Configure timeouts, retries, and TLS settings +- Execute Analytics statements and stream results +- Target queries to a specific database and scope + +## Supported platforms + +- .NET 8.0 + +## Packages + +This repo contains two projects: + +- `Couchbase.Analytics` — the main client library +- `Couchbase.Text.Json` — internal JSON utilities used by the client + +Installation instructions are in Getting Started](getting-started.md). \ No newline at end of file diff --git a/docs/toc.yml b/docs/toc.yml new file mode 100644 index 0000000..d52fc0a --- /dev/null +++ b/docs/toc.yml @@ -0,0 +1,6 @@ +- name: Introduction + href: introduction.md +- name: Getting Started + href: getting-started.md +- name: API + href: api/ \ No newline at end of file diff --git a/fit/Couchbase.Analytics.Performer/Internal/Connections/ClusterConnection.cs b/fit/Couchbase.Analytics.Performer/Internal/Connections/ClusterConnection.cs index 87db480..4ff09d0 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Connections/ClusterConnection.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Connections/ClusterConnection.cs @@ -1,6 +1,7 @@ using Couchbase.AnalyticsClient; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Public; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Results; using Couchbase.Grpc.Protocol.Columnar; namespace Couchbase.Analytics.Performer.Internal.Connections; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerCrossService.cs b/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerCrossService.cs index cefa189..7e58ce5 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerCrossService.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerCrossService.cs @@ -3,8 +3,8 @@ using Couchbase.Analytics.Performer.Internal.Connections; using Couchbase.Analytics.Performer.Internal.Modes; using Couchbase.Analytics.Performer.Internal.Utils; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Results; using Couchbase.Grpc.Protocol.Columnar; using Couchbase.Text.Json.Utils; using Google.Protobuf.WellKnownTypes; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerService.cs b/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerService.cs index c051361..af5ddba 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerService.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Services/AnalyticsPerformerService.cs @@ -4,6 +4,7 @@ using Couchbase.Analytics.Performer.Internal.Modes; using Couchbase.Analytics.Performer.Internal.Utils; using Couchbase.AnalyticsClient; +using Couchbase.AnalyticsClient.Public; using Couchbase.Grpc.Protocol.Columnar; using Couchbase.Grpc.Protocol.Shared; using Couchbase.Text.Json.Utils; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Utils/ClusterNewInstanceRequestExtensions.cs b/fit/Couchbase.Analytics.Performer/Internal/Utils/ClusterNewInstanceRequestExtensions.cs index cf296f2..85e68cc 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Utils/ClusterNewInstanceRequestExtensions.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Utils/ClusterNewInstanceRequestExtensions.cs @@ -1,6 +1,6 @@ using System.Security.Authentication; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; using Couchbase.Grpc.Protocol.Columnar; namespace Couchbase.Analytics.Performer.Internal.Utils; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Utils/ContentAsExtensions.cs b/fit/Couchbase.Analytics.Performer/Internal/Utils/ContentAsExtensions.cs index a22bef5..4cc9c57 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Utils/ContentAsExtensions.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Utils/ContentAsExtensions.cs @@ -1,5 +1,5 @@ using System.Text.Json; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Public.Results; using Couchbase.Grpc.Protocol.Columnar; using Google.Protobuf; using Google.Protobuf.WellKnownTypes; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Utils/ExceptionExtensions.cs b/fit/Couchbase.Analytics.Performer/Internal/Utils/ExceptionExtensions.cs index af0aa6b..90c02ab 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Utils/ExceptionExtensions.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Utils/ExceptionExtensions.cs @@ -1,8 +1,8 @@ -using Couchbase.AnalyticsClient.Exceptions; +using Couchbase.AnalyticsClient.Public.Exceptions; using Couchbase.Grpc.Protocol.Columnar; using Columnar_InvalidCredentialException = Couchbase.Grpc.Protocol.Columnar.InvalidCredentialException; -using InvalidCredentialException = Couchbase.AnalyticsClient.Exceptions.InvalidCredentialException; -using QueryException = Couchbase.AnalyticsClient.Exceptions.QueryException; +using InvalidCredentialException = Couchbase.AnalyticsClient.Public.Exceptions.InvalidCredentialException; +using QueryException = Couchbase.AnalyticsClient.Public.Exceptions.QueryException; namespace Couchbase.Analytics.Performer.Internal.Utils; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Utils/OptionsExtensions.cs b/fit/Couchbase.Analytics.Performer/Internal/Utils/OptionsExtensions.cs index b5055ed..d471248 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Utils/OptionsExtensions.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Utils/OptionsExtensions.cs @@ -1,5 +1,5 @@ -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Query; using Couchbase.Grpc.Protocol.Columnar; using Couchbase.Text.Json; using Google.Protobuf.Collections; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Utils/PerformerQuery.cs b/fit/Couchbase.Analytics.Performer/Internal/Utils/PerformerQuery.cs index 0720323..1b16e75 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Utils/PerformerQuery.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Utils/PerformerQuery.cs @@ -1,4 +1,4 @@ -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Public.Results; using Couchbase.Grpc.Protocol.Columnar; using Google.Protobuf; using Google.Protobuf.Collections; diff --git a/fit/Couchbase.Analytics.Performer/Internal/Utils/ResponseMetaDataExtensions.cs b/fit/Couchbase.Analytics.Performer/Internal/Utils/ResponseMetaDataExtensions.cs index 97c3adb..7f26e8f 100644 --- a/fit/Couchbase.Analytics.Performer/Internal/Utils/ResponseMetaDataExtensions.cs +++ b/fit/Couchbase.Analytics.Performer/Internal/Utils/ResponseMetaDataExtensions.cs @@ -1,4 +1,4 @@ -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Query; using Couchbase.Grpc.Protocol.Columnar; using Google.Protobuf.WellKnownTypes; diff --git a/src/Couchbase.Analytics/Couchbase.Analytics.csproj b/src/Couchbase.Analytics/Couchbase.Analytics.csproj index a4f8c48..9865d91 100644 --- a/src/Couchbase.Analytics/Couchbase.Analytics.csproj +++ b/src/Couchbase.Analytics/Couchbase.Analytics.csproj @@ -22,6 +22,14 @@ + + + + + + + + diff --git a/src/Couchbase.Analytics/AnalyticsService.cs b/src/Couchbase.Analytics/Internal/AnalyticsService.cs similarity index 95% rename from src/Couchbase.Analytics/AnalyticsService.cs rename to src/Couchbase.Analytics/Internal/AnalyticsService.cs index b443fac..737fb2b 100644 --- a/src/Couchbase.Analytics/AnalyticsService.cs +++ b/src/Couchbase.Analytics/Internal/AnalyticsService.cs @@ -20,16 +20,18 @@ #endregion using System.Text; -using Couchbase.AnalyticsClient.Exceptions; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Results; -using Couchbase.AnalyticsClient.Retry; +using Couchbase.AnalyticsClient.Internal.HTTP; +using Couchbase.AnalyticsClient.Internal.Results; +using Couchbase.AnalyticsClient.Internal.Retry; +using Couchbase.AnalyticsClient.Public.Exceptions; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Results; using Couchbase.Text.Json; using Couchbase.Text.Json.Utils; using Microsoft.Extensions.Logging; -namespace Couchbase.AnalyticsClient; +namespace Couchbase.AnalyticsClient.Internal; internal sealed class AnalyticsService : HttpServiceBase, IAnalyticsService { diff --git a/src/Couchbase.Analytics/ConnectionString.cs b/src/Couchbase.Analytics/Internal/ConnectionString.cs similarity index 98% rename from src/Couchbase.Analytics/ConnectionString.cs rename to src/Couchbase.Analytics/Internal/ConnectionString.cs index f58c000..c513682 100644 --- a/src/Couchbase.Analytics/ConnectionString.cs +++ b/src/Couchbase.Analytics/Internal/ConnectionString.cs @@ -21,9 +21,10 @@ using System.Text; using System.Text.RegularExpressions; -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Internal.Utils; +using Couchbase.AnalyticsClient.Public.Utils; -namespace Couchbase.AnalyticsClient; +namespace Couchbase.AnalyticsClient.Internal; internal class ConnectionString { diff --git a/src/Couchbase.Analytics/DI/ConstructorSelector.cs b/src/Couchbase.Analytics/Internal/DI/ConstructorSelector.cs similarity index 98% rename from src/Couchbase.Analytics/DI/ConstructorSelector.cs rename to src/Couchbase.Analytics/Internal/DI/ConstructorSelector.cs index 5dd7363..e519b53 100644 --- a/src/Couchbase.Analytics/DI/ConstructorSelector.cs +++ b/src/Couchbase.Analytics/Internal/DI/ConstructorSelector.cs @@ -22,7 +22,7 @@ using System.Diagnostics.CodeAnalysis; using System.Reflection; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; internal static class ConstructorSelector { diff --git a/src/Couchbase.Analytics/DI/CouchbaseServiceProvider.cs b/src/Couchbase.Analytics/Internal/DI/CouchbaseServiceProvider.cs similarity index 98% rename from src/Couchbase.Analytics/DI/CouchbaseServiceProvider.cs rename to src/Couchbase.Analytics/Internal/DI/CouchbaseServiceProvider.cs index 2dd9a4f..b6dea10 100644 --- a/src/Couchbase.Analytics/DI/CouchbaseServiceProvider.cs +++ b/src/Couchbase.Analytics/Internal/DI/CouchbaseServiceProvider.cs @@ -21,7 +21,7 @@ using System.Collections.ObjectModel; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; internal sealed class CouchbaseServiceProvider : ICouchbaseServiceProvider { diff --git a/src/Couchbase.Analytics/DI/CouchbaseServiceProviderExtensions.cs b/src/Couchbase.Analytics/Internal/DI/CouchbaseServiceProviderExtensions.cs similarity index 97% rename from src/Couchbase.Analytics/DI/CouchbaseServiceProviderExtensions.cs rename to src/Couchbase.Analytics/Internal/DI/CouchbaseServiceProviderExtensions.cs index f4c32ef..431f7ce 100644 --- a/src/Couchbase.Analytics/DI/CouchbaseServiceProviderExtensions.cs +++ b/src/Couchbase.Analytics/Internal/DI/CouchbaseServiceProviderExtensions.cs @@ -19,9 +19,9 @@ * ************************************************************/ #endregion -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Public.Utils; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; /// /// Extensions for . diff --git a/src/Couchbase.Analytics/DI/DefaultServices.cs b/src/Couchbase.Analytics/Internal/DI/DefaultServices.cs similarity index 96% rename from src/Couchbase.Analytics/DI/DefaultServices.cs rename to src/Couchbase.Analytics/Internal/DI/DefaultServices.cs index 28ebcb7..0912c4a 100644 --- a/src/Couchbase.Analytics/DI/DefaultServices.cs +++ b/src/Couchbase.Analytics/Internal/DI/DefaultServices.cs @@ -20,12 +20,12 @@ #endregion using System.Text.Json; -using Couchbase.AnalyticsClient.HTTP; +using Couchbase.AnalyticsClient.Internal.HTTP; using Couchbase.Text.Json; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; internal static class DefaultServices { diff --git a/src/Couchbase.Analytics/DI/ICouchbaseServiceProvider.cs b/src/Couchbase.Analytics/Internal/DI/ICouchbaseServiceProvider.cs similarity index 96% rename from src/Couchbase.Analytics/DI/ICouchbaseServiceProvider.cs rename to src/Couchbase.Analytics/Internal/DI/ICouchbaseServiceProvider.cs index 2430a51..dfb444f 100644 --- a/src/Couchbase.Analytics/DI/ICouchbaseServiceProvider.cs +++ b/src/Couchbase.Analytics/Internal/DI/ICouchbaseServiceProvider.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; /// /// Extends with a method to test for service registration. diff --git a/src/Couchbase.Analytics/DI/IServiceFactory.cs b/src/Couchbase.Analytics/Internal/DI/IServiceFactory.cs similarity index 96% rename from src/Couchbase.Analytics/DI/IServiceFactory.cs rename to src/Couchbase.Analytics/Internal/DI/IServiceFactory.cs index 2e667cf..f097fed 100644 --- a/src/Couchbase.Analytics/DI/IServiceFactory.cs +++ b/src/Couchbase.Analytics/Internal/DI/IServiceFactory.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; /// /// A factory capable of returning a service. diff --git a/src/Couchbase.Analytics/DI/LazyService.cs b/src/Couchbase.Analytics/Internal/DI/LazyService.cs similarity index 94% rename from src/Couchbase.Analytics/DI/LazyService.cs rename to src/Couchbase.Analytics/Internal/DI/LazyService.cs index f0cd6fc..d138dc6 100644 --- a/src/Couchbase.Analytics/DI/LazyService.cs +++ b/src/Couchbase.Analytics/Internal/DI/LazyService.cs @@ -20,9 +20,9 @@ #endregion using System.Diagnostics.CodeAnalysis; -using Couchbase.AnalyticsClient.Exceptions; +using Couchbase.AnalyticsClient.Public.Exceptions; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; /// /// References a singleton of a service that isn't instantiated until required. diff --git a/src/Couchbase.Analytics/DI/PreferredConstructorAttribute.cs b/src/Couchbase.Analytics/Internal/DI/PreferredConstructorAttribute.cs similarity index 91% rename from src/Couchbase.Analytics/DI/PreferredConstructorAttribute.cs rename to src/Couchbase.Analytics/Internal/DI/PreferredConstructorAttribute.cs index f923c41..1d1aa34 100644 --- a/src/Couchbase.Analytics/DI/PreferredConstructorAttribute.cs +++ b/src/Couchbase.Analytics/Internal/DI/PreferredConstructorAttribute.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; /// /// Marks a public constructor as preferred for selection by service factories. If applied, the @@ -28,6 +28,6 @@ namespace Couchbase.AnalyticsClient.DI; /// attribute. /// [AttributeUsage(AttributeTargets.Constructor, AllowMultiple = false, Inherited = false)] -public sealed class PreferredConstructorAttribute : Attribute +internal sealed class PreferredConstructorAttribute : Attribute { } \ No newline at end of file diff --git a/src/Couchbase.Analytics/DI/SingletonGenericServiceFactory.cs b/src/Couchbase.Analytics/Internal/DI/SingletonGenericServiceFactory.cs similarity index 98% rename from src/Couchbase.Analytics/DI/SingletonGenericServiceFactory.cs rename to src/Couchbase.Analytics/Internal/DI/SingletonGenericServiceFactory.cs index 36b0460..b4957c8 100644 --- a/src/Couchbase.Analytics/DI/SingletonGenericServiceFactory.cs +++ b/src/Couchbase.Analytics/Internal/DI/SingletonGenericServiceFactory.cs @@ -21,9 +21,9 @@ using System.Collections.Concurrent; using System.Diagnostics.CodeAnalysis; -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Public.Utils; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; /// /// Implementation of which constructs more specific types diff --git a/src/Couchbase.Analytics/DI/SingletonServiceFactory.cs b/src/Couchbase.Analytics/Internal/DI/SingletonServiceFactory.cs similarity index 97% rename from src/Couchbase.Analytics/DI/SingletonServiceFactory.cs rename to src/Couchbase.Analytics/Internal/DI/SingletonServiceFactory.cs index 1c7626b..566015b 100644 --- a/src/Couchbase.Analytics/DI/SingletonServiceFactory.cs +++ b/src/Couchbase.Analytics/Internal/DI/SingletonServiceFactory.cs @@ -20,9 +20,9 @@ #endregion using System.Diagnostics.CodeAnalysis; -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Public.Utils; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; internal sealed class SingletonServiceFactory : IServiceFactory { diff --git a/src/Couchbase.Analytics/DI/TransientServiceFactory.cs b/src/Couchbase.Analytics/Internal/DI/TransientServiceFactory.cs similarity index 97% rename from src/Couchbase.Analytics/DI/TransientServiceFactory.cs rename to src/Couchbase.Analytics/Internal/DI/TransientServiceFactory.cs index 7affa7f..35faf95 100644 --- a/src/Couchbase.Analytics/DI/TransientServiceFactory.cs +++ b/src/Couchbase.Analytics/Internal/DI/TransientServiceFactory.cs @@ -20,9 +20,9 @@ #endregion using System.Diagnostics.CodeAnalysis; -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Public.Utils; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Internal.DI; /// /// Implementation of which creates a transient diff --git a/src/Couchbase.Analytics/DnsUtil/DnsEndpointConnector.cs b/src/Couchbase.Analytics/Internal/DnsUtil/DnsEndpointConnector.cs similarity index 96% rename from src/Couchbase.Analytics/DnsUtil/DnsEndpointConnector.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/DnsEndpointConnector.cs index fb277f0..1dcf839 100644 --- a/src/Couchbase.Analytics/DnsUtil/DnsEndpointConnector.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/DnsEndpointConnector.cs @@ -21,9 +21,10 @@ using System.Net; using System.Net.Sockets; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Public.DnsUtil; -namespace Couchbase.AnalyticsClient.DnsUtil; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil; /// /// Adapted from https://github.com/MihaZupan/DnsRoundRobin. diff --git a/src/Couchbase.Analytics/DnsUtil/DnsEndpointResolver.cs b/src/Couchbase.Analytics/Internal/DnsUtil/DnsEndpointResolver.cs similarity index 90% rename from src/Couchbase.Analytics/DnsUtil/DnsEndpointResolver.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/DnsEndpointResolver.cs index 171c2ec..f0c89c6 100644 --- a/src/Couchbase.Analytics/DnsUtil/DnsEndpointResolver.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/DnsEndpointResolver.cs @@ -20,9 +20,10 @@ #endregion using System.Net; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Public.DnsUtil; -namespace Couchbase.AnalyticsClient.DnsUtil; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil; internal class DnsEndpointResolver : IDnsEndpointResolver { diff --git a/src/Couchbase.Analytics/DnsUtil/EndpointConnectionManager.cs b/src/Couchbase.Analytics/Internal/DnsUtil/EndpointConnectionManager.cs similarity index 97% rename from src/Couchbase.Analytics/DnsUtil/EndpointConnectionManager.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/EndpointConnectionManager.cs index b055bfa..b25d4f9 100644 --- a/src/Couchbase.Analytics/DnsUtil/EndpointConnectionManager.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/EndpointConnectionManager.cs @@ -21,11 +21,11 @@ using System.Net; using System.Net.Sockets; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -namespace Couchbase.AnalyticsClient.DnsUtil; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil; internal class EndpointConnectionManager { diff --git a/src/Couchbase.Analytics/DnsUtil/EndpointSelectionMode.cs b/src/Couchbase.Analytics/Internal/DnsUtil/EndpointSelectionMode.cs similarity index 95% rename from src/Couchbase.Analytics/DnsUtil/EndpointSelectionMode.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/EndpointSelectionMode.cs index 357fbda..83fc5de 100644 --- a/src/Couchbase.Analytics/DnsUtil/EndpointSelectionMode.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/EndpointSelectionMode.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.DnsUtil; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil; internal enum EndpointSelectionMode { diff --git a/src/Couchbase.Analytics/DnsUtil/Strategies/CountBasedDnsRefreshStrategy.cs b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/CountBasedDnsRefreshStrategy.cs similarity index 96% rename from src/Couchbase.Analytics/DnsUtil/Strategies/CountBasedDnsRefreshStrategy.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/Strategies/CountBasedDnsRefreshStrategy.cs index 41ebdd2..f75a450 100644 --- a/src/Couchbase.Analytics/DnsUtil/Strategies/CountBasedDnsRefreshStrategy.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/CountBasedDnsRefreshStrategy.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.DnsUtil.Strategies; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; internal class CountBasedDnsRefreshStrategy : IDnsRefreshStrategy { diff --git a/src/Couchbase.Analytics/DnsUtil/Strategies/IDnsRefreshStrategy.cs b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/IDnsRefreshStrategy.cs similarity index 93% rename from src/Couchbase.Analytics/DnsUtil/Strategies/IDnsRefreshStrategy.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/Strategies/IDnsRefreshStrategy.cs index a907ab2..0948340 100644 --- a/src/Couchbase.Analytics/DnsUtil/Strategies/IDnsRefreshStrategy.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/IDnsRefreshStrategy.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.DnsUtil.Strategies; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; internal interface IDnsRefreshStrategy { diff --git a/src/Couchbase.Analytics/DnsUtil/Strategies/IEndpointSelectionStrategy.cs b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/IEndpointSelectionStrategy.cs similarity index 93% rename from src/Couchbase.Analytics/DnsUtil/Strategies/IEndpointSelectionStrategy.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/Strategies/IEndpointSelectionStrategy.cs index be29a7b..20aa101 100644 --- a/src/Couchbase.Analytics/DnsUtil/Strategies/IEndpointSelectionStrategy.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/IEndpointSelectionStrategy.cs @@ -21,7 +21,7 @@ using System.Net; -namespace Couchbase.AnalyticsClient.DnsUtil.Strategies; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; internal interface IEndpointSelectionStrategy { diff --git a/src/Couchbase.Analytics/DnsUtil/Strategies/RandomEndpointSelector.cs b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/RandomEndpointSelector.cs similarity index 97% rename from src/Couchbase.Analytics/DnsUtil/Strategies/RandomEndpointSelector.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/Strategies/RandomEndpointSelector.cs index 07cd181..4a63000 100644 --- a/src/Couchbase.Analytics/DnsUtil/Strategies/RandomEndpointSelector.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/RandomEndpointSelector.cs @@ -21,7 +21,7 @@ using System.Net; -namespace Couchbase.AnalyticsClient.DnsUtil.Strategies; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; internal class RandomEndpointSelector : IEndpointSelectionStrategy { diff --git a/src/Couchbase.Analytics/DnsUtil/Strategies/RoundRobinEndpointSelector.cs b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/RoundRobinEndpointSelector.cs similarity index 96% rename from src/Couchbase.Analytics/DnsUtil/Strategies/RoundRobinEndpointSelector.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/Strategies/RoundRobinEndpointSelector.cs index 21cf71f..2ea2656 100644 --- a/src/Couchbase.Analytics/DnsUtil/Strategies/RoundRobinEndpointSelector.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/RoundRobinEndpointSelector.cs @@ -21,7 +21,7 @@ using System.Net; -namespace Couchbase.AnalyticsClient.DnsUtil.Strategies; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; internal class RoundRobinEndpointSelector : IEndpointSelectionStrategy { diff --git a/src/Couchbase.Analytics/DnsUtil/Strategies/TimeBasedDnsRefreshStrategy.cs b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/TimeBasedDnsRefreshStrategy.cs similarity index 96% rename from src/Couchbase.Analytics/DnsUtil/Strategies/TimeBasedDnsRefreshStrategy.cs rename to src/Couchbase.Analytics/Internal/DnsUtil/Strategies/TimeBasedDnsRefreshStrategy.cs index 64689dd..78d7a34 100644 --- a/src/Couchbase.Analytics/DnsUtil/Strategies/TimeBasedDnsRefreshStrategy.cs +++ b/src/Couchbase.Analytics/Internal/DnsUtil/Strategies/TimeBasedDnsRefreshStrategy.cs @@ -21,7 +21,7 @@ using System.Diagnostics; -namespace Couchbase.AnalyticsClient.DnsUtil.Strategies; +namespace Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; internal class TimeBasedDnsRefreshStrategy : IDnsRefreshStrategy { diff --git a/src/Couchbase.Analytics/HTTP/AuthenticationHandler.cs b/src/Couchbase.Analytics/Internal/HTTP/AuthenticationHandler.cs similarity index 95% rename from src/Couchbase.Analytics/HTTP/AuthenticationHandler.cs rename to src/Couchbase.Analytics/Internal/HTTP/AuthenticationHandler.cs index c05d7c8..a8cb72c 100644 --- a/src/Couchbase.Analytics/HTTP/AuthenticationHandler.cs +++ b/src/Couchbase.Analytics/Internal/HTTP/AuthenticationHandler.cs @@ -21,8 +21,9 @@ using System.Net.Http.Headers; using System.Text; +using Couchbase.AnalyticsClient.Public.HTTP; -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Internal.HTTP; internal class AuthenticationHandler : DelegatingHandler { diff --git a/src/Couchbase.Analytics/HTTP/CouchbaseHttpClientFactory.cs b/src/Couchbase.Analytics/Internal/HTTP/CouchbaseHttpClientFactory.cs similarity index 94% rename from src/Couchbase.Analytics/HTTP/CouchbaseHttpClientFactory.cs rename to src/Couchbase.Analytics/Internal/HTTP/CouchbaseHttpClientFactory.cs index 13993d2..89b90a8 100644 --- a/src/Couchbase.Analytics/HTTP/CouchbaseHttpClientFactory.cs +++ b/src/Couchbase.Analytics/Internal/HTTP/CouchbaseHttpClientFactory.cs @@ -21,14 +21,15 @@ using System.Net.Sockets; using System.Security.Cryptography.X509Certificates; -using Couchbase.AnalyticsClient.Certificates; -using Couchbase.AnalyticsClient.DnsUtil; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Internal.DnsUtil; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.Utils; +using Couchbase.AnalyticsClient.Public.Certificates; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; using Microsoft.Extensions.Logging; -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Internal.HTTP; internal class CouchbaseHttpClientFactory : ICouchbaseHttpClientFactory { diff --git a/src/Couchbase.Analytics/HTTP/HttpServiceBase.cs b/src/Couchbase.Analytics/Internal/HTTP/HttpServiceBase.cs similarity index 96% rename from src/Couchbase.Analytics/HTTP/HttpServiceBase.cs rename to src/Couchbase.Analytics/Internal/HTTP/HttpServiceBase.cs index 9554e58..ea37a6b 100644 --- a/src/Couchbase.Analytics/HTTP/HttpServiceBase.cs +++ b/src/Couchbase.Analytics/Internal/HTTP/HttpServiceBase.cs @@ -19,9 +19,9 @@ * ************************************************************/ #endregion -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Internal.Utils; -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Internal.HTTP; /// /// Base class for HTTP services to inherit from to provide consistent access to clusterOptions, diff --git a/src/Couchbase.Analytics/HTTP/ICouchbaseHttpClientFactory.cs b/src/Couchbase.Analytics/Internal/HTTP/ICouchbaseHttpClientFactory.cs similarity index 97% rename from src/Couchbase.Analytics/HTTP/ICouchbaseHttpClientFactory.cs rename to src/Couchbase.Analytics/Internal/HTTP/ICouchbaseHttpClientFactory.cs index 4ef4c4d..da7ff47 100644 --- a/src/Couchbase.Analytics/HTTP/ICouchbaseHttpClientFactory.cs +++ b/src/Couchbase.Analytics/Internal/HTTP/ICouchbaseHttpClientFactory.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Internal.HTTP; /// /// Creates an which may be safely configured and disposed, but while diff --git a/src/Couchbase.Analytics/IAnalyticsService.cs b/src/Couchbase.Analytics/Internal/IAnalyticsService.cs similarity index 87% rename from src/Couchbase.Analytics/IAnalyticsService.cs rename to src/Couchbase.Analytics/Internal/IAnalyticsService.cs index 2ec1518..5aaf6b4 100644 --- a/src/Couchbase.Analytics/IAnalyticsService.cs +++ b/src/Couchbase.Analytics/Internal/IAnalyticsService.cs @@ -19,10 +19,10 @@ * ************************************************************/ #endregion -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Results; -namespace Couchbase.AnalyticsClient; +namespace Couchbase.AnalyticsClient.Internal; internal interface IAnalyticsService { diff --git a/src/Couchbase.Analytics/Results/AnalyticsResultBase.cs b/src/Couchbase.Analytics/Internal/Results/AnalyticsResultBase.cs similarity index 94% rename from src/Couchbase.Analytics/Results/AnalyticsResultBase.cs rename to src/Couchbase.Analytics/Internal/Results/AnalyticsResultBase.cs index bc94ce4..94c3e04 100644 --- a/src/Couchbase.Analytics/Results/AnalyticsResultBase.cs +++ b/src/Couchbase.Analytics/Internal/Results/AnalyticsResultBase.cs @@ -20,10 +20,11 @@ #endregion using System.Net; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Query; +using Couchbase.AnalyticsClient.Public.Results; using Couchbase.Text.Json; -namespace Couchbase.AnalyticsClient.Results; +namespace Couchbase.AnalyticsClient.Internal.Results; internal abstract class AnalyticsResultBase : IQueryResult { diff --git a/src/Couchbase.Analytics/Results/BlockingAnalyticsResult.cs b/src/Couchbase.Analytics/Internal/Results/BlockingAnalyticsResult.cs similarity index 94% rename from src/Couchbase.Analytics/Results/BlockingAnalyticsResult.cs rename to src/Couchbase.Analytics/Internal/Results/BlockingAnalyticsResult.cs index c384e5c..9775525 100644 --- a/src/Couchbase.Analytics/Results/BlockingAnalyticsResult.cs +++ b/src/Couchbase.Analytics/Internal/Results/BlockingAnalyticsResult.cs @@ -20,12 +20,13 @@ #endregion using System.Runtime.CompilerServices; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Query; -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Query; +using Couchbase.AnalyticsClient.Public.Results; +using Couchbase.AnalyticsClient.Public.Utils; using Couchbase.Text.Json; -namespace Couchbase.AnalyticsClient.Results; +namespace Couchbase.AnalyticsClient.Internal.Results; /// /// A "blocking" result class for Analytics queries. diff --git a/src/Couchbase.Analytics/Results/StreamingAnalyticsResult.cs b/src/Couchbase.Analytics/Internal/Results/StreamingAnalyticsResult.cs similarity index 97% rename from src/Couchbase.Analytics/Results/StreamingAnalyticsResult.cs rename to src/Couchbase.Analytics/Internal/Results/StreamingAnalyticsResult.cs index d19d3eb..709410a 100644 --- a/src/Couchbase.Analytics/Results/StreamingAnalyticsResult.cs +++ b/src/Couchbase.Analytics/Internal/Results/StreamingAnalyticsResult.cs @@ -20,10 +20,11 @@ #endregion using System.Runtime.CompilerServices; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Query; +using Couchbase.AnalyticsClient.Public.Results; using Couchbase.Text.Json; -namespace Couchbase.AnalyticsClient.Results; +namespace Couchbase.AnalyticsClient.Internal.Results; /// /// A streaming response class for Analytics queries. diff --git a/src/Couchbase.Analytics/Retry/AnalyticsErrorMapper.cs b/src/Couchbase.Analytics/Internal/Retry/AnalyticsErrorMapper.cs similarity index 96% rename from src/Couchbase.Analytics/Retry/AnalyticsErrorMapper.cs rename to src/Couchbase.Analytics/Internal/Retry/AnalyticsErrorMapper.cs index 1175151..bbcc150 100644 --- a/src/Couchbase.Analytics/Retry/AnalyticsErrorMapper.cs +++ b/src/Couchbase.Analytics/Internal/Retry/AnalyticsErrorMapper.cs @@ -21,12 +21,12 @@ using System.Net; using System.Net.Sockets; -using Couchbase.AnalyticsClient.Exceptions; -using Couchbase.AnalyticsClient.Query; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Internal.Results; +using Couchbase.AnalyticsClient.Public.Exceptions; +using Couchbase.AnalyticsClient.Public.Query; using TimeoutException = System.TimeoutException; -namespace Couchbase.AnalyticsClient.Retry; +namespace Couchbase.AnalyticsClient.Internal.Retry; /// /// Static utility for mapping HTTP status codes and server error codes to Analytics exceptions. diff --git a/src/Couchbase.Analytics/Retry/ErrorContext.cs b/src/Couchbase.Analytics/Internal/Retry/ErrorContext.cs similarity index 95% rename from src/Couchbase.Analytics/Retry/ErrorContext.cs rename to src/Couchbase.Analytics/Internal/Retry/ErrorContext.cs index b57c48f..cd0a5a4 100644 --- a/src/Couchbase.Analytics/Retry/ErrorContext.cs +++ b/src/Couchbase.Analytics/Internal/Retry/ErrorContext.cs @@ -22,10 +22,10 @@ using System.Net; using System.Text.Json; using System.Text.Json.Serialization; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Query; using Couchbase.Text.Json.Utils; -namespace Couchbase.AnalyticsClient.Retry; +namespace Couchbase.AnalyticsClient.Internal.Retry; internal class ErrorContext { diff --git a/src/Couchbase.Analytics/Retry/RetryUtils.cs b/src/Couchbase.Analytics/Internal/Retry/RetryUtils.cs similarity index 97% rename from src/Couchbase.Analytics/Retry/RetryUtils.cs rename to src/Couchbase.Analytics/Internal/Retry/RetryUtils.cs index d957fcc..d970ec3 100644 --- a/src/Couchbase.Analytics/Retry/RetryUtils.cs +++ b/src/Couchbase.Analytics/Internal/Retry/RetryUtils.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Retry; +namespace Couchbase.AnalyticsClient.Internal.Retry; /// /// Static utility methods for retry logic. diff --git a/src/Couchbase.Analytics/Utils/ClientIdentifier.cs b/src/Couchbase.Analytics/Internal/Utils/ClientIdentifier.cs similarity index 98% rename from src/Couchbase.Analytics/Utils/ClientIdentifier.cs rename to src/Couchbase.Analytics/Internal/Utils/ClientIdentifier.cs index 62a5011..baa8580 100644 --- a/src/Couchbase.Analytics/Utils/ClientIdentifier.cs +++ b/src/Couchbase.Analytics/Internal/Utils/ClientIdentifier.cs @@ -22,7 +22,7 @@ using System.Net.Http.Headers; using System.Runtime.InteropServices; -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Internal.Utils; internal static class ClientIdentifier { diff --git a/src/Couchbase.Analytics/Utils/ConnectionStringParams.cs b/src/Couchbase.Analytics/Internal/Utils/ConnectionStringParams.cs similarity index 96% rename from src/Couchbase.Analytics/Utils/ConnectionStringParams.cs rename to src/Couchbase.Analytics/Internal/Utils/ConnectionStringParams.cs index e913467..f75f3bb 100644 --- a/src/Couchbase.Analytics/Utils/ConnectionStringParams.cs +++ b/src/Couchbase.Analytics/Internal/Utils/ConnectionStringParams.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Internal.Utils; internal static class ConnectionStringParams { diff --git a/src/Couchbase.Analytics/Utils/CurrentAssembly.cs b/src/Couchbase.Analytics/Internal/Utils/CurrentAssembly.cs similarity index 97% rename from src/Couchbase.Analytics/Utils/CurrentAssembly.cs rename to src/Couchbase.Analytics/Internal/Utils/CurrentAssembly.cs index 3481255..d156892 100644 --- a/src/Couchbase.Analytics/Utils/CurrentAssembly.cs +++ b/src/Couchbase.Analytics/Internal/Utils/CurrentAssembly.cs @@ -21,7 +21,7 @@ using System.Reflection; -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Internal.Utils; internal static class CurrentAssembly { diff --git a/src/Couchbase.Analytics/Utils/IEnumerableExtensions.cs b/src/Couchbase.Analytics/Internal/Utils/IEnumerableExtensions.cs similarity index 99% rename from src/Couchbase.Analytics/Utils/IEnumerableExtensions.cs rename to src/Couchbase.Analytics/Internal/Utils/IEnumerableExtensions.cs index 0699c13..1d589e3 100644 --- a/src/Couchbase.Analytics/Utils/IEnumerableExtensions.cs +++ b/src/Couchbase.Analytics/Internal/Utils/IEnumerableExtensions.cs @@ -21,8 +21,9 @@ using System.Runtime.InteropServices; using System.Security.Cryptography; +using Couchbase.AnalyticsClient.Public.Utils; -namespace Couchbase.AnalyticsClient.Utils +namespace Couchbase.AnalyticsClient.Internal.Utils { internal static class ArrayExtensions { diff --git a/src/Couchbase.Analytics/Utils/SequenceGenerator.cs b/src/Couchbase.Analytics/Internal/Utils/SequenceGenerator.cs similarity index 97% rename from src/Couchbase.Analytics/Utils/SequenceGenerator.cs rename to src/Couchbase.Analytics/Internal/Utils/SequenceGenerator.cs index adfdf6c..24cdeef 100644 --- a/src/Couchbase.Analytics/Utils/SequenceGenerator.cs +++ b/src/Couchbase.Analytics/Internal/Utils/SequenceGenerator.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Internal.Utils; internal static class SequenceGenerator { diff --git a/src/Couchbase.Analytics/Certificates/CertificateTrustMode.cs b/src/Couchbase.Analytics/Public/Certificates/CertificateTrustMode.cs similarity index 96% rename from src/Couchbase.Analytics/Certificates/CertificateTrustMode.cs rename to src/Couchbase.Analytics/Public/Certificates/CertificateTrustMode.cs index db5a643..9e9a122 100644 --- a/src/Couchbase.Analytics/Certificates/CertificateTrustMode.cs +++ b/src/Couchbase.Analytics/Public/Certificates/CertificateTrustMode.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Certificates; +namespace Couchbase.AnalyticsClient.Public.Certificates; /// /// Represents the different modes for certificate trust validation. diff --git a/src/Couchbase.Analytics/Certificates/CertificateValidation.cs b/src/Couchbase.Analytics/Public/Certificates/CertificateValidation.cs similarity index 99% rename from src/Couchbase.Analytics/Certificates/CertificateValidation.cs rename to src/Couchbase.Analytics/Public/Certificates/CertificateValidation.cs index 03cd1d6..151f51c 100644 --- a/src/Couchbase.Analytics/Certificates/CertificateValidation.cs +++ b/src/Couchbase.Analytics/Public/Certificates/CertificateValidation.cs @@ -19,13 +19,13 @@ * ************************************************************/ #endregion +using System.Net.Security; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; -using System.Net.Security; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Public.Options; using Microsoft.Extensions.Logging; -namespace Couchbase.AnalyticsClient.Certificates; +namespace Couchbase.AnalyticsClient.Public.Certificates; /// /// Provides certificate validation and management functionality for Couchbase Analytics connections. diff --git a/src/Couchbase.Analytics/Cluster.cs b/src/Couchbase.Analytics/Public/Cluster.cs similarity index 96% rename from src/Couchbase.Analytics/Cluster.cs rename to src/Couchbase.Analytics/Public/Cluster.cs index 58ab4e6..446c6c2 100644 --- a/src/Couchbase.Analytics/Cluster.cs +++ b/src/Couchbase.Analytics/Public/Cluster.cs @@ -20,13 +20,14 @@ #endregion using System.Collections.Concurrent; -using Couchbase.AnalyticsClient.DI; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Internal; +using Couchbase.AnalyticsClient.Internal.DI; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Results; using Microsoft.Extensions.Logging; -namespace Couchbase.AnalyticsClient; +namespace Couchbase.AnalyticsClient.Public; public class Cluster : IDisposable { diff --git a/src/Couchbase.Analytics/DI/ClusterOptionsExtensions.cs b/src/Couchbase.Analytics/Public/DI/ClusterOptionsExtensions.cs similarity index 94% rename from src/Couchbase.Analytics/DI/ClusterOptionsExtensions.cs rename to src/Couchbase.Analytics/Public/DI/ClusterOptionsExtensions.cs index 2f575b7..26c8d52 100644 --- a/src/Couchbase.Analytics/DI/ClusterOptionsExtensions.cs +++ b/src/Couchbase.Analytics/Public/DI/ClusterOptionsExtensions.cs @@ -19,9 +19,9 @@ * ************************************************************/ #endregion -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Public.Options; -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Public.DI; public static class ClusterOptionsExtensions { diff --git a/src/Couchbase.Analytics/DI/ClusterServiceLifetime.cs b/src/Couchbase.Analytics/Public/DI/ClusterServiceLifetime.cs similarity index 96% rename from src/Couchbase.Analytics/DI/ClusterServiceLifetime.cs rename to src/Couchbase.Analytics/Public/DI/ClusterServiceLifetime.cs index 859883f..3077c56 100644 --- a/src/Couchbase.Analytics/DI/ClusterServiceLifetime.cs +++ b/src/Couchbase.Analytics/Public/DI/ClusterServiceLifetime.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.DI; +namespace Couchbase.AnalyticsClient.Public.DI; /// /// Represents the scope used for a custom cluster service. diff --git a/src/Couchbase.Analytics/Database.cs b/src/Couchbase.Analytics/Public/Database.cs similarity index 96% rename from src/Couchbase.Analytics/Database.cs rename to src/Couchbase.Analytics/Public/Database.cs index 096ace6..2dbe978 100644 --- a/src/Couchbase.Analytics/Database.cs +++ b/src/Couchbase.Analytics/Public/Database.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient; +namespace Couchbase.AnalyticsClient.Public; public sealed class Database { diff --git a/src/Couchbase.Analytics/DnsUtil/IDnsEndpointResolver.cs b/src/Couchbase.Analytics/Public/DnsUtil/IDnsEndpointResolver.cs similarity index 95% rename from src/Couchbase.Analytics/DnsUtil/IDnsEndpointResolver.cs rename to src/Couchbase.Analytics/Public/DnsUtil/IDnsEndpointResolver.cs index d29481b..af59328 100644 --- a/src/Couchbase.Analytics/DnsUtil/IDnsEndpointResolver.cs +++ b/src/Couchbase.Analytics/Public/DnsUtil/IDnsEndpointResolver.cs @@ -21,7 +21,7 @@ using System.Net; -namespace Couchbase.AnalyticsClient.DnsUtil; +namespace Couchbase.AnalyticsClient.Public.DnsUtil; public interface IDnsEndpointResolver { diff --git a/src/Couchbase.Analytics/Exceptions/AnalyticsException.cs b/src/Couchbase.Analytics/Public/Exceptions/AnalyticsException.cs similarity index 95% rename from src/Couchbase.Analytics/Exceptions/AnalyticsException.cs rename to src/Couchbase.Analytics/Public/Exceptions/AnalyticsException.cs index aa9078f..5d06827 100644 --- a/src/Couchbase.Analytics/Exceptions/AnalyticsException.cs +++ b/src/Couchbase.Analytics/Public/Exceptions/AnalyticsException.cs @@ -21,10 +21,9 @@ using System.Runtime.Serialization; using System.Text; -using System.Text.Json; -using Couchbase.AnalyticsClient.Retry; +using Couchbase.AnalyticsClient.Internal.Retry; -namespace Couchbase.AnalyticsClient.Exceptions; +namespace Couchbase.AnalyticsClient.Public.Exceptions; /// /// Base exception type for Analytics. diff --git a/src/Couchbase.Analytics/Exceptions/AnalyticsTimeoutException.cs b/src/Couchbase.Analytics/Public/Exceptions/AnalyticsTimeoutException.cs similarity index 95% rename from src/Couchbase.Analytics/Exceptions/AnalyticsTimeoutException.cs rename to src/Couchbase.Analytics/Public/Exceptions/AnalyticsTimeoutException.cs index 003271f..c75ee6b 100644 --- a/src/Couchbase.Analytics/Exceptions/AnalyticsTimeoutException.cs +++ b/src/Couchbase.Analytics/Public/Exceptions/AnalyticsTimeoutException.cs @@ -20,9 +20,9 @@ #endregion using System.Runtime.Serialization; -using Couchbase.AnalyticsClient.Retry; +using Couchbase.AnalyticsClient.Internal.Retry; -namespace Couchbase.AnalyticsClient.Exceptions; +namespace Couchbase.AnalyticsClient.Public.Exceptions; /// /// Thrown if the SDK detects a client-side timeout, or the server returns analytics error code 21002 (server-side timeout). diff --git a/src/Couchbase.Analytics/Exceptions/InvalidCredentialException.cs b/src/Couchbase.Analytics/Public/Exceptions/InvalidCredentialException.cs similarity index 93% rename from src/Couchbase.Analytics/Exceptions/InvalidCredentialException.cs rename to src/Couchbase.Analytics/Public/Exceptions/InvalidCredentialException.cs index 210d725..fcab001 100644 --- a/src/Couchbase.Analytics/Exceptions/InvalidCredentialException.cs +++ b/src/Couchbase.Analytics/Public/Exceptions/InvalidCredentialException.cs @@ -20,10 +20,9 @@ #endregion using System.Runtime.Serialization; -using System.Text.Json; -using Couchbase.AnalyticsClient.Retry; +using Couchbase.AnalyticsClient.Internal.Retry; -namespace Couchbase.AnalyticsClient.Exceptions; +namespace Couchbase.AnalyticsClient.Public.Exceptions; /// /// Thrown if the analytics service returns HTTP status code 401 or analytics error code 20000 diff --git a/src/Couchbase.Analytics/Exceptions/QueryException.cs b/src/Couchbase.Analytics/Public/Exceptions/QueryException.cs similarity index 93% rename from src/Couchbase.Analytics/Exceptions/QueryException.cs rename to src/Couchbase.Analytics/Public/Exceptions/QueryException.cs index 6d7cb8a..e7fd1b0 100644 --- a/src/Couchbase.Analytics/Exceptions/QueryException.cs +++ b/src/Couchbase.Analytics/Public/Exceptions/QueryException.cs @@ -20,9 +20,9 @@ #endregion using System.Runtime.Serialization; -using Couchbase.AnalyticsClient.Retry; +using Couchbase.AnalyticsClient.Internal.Retry; -namespace Couchbase.AnalyticsClient.Exceptions; +namespace Couchbase.AnalyticsClient.Public.Exceptions; /// /// Thrown if the analytics service returns a response with an error code other than 20000 or 21002. diff --git a/src/Couchbase.Analytics/HTTP/Credential.cs b/src/Couchbase.Analytics/Public/HTTP/Credential.cs similarity index 95% rename from src/Couchbase.Analytics/HTTP/Credential.cs rename to src/Couchbase.Analytics/Public/HTTP/Credential.cs index 2b00c1e..8bee625 100644 --- a/src/Couchbase.Analytics/HTTP/Credential.cs +++ b/src/Couchbase.Analytics/Public/HTTP/Credential.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Public.HTTP; public record Credential(string Username, string Password) : ICredential { diff --git a/src/Couchbase.Analytics/HTTP/ICredential.cs b/src/Couchbase.Analytics/Public/HTTP/ICredential.cs similarity index 96% rename from src/Couchbase.Analytics/HTTP/ICredential.cs rename to src/Couchbase.Analytics/Public/HTTP/ICredential.cs index deeac27..0a28f4d 100644 --- a/src/Couchbase.Analytics/HTTP/ICredential.cs +++ b/src/Couchbase.Analytics/Public/HTTP/ICredential.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Public.HTTP; public interface ICredential { diff --git a/src/Couchbase.Analytics/HTTP/IHttpClientHandler.cs b/src/Couchbase.Analytics/Public/HTTP/IHttpClientHandler.cs similarity index 95% rename from src/Couchbase.Analytics/HTTP/IHttpClientHandler.cs rename to src/Couchbase.Analytics/Public/HTTP/IHttpClientHandler.cs index 61f5713..43eb45c 100644 --- a/src/Couchbase.Analytics/HTTP/IHttpClientHandler.cs +++ b/src/Couchbase.Analytics/Public/HTTP/IHttpClientHandler.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Public.HTTP; public interface IHttpClientHandler { diff --git a/src/Couchbase.Analytics/HTTP/MediaType.cs b/src/Couchbase.Analytics/Public/HTTP/MediaType.cs similarity index 95% rename from src/Couchbase.Analytics/HTTP/MediaType.cs rename to src/Couchbase.Analytics/Public/HTTP/MediaType.cs index 175ceb3..f6e2bdb 100644 --- a/src/Couchbase.Analytics/HTTP/MediaType.cs +++ b/src/Couchbase.Analytics/Public/HTTP/MediaType.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.HTTP; +namespace Couchbase.AnalyticsClient.Public.HTTP; public static class MediaType { diff --git a/src/Couchbase.Analytics/Options/ClusterOptions.cs b/src/Couchbase.Analytics/Public/Options/ClusterOptions.cs similarity index 94% rename from src/Couchbase.Analytics/Options/ClusterOptions.cs rename to src/Couchbase.Analytics/Public/Options/ClusterOptions.cs index 4f1db55..45bb922 100644 --- a/src/Couchbase.Analytics/Options/ClusterOptions.cs +++ b/src/Couchbase.Analytics/Public/Options/ClusterOptions.cs @@ -21,14 +21,16 @@ using System.ComponentModel; using System.Security.Authentication; -using Couchbase.AnalyticsClient.DI; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Utils; +using Couchbase.AnalyticsClient.Internal; +using Couchbase.AnalyticsClient.Internal.DI; +using Couchbase.AnalyticsClient.Internal.Utils; +using Couchbase.AnalyticsClient.Public.DI; +using Couchbase.AnalyticsClient.Public.HTTP; using Couchbase.Text.Json.Utils; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -namespace Couchbase.AnalyticsClient.Options; +namespace Couchbase.AnalyticsClient.Public.Options; public record ClusterOptions { @@ -125,7 +127,7 @@ internal string? ConnectionString get => ConnectionStringValue?.ToString(); set { - ConnectionStringValue = value != null ? AnalyticsClient.ConnectionString.Parse(value) : null; + ConnectionStringValue = value != null ? Internal.ConnectionString.Parse(value) : null; if (ConnectionStringValue == null) return; diff --git a/src/Couchbase.Analytics/Options/QueryOptions.cs b/src/Couchbase.Analytics/Public/Options/QueryOptions.cs similarity index 99% rename from src/Couchbase.Analytics/Options/QueryOptions.cs rename to src/Couchbase.Analytics/Public/Options/QueryOptions.cs index 5c31c2b..d693fdb 100644 --- a/src/Couchbase.Analytics/Options/QueryOptions.cs +++ b/src/Couchbase.Analytics/Public/Options/QueryOptions.cs @@ -20,11 +20,11 @@ #endregion using System.Text.Json; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Query; using Couchbase.Text.Json; using Couchbase.Text.Json.Utils; -namespace Couchbase.AnalyticsClient.Options; +namespace Couchbase.AnalyticsClient.Public.Options; public record QueryOptions { diff --git a/src/Couchbase.Analytics/Options/SecurityOptions.cs b/src/Couchbase.Analytics/Public/Options/SecurityOptions.cs similarity index 97% rename from src/Couchbase.Analytics/Options/SecurityOptions.cs rename to src/Couchbase.Analytics/Public/Options/SecurityOptions.cs index f474fd1..e7dbf24 100644 --- a/src/Couchbase.Analytics/Options/SecurityOptions.cs +++ b/src/Couchbase.Analytics/Public/Options/SecurityOptions.cs @@ -21,9 +21,9 @@ using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; -using Couchbase.AnalyticsClient.Certificates; +using Couchbase.AnalyticsClient.Public.Certificates; -namespace Couchbase.AnalyticsClient.Options; +namespace Couchbase.AnalyticsClient.Public.Options; public record SecurityOptions { diff --git a/src/Couchbase.Analytics/Options/TimeoutOptions.cs b/src/Couchbase.Analytics/Public/Options/TimeoutOptions.cs similarity index 97% rename from src/Couchbase.Analytics/Options/TimeoutOptions.cs rename to src/Couchbase.Analytics/Public/Options/TimeoutOptions.cs index e9218da..4f263af 100644 --- a/src/Couchbase.Analytics/Options/TimeoutOptions.cs +++ b/src/Couchbase.Analytics/Public/Options/TimeoutOptions.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Options; +namespace Couchbase.AnalyticsClient.Public.Options; public record TimeoutOptions { diff --git a/src/Couchbase.Analytics/Query/QueryContext.cs b/src/Couchbase.Analytics/Public/Query/QueryContext.cs similarity index 98% rename from src/Couchbase.Analytics/Query/QueryContext.cs rename to src/Couchbase.Analytics/Public/Query/QueryContext.cs index e91b8c8..2bd79bd 100644 --- a/src/Couchbase.Analytics/Query/QueryContext.cs +++ b/src/Couchbase.Analytics/Public/Query/QueryContext.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Query; +namespace Couchbase.AnalyticsClient.Public.Query; /// /// Represents a query context that combines a database and scope into a formatted string diff --git a/src/Couchbase.Analytics/Query/QueryError.cs b/src/Couchbase.Analytics/Public/Query/QueryError.cs similarity index 95% rename from src/Couchbase.Analytics/Query/QueryError.cs rename to src/Couchbase.Analytics/Public/Query/QueryError.cs index 7543353..29f8892 100644 --- a/src/Couchbase.Analytics/Query/QueryError.cs +++ b/src/Couchbase.Analytics/Public/Query/QueryError.cs @@ -22,7 +22,7 @@ using System.Text.Json; using System.Text.Json.Serialization; -namespace Couchbase.AnalyticsClient.Query; +namespace Couchbase.AnalyticsClient.Public.Query; public record QueryError( [property: JsonPropertyName("code")] diff --git a/src/Couchbase.Analytics/Query/QueryMetaData.cs b/src/Couchbase.Analytics/Public/Query/QueryMetaData.cs similarity index 95% rename from src/Couchbase.Analytics/Query/QueryMetaData.cs rename to src/Couchbase.Analytics/Public/Query/QueryMetaData.cs index 9703b9a..fe42796 100644 --- a/src/Couchbase.Analytics/Query/QueryMetaData.cs +++ b/src/Couchbase.Analytics/Public/Query/QueryMetaData.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Query; +namespace Couchbase.AnalyticsClient.Public.Query; public sealed class QueryMetaData { diff --git a/src/Couchbase.Analytics/Query/QueryMetrics.cs b/src/Couchbase.Analytics/Public/Query/QueryMetrics.cs similarity index 97% rename from src/Couchbase.Analytics/Query/QueryMetrics.cs rename to src/Couchbase.Analytics/Public/Query/QueryMetrics.cs index bf3bcff..ca73c77 100644 --- a/src/Couchbase.Analytics/Query/QueryMetrics.cs +++ b/src/Couchbase.Analytics/Public/Query/QueryMetrics.cs @@ -22,7 +22,7 @@ using System.Text.Json.Serialization; using Couchbase.Text.Json; -namespace Couchbase.AnalyticsClient.Query; +namespace Couchbase.AnalyticsClient.Public.Query; public sealed class QueryMetrics { diff --git a/src/Couchbase.Analytics/Query/QueryPriority.cs b/src/Couchbase.Analytics/Public/Query/QueryPriority.cs similarity index 94% rename from src/Couchbase.Analytics/Query/QueryPriority.cs rename to src/Couchbase.Analytics/Public/Query/QueryPriority.cs index 8c0cc71..8a10cb7 100644 --- a/src/Couchbase.Analytics/Query/QueryPriority.cs +++ b/src/Couchbase.Analytics/Public/Query/QueryPriority.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Query; +namespace Couchbase.AnalyticsClient.Public.Query; public enum QueryPriority { diff --git a/src/Couchbase.Analytics/Query/ScanConsistency.cs b/src/Couchbase.Analytics/Public/Query/QueryScanConsistency.cs similarity index 89% rename from src/Couchbase.Analytics/Query/ScanConsistency.cs rename to src/Couchbase.Analytics/Public/Query/QueryScanConsistency.cs index 0aa3058..8308370 100644 --- a/src/Couchbase.Analytics/Query/ScanConsistency.cs +++ b/src/Couchbase.Analytics/Public/Query/QueryScanConsistency.cs @@ -21,9 +21,12 @@ using System.ComponentModel; -namespace Couchbase.AnalyticsClient.Query; +namespace Couchbase.AnalyticsClient.Public.Query; -public enum ScanConsistency +/// +/// The scan consistency setting specifies the consistency guarantee for index scanning. +/// +public enum QueryScanConsistency { /// /// The default which means that the query can return data that is currently indexed diff --git a/src/Couchbase.Analytics/Query/QueryWarning.cs b/src/Couchbase.Analytics/Public/Query/QueryWarning.cs similarity index 95% rename from src/Couchbase.Analytics/Query/QueryWarning.cs rename to src/Couchbase.Analytics/Public/Query/QueryWarning.cs index f54e4ad..88a03ea 100644 --- a/src/Couchbase.Analytics/Query/QueryWarning.cs +++ b/src/Couchbase.Analytics/Public/Query/QueryWarning.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Query; +namespace Couchbase.AnalyticsClient.Public.Query; public sealed class QueryWarning { diff --git a/src/Couchbase.Analytics/Results/AnalyticsRow.cs b/src/Couchbase.Analytics/Public/Results/AnalyticsRow.cs similarity index 96% rename from src/Couchbase.Analytics/Results/AnalyticsRow.cs rename to src/Couchbase.Analytics/Public/Results/AnalyticsRow.cs index bb51ce6..66a4845 100644 --- a/src/Couchbase.Analytics/Results/AnalyticsRow.cs +++ b/src/Couchbase.Analytics/Public/Results/AnalyticsRow.cs @@ -21,7 +21,7 @@ using Couchbase.Text.Json; -namespace Couchbase.AnalyticsClient.Results; +namespace Couchbase.AnalyticsClient.Public.Results; public sealed class AnalyticsRow { diff --git a/src/Couchbase.Analytics/Results/IQueryResult.cs b/src/Couchbase.Analytics/Public/Results/IQueryResult.cs similarity index 91% rename from src/Couchbase.Analytics/Results/IQueryResult.cs rename to src/Couchbase.Analytics/Public/Results/IQueryResult.cs index af27cda..cd40204 100644 --- a/src/Couchbase.Analytics/Results/IQueryResult.cs +++ b/src/Couchbase.Analytics/Public/Results/IQueryResult.cs @@ -20,9 +20,9 @@ #endregion using System.Net; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Query; -namespace Couchbase.AnalyticsClient.Results; +namespace Couchbase.AnalyticsClient.Public.Results; public interface IQueryResult : IDisposable, IAsyncEnumerable { diff --git a/src/Couchbase.Analytics/Scope.cs b/src/Couchbase.Analytics/Public/Scope.cs similarity index 92% rename from src/Couchbase.Analytics/Scope.cs rename to src/Couchbase.Analytics/Public/Scope.cs index 57046fd..a9dc141 100644 --- a/src/Couchbase.Analytics/Scope.cs +++ b/src/Couchbase.Analytics/Public/Scope.cs @@ -19,11 +19,11 @@ * ************************************************************/ #endregion -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Query; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Query; +using Couchbase.AnalyticsClient.Public.Results; -namespace Couchbase.AnalyticsClient; +namespace Couchbase.AnalyticsClient.Public; public sealed class Scope { diff --git a/src/Couchbase.Analytics/Utils/HostEndpoint.cs b/src/Couchbase.Analytics/Public/Utils/HostEndpoint.cs similarity index 99% rename from src/Couchbase.Analytics/Utils/HostEndpoint.cs rename to src/Couchbase.Analytics/Public/Utils/HostEndpoint.cs index 11f9441..e0b2b21 100644 --- a/src/Couchbase.Analytics/Utils/HostEndpoint.cs +++ b/src/Couchbase.Analytics/Public/Utils/HostEndpoint.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Public.Utils; /// /// diff --git a/src/Couchbase.Analytics/Utils/HostEndpointWithPort.cs b/src/Couchbase.Analytics/Public/Utils/HostEndpointWithPort.cs similarity index 99% rename from src/Couchbase.Analytics/Utils/HostEndpointWithPort.cs rename to src/Couchbase.Analytics/Public/Utils/HostEndpointWithPort.cs index ebdb3f9..3e5056b 100644 --- a/src/Couchbase.Analytics/Utils/HostEndpointWithPort.cs +++ b/src/Couchbase.Analytics/Public/Utils/HostEndpointWithPort.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Public.Utils; /// /// A host name and port pair. Unlike this type requires a port number. diff --git a/src/Couchbase.Analytics/Utils/StringExtensions.cs b/src/Couchbase.Analytics/Public/Utils/StringExtensions.cs similarity index 99% rename from src/Couchbase.Analytics/Utils/StringExtensions.cs rename to src/Couchbase.Analytics/Public/Utils/StringExtensions.cs index 3a60cce..f7e73d8 100644 --- a/src/Couchbase.Analytics/Utils/StringExtensions.cs +++ b/src/Couchbase.Analytics/Public/Utils/StringExtensions.cs @@ -19,7 +19,7 @@ * ************************************************************/ #endregion -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Public.Utils; public static class StringExtensions { diff --git a/src/Couchbase.Analytics/Utils/ThrowHelper.cs b/src/Couchbase.Analytics/Public/Utils/ThrowHelper.cs similarity index 97% rename from src/Couchbase.Analytics/Utils/ThrowHelper.cs rename to src/Couchbase.Analytics/Public/Utils/ThrowHelper.cs index 706d4e3..6a0a2ef 100644 --- a/src/Couchbase.Analytics/Utils/ThrowHelper.cs +++ b/src/Couchbase.Analytics/Public/Utils/ThrowHelper.cs @@ -21,7 +21,7 @@ using System.Diagnostics.CodeAnalysis; -namespace Couchbase.AnalyticsClient.Utils; +namespace Couchbase.AnalyticsClient.Public.Utils; public class ThrowHelper { diff --git a/src/Couchbase.Analytics/Query/QueryScanConsistency.cs b/src/Couchbase.Analytics/Query/QueryScanConsistency.cs deleted file mode 100644 index 5ac2fa9..0000000 --- a/src/Couchbase.Analytics/Query/QueryScanConsistency.cs +++ /dev/null @@ -1,38 +0,0 @@ -#region License -/* ************************************************************ - * - * @author Couchbase - * @copyright 2025 Couchbase, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ************************************************************/ -#endregion - -namespace Couchbase.AnalyticsClient.Query; - -/// -/// The scan consistency setting specifies the consistency guarantee for index scanning. -/// -public enum QueryScanConsistency -{ - /// - /// The index scan does not use a timestamp vector. This is the fastest mode, because it avoids the costs of obtaining the vector and waiting for the index to catch up to the vector. - /// - NotBounded, - - /// - /// This option implements bounded consistency. You can use this setting to implement read-your-own-writes (RYOW). - /// - RequestPlus -} \ No newline at end of file diff --git a/tests/Couchbase.Analytics.FunctionalTests/Fixtures/Analytics2Fixture.cs b/tests/Couchbase.Analytics.FunctionalTests/Fixtures/Analytics2Fixture.cs index 7ecf5bf..c1aff00 100644 --- a/tests/Couchbase.Analytics.FunctionalTests/Fixtures/Analytics2Fixture.cs +++ b/tests/Couchbase.Analytics.FunctionalTests/Fixtures/Analytics2Fixture.cs @@ -1,6 +1,7 @@ using System.Net; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Public; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; using Microsoft.Extensions.Configuration; using Xunit; diff --git a/tests/Couchbase.Analytics.FunctionalTests/Internal/AnalyticsServiceTests.cs b/tests/Couchbase.Analytics.FunctionalTests/Internal/AnalyticsServiceTests.cs index 73558a5..dbcf8ee 100644 --- a/tests/Couchbase.Analytics.FunctionalTests/Internal/AnalyticsServiceTests.cs +++ b/tests/Couchbase.Analytics.FunctionalTests/Internal/AnalyticsServiceTests.cs @@ -1,7 +1,7 @@ using System.Text.Json; -using Couchbase.AnalyticsClient.Exceptions; using Couchbase.AnalyticsClient.FunctionalTests.Fixtures; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Public.Exceptions; +using Couchbase.AnalyticsClient.Public.Options; using Xunit; using DnsClient; using Xunit.Abstractions; diff --git a/tests/Couchbase.Analytics.FunctionalTests/Internal/CouchbaseHttpClientTests.cs b/tests/Couchbase.Analytics.FunctionalTests/Internal/CouchbaseHttpClientTests.cs index aa4812d..400f154 100644 --- a/tests/Couchbase.Analytics.FunctionalTests/Internal/CouchbaseHttpClientTests.cs +++ b/tests/Couchbase.Analytics.FunctionalTests/Internal/CouchbaseHttpClientTests.cs @@ -3,12 +3,14 @@ using Xunit; using Xunit.Abstractions; using System.Net; -using Couchbase.AnalyticsClient.DI; -using Couchbase.AnalyticsClient.DnsUtil; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; -using Couchbase.AnalyticsClient.Exceptions; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Internal; +using Couchbase.AnalyticsClient.Internal.DI; +using Couchbase.AnalyticsClient.Internal.DnsUtil; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.HTTP; +using Couchbase.AnalyticsClient.Public.DnsUtil; +using Couchbase.AnalyticsClient.Public.Exceptions; +using Couchbase.AnalyticsClient.Public.Options; namespace Couchbase.AnalyticsClient.FunctionalTests.Internal; diff --git a/tests/Couchbase.Analytics.UnitTests/ClusterTests.cs b/tests/Couchbase.Analytics.UnitTests/ClusterTests.cs index eb2ed60..ed654d8 100644 --- a/tests/Couchbase.Analytics.UnitTests/ClusterTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/ClusterTests.cs @@ -1,7 +1,8 @@ using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Public; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; using Xunit; using Moq; #nullable enable diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/AnalyticsServiceTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/AnalyticsServiceTests.cs index b3ab7a0..461fac9 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/AnalyticsServiceTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/AnalyticsServiceTests.cs @@ -2,9 +2,10 @@ using System.Net.Http.Headers; using System.Runtime.InteropServices.JavaScript; using System.Text; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Internal; +using Couchbase.AnalyticsClient.Internal.HTTP; +using Couchbase.AnalyticsClient.Internal.Results; +using Couchbase.AnalyticsClient.Public.Options; using Couchbase.Text.Json; using Microsoft.Extensions.Logging; using Moq; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/BlockingAnalyticsResultTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/BlockingAnalyticsResultTests.cs index 6df6dee..6e07a6b 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/BlockingAnalyticsResultTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/BlockingAnalyticsResultTests.cs @@ -1,5 +1,5 @@ using System.Text.Json; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Internal.Results; using Couchbase.Text.Json; using Newtonsoft.Json; using Xunit; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/ClusterOptionTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/ClusterOptionTests.cs index 315c7a2..4ae314a 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/ClusterOptionTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/ClusterOptionTests.cs @@ -1,6 +1,6 @@ using System.Security.Cryptography.X509Certificates; -using Couchbase.AnalyticsClient.Certificates; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Public.Certificates; +using Couchbase.AnalyticsClient.Public.Options; using Xunit; using Xunit.Abstractions; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/ClusterRetryTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/ClusterRetryTests.cs index 11caafc..5cd2e7e 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/ClusterRetryTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/ClusterRetryTests.cs @@ -1,11 +1,13 @@ using System.Net; using System.Text; using System.Text.Json; -using Couchbase.AnalyticsClient.DI; -using Couchbase.AnalyticsClient.Exceptions; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Query; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Internal.HTTP; +using Couchbase.AnalyticsClient.Public; +using Couchbase.AnalyticsClient.Public.DI; +using Couchbase.AnalyticsClient.Public.Exceptions; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Query; using Couchbase.Text.Json; using Microsoft.Extensions.Logging; using Moq; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/ConnectionStringTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/ConnectionStringTests.cs index f2ab317..bc1de35 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/ConnectionStringTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/ConnectionStringTests.cs @@ -1,6 +1,7 @@ using System.Security.Authentication; -using Couchbase.AnalyticsClient.Certificates; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Internal; +using Couchbase.AnalyticsClient.Public.Certificates; +using Couchbase.AnalyticsClient.Public.Options; using Xunit; namespace Couchbase.AnalyticsClient.UnitTests.Internal diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/DI/ConstructorSelectorTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/DI/ConstructorSelectorTests.cs index ff79948..d406e87 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/DI/ConstructorSelectorTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/DI/ConstructorSelectorTests.cs @@ -1,5 +1,5 @@ using System; -using Couchbase.AnalyticsClient.DI; +using Couchbase.AnalyticsClient.Internal.DI; using Microsoft.Extensions.DependencyInjection; using Xunit; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/ConnectCallbackRoundRobinTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/ConnectCallbackRoundRobinTests.cs index 1bfdf9c..b1eafa0 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/ConnectCallbackRoundRobinTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/ConnectCallbackRoundRobinTests.cs @@ -1,9 +1,10 @@ using System.Net; using System.Reflection; -using Couchbase.AnalyticsClient.DnsUtil; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Internal.DnsUtil; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.HTTP; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; using Microsoft.Extensions.Logging; using Moq; using Xunit; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointConnectionManagerTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointConnectionManagerTests.cs index fa8e718..d6ec44a 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointConnectionManagerTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointConnectionManagerTests.cs @@ -1,6 +1,6 @@ using System.Net; -using Couchbase.AnalyticsClient.DnsUtil; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.DnsUtil; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; using Xunit; using Xunit.Abstractions; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointSelectionStrategyTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointSelectionStrategyTests.cs index 60041b1..b244b21 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointSelectionStrategyTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/DnsUtil/EndpointSelectionStrategyTests.cs @@ -2,7 +2,7 @@ using Xunit; using System.Linq; using System.Reflection; -using Couchbase.AnalyticsClient.DnsUtil.Strategies; +using Couchbase.AnalyticsClient.Internal.DnsUtil.Strategies; using Xunit.Abstractions; namespace Couchbase.AnalyticsClient.UnitTests.Internal.DnsUtil; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/ExecuteQueryTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/ExecuteQueryTests.cs index 38341ff..6ace399 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/ExecuteQueryTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/ExecuteQueryTests.cs @@ -1,8 +1,10 @@ -using Couchbase.AnalyticsClient.DI; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Query; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Internal; +using Couchbase.AnalyticsClient.Public; +using Couchbase.AnalyticsClient.Public.DI; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Query; +using Couchbase.AnalyticsClient.Public.Results; using Xunit; using Xunit.Abstractions; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/HTTP/AnalyticsHttpClientFactoryTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/HTTP/AnalyticsHttpClientFactoryTests.cs index b7db7f4..81f5321 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/HTTP/AnalyticsHttpClientFactoryTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/HTTP/AnalyticsHttpClientFactoryTests.cs @@ -1,6 +1,7 @@ using System.Security.Authentication; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; +using Couchbase.AnalyticsClient.Internal.HTTP; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; using Microsoft.Extensions.Logging; using Moq; using Xunit; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/QueryContextTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/QueryContextTests.cs index 19eb2d2..9290b25 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/QueryContextTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/QueryContextTests.cs @@ -4,10 +4,12 @@ using Microsoft.Extensions.Logging; using System.Net; using System.Text; -using Couchbase.AnalyticsClient.DI; -using Couchbase.AnalyticsClient.HTTP; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Internal.HTTP; +using Couchbase.AnalyticsClient.Public; +using Couchbase.AnalyticsClient.Public.DI; +using Couchbase.AnalyticsClient.Public.HTTP; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Query; using Moq.Protected; namespace Couchbase.AnalyticsClient.UnitTests.Internal; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/QueryOptionTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/QueryOptionTests.cs index 247cd6c..2fd8a83 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/QueryOptionTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/QueryOptionTests.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using Couchbase.AnalyticsClient; -using Couchbase.AnalyticsClient.Options; -using Couchbase.AnalyticsClient.Query; +using Couchbase.AnalyticsClient.Public.Options; +using Couchbase.AnalyticsClient.Public.Query; using Couchbase.Text.Json; using Xunit; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/RetryUtilsTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/RetryUtilsTests.cs index b7ff05b..bf7ab84 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/RetryUtilsTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/RetryUtilsTests.cs @@ -1,4 +1,4 @@ -using Couchbase.AnalyticsClient.Retry; +using Couchbase.AnalyticsClient.Internal.Retry; using Xunit; using Xunit.Abstractions; diff --git a/tests/Couchbase.Analytics.UnitTests/Internal/StreamingAnalyticsResultTests.cs b/tests/Couchbase.Analytics.UnitTests/Internal/StreamingAnalyticsResultTests.cs index ce2282d..646d045 100644 --- a/tests/Couchbase.Analytics.UnitTests/Internal/StreamingAnalyticsResultTests.cs +++ b/tests/Couchbase.Analytics.UnitTests/Internal/StreamingAnalyticsResultTests.cs @@ -1,5 +1,5 @@ using System.Text.Json; -using Couchbase.AnalyticsClient.Results; +using Couchbase.AnalyticsClient.Internal.Results; using Couchbase.Text.Json; using Moq; using Xunit;