diff --git a/.azure-pipelines/ci-build.yml b/.azure-pipelines/ci-build.yml
index d0823cf6..cedb47a0 100644
--- a/.azure-pipelines/ci-build.yml
+++ b/.azure-pipelines/ci-build.yml
@@ -6,11 +6,16 @@ name: $(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
trigger:
branches:
include:
- - master
+ - main
+ - support/v1
+ tags:
+ include:
+ - 'v*'
pr:
branches:
include:
- - master
+ - main
+ - support/v1
variables:
buildPlatform: 'Any CPU'
@@ -60,10 +65,10 @@ extends:
version: 8.x
# Install the nuget tool.
- - task: NuGetToolInstaller@0
- displayName: 'Use NuGet >=5.2.0'
+ - task: NuGetToolInstaller@1
+ displayName: 'Use NuGet >=6.11.0'
inputs:
- versionSpec: '>=5.2.0'
+ versionSpec: '>=6.11.0'
checkLatest: true
# Build the Product project
@@ -81,11 +86,16 @@ extends:
projects: '$(Build.SourcesDirectory)\Microsoft.OpenApi.OData.sln'
arguments: '--configuration $(BuildConfiguration) --no-build'
- - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@3
+ - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5
displayName: 'ESRP CodeSigning'
inputs:
- ConnectedServiceName: 'microsoftgraph ESRP CodeSign DLL and NuGet (AKV)'
- FolderPath: src
+ ConnectedServiceName: 'Federated DevX ESRP Managed Identity Connection'
+ FolderPath: 'src'
+ AppRegistrationClientId: '65035b7f-7357-4f29-bf25-c5ee5c3949f8'
+ AppRegistrationTenantId: 'cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
+ AuthAKVName: 'akv-prod-eastus'
+ AuthCertName: 'ReferenceLibraryPrivateCert'
+ AuthSignCertName: 'ReferencePackagePublisherCertificate'
signConfigType: inlineSignParams
inlineOperation: |
[
@@ -125,7 +135,10 @@ extends:
"toolVersion": "1.0"
}
]
- SessionTimeout: 20
+ SessionTimeout: '20'
+ MaxConcurrency: '50'
+ MaxRetryAttempts: '5'
+ PendingAnalysisWaitTimeoutMinutes: '5'
# Pack
- task: DotNetCoreCLI@2
@@ -135,19 +148,16 @@ extends:
projects: src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj
arguments: '-o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg'
- - task: PowerShell@2
- displayName: 'Validate project version has been incremented'
- condition: and(contains(variables['build.sourceBranch'], 'refs/heads/master'), succeeded())
- inputs:
- targetType: 'filePath'
- filePath: $(System.DefaultWorkingDirectory)\scripts\ValidateProjectVersionUpdated.ps1
- pwsh: true
-
- - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@3
+ - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5
displayName: 'ESRP CodeSigning Nuget Packages'
inputs:
- ConnectedServiceName: 'microsoftgraph ESRP CodeSign DLL and NuGet (AKV)'
+ ConnectedServiceName: 'Federated DevX ESRP Managed Identity Connection'
FolderPath: '$(Build.ArtifactStagingDirectory)'
+ AppRegistrationClientId: '65035b7f-7357-4f29-bf25-c5ee5c3949f8'
+ AppRegistrationTenantId: 'cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
+ AuthAKVName: 'akv-prod-eastus'
+ AuthCertName: 'ReferenceLibraryPrivateCert'
+ AuthSignCertName: 'ReferencePackagePublisherCertificate'
Pattern: '*.nupkg'
signConfigType: inlineSignParams
inlineOperation: |
@@ -167,13 +177,23 @@ extends:
"toolVersion": "1.0"
}
]
- SessionTimeout: 20
+ SessionTimeout: '60'
+ MaxConcurrency: '50'
+ MaxRetryAttempts: '5'
+ PendingAnalysisWaitTimeoutMinutes: '5'
- stage: deploy
- condition: and(contains(variables['build.sourceBranch'], 'refs/heads/master'), succeeded())
+ condition: and(contains(variables['build.sourceBranch'], 'refs/tags/v'), succeeded())
dependsOn: build
jobs:
- deployment: deploy
+ templateContext:
+ type: releaseJob
+ isProduction: true
+ inputs:
+ - input: pipelineArtifact
+ artifactName: Nugets
+ targetPath: '$(Pipeline.Workspace)'
environment: nuget-org
strategy:
runOnce:
@@ -181,16 +201,46 @@ extends:
pool:
vmImage: ubuntu-latest
steps:
- - task: DownloadPipelineArtifact@2
- displayName: Download nupkg from artifacts
- inputs:
- artifact: Nugets
- source: current
- task: 1ES.PublishNuget@1
displayName: 'NuGet push'
inputs:
- packagesToPush: '$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.OData.*.nupkg'
+ packagesToPush: '$(Pipeline.Workspace)/Microsoft.OpenApi.OData.*.nupkg'
nuGetFeedType: external
publishFeedCredentials: 'OpenAPI Nuget Connection'
packageParentPath: '$(Pipeline.Workspace)'
-
+
+ - deployment: create_github_release
+ templateContext:
+ type: releaseJob
+ isProduction: true
+ inputs:
+ - input: pipelineArtifact
+ artifactName: Nugets
+ targetPath: '$(Pipeline.Workspace)'
+ dependsOn: []
+ environment: kiota-github-releases
+ strategy:
+ runOnce:
+ deploy:
+ pool:
+ vmImage: ubuntu-latest
+ steps:
+ - pwsh: |
+ $artifactName = Get-ChildItem -Path $(Pipeline.Workspace) -Filter Microsoft.OpenApi.*.nupkg -recurse | select -First 1
+ $artifactVersion= $artifactName.Name -replace "Microsoft.OpenApi.OData.", "" -replace ".nupkg", ""
+ #Set Variable $artifactName and $artifactVersion
+ Write-Host "##vso[task.setvariable variable=artifactVersion; isSecret=false;]$artifactVersion"
+ echo "$artifactVersion"
+ displayName: 'Fetch Artifact Name'
+ - task: GitHubRelease@1
+ displayName: 'GitHub release'
+ condition: succeededOrFailed()
+ inputs:
+ gitHubConnection: 'Github-MaggieKimani1'
+ action: edit
+ tagSource: userSpecifiedTag
+ tag: 'v$(artifactVersion)'
+ title: 'v$(artifactVersion)'
+ releaseNotesSource: inline
+ assets: '$(Pipeline.Workspace)\**\*.nupkg'
+ addChangeLog: false
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 59abe62b..af656d49 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1 +1 @@
-* @xuzhg @irvinesunday @darrelmiller @zengin @coseguera @millicentachieng @andrueastman
+* @microsoft/openapi-write
diff --git a/.github/policies/OpenAPI.NET.OData-branch-protection.yml b/.github/policies/OpenAPI.NET.OData-branch-protection.yml
new file mode 100644
index 00000000..7a91aec7
--- /dev/null
+++ b/.github/policies/OpenAPI.NET.OData-branch-protection.yml
@@ -0,0 +1,82 @@
+# Copyright (c) Microsoft Corporation.
+# Licensed under the MIT License.
+
+# File initially created using https://github.com/MIchaelMainer/policyservicetoolkit/blob/main/branch_protection_export.ps1.
+
+name: OpenAPI.NET.OData-branch-protection
+description: Branch protection policy for the OpenAPI.NET.OData repository
+resource: repository
+configuration:
+ branchProtectionRules:
+
+ - branchNamePattern: main
+ # This branch pattern applies to the following branches as of 06/09/2024 20:45:44:
+ # main
+
+ # Specifies whether this branch can be deleted. boolean
+ allowsDeletions: false
+ # Specifies whether forced pushes are allowed on this branch. boolean
+ allowsForcePushes: false
+ # Specifies whether new commits pushed to the matching branches dismiss pull request review approvals. boolean
+ dismissStaleReviews: true
+ # Specifies whether admins can overwrite branch protection. boolean
+ isAdminEnforced: false
+ # Indicates whether "Require a pull request before merging" is enabled. boolean
+ requiresPullRequestBeforeMerging: true
+ # Specifies the number of pull request reviews before merging. int (0-6). Should be null/empty if PRs are not required
+ requiredApprovingReviewsCount: 1
+ # Require review from Code Owners. Requires requiredApprovingReviewsCount. boolean
+ requireCodeOwnersReview: true
+ # Are commits required to be signed. boolean. TODO: all contributors must have commit signing on local machines.
+ requiresCommitSignatures: false
+ # Are conversations required to be resolved before merging? boolean
+ requiresConversationResolution: true
+ # Are merge commits prohibited from being pushed to this branch. boolean
+ requiresLinearHistory: false
+ # Required status checks to pass before merging. Values can be any string, but if the value does not correspond to any existing status check, the status check will be stuck on pending for status since nothing exists to push an actual status
+ requiredStatusChecks:
+ - license/cla
+ - Continuous Integration
+ - CodeQL
+ # Require branches to be up to date before merging. This should be false since the repo contains autogenerated files. boolean
+ requiresStrictStatusChecks: false
+ # Indicates whether there are restrictions on who can push. boolean. Should be set with whoCanPush.
+ restrictsPushes: false
+ # Restrict who can dismiss pull request reviews. boolean
+ restrictsReviewDismissals: false
+
+ - branchNamePattern: support/v1
+ # This branch pattern applies to the following branches as of 06/09/2024 20:45:44:
+ # support/v1
+
+ # Specifies whether this branch can be deleted. boolean
+ allowsDeletions: false
+ # Specifies whether forced pushes are allowed on this branch. boolean
+ allowsForcePushes: false
+ # Specifies whether new commits pushed to the matching branches dismiss pull request review approvals. boolean
+ dismissStaleReviews: true
+ # Specifies whether admins can overwrite branch protection. boolean
+ isAdminEnforced: false
+ # Indicates whether "Require a pull request before merging" is enabled. boolean
+ requiresPullRequestBeforeMerging: true
+ # Specifies the number of pull request reviews before merging. int (0-6). Should be null/empty if PRs are not required
+ requiredApprovingReviewsCount: 1
+ # Require review from Code Owners. Requires requiredApprovingReviewsCount. boolean
+ requireCodeOwnersReview: true
+ # Are commits required to be signed. boolean. TODO: all contributors must have commit signing on local machines.
+ requiresCommitSignatures: false
+ # Are conversations required to be resolved before merging? boolean
+ requiresConversationResolution: true
+ # Are merge commits prohibited from being pushed to this branch. boolean
+ requiresLinearHistory: false
+ # Required status checks to pass before merging. Values can be any string, but if the value does not correspond to any existing status check, the status check will be stuck on pending for status since nothing exists to push an actual status
+ requiredStatusChecks:
+ - license/cla
+ - Continuous Integration
+ - CodeQL
+ # Require branches to be up to date before merging. This should be false since the repo contains autogenerated files. boolean
+ requiresStrictStatusChecks: false
+ # Indicates whether there are restrictions on who can push. boolean. Should be set with whoCanPush.
+ restrictsPushes: false
+ # Restrict who can dismiss pull request reviews. boolean
+ restrictsReviewDismissals: false
\ No newline at end of file
diff --git a/.github/release-please.yml b/.github/release-please.yml
new file mode 100644
index 00000000..c821fc16
--- /dev/null
+++ b/.github/release-please.yml
@@ -0,0 +1,7 @@
+manifest: true
+primaryBranch: main
+handleGHRelease: true
+branches:
+ - branch: support/v1
+ manifest: true
+ handleGHRelease: true
\ No newline at end of file
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index cd365f87..56409ee7 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -13,10 +13,10 @@ name: "CodeQL"
on:
push:
- branches: [ master ]
+ branches: [ main, support/v1 ]
pull_request:
# The branches below must be a subset of the branches above
- branches: [ master ]
+ branches: [ main, support/v1 ]
schedule:
- cron: '32 2 * * 6'
workflow_dispatch:
diff --git a/.github/workflows/release-please-gha.yml b/.github/workflows/release-please-gha.yml
new file mode 100644
index 00000000..2754b88e
--- /dev/null
+++ b/.github/workflows/release-please-gha.yml
@@ -0,0 +1,38 @@
+## -----------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See LICENSE.txt in the project root for license information.
+## -----------------------------------------------------------------------------
+#
+# Summary:
+# This GitHub Actions workflow automates the release process using Release Please.
+# It triggers on pushes to the main branch, generates a GitHub App token using organization
+# variables and secrets, and then runs the release-please-action to manage versioning and changelogs.
+
+name: Release Please
+
+on:
+ push:
+ branches:
+ - main
+ - support/v1
+jobs:
+ release-please-master:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Generate GitHub App token
+ id: app-token
+ uses: actions/create-github-app-token@v2
+ with:
+ app-id: ${{ vars.RELEASE_PLEASE_TOKEN_PROVIDER_APP_ID }}
+ private-key: ${{ secrets.RELEASE_PLEASE_TOKEN_PROVIDER_PEM }}
+
+ - name: Release Please
+ uses: googleapis/release-please-action@v4
+ with:
+ token: ${{ steps.app-token.outputs.token }}
+ config-file: release-please-config.json
+ manifest-file: .release-please-manifest.json
+ target-branch: ${{ github.ref_name }}
diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml
index 028b4e03..567536c5 100644
--- a/.github/workflows/sonarcloud.yml
+++ b/.github/workflows/sonarcloud.yml
@@ -4,6 +4,7 @@ on:
push:
branches:
- main
+ - support/v1
paths-ignore: ['.vscode/**']
pull_request:
types: [opened, synchronize, reopened]
@@ -60,8 +61,8 @@ jobs:
CoverletOutputFormat: 'opencover' # https://github.com/microsoft/vstest/issues/4014#issuecomment-1307913682
shell: pwsh
run: |
- dotnet tool run dotnet-sonarscanner begin /k:"microsoft_OpenAPI.NET.OData" /o:"microsoft" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.opencover.reportsPaths="test/**/coverage.net7.0.opencover.xml"
+ dotnet tool run dotnet-sonarscanner begin /k:"microsoft_OpenAPI.NET.OData" /o:"microsoft" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.opencover.reportsPaths="test/**/coverage.net8.0.opencover.xml"
dotnet workload restore
dotnet build
dotnet test Microsoft.OpenApi.OData.sln --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
- dotnet tool run dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}"
\ No newline at end of file
+ dotnet tool run dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}"
diff --git a/.gitignore b/.gitignore
index 940794e6..4caae17f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
-## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
# User-specific files
*.suo
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
new file mode 100644
index 00000000..7c590012
--- /dev/null
+++ b/.release-please-manifest.json
@@ -0,0 +1,3 @@
+{
+ ".": "1.7.6"
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 9cc75cea..9893070d 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -5,5 +5,6 @@
"MD025": {
"front_matter_title": ""
}
- }
+ },
+ "azure-pipelines.1ESPipelineTemplatesSchemaFile": true
}
\ No newline at end of file
diff --git a/Build.props b/Build.props
index 2bf36d01..16042ae9 100644
--- a/Build.props
+++ b/Build.props
@@ -15,6 +15,4 @@
$(MSBuildThisFileDirectory.TrimEnd('\'))
-
-
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..53600532
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,18 @@
+# Changelog
+
+## [1.7.6](https://github.com/microsoft/OpenAPI.NET.OData/compare/v1.7.5...v1.7.6) (2026-04-14)
+
+
+### Bug Fixes
+
+* TryAddPath exact-match check for duplicate bound operation paths ([#809](https://github.com/microsoft/OpenAPI.NET.OData/issues/809)) ([115e8f6](https://github.com/microsoft/OpenAPI.NET.OData/commit/115e8f6e990ed9bf4a7a89d438133e51f9e03031))
+
+## [1.7.5](https://github.com/microsoft/OpenAPI.NET.OData/compare/v1.7.4...v1.7.5) (2025-03-31)
+
+
+### Bug Fixes
+
+* filter out not found alternate keys properties ([d72bd6c](https://github.com/microsoft/OpenAPI.NET.OData/commit/d72bd6ce968f5bac7d2e698c58c95e1aa8ffdb74))
+* filter out not found alternate keys properties ([7cd11b4](https://github.com/microsoft/OpenAPI.NET.OData/commit/7cd11b4a59d3ca102e15f0596b39cd0934f63076))
+
+## Changelog
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..334509be
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,50 @@
+# Contributing to OpenAPI.net.OData
+
+OpenAPI.net.OData is a mono-repo containing source code for the following packages:
+
+## Libraries
+
+| Library | NuGet Release |
+|----------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [Microsoft.OpenAPI.OData](./README.md) | [](https://www.nuget.org/packages/Microsoft.OpenAPI.OData/) |
+
+OpenAPI.net.OData is open to contributions. There are a couple of different recommended paths to get contributions into the released version of this library.
+
+__NOTE__ A signed a contribution license agreement is required for all contributions, and is checked automatically on new pull requests. Please read and sign [the agreement](https://cla.microsoft.com/) before starting any work for this repository.
+
+## File issues
+
+The best way to get started with a contribution is to start a dialog with the owners of this repository. Sometimes features will be under development or out of scope for this SDK and it's best to check before starting work on contribution. Discussions on bugs and potential fixes could point you to the write change to make.
+
+## Submit pull requests for bug fixes and features
+
+Feel free to submit a pull request with a linked issue against the __main__ branch. The main branch will be updated frequently.
+## Commit message format
+
+To support our automated release process, pull requests are required to follow the [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/)
+format.
+Each commit message consists of a __header__, an optional __body__ and an optional __footer__. The header is the first line of the commit and
+MUST have a __type__ (see below for a list of types) and a __description__. An optional __scope__ can be added to the header to give extra context.
+
+```
+[optional scope]:
+
+
+
+
+```
+
+The recommended commit types used are:
+
+- __feat__ for feature updates (increments the _minor_ version)
+- __fix__ for bug fixes (increments the _patch_ version)
+- __perf__ for performance related changes e.g. optimizing an algorithm
+- __refactor__ for code refactoring changes
+- __test__ for test suite updates e.g. adding a test or fixing a test
+- __style__ for changes that don't affect the meaning of code. e.g. formatting changes
+- __docs__ for documentation updates e.g. ReadMe update or code documentation updates
+- __build__ for build system changes (gradle updates, external dependency updates)
+- __ci__ for CI configuration file changes e.g. updating a pipeline
+- __chore__ for miscallaneous non-sdk changesin the repo e.g. removing an unused file
+
+Adding an exclamation mark after the commit type (`feat!`) or footer with the prefix __BREAKING CHANGE:__ will cause an increment of the _major_ version.
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 00000000..9dad1db3
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,25 @@
+
+
+ $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb
+ Microsoft
+ Microsoft
+ MIT
+ true
+ https://github.com/Microsoft/OpenAPI.NET
+ https://github.com/Microsoft/OpenAPI.NET.OData
+ https://github.com/microsoft/OpenAPI.NET.OData/releases
+ false
+ http://go.microsoft.com/fwlink/?LinkID=288890
+ https://github.com/Microsoft/OpenAPI.NET.OData
+ © Microsoft Corporation. All rights reserved.
+ Microsoft OpenApi OData EDM
+ 1.7.6
+
+
+
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/Microsoft.OpenApi.OData.sln b/Microsoft.OpenApi.OData.sln
index a385330d..085f0a15 100644
--- a/Microsoft.OpenApi.OData.sln
+++ b/Microsoft.OpenApi.OData.sln
@@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30907.101
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenApi.OData.Reader", "src\Microsoft.OpenApi.OData.Reader\Microsoft.OpenAPI.OData.Reader.csproj", "{FF3ACD93-19E0-486C-9C0F-FA1C2E7FC8C2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenAPI.OData.Reader", "src\Microsoft.OpenApi.OData.Reader\Microsoft.OpenAPI.OData.Reader.csproj", "{FF3ACD93-19E0-486C-9C0F-FA1C2E7FC8C2}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenApi.OData.Reader.Tests", "test\Microsoft.OpenAPI.OData.Reader.Tests\Microsoft.OpenAPI.OData.Reader.Tests.csproj", "{90A98718-75EB-4E2B-A51E-66ACF66F15B4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenAPI.OData.Reader.Tests", "test\Microsoft.OpenAPI.OData.Reader.Tests\Microsoft.OpenAPI.OData.Reader.Tests.csproj", "{90A98718-75EB-4E2B-A51E-66ACF66F15B4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OoasUtil", "src\OoasUtil\OoasUtil.csproj", "{2D06C660-B550-432C-8062-D4070F7C371F}"
EndProject
@@ -16,10 +16,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tool", "tool", "{DE8F8E75-A119-4CF3-AFDD-4132B55DAE76}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateDocs", "tool\UpdateDocs\UpdateDocs.csproj", "{AAC31ECB-05F9-444A-9B86-42ECD50AA468}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -42,10 +38,6 @@ Global
{79B190E8-EDB0-4C03-8FD8-EB48E4807CFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{79B190E8-EDB0-4C03-8FD8-EB48E4807CFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{79B190E8-EDB0-4C03-8FD8-EB48E4807CFB}.Release|Any CPU.Build.0 = Release|Any CPU
- {AAC31ECB-05F9-444A-9B86-42ECD50AA468}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AAC31ECB-05F9-444A-9B86-42ECD50AA468}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AAC31ECB-05F9-444A-9B86-42ECD50AA468}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AAC31ECB-05F9-444A-9B86-42ECD50AA468}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -53,7 +45,4 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9AE22713-F94E-45CA-81F4-0806CA195B69}
EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {AAC31ECB-05F9-444A-9B86-42ECD50AA468} = {DE8F8E75-A119-4CF3-AFDD-4132B55DAE76}
- EndGlobalSection
EndGlobal
diff --git a/README.md b/README.md
index 575d609e..b0212307 100644
--- a/README.md
+++ b/README.md
@@ -8,15 +8,15 @@ The **Microsoft.OpenAPI.OData.Reader** library helps represent an OData service
The conversion is based on the mapping doc from [OASIS OData OpenAPI v1.0](https://www.oasis-open.org/committees/document.php?document_id=61852&wg_abbrev=odata) and uses the following :
-1. [Capabilities vocabulary annotation](https://github.com/oasis-tcs/odata-vocabularies/blob/master/vocabularies/Org.OData.Capabilities.V1.xml)
-2. [Authorization vocabulary annotation](https://github.com/oasis-tcs/odata-vocabularies/blob/master/vocabularies/Org.OData.Authorization.V1.xml)
-3. [Core vocabulary annotation](https://github.com/oasis-tcs/odata-vocabularies/blob/master/vocabularies/Org.OData.Core.V1.xml)
+1. [Capabilities vocabulary annotation](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Capabilities.V1.xml)
+2. [Authorization vocabulary annotation](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Authorization.V1.xml)
+3. [Core vocabulary annotation](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.xml)
4. Navigation property path
5. Edm operation and operation import path
## Overview
-The image below is generic overview of how this library can convert the EDM model to an [OpenAPI.NET document](https://github.com/Microsoft/OpenAPI.NET/blob/master/src/Microsoft.OpenApi/Models/OpenApiDocument.cs) object.
+The image below is generic overview of how this library can convert the EDM model to an [OpenAPI.NET document](https://github.com/Microsoft/OpenAPI.NET/blob/main/src/Microsoft.OpenApi/Models/OpenApiDocument.cs) object.

diff --git a/docs/oas3_0_0/TripService.json b/docs/oas3_0_0/TripService.json
index d16a2df8..c9f2082a 100644
--- a/docs/oas3_0_0/TripService.json
+++ b/docs/oas3_0_0/TripService.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace Microsoft.OData.Service.Sample.TrippinInMemory.Models",
"description": "This OData service is located at http://localhost",
diff --git a/docs/oas3_0_0/graph.beta.json b/docs/oas3_0_0/graph.beta.json
index e16fa966..9e20d18e 100644
--- a/docs/oas3_0_0/graph.beta.json
+++ b/docs/oas3_0_0/graph.beta.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace microsoft.graph",
"description": "This OData service is located at https://graph.microsoft.com/beta",
diff --git a/docs/oas3_0_0/graph1.0.json b/docs/oas3_0_0/graph1.0.json
index 0c0008df..dee21ce7 100644
--- a/docs/oas3_0_0/graph1.0.json
+++ b/docs/oas3_0_0/graph1.0.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace microsoft.graph",
"description": "This OData service is located at https://graph.microsoft.com/v1.0",
diff --git a/docs/oas3_0_0/graph1.0_updated.json b/docs/oas3_0_0/graph1.0_updated.json
index 0c0008df..dee21ce7 100644
--- a/docs/oas3_0_0/graph1.0_updated.json
+++ b/docs/oas3_0_0/graph1.0_updated.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace microsoft.graph",
"description": "This OData service is located at https://graph.microsoft.com/v1.0",
diff --git a/docs/oas3_0_0/graph1.0_withSecurity.json b/docs/oas3_0_0/graph1.0_withSecurity.json
index 9b8f96dd..e8c26bb4 100644
--- a/docs/oas3_0_0/graph1.0_withSecurity.json
+++ b/docs/oas3_0_0/graph1.0_withSecurity.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace microsoft.graph",
"description": "This OData service is located at https://graph.microsoft.com/v1.0",
diff --git a/release-please-config.json b/release-please-config.json
new file mode 100644
index 00000000..96a36472
--- /dev/null
+++ b/release-please-config.json
@@ -0,0 +1,30 @@
+{
+ "bootstrap-sha": "f69fea0e056e6de5a76b128e31ab580ec13356fa",
+ "exclude-paths": [
+ ".azure-pipelines",
+ ".github",
+ ".idea",
+ ".vs",
+ ".vscode"
+ ],
+ "release-type": "simple",
+ "bump-minor-pre-major": true,
+ "bump-patch-for-minor-pre-major": true,
+ "include-component-in-tag": false,
+ "include-v-in-tag": true,
+ "draft": false,
+ "packages": {
+ ".": {
+ "package-name": "Microsoft.OpenApi.OData",
+ "changelog-path": "CHANGELOG.md",
+ "extra-files": [
+ {
+ "type": "xml",
+ "path": "Directory.Build.props",
+ "xpath": "//Project/PropertyGroup/Version"
+ }
+ ]
+ }
+ },
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
+}
\ No newline at end of file
diff --git a/scripts/ValidateProjectVersionUpdated.ps1 b/scripts/ValidateProjectVersionUpdated.ps1
deleted file mode 100644
index faa6800e..00000000
--- a/scripts/ValidateProjectVersionUpdated.ps1
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License.
-
-<#
-.Synopsis
- Validates that the package version has been updated
-.Description
- Validates that the package version has been updated by comparing the version
- specified in the project file with the latest package version published on
- NuGet. If the version has not been updated, the script will fail and indicate
- that the project version neeeds to be updated.
-#>
-Install-Module SemVerPS -Scope CurrentUser -Force
-$packageName = "Microsoft.OpenApi.OData"
-$csprojPath = Join-Path $PSScriptRoot "..\src\Microsoft.OpenApi.OData.Reader\Microsoft.OpenAPI.OData.Reader.csproj"
-
-[XML]$csprojFile = Get-Content $csprojPath
-$versionNode = Select-Xml $csprojFile -XPath "//Project/PropertyGroup/Version" | Select-Object -ExpandProperty Node
-$projectVersion = $versionNode.InnerText
-
-# Cast the project version string to System.Version
-$currentProjectVersion = ConvertTo-SemVer -Version $projectVersion
-
-# API is case-sensitive
-$packageName = $packageName.ToLower()
-$url = "https://api.nuget.org/v3/registration5-gz-semver2/$packageName/index.json"
-
-# Call the NuGet API for the package and get the current published version.
-$nugetIndex = Invoke-RestMethod -Uri $url -Method Get
-$publishedVersionString = $nugetIndex.items[0].upper
-
-# Cast the published version string to System.Version
-$currentPublishedVersion = ConvertTo-SemVer -Version $publishedVersionString
-
-# Validate that the version number has been updated.
-if ($currentProjectVersion -le $currentPublishedVersion) {
- Write-Error "The project version in versioning.props file ($projectVersion) `
- has not been bumped up. The current published version is $publishedVersionString. `
- Please increment the current project version."
-}
-else {
- Write-Host "Validated that the version has been updated from $publishedVersionString to $currentProjectVersion" -ForegroundColor Green
-}
diff --git a/src/Microsoft.OpenApi.OData.Reader/Common/Constants.cs b/src/Microsoft.OpenApi.OData.Reader/Common/Constants.cs
index 2bb9dd77..6f24d5a4 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Common/Constants.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Common/Constants.cs
@@ -3,6 +3,8 @@
// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
// ------------------------------------------------------------
+using System;
+
namespace Microsoft.OpenApi.OData.Common
{
///
@@ -165,11 +167,6 @@ internal static class Constants
///
public static string StringType = "string";
- ///
- /// integer type
- ///
- public static string IntegerType = "integer";
-
///
/// number type
///
diff --git a/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs b/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs
index d636fa0d..030baba1 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Common/EdmModelHelper.cs
@@ -6,6 +6,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Security.Cryptography.X509Certificates;
using Microsoft.OData.Edm;
using Microsoft.OData.Edm.Csdl;
using Microsoft.OData.Edm.Vocabularies;
@@ -93,38 +94,40 @@ internal static bool NavigationRestrictionsAllowsNavigability(
/// Generates the operation id from a navigation property path.
///
/// The target .
+ /// The OData context.
/// Optional: Identifier indicating whether it is a collection-valued non-indexed or single-valued navigation property.
/// The operation id generated from the given navigation property path.
- internal static string GenerateNavigationPropertyPathOperationId(ODataPath path, string prefix = null)
+ internal static string GenerateNavigationPropertyPathOperationId(ODataPath path, ODataContext context, string prefix = null)
{
- IList items = RetrieveNavigationPropertyPathsOperationIdSegments(path);
+ IList items = RetrieveNavigationPropertyPathsOperationIdSegments(path, context);
if (!items.Any())
return null;
- int lastItemIndex = items.Count - 1;
+ int lastItemIndex = items[items.Count-1].StartsWith("-") ? items.Count - 2 : items.Count - 1;
if (!string.IsNullOrEmpty(prefix))
{
- items[lastItemIndex] = prefix + Utils.UpperFirstChar(items.Last());
+ items[lastItemIndex] = prefix + Utils.UpperFirstChar(items[lastItemIndex]);
}
else
{
- items[lastItemIndex] = Utils.UpperFirstChar(items.Last());
+ items[lastItemIndex] = Utils.UpperFirstChar(items[lastItemIndex]);
}
- return string.Join(".", items);
+ return GenerateNavigationPropertyPathOperationId(items);
}
///
/// Generates the operation id from a complex property path.
///
/// The target .
+ /// The OData context.
/// Optional: Identifier indicating whether it is a collection-valued or single-valued complex property.
/// The operation id generated from the given complex property path.
- internal static string GenerateComplexPropertyPathOperationId(ODataPath path, string prefix = null)
+ internal static string GenerateComplexPropertyPathOperationId(ODataPath path, ODataContext context, string prefix = null)
{
- IList items = RetrieveNavigationPropertyPathsOperationIdSegments(path);
+ IList items = RetrieveNavigationPropertyPathsOperationIdSegments(path, context);
if (!items.Any())
return null;
@@ -141,15 +144,29 @@ internal static string GenerateComplexPropertyPathOperationId(ODataPath path, st
items.Add(Utils.UpperFirstChar(lastSegment?.Identifier));
}
- return string.Join(".", items);
+ return GenerateNavigationPropertyPathOperationId(items);
+ }
+
+ ///
+ /// Generates a navigation property operation id from a list of string values.
+ ///
+ /// The list of string values.
+ /// The generated navigation property operation id.
+ private static string GenerateNavigationPropertyPathOperationId(IList items)
+ {
+ if (!items.Any())
+ return null;
+
+ return string.Join(".", items).Replace(".-", "-"); // Format any hashed value appropriately (this will be the last value)
}
///
/// Retrieves the segments of an operation id generated from a navigation property path.
///
/// The target .
+ /// The OData context.
/// The segments of an operation id generated from the given navigation property path.
- internal static IList RetrieveNavigationPropertyPathsOperationIdSegments(ODataPath path)
+ internal static IList RetrieveNavigationPropertyPathsOperationIdSegments(ODataPath path, ODataContext context)
{
Utils.CheckArgumentNull(path, nameof(path));
@@ -173,6 +190,8 @@ s is ODataOperationSegment ||
Utils.CheckArgumentNull(segments, nameof(segments));
string previousTypeCastSegmentId = null;
+ string pathHash = string.Empty;
+
foreach (var segment in segments)
{
if (segment is ODataNavigationPropertySegment navPropSegment)
@@ -189,25 +208,38 @@ s is ODataOperationSegment ||
previousTypeCastSegmentId = "As" + Utils.UpperFirstChar(schemaElement.Name);
items.Add(previousTypeCastSegmentId);
}
- else if (segment is ODataOperationSegment operationSegment)
- {
- // Navigation property generated via composable function
- items.Add(operationSegment.Identifier);
+ else if (segment is ODataOperationSegment operationSegment)
+ {
+ // Navigation property generated via composable function
+ if (operationSegment.Operation is IEdmFunction function && context.Model.IsOperationOverload(function))
+ {
+ // Hash the segment to avoid duplicate operationIds
+ pathHash = string.IsNullOrEmpty(pathHash)
+ ? operationSegment.GetPathHash(context.Settings)
+ : (pathHash + operationSegment.GetPathHash(context.Settings)).GetHashSHA256().Substring(0,4);
+ }
+
+ items.Add(operationSegment.Identifier);
}
- else if (segment is ODataKeySegment keySegment && keySegment.IsAlternateKey)
- {
- // We'll consider alternate keys in the operation id to eliminate potential duplicates with operation id of primary path
- if (segment == segments.Last())
- {
- items.Add("By" + string.Join("", keySegment.Identifier.Split(',').Select(static x => Utils.UpperFirstChar(x))));
- }
- else
- {
- items.Add(keySegment.Identifier);
- }
+ else if (segment is ODataKeySegment keySegment && keySegment.IsAlternateKey)
+ {
+ // We'll consider alternate keys in the operation id to eliminate potential duplicates with operation id of primary path
+ if (segment == segments.Last())
+ {
+ items.Add("By" + string.Join("", keySegment.Identifier.Split(',').Select(static x => Utils.UpperFirstChar(x))));
+ }
+ else
+ {
+ items.Add(keySegment.Identifier);
+ }
}
}
+ if (!string.IsNullOrEmpty(pathHash))
+ {
+ items.Add("-" + pathHash);
+ }
+
return items;
}
@@ -320,9 +352,10 @@ internal static string GenerateComplexPropertyPathTagName(ODataPath path, ODataC
/// Generates the operation id prefix from an OData type cast path.
///
/// The target .
+ /// The OData context.
/// Optional: Whether to include the List or Get prefix to the generated operation id.
/// The operation id prefix generated from the OData type cast path.
- internal static string GenerateODataTypeCastPathOperationIdPrefix(ODataPath path, bool includeListOrGetPrefix = true)
+ internal static string GenerateODataTypeCastPathOperationIdPrefix(ODataPath path, ODataContext context, bool includeListOrGetPrefix = true)
{
// Get the segment before the last OData type cast segment
ODataTypeCastSegment typeCastSegment = path.Segments.OfType()?.Last();
@@ -352,7 +385,7 @@ internal static string GenerateODataTypeCastPathOperationIdPrefix(ODataPath path
if (secondLastSegment is ODataComplexPropertySegment complexSegment)
{
string listOrGet = includeListOrGetPrefix ? (complexSegment.Property.Type.IsCollection() ? "List" : "Get") : null;
- operationId = GenerateComplexPropertyPathOperationId(path, listOrGet);
+ operationId = GenerateComplexPropertyPathOperationId(path, context, listOrGet);
}
else if (secondLastSegment is ODataNavigationPropertySegment navPropSegment)
{
@@ -362,27 +395,27 @@ internal static string GenerateODataTypeCastPathOperationIdPrefix(ODataPath path
prefix = navPropSegment?.NavigationProperty.TargetMultiplicity() == EdmMultiplicity.Many ? "List" : "Get";
}
- operationId = GenerateNavigationPropertyPathOperationId(path, prefix);
+ operationId = GenerateNavigationPropertyPathOperationId(path, context, prefix);
}
else if (secondLastSegment is ODataKeySegment keySegment)
{
- if (isIndexedCollValuedNavProp)
- {
- operationId = GenerateNavigationPropertyPathOperationId(path, "Get");
+ if (isIndexedCollValuedNavProp)
+ {
+ operationId = GenerateNavigationPropertyPathOperationId(path, context, "Get");
+ }
+ else
+ {
+ string entityTypeName = keySegment.EntityType.Name;
+ string getPrefix = includeListOrGetPrefix ? "Get" : null;
+ string operationName = $"{getPrefix}{Utils.UpperFirstChar(entityTypeName)}";
+ if (keySegment.IsAlternateKey)
+ {
+ string alternateKeyName = string.Join("", keySegment.Identifier.Split(',').Select(static x => Utils.UpperFirstChar(x)));
+ operationName = $"{operationName}By{alternateKeyName}";
+ }
+ operationId = (entitySet != null) ? entitySet.Name : singleton.Name;
+ operationId += $".{entityTypeName}.{operationName}";
}
- else
- {
- string entityTypeName = keySegment.EntityType.Name;
- string getPrefix = includeListOrGetPrefix ? "Get" : null;
- string operationName = $"{getPrefix}{Utils.UpperFirstChar(entityTypeName)}";
- if (keySegment.IsAlternateKey)
- {
- string alternateKeyName = string.Join("", keySegment.Identifier.Split(',').Select(static x => Utils.UpperFirstChar(x)));
- operationName = $"{operationName}By{alternateKeyName}";
- }
- operationId = (entitySet != null) ? entitySet.Name : singleton.Name;
- operationId += $".{entityTypeName}.{operationName}";
- }
}
else if (secondLastSegment is ODataNavigationSourceSegment)
{
diff --git a/src/Microsoft.OpenApi.OData.Reader/Common/Utils.cs b/src/Microsoft.OpenApi.OData.Reader/Common/Utils.cs
index 52192e32..6dc8e97e 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Common/Utils.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Common/Utils.cs
@@ -372,6 +372,13 @@ internal static bool TryAddPath(this IDictionary pathIt
if (derivedTypes?.Any() ?? false)
{
+ if (boundEntityType != null && boundEntityType == operationEntityType)
+ {
+ // The operation's binding type exactly matches the entity set's type,
+ // so this is a more specific overload than whatever was added first.
+ pathItems[pathName] = pathItem;
+ return true;
+ }
if (boundEntityType != null && !derivedTypes.Contains(boundEntityType))
{
Debug.WriteLine($"Duplicate paths present but entity type of binding parameter '{operationEntityType}' " +
diff --git a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs
index 0c5a17fb..1c12bef6 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs
@@ -705,8 +705,9 @@ private void CreateAlternateKeyPath(ODataPath currentPath, IEdmEntityType entity
IEnumerable> alternateKeys = _model.GetAlternateKeysAnnotation(entityType);
foreach (var keyDict in alternateKeys)
{
+ if (keyDict.Where(static x => x.Value is not null).ToDictionary(static k => k.Key, static v => v.Value.Name) is not { Count: > 0 } keyMappings)
+ continue;
ODataPath keyPath = currentPath.Clone();
- IDictionary keyMappings = keyDict.ToDictionary(static k => k.Key, static v => v.Value.Name);
ODataKeySegment keySegment = new(entityType, keyMappings)
{
IsAlternateKey = true
diff --git a/src/Microsoft.OpenApi.OData.Reader/Edm/RecordExpressionExtensions.cs b/src/Microsoft.OpenApi.OData.Reader/Edm/RecordExpressionExtensions.cs
index 01cf7aea..5d8dc6d4 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Edm/RecordExpressionExtensions.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Edm/RecordExpressionExtensions.cs
@@ -94,18 +94,30 @@ public static string GetString(this IEdmRecordExpression record, string property
/// The property name.
/// The Enum value or null.
public static T? GetEnum(this IEdmRecordExpression record, string propertyName)
- where T : struct
+ where T : struct, Enum
{
Utils.CheckArgumentNull(record, nameof(record));
Utils.CheckArgumentNull(propertyName, nameof(propertyName));
- return (record.Properties?.FirstOrDefault(e => propertyName.Equals(e.Name, StringComparison.Ordinal)) is IEdmPropertyConstructor property &&
+ if (record.Properties?.FirstOrDefault(e => propertyName.Equals(e.Name, StringComparison.Ordinal))
+ is IEdmPropertyConstructor property &&
property.Value is IEdmEnumMemberExpression value &&
value.EnumMembers != null &&
- value.EnumMembers.Any() &&
- Enum.TryParse(value.EnumMembers.First().Name, out T result)) ?
- result :
- null;
+ value.EnumMembers.Any())
+ {
+ long combinedValue = 0;
+ foreach (var enumMember in value.EnumMembers)
+ {
+ if (Enum.TryParse(enumMember.Name, out T enumValue))
+ {
+ combinedValue |= Convert.ToInt64(enumValue);
+ }
+ }
+
+ return (T)Enum.ToObject(typeof(T), combinedValue);
+ }
+
+ return null;
}
///
diff --git a/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiEdmTypeSchemaGenerator.cs b/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiEdmTypeSchemaGenerator.cs
index 24ab0d00..1144abf3 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiEdmTypeSchemaGenerator.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiEdmTypeSchemaGenerator.cs
@@ -33,17 +33,17 @@ public static OpenApiSchema CreateEdmTypeSchema(this ODataContext context, IEdmT
Utils.CheckArgumentNull(edmTypeReference, nameof(edmTypeReference));
switch (edmTypeReference.TypeKind())
- {
- // Collection-valued structural and navigation are represented as Schema Objects of type array.
- // The value of the items keyword is a Schema Object specifying the type of the items.
+ {
+ // Collection-valued structural and navigation are represented as Schema Objects of type array.
+ // The value of the items keyword is a Schema Object specifying the type of the items.
case EdmTypeKind.Collection:
IEdmTypeReference typeRef = edmTypeReference.AsCollection().ElementType();
OpenApiSchema schema;
- schema = typeRef.TypeKind() == EdmTypeKind.Complex || typeRef.TypeKind() == EdmTypeKind.Entity
- ? context.CreateStructuredTypeSchema(typeRef.AsStructured(), true)
- : context.CreateEdmTypeSchema(typeRef);
-
+ schema = typeRef.TypeKind() == EdmTypeKind.Complex || typeRef.TypeKind() == EdmTypeKind.Entity
+ ? context.CreateStructuredTypeSchema(typeRef.AsStructured(), true)
+ : context.CreateEdmTypeSchema(typeRef);
+
return new OpenApiSchema
{
Type = "array",
@@ -133,7 +133,8 @@ public static OpenApiSchema CreateSchema(this ODataContext context, IEdmPrimitiv
}
// Nullable properties are marked with the keyword nullable and a value of true.
- schema.Nullable = primitiveType.IsNullable ? true : false;
+ // nullable cannot be true when type is empty, often common in anyof/allOf since individual entries are nullable
+ schema.Nullable = !string.IsNullOrEmpty(schema.Type) && primitiveType.IsNullable;
}
return schema;
@@ -169,7 +170,7 @@ public static OpenApiSchema CreateSchema(this ODataContext context, IEdmPrimitiv
schema.Default = new OpenApiBoolean(false);
break;
case EdmPrimitiveTypeKind.Byte: // byte
- schema.Type = Constants.IntegerType;
+ schema.Type = Constants.NumberType;
schema.Format = "uint8";
break;
case EdmPrimitiveTypeKind.DateTimeOffset: // datetime offset
@@ -182,8 +183,8 @@ public static OpenApiSchema CreateSchema(this ODataContext context, IEdmPrimitiv
{
schema.OneOf = new List
{
- new OpenApiSchema { Type = Constants.NumberType, Format = Constants.DecimalFormat },
- new OpenApiSchema { Type = Constants.StringType },
+ new OpenApiSchema { Type = Constants.NumberType, Format = Constants.DecimalFormat, Nullable = true },
+ new OpenApiSchema { Type = Constants.StringType, Nullable = true },
};
}
else
@@ -195,8 +196,8 @@ public static OpenApiSchema CreateSchema(this ODataContext context, IEdmPrimitiv
case EdmPrimitiveTypeKind.Double: // double
schema.OneOf = new List
{
- new OpenApiSchema { Type = Constants.NumberType, Format = "double" },
- new OpenApiSchema { Type = Constants.StringType },
+ new OpenApiSchema { Type = Constants.NumberType, Format = "double", Nullable = true },
+ new OpenApiSchema { Type = Constants.StringType, Nullable = true },
new OpenApiSchema
{
UnresolvedReference = true,
@@ -211,8 +212,8 @@ public static OpenApiSchema CreateSchema(this ODataContext context, IEdmPrimitiv
case EdmPrimitiveTypeKind.Single: // single
schema.OneOf = new List
{
- new OpenApiSchema { Type = Constants.NumberType, Format = "float" },
- new OpenApiSchema { Type = Constants.StringType },
+ new OpenApiSchema { Type = Constants.NumberType, Format = "float", Nullable = true },
+ new OpenApiSchema { Type = Constants.StringType, Nullable = true },
new OpenApiSchema
{
UnresolvedReference = true,
@@ -230,13 +231,13 @@ public static OpenApiSchema CreateSchema(this ODataContext context, IEdmPrimitiv
schema.Pattern = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$";
break;
case EdmPrimitiveTypeKind.Int16:
- schema.Type = Constants.IntegerType;
+ schema.Type = Constants.NumberType;
schema.Format = "int16";
schema.Minimum = Int16.MinValue; // -32768
schema.Maximum = Int16.MaxValue; // 32767
break;
case EdmPrimitiveTypeKind.Int32:
- schema.Type = Constants.IntegerType;
+ schema.Type = Constants.NumberType;
schema.Format = "int32";
schema.Minimum = Int32.MinValue; // -2147483648
schema.Maximum = Int32.MaxValue; // 2147483647
@@ -246,18 +247,18 @@ public static OpenApiSchema CreateSchema(this ODataContext context, IEdmPrimitiv
{
schema.OneOf = new List
{
- new OpenApiSchema { Type = Constants.IntegerType, Format = Constants.Int64Format },
- new OpenApiSchema { Type = Constants.StringType }
+ new OpenApiSchema { Type = Constants.NumberType, Format = Constants.Int64Format, Nullable = true },
+ new OpenApiSchema { Type = Constants.StringType, Nullable = true }
};
}
else
{
- schema.Type = Constants.IntegerType;
+ schema.Type = Constants.NumberType;
schema.Format = Constants.Int64Format;
}
break;
case EdmPrimitiveTypeKind.SByte:
- schema.Type = Constants.IntegerType;
+ schema.Type = Constants.NumberType;
schema.Format = "int8";
schema.Minimum = SByte.MinValue; // -128
schema.Maximum = SByte.MaxValue; // 127
@@ -469,47 +470,47 @@ private static OpenApiSchema CreateEnumTypeSchema(this ODataContext context, IEd
private static OpenApiSchema CreateStructuredTypeSchema(this ODataContext context, IEdmStructuredTypeReference typeReference, bool isTypeCollection = false)
{
Debug.Assert(context != null);
- Debug.Assert(typeReference != null);
-
- OpenApiSchema schema = new OpenApiSchema();
-
- // AnyOf will only be valid openApi for version 3
- // otherwise the reference should be set directly
- // as per OASIS documentation for openApi version 2
- // Collections of structured types cannot be nullable
- if (typeReference.IsNullable && !isTypeCollection &&
- (context.Settings.OpenApiSpecVersion >= OpenApiSpecVersion.OpenApi3_0))
- {
- schema.Reference = null;
- schema.AnyOf = new List
- {
- new OpenApiSchema
- {
- UnresolvedReference = true,
- Reference = new OpenApiReference
- {
- Type = ReferenceType.Schema,
- Id = typeReference.Definition.FullTypeName()
- }
- },
- new OpenApiSchema
- {
- Type = "object",
- Nullable = true
- }
- };
- }
- else
- {
- schema.Type = null;
- schema.AnyOf = null;
- schema.Reference = new OpenApiReference
- {
- Type = ReferenceType.Schema,
- Id = typeReference.Definition.FullTypeName()
- };
- schema.UnresolvedReference = true;
- schema.Nullable = typeReference.IsNullable;
+ Debug.Assert(typeReference != null);
+
+ OpenApiSchema schema = new OpenApiSchema();
+
+ // AnyOf will only be valid openApi for version 3
+ // otherwise the reference should be set directly
+ // as per OASIS documentation for openApi version 2
+ // Collections of structured types cannot be nullable
+ if (typeReference.IsNullable && !isTypeCollection &&
+ (context.Settings.OpenApiSpecVersion >= OpenApiSpecVersion.OpenApi3_0))
+ {
+ schema.Reference = null;
+ schema.AnyOf = new List
+ {
+ new OpenApiSchema
+ {
+ UnresolvedReference = true,
+ Reference = new OpenApiReference
+ {
+ Type = ReferenceType.Schema,
+ Id = typeReference.Definition.FullTypeName()
+ }
+ },
+ new OpenApiSchema
+ {
+ Type = "object",
+ Nullable = true
+ }
+ };
+ }
+ else
+ {
+ schema.Type = null;
+ schema.AnyOf = null;
+ schema.Reference = new OpenApiReference
+ {
+ Type = ReferenceType.Schema,
+ Id = typeReference.Definition.FullTypeName()
+ };
+ schema.UnresolvedReference = true;
+ schema.Nullable = typeReference.IsNullable;
}
return schema;
diff --git a/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiSchemaGenerator.cs b/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiSchemaGenerator.cs
index bcbf6aea..f32e9e18 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiSchemaGenerator.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiSchemaGenerator.cs
@@ -121,12 +121,14 @@ public static IDictionary CreateSchemas(this ODataContext
schemas[Constants.ReferenceNumericName] = new()
{
- Enum = new List
- {
+ Type = Constants.StringType,
+ Nullable = true,
+ Enum =
+ [
new OpenApiString("-INF"),
new OpenApiString("INF"),
new OpenApiString("NaN")
- }
+ ]
};
if (context.Settings.EnableODataAnnotationReferencesForResponses)
diff --git a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj
index bb5af0b3..193a738b 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj
+++ b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj
@@ -4,25 +4,12 @@
Microsoft.OpenApi.OData.Reader
Latest
true
- icon.png
- https://github.com/Microsoft/OpenAPI.NET.OData
- MIT
- true
- Microsoft
- Microsoft
Microsoft Open API OData Reader
Microsoft.OpenApi.OData
netstandard2.0
Microsoft.OpenApi.OData
true
- 1.6.8
This package contains the codes you need to convert OData CSDL to Open API Document of Model.
- © Microsoft Corporation. All rights reserved.
- Microsoft OpenApi OData EDM
- https://github.com/Microsoft/OpenAPI.NET.OData
-
- - Adds support for configuring composable functions generations #551
-
Microsoft.OpenApi.OData.Reader
..\..\tool\Microsoft.OpenApi.OData.snk
..\..\bin\Debug\
@@ -41,17 +28,12 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
+
-
True
True
@@ -66,4 +48,4 @@
-
+
\ No newline at end of file
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyGetOperationHandler.cs
index 072ac9e8..1f8d3124 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyGetOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyGetOperationHandler.cs
@@ -39,7 +39,7 @@ protected override void SetBasicInfo(OpenApiOperation operation)
if (Context.Settings.EnableOperationId)
{
string prefix = ComplexPropertySegment.Property.Type.IsCollection() ? "List" : "Get";
- operation.OperationId = EdmModelHelper.GenerateComplexPropertyPathOperationId(Path, prefix);
+ operation.OperationId = EdmModelHelper.GenerateComplexPropertyPathOperationId(Path, Context, prefix);
}
// Summary and Description
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyPostOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyPostOperationHandler.cs
index 50b58e12..6fd736c6 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyPostOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyPostOperationHandler.cs
@@ -42,7 +42,7 @@ protected override void SetBasicInfo(OpenApiOperation operation)
// OperationId
if (Context.Settings.EnableOperationId)
{
- operation.OperationId = EdmModelHelper.GenerateComplexPropertyPathOperationId(Path, "Set");
+ operation.OperationId = EdmModelHelper.GenerateComplexPropertyPathOperationId(Path, Context, "Set");
}
// Summary and Description
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyUpdateOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyUpdateOperationHandler.cs
index d3790baa..5973f59a 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyUpdateOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyUpdateOperationHandler.cs
@@ -23,9 +23,9 @@ protected override void Initialize(ODataContext context, ODataPath path)
{
base.Initialize(context, path);
- _updateRestrictions = Context.Model.GetRecord(TargetPath, CapabilitiesConstants.UpdateRestrictions);
- var complexPropertyUpdateRestrictions = Context.Model.GetRecord(ComplexPropertySegment.Property, CapabilitiesConstants.UpdateRestrictions);
- _updateRestrictions?.MergePropertiesIfNull(complexPropertyUpdateRestrictions);
+ _updateRestrictions = Context.Model.GetRecord(TargetPath, CapabilitiesConstants.UpdateRestrictions);
+ var complexPropertyUpdateRestrictions = Context.Model.GetRecord(ComplexPropertySegment.Property, CapabilitiesConstants.UpdateRestrictions);
+ _updateRestrictions?.MergePropertiesIfNull(complexPropertyUpdateRestrictions);
_updateRestrictions ??= complexPropertyUpdateRestrictions;
}
@@ -40,7 +40,8 @@ protected override void SetBasicInfo(OpenApiOperation operation)
// OperationId
if (Context.Settings.EnableOperationId)
{
- operation.OperationId = EdmModelHelper.GenerateComplexPropertyPathOperationId(Path, "Update");
+ string prefix = OperationType == OperationType.Patch ? "Update" : "Set";
+ operation.OperationId = EdmModelHelper.GenerateComplexPropertyPathOperationId(Path, Context, prefix);
}
}
@@ -101,37 +102,37 @@ protected override void AppendCustomParameters(OpenApiOperation operation)
private OpenApiSchema GetOpenApiSchema()
{
- var schema = new OpenApiSchema
- {
- UnresolvedReference = true,
- Reference = new OpenApiReference
- {
- Type = ReferenceType.Schema,
- Id = ComplexPropertySegment.ComplexType.FullName()
- }
- };
-
- if (ComplexPropertySegment.Property.Type.IsCollection())
- {
+ var schema = new OpenApiSchema
+ {
+ UnresolvedReference = true,
+ Reference = new OpenApiReference
+ {
+ Type = ReferenceType.Schema,
+ Id = ComplexPropertySegment.ComplexType.FullName()
+ }
+ };
+
+ if (ComplexPropertySegment.Property.Type.IsCollection())
+ {
return new OpenApiSchema
{
Type = Constants.ObjectType,
- Properties = new Dictionary
- {
- {
+ Properties = new Dictionary
+ {
+ {
"value",
new OpenApiSchema
{
Type = "array",
Items = schema
- }
- }
+ }
+ }
}
- };
- }
- else
- {
- return schema;
+ };
+ }
+ else
+ {
+ return schema;
}
}
}
\ No newline at end of file
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs
index 74082736..0e78ac2e 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs
@@ -128,17 +128,17 @@ protected override void SetBasicInfo(OpenApiOperation operation)
}
else if (SecondLastSegment is ODataNavigationPropertySegment)
{
- var navPropOpId = string.Join(".", EdmModelHelper.RetrieveNavigationPropertyPathsOperationIdSegments(Path));
+ var navPropOpId = string.Join(".", EdmModelHelper.RetrieveNavigationPropertyPathsOperationIdSegments(Path, Context));
operation.OperationId = $"{navPropOpId}.GetCount-{Path.GetPathHash(Context.Settings)}";
}
else if (SecondLastSegment is ODataTypeCastSegment odataTypeCastSegment)
{
IEdmNamedElement targetStructuredType = odataTypeCastSegment.StructuredType as IEdmNamedElement;
- operation.OperationId = $"{EdmModelHelper.GenerateODataTypeCastPathOperationIdPrefix(Path, false)}.GetCount.As{Utils.UpperFirstChar(targetStructuredType.Name)}-{Path.GetPathHash(Context.Settings)}";
+ operation.OperationId = $"{EdmModelHelper.GenerateODataTypeCastPathOperationIdPrefix(Path, Context, false)}.GetCount.As{Utils.UpperFirstChar(targetStructuredType.Name)}-{Path.GetPathHash(Context.Settings)}";
}
else if (SecondLastSegment is ODataComplexPropertySegment)
{
- operation.OperationId = $"{EdmModelHelper.GenerateComplexPropertyPathOperationId(Path)}.GetCount-{Path.GetPathHash(Context.Settings)}";
+ operation.OperationId = $"{EdmModelHelper.GenerateComplexPropertyPathOperationId(Path, Context)}.GetCount-{Path.GetPathHash(Context.Settings)}";
}
}
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs
index 72ebb225..5fe1a590 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs
@@ -1,94 +1,95 @@
-// ------------------------------------------------------------
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
-// ------------------------------------------------------------
-
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.OData.Edm;
-using Microsoft.OpenApi.Any;
-using Microsoft.OpenApi.Models;
-using Microsoft.OpenApi.OData.Common;
-using Microsoft.OpenApi.OData.Edm;
-using Microsoft.OpenApi.OData.Generator;
-using Microsoft.OpenApi.OData.Vocabulary.Capabilities;
-using Microsoft.OpenApi.OData.Vocabulary.Core;
-
-namespace Microsoft.OpenApi.OData.Operation
-{
- ///
- /// Base class for operation of .
- ///
- internal abstract class EdmOperationOperationHandler : OperationHandler
- {
- private OperationRestrictionsType _operationRestriction;
-
- ///
- /// Gets the navigation source.
- ///
- protected IEdmNavigationSource NavigationSource { get; private set; }
-
- ///
- /// Gets the Edm operation.
- ///
- protected IEdmOperation EdmOperation { get; private set; }
-
- ///
- /// Gets the OData operation segment.
- ///
- protected ODataOperationSegment OperationSegment { get; private set; }
-
- ///
- /// Gets a value indicating whether the path has type cast segment or not.
- ///
- protected bool HasTypeCast { get; private set; }
-
- ///
- protected override void Initialize(ODataContext context, ODataPath path)
+// ------------------------------------------------------------
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+// ------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.OData.Edm;
+using Microsoft.OpenApi.Any;
+using Microsoft.OpenApi.Models;
+using Microsoft.OpenApi.OData.Common;
+using Microsoft.OpenApi.OData.Edm;
+using Microsoft.OpenApi.OData.Generator;
+using Microsoft.OpenApi.OData.Vocabulary.Capabilities;
+using Microsoft.OpenApi.OData.Vocabulary.Core;
+
+namespace Microsoft.OpenApi.OData.Operation
+{
+ ///
+ /// Base class for operation of .
+ ///
+ internal abstract class EdmOperationOperationHandler : OperationHandler
+ {
+ private OperationRestrictionsType _operationRestriction;
+
+ ///
+ /// Gets the navigation source.
+ ///
+ protected IEdmNavigationSource NavigationSource { get; private set; }
+
+ ///
+ /// Gets the Edm operation.
+ ///
+ protected IEdmOperation EdmOperation { get; private set; }
+
+ ///
+ /// Gets the OData operation segment.
+ ///
+ protected ODataOperationSegment OperationSegment { get; private set; }
+
+ ///
+ /// Gets a value indicating whether the path has type cast segment or not.
+ ///
+ protected bool HasTypeCast { get; private set; }
+
+ ///
+ protected override void Initialize(ODataContext context, ODataPath path)
{
- base.Initialize(context, path);
-
- // It's bound operation, the first segment must be the navigaiton source.
- ODataNavigationSourceSegment navigationSourceSegment = path.FirstSegment as ODataNavigationSourceSegment;
- NavigationSource = navigationSourceSegment.NavigationSource;
-
- OperationSegment = path.LastSegment as ODataOperationSegment;
- EdmOperation = OperationSegment.Operation;
-
- HasTypeCast = path.Segments.Any(s => s is ODataTypeCastSegment);
-
+ base.Initialize(context, path);
+
+ // It's bound operation, the first segment must be the navigaiton source.
+ ODataNavigationSourceSegment navigationSourceSegment = path.FirstSegment as ODataNavigationSourceSegment;
+ NavigationSource = navigationSourceSegment.NavigationSource;
+
+ OperationSegment = path.LastSegment as ODataOperationSegment;
+ EdmOperation = OperationSegment.Operation;
+
+ HasTypeCast = path.Segments.Any(s => s is ODataTypeCastSegment);
+
_operationRestriction = Context.Model.GetRecord(TargetPath, CapabilitiesConstants.OperationRestrictions);
var operationRestrictions = Context.Model.GetRecord(EdmOperation, CapabilitiesConstants.OperationRestrictions);
_operationRestriction?.MergePropertiesIfNull(operationRestrictions);
- _operationRestriction ??= operationRestrictions;
- }
-
- ///
- protected override void SetBasicInfo(OpenApiOperation operation)
- {
- // Summary
- operation.Summary = "Invoke " + (EdmOperation.IsAction() ? "action " : "function ") + EdmOperation.Name;
-
- // Description
- operation.Description = Context.Model.GetDescriptionAnnotation(TargetPath) ?? Context.Model.GetDescriptionAnnotation(EdmOperation);
-
- // OperationId
- if (Context.Settings.EnableOperationId)
- {
- // When the key segment is available,
- // its EntityType name will be used
- // in the operationId to avoid potential
- // duplicates in entity vs entityset functions/actions
-
- List identifiers = new();
- foreach (ODataSegment segment in Path.Segments)
- {
- if (segment is ODataKeySegment keySegment)
- {
- if (!keySegment.IsAlternateKey)
- {
- identifiers.Add(segment.EntityType.Name);
- continue;
+ _operationRestriction ??= operationRestrictions;
+ }
+
+ ///
+ protected override void SetBasicInfo(OpenApiOperation operation)
+ {
+ // Summary
+ operation.Summary = "Invoke " + (EdmOperation.IsAction() ? "action " : "function ") + EdmOperation.Name;
+
+ // Description
+ operation.Description = Context.Model.GetDescriptionAnnotation(TargetPath) ?? Context.Model.GetDescriptionAnnotation(EdmOperation);
+
+ // OperationId
+ if (Context.Settings.EnableOperationId)
+ {
+ // When the key segment is available,
+ // its EntityType name will be used
+ // in the operationId to avoid potential
+ // duplicates in entity vs entityset functions/actions
+
+ List identifiers = new();
+ string pathHash = string.Empty;
+ foreach (ODataSegment segment in Path.Segments)
+ {
+ if (segment is ODataKeySegment keySegment)
+ {
+ if (!keySegment.IsAlternateKey)
+ {
+ identifiers.Add(segment.EntityType.Name);
+ continue;
}
// We'll consider alternate keys in the operation id to eliminate potential duplicates with operation id of primary path
@@ -100,175 +101,214 @@ protected override void SetBasicInfo(OpenApiOperation operation)
{
identifiers.Add(keySegment.Identifier);
}
- }
- else
- {
+ }
+ else if (segment is ODataOperationSegment opSegment)
+ {
+ if (opSegment.Operation is IEdmFunction function && Context.Model.IsOperationOverload(function))
+ {
+ // Hash the segment to avoid duplicate operationIds
+ pathHash = string.IsNullOrEmpty(pathHash)
+ ? opSegment.GetPathHash(Context.Settings)
+ : (pathHash + opSegment.GetPathHash(Context.Settings)).GetHashSHA256().Substring(0, 4);
+ }
+
+ identifiers.Add(segment.Identifier);
+ }
+ else
+ {
identifiers.Add(segment.Identifier);
- }
- }
-
- string operationId = string.Join(".", identifiers);
-
- if (EdmOperation.IsAction())
- {
- operation.OperationId = operationId;
- }
- else
- {
- if (Path.LastSegment is ODataOperationSegment operationSegment &&
- Context.Model.IsOperationOverload(operationSegment.Operation))
- {
- operation.OperationId = operationId + "-" + Path.LastSegment.GetPathHash(Context.Settings);
- }
- else
- {
- operation.OperationId = operationId;
- }
- }
- }
-
- base.SetBasicInfo(operation);
- }
-
- ///
- protected override void SetTags(OpenApiOperation operation)
- {
- string value = EdmOperation.IsAction() ? "Actions" : "Functions";
- OpenApiTag tag = new OpenApiTag
- {
- Name = NavigationSource.Name + "." + value,
- };
- tag.Extensions.Add(Constants.xMsTocType, new OpenApiString("container"));
- operation.Tags.Add(tag);
-
- Context.AppendTag(tag);
-
- base.SetTags(operation);
- }
-
- ///
- protected override void SetParameters(OpenApiOperation operation)
- {
- base.SetParameters(operation);
-
- if (EdmOperation.IsFunction())
- {
- IEdmFunction function = (IEdmFunction)EdmOperation;
- AppendSystemQueryOptions(function, operation);
- }
- }
-
- ///
- protected override void SetResponses(OpenApiOperation operation)
- {
- operation.Responses = Context.CreateResponses(EdmOperation);
- base.SetResponses(operation);
- }
-
- ///
- protected override void SetSecurity(OpenApiOperation operation)
- {
- if (_operationRestriction == null || _operationRestriction.Permissions == null)
- {
- return;
- }
-
- operation.Security = Context.CreateSecurityRequirements(_operationRestriction.Permissions).ToList();
- }
-
- ///
- protected override void AppendCustomParameters(OpenApiOperation operation)
- {
- if (_operationRestriction == null)
- {
- return;
- }
-
- if (_operationRestriction.CustomHeaders != null)
- {
- AppendCustomParameters(operation, _operationRestriction.CustomHeaders, ParameterLocation.Header);
- }
-
- if (_operationRestriction.CustomQueryOptions != null)
- {
- AppendCustomParameters(operation, _operationRestriction.CustomQueryOptions, ParameterLocation.Query);
- }
- }
-
- private void AppendSystemQueryOptions(IEdmFunction function, OpenApiOperation operation)
- {
- if (function.ReturnType.IsCollection())
- {
- // $top
- if (Context.CreateTop(function) is OpenApiParameter topParameter)
- {
- operation.Parameters.AppendParameter(topParameter);
- }
-
- // $skip
- if (Context.CreateSkip(function) is OpenApiParameter skipParameter)
- {
- operation.Parameters.AppendParameter(skipParameter);
- }
-
- // $search
- if (Context.CreateSearch(function) is OpenApiParameter searchParameter)
- {
- operation.Parameters.AppendParameter(searchParameter);
- }
-
- // $filter
- if (Context.CreateFilter(function) is OpenApiParameter filterParameter)
- {
- operation.Parameters.AppendParameter(filterParameter);
- }
-
- // $count
- if (Context.CreateCount(function) is OpenApiParameter countParameter)
- {
- operation.Parameters.AppendParameter(countParameter);
- }
-
- if (function.ReturnType?.Definition?.AsElementType() is IEdmEntityType entityType)
- {
- // $select
- if (Context.CreateSelect(function, entityType) is OpenApiParameter selectParameter)
- {
- operation.Parameters.AppendParameter(selectParameter);
- }
-
- // $orderby
- if (Context.CreateOrderBy(function, entityType) is OpenApiParameter orderbyParameter)
- {
- operation.Parameters.AppendParameter(orderbyParameter);
- }
-
- // $expand
- if (Context.CreateExpand(function, entityType) is OpenApiParameter expandParameter)
- {
- operation.Parameters.AppendParameter(expandParameter);
- }
- }
- }
- }
-
- ///
- protected override void SetCustomLinkRelType()
- {
- if (Context.Settings.CustomHttpMethodLinkRelMapping != null && EdmOperation != null)
- {
- LinkRelKey key = EdmOperation.IsAction() ? LinkRelKey.Action : LinkRelKey.Function;
- Context.Settings.CustomHttpMethodLinkRelMapping.TryGetValue(key, out string linkRelValue);
- CustomLinkRel = linkRelValue;
- }
- }
-
- ///
- protected override void SetExternalDocs(OpenApiOperation operation)
- {
- if (Context.Settings.ShowExternalDocs)
- {
- var externalDocs = Context.Model.GetLinkRecord(TargetPath, CustomLinkRel) ??
+ }
+ }
+
+ string operationId = string.Join(".", identifiers);
+
+ if (!string.IsNullOrEmpty(pathHash))
+ {
+ operation.OperationId = operationId + "-" + pathHash;
+ }
+ else
+ {
+ operation.OperationId = operationId;
+ }
+ }
+
+ base.SetBasicInfo(operation);
+ }
+
+ ///
+ protected override void SetTags(OpenApiOperation operation)
+ {
+ GenerateTagName(out string tagName);
+ OpenApiTag tag = new()
+ {
+ Name = tagName,
+ };
+ tag.Extensions.Add(Constants.xMsTocType, new OpenApiString("container"));
+ operation.Tags.Add(tag);
+
+ Context.AppendTag(tag);
+
+ base.SetTags(operation);
+ }
+
+ ///
+ /// Genrates the tag name for the operation. Adds Action or Function name to the tag name if the operation is an action or function.
+ ///
+ /// The generated tag name.
+ /// The number of segments to skip.
+ private void GenerateTagName(out string tagName, int skip = 1)
+ {
+ var targetSegment = Path.Segments.Reverse().Skip(skip).FirstOrDefault();
+
+ switch (targetSegment)
+ {
+ case ODataNavigationPropertySegment:
+ tagName = EdmModelHelper.GenerateNavigationPropertyPathTagName(Path, Context);
+ break;
+ case ODataOperationImportSegment:
+ // Previous segmment could be a navigation property or a navigation source segment
+ case ODataKeySegment:
+ skip += 1;
+ GenerateTagName(out tagName, skip);
+ break;
+ default:
+ tagName = NavigationSource.Name + "." + NavigationSource.EntityType().Name;
+ if (EdmOperation.IsAction())
+ {
+ tagName += ".Actions";
+ }
+ else if (EdmOperation.IsFunction())
+ {
+ tagName += ".Functions";
+ }
+
+ break;
+ }
+ }
+
+ ///
+ protected override void SetParameters(OpenApiOperation operation)
+ {
+ base.SetParameters(operation);
+
+ if (EdmOperation.IsFunction())
+ {
+ IEdmFunction function = (IEdmFunction)EdmOperation;
+ AppendSystemQueryOptions(function, operation);
+ }
+ }
+
+ ///
+ protected override void SetResponses(OpenApiOperation operation)
+ {
+ operation.Responses = Context.CreateResponses(EdmOperation);
+ base.SetResponses(operation);
+ }
+
+ ///
+ protected override void SetSecurity(OpenApiOperation operation)
+ {
+ if (_operationRestriction == null || _operationRestriction.Permissions == null)
+ {
+ return;
+ }
+
+ operation.Security = Context.CreateSecurityRequirements(_operationRestriction.Permissions).ToList();
+ }
+
+ ///
+ protected override void AppendCustomParameters(OpenApiOperation operation)
+ {
+ if (_operationRestriction == null)
+ {
+ return;
+ }
+
+ if (_operationRestriction.CustomHeaders != null)
+ {
+ AppendCustomParameters(operation, _operationRestriction.CustomHeaders, ParameterLocation.Header);
+ }
+
+ if (_operationRestriction.CustomQueryOptions != null)
+ {
+ AppendCustomParameters(operation, _operationRestriction.CustomQueryOptions, ParameterLocation.Query);
+ }
+ }
+
+ private void AppendSystemQueryOptions(IEdmFunction function, OpenApiOperation operation)
+ {
+ if (function.ReturnType.IsCollection())
+ {
+ // $top
+ if (Context.CreateTop(function) is OpenApiParameter topParameter)
+ {
+ operation.Parameters.AppendParameter(topParameter);
+ }
+
+ // $skip
+ if (Context.CreateSkip(function) is OpenApiParameter skipParameter)
+ {
+ operation.Parameters.AppendParameter(skipParameter);
+ }
+
+ // $search
+ if (Context.CreateSearch(function) is OpenApiParameter searchParameter)
+ {
+ operation.Parameters.AppendParameter(searchParameter);
+ }
+
+ // $filter
+ if (Context.CreateFilter(function) is OpenApiParameter filterParameter)
+ {
+ operation.Parameters.AppendParameter(filterParameter);
+ }
+
+ // $count
+ if (Context.CreateCount(function) is OpenApiParameter countParameter)
+ {
+ operation.Parameters.AppendParameter(countParameter);
+ }
+
+ if (function.ReturnType?.Definition?.AsElementType() is IEdmEntityType entityType)
+ {
+ // $select
+ if (Context.CreateSelect(function, entityType) is OpenApiParameter selectParameter)
+ {
+ operation.Parameters.AppendParameter(selectParameter);
+ }
+
+ // $orderby
+ if (Context.CreateOrderBy(function, entityType) is OpenApiParameter orderbyParameter)
+ {
+ operation.Parameters.AppendParameter(orderbyParameter);
+ }
+
+ // $expand
+ if (Context.CreateExpand(function, entityType) is OpenApiParameter expandParameter)
+ {
+ operation.Parameters.AppendParameter(expandParameter);
+ }
+ }
+ }
+ }
+
+ ///
+ protected override void SetCustomLinkRelType()
+ {
+ if (Context.Settings.CustomHttpMethodLinkRelMapping != null && EdmOperation != null)
+ {
+ LinkRelKey key = EdmOperation.IsAction() ? LinkRelKey.Action : LinkRelKey.Function;
+ Context.Settings.CustomHttpMethodLinkRelMapping.TryGetValue(key, out string linkRelValue);
+ CustomLinkRel = linkRelValue;
+ }
+ }
+
+ ///
+ protected override void SetExternalDocs(OpenApiOperation operation)
+ {
+ if (Context.Settings.ShowExternalDocs)
+ {
+ var externalDocs = Context.Model.GetLinkRecord(TargetPath, CustomLinkRel) ??
Context.Model.GetLinkRecord(EdmOperation, CustomLinkRel);
if (externalDocs != null)
@@ -278,24 +318,24 @@ protected override void SetExternalDocs(OpenApiOperation operation)
Description = CoreConstants.ExternalDocsDescription,
Url = externalDocs.Href
};
- }
- }
- }
-
- //
- protected override void SetExtensions(OpenApiOperation operation)
- {
- if (Context.Settings.EnablePagination && EdmOperation.ReturnType?.TypeKind() == EdmTypeKind.Collection)
- {
- OpenApiObject extension = new OpenApiObject
- {
- { "nextLinkName", new OpenApiString("@odata.nextLink")},
- { "operationName", new OpenApiString(Context.Settings.PageableOperationName)}
- };
-
- operation.Extensions.Add(Constants.xMsPageable, extension);
- }
- base.SetExtensions(operation);
- }
- }
-}
+ }
+ }
+ }
+
+ //
+ protected override void SetExtensions(OpenApiOperation operation)
+ {
+ if (Context.Settings.EnablePagination && EdmOperation.ReturnType?.TypeKind() == EdmTypeKind.Collection)
+ {
+ OpenApiObject extension = new OpenApiObject
+ {
+ { "nextLinkName", new OpenApiString("@odata.nextLink")},
+ { "operationName", new OpenApiString(Context.Settings.PageableOperationName)}
+ };
+
+ operation.Extensions.Add(Constants.xMsPageable, extension);
+ }
+ base.SetExtensions(operation);
+ }
+ }
+}
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/EntityUpdateOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/EntityUpdateOperationHandler.cs
index 7ce526df..6317c746 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/EntityUpdateOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/EntityUpdateOperationHandler.cs
@@ -50,7 +50,8 @@ protected override void SetBasicInfo(OpenApiOperation operation)
if (Context.Settings.EnableOperationId)
{
string typeName = entityType.Name;
- string operationName = $"Update{ Utils.UpperFirstChar(typeName)}";
+ string prefix = OperationType == OperationType.Patch ? "Update" : "Set";
+ string operationName = $"{prefix}{ Utils.UpperFirstChar(typeName)}";
if (keySegment.IsAlternateKey)
{
string alternateKeyName = string.Join("", keySegment.Identifier.Split(',').Select(static x => Utils.UpperFirstChar(x)));
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs
index 8bdbacc7..743a10e8 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs
@@ -107,7 +107,7 @@ protected override void SetExtensions(OpenApiOperation operation)
internal string GetOperationId(string prefix = null)
{
- return EdmModelHelper.GenerateNavigationPropertyPathOperationId(Path, prefix);
+ return EdmModelHelper.GenerateNavigationPropertyPathOperationId(Path, Context, prefix);
}
///
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyUpdateOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyUpdateOperationHandler.cs
index 0ae4b500..35a47c93 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyUpdateOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyUpdateOperationHandler.cs
@@ -41,7 +41,7 @@ protected override void SetBasicInfo(OpenApiOperation operation)
// OperationId
if (Context.Settings.EnableOperationId)
{
- string prefix = "Update";
+ string prefix = OperationType == OperationType.Patch ? "Update" : "Set";
operation.OperationId = GetOperationId(prefix);
}
diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/ODataTypeCastGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/ODataTypeCastGetOperationHandler.cs
index 604f31d3..ee30e3e9 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Operation/ODataTypeCastGetOperationHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Operation/ODataTypeCastGetOperationHandler.cs
@@ -188,7 +188,7 @@ protected override void SetBasicInfo(OpenApiOperation operation)
// OperationId
if (Context.Settings.EnableOperationId)
- operation.OperationId = EdmModelHelper.GenerateODataTypeCastPathOperationIdPrefix(Path) + $".As{Utils.UpperFirstChar(TargetSchemaElement.Name)}";
+ operation.OperationId = EdmModelHelper.GenerateODataTypeCastPathOperationIdPrefix(Path, Context) + $".As{Utils.UpperFirstChar(TargetSchemaElement.Name)}";
base.SetBasicInfo(operation);
}
diff --git a/src/Microsoft.OpenApi.OData.Reader/PathItem/ComplexPropertyItemHandler.cs b/src/Microsoft.OpenApi.OData.Reader/PathItem/ComplexPropertyItemHandler.cs
index 866dcef3..b08a2289 100644
--- a/src/Microsoft.OpenApi.OData.Reader/PathItem/ComplexPropertyItemHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/PathItem/ComplexPropertyItemHandler.cs
@@ -70,7 +70,12 @@ public void AddUpdateOperation(OpenApiPathItem item)
if ((Context.Settings.RequireRestrictionAnnotationsToGenerateComplexPropertyPaths && isUpdatable) ||
!Context.Settings.RequireRestrictionAnnotationsToGenerateComplexPropertyPaths)
{
- if (updateRestrictions != null && updateRestrictions.IsUpdateMethodPut)
+ if (updateRestrictions?.IsUpdateMethodPutAndPatch == true)
+ {
+ AddOperation(item, OperationType.Put);
+ AddOperation(item, OperationType.Patch);
+ }
+ else if (updateRestrictions?.IsUpdateMethodPut == true)
{
AddOperation(item, OperationType.Put);
}
diff --git a/src/Microsoft.OpenApi.OData.Reader/PathItem/EntityPathItemHandler.cs b/src/Microsoft.OpenApi.OData.Reader/PathItem/EntityPathItemHandler.cs
index 7c66d7d9..d7f688ae 100644
--- a/src/Microsoft.OpenApi.OData.Reader/PathItem/EntityPathItemHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/PathItem/EntityPathItemHandler.cs
@@ -40,7 +40,12 @@ protected override void SetOperations(OpenApiPathItem item)
updateRestrictions ??= entityUpdateRestrictions;
if (updateRestrictions?.IsUpdatable ?? true)
{
- if (updateRestrictions != null && updateRestrictions.IsUpdateMethodPut)
+ if (updateRestrictions?.IsUpdateMethodPutAndPatch == true)
+ {
+ AddOperation(item, OperationType.Put);
+ AddOperation(item, OperationType.Patch);
+ }
+ else if (updateRestrictions?.IsUpdateMethodPut == true)
{
AddOperation(item, OperationType.Put);
}
diff --git a/src/Microsoft.OpenApi.OData.Reader/PathItem/NavigationPropertyPathItemHandler.cs b/src/Microsoft.OpenApi.OData.Reader/PathItem/NavigationPropertyPathItemHandler.cs
index 57b36119..e66675f7 100644
--- a/src/Microsoft.OpenApi.OData.Reader/PathItem/NavigationPropertyPathItemHandler.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/PathItem/NavigationPropertyPathItemHandler.cs
@@ -243,17 +243,23 @@ private void AddDeleteOperation(OpenApiPathItem item, NavigationPropertyRestrict
private void AddUpdateOperation(OpenApiPathItem item, UpdateRestrictionsType updateRestrictionsType)
{
- if (updateRestrictionsType == null || updateRestrictionsType.IsUpdatable)
- {
- if (updateRestrictionsType != null && updateRestrictionsType.IsUpdateMethodPut)
- {
- AddOperation(item, OperationType.Put);
- }
- else
- {
- AddOperation(item, OperationType.Patch);
- }
- }
+ if (updateRestrictionsType?.IsUpdatable ?? true)
+ {
+ if (updateRestrictionsType?.IsUpdateMethodPutAndPatch == true)
+ {
+ AddOperation(item, OperationType.Put);
+ AddOperation(item, OperationType.Patch);
+ }
+ else if (updateRestrictionsType?.IsUpdateMethodPut == true)
+ {
+ AddOperation(item, OperationType.Put);
+ }
+ else
+ {
+ AddOperation(item, OperationType.Patch);
+ }
+ }
+
}
///
diff --git a/src/Microsoft.OpenApi.OData.Reader/Vocabulary/Capabilities/UpdateRestrictionsType.cs b/src/Microsoft.OpenApi.OData.Reader/Vocabulary/Capabilities/UpdateRestrictionsType.cs
index 27e3e8f5..ff073e39 100644
--- a/src/Microsoft.OpenApi.OData.Reader/Vocabulary/Capabilities/UpdateRestrictionsType.cs
+++ b/src/Microsoft.OpenApi.OData.Reader/Vocabulary/Capabilities/UpdateRestrictionsType.cs
@@ -3,6 +3,7 @@
// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
// ------------------------------------------------------------
+using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.OData.Edm.Vocabularies;
@@ -14,17 +15,18 @@ namespace Microsoft.OpenApi.OData.Vocabulary.Capabilities
///
/// Enumerates HTTP methods that can be used to update entities
///
+ [Flags]
internal enum HttpMethod
{
///
/// The HTTP PATCH Method
///
- PATCH,
+ PATCH = 1,
///
/// The HTTP PUT Method
///
- PUT
+ PUT = 2
}
///
/// Complex Type: Org.OData.Capabilities.V1.UpdateRestrictionsType
@@ -46,10 +48,10 @@ internal class UpdateRestrictionsType : IRecord
///
/// Gets the value indicating Entities can be inserted, updated, and deleted via a PATCH request with a delta payload.
///
- public bool? DeltaUpdateSupported { get; private set; }
-
+ public bool? DeltaUpdateSupported { get; private set; }
+
///
- /// Gets the value indicating the HTTP Method (PUT or PATCH) for updating an entity.
+ /// Gets the values indicating the HTTP Method (PUT and/or PATCH) for updating an entity.
/// If null, PATCH should be supported and PUT MAY be supported.
///
public HttpMethod? UpdateMethod { get; private set; }
@@ -124,10 +126,16 @@ public bool IsNonUpdatableNavigationProperty(string navigationPropertyPath)
}
///
- /// Tests whether the update method for the entity has been explicitly specified as PUT
+ /// Tests whether the update method for the target has been explicitly specified as PUT
///
public bool IsUpdateMethodPut => UpdateMethod.HasValue && UpdateMethod.Value == HttpMethod.PUT;
+ ///
+ /// Tests whether the update method for the target has been explicitly specified as PATCH and PUT
+ ///
+ public bool IsUpdateMethodPutAndPatch => UpdateMethod.HasValue &&
+ (UpdateMethod.Value & (HttpMethod.PUT | HttpMethod.PATCH)) == (HttpMethod.PUT | HttpMethod.PATCH);
+
///
/// Lists the media types acceptable for the request content
///
@@ -157,7 +165,7 @@ public void Initialize(IEdmRecordExpression record)
// DeltaUpdateSupported
DeltaUpdateSupported = record.GetBoolean("DeltaUpdateSupported");
- // UpdateMethod
+ // UpdateMethod
UpdateMethod = record.GetEnum("UpdateMethod");
// FilterSegmentSupported
diff --git a/src/OoasGui/OoasGui.csproj b/src/OoasGui/OoasGui.csproj
index 41fee3ca..1b315984 100644
--- a/src/OoasGui/OoasGui.csproj
+++ b/src/OoasGui/OoasGui.csproj
@@ -16,8 +16,8 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/OoasUtil/README.md b/src/OoasUtil/README.md
index 2eaa7a6d..95435d41 100644
--- a/src/OoasUtil/README.md
+++ b/src/OoasUtil/README.md
@@ -70,7 +70,7 @@ Indicate to output file name.
`OoasUtil.exe -j -k -drs -drq -p -u -s 3 -i http://services.odata.org/TrippinRESTierService -o trip.json`
-The content of `trip.json` is similar at https://github.com/xuzhg/OData.OpenAPI/blob/master/Microsoft.OData.OpenAPI/Microsoft.OData.OpenAPI.Tests/Resources/TripService.OpenApi.json
+The content of `trip.json` is similar at https://github.com/xuzhg/OData.OpenAPI/blob/main/Microsoft.OData.OpenAPI/Microsoft.OData.OpenAPI.Tests/Resources/TripService.OpenApi.json
# Alternative Tool - Hidi
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs
index a450bc04..b26e32b3 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs
@@ -12,6 +12,7 @@
using Microsoft.OData.Edm;
using Microsoft.OData.Edm.Csdl;
using Microsoft.OData.Edm.Validation;
+using Microsoft.OpenApi.Models;
using Microsoft.OpenApi.OData.Tests;
using Xunit;
@@ -921,6 +922,77 @@ private static IEdmModel GetNavPropModel(string annotation)
return GetEdmModel(template);
}
+ [Fact]
+ public void GetPathsForDerivedTypeDeltaFunctionUsesCorrectReturnType()
+ {
+ // Arrange – mirrors the Graph scenario:
+ // directoryObject (base) has delta with RequiresExplicitBinding
+ // servicePrincipal (derived) has its own delta
+ // agentIdentity (derived from servicePrincipal) causes servicePrincipal to have derived types
+ // Bug: TryAddPath kept the base-type delta for /servicePrincipals/delta() because
+ // servicePrincipal has derived types.
+ string csdl = @"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NS.delta
+
+
+
+
+
+";
+
+ bool result = CsdlReader.TryParse(XElement.Parse(csdl).CreateReader(), out IEdmModel model, out _);
+ Assert.True(result);
+
+ var settings = new OpenApiConvertSettings();
+ OpenApiDocument doc = model.ConvertToOpenApi(settings);
+
+ // Assert – the /servicePrincipals/NS.delta() path should exist and its response
+ // should reference NS.servicePrincipal, not NS.directoryObject
+ Assert.True(doc.Paths.ContainsKey("/servicePrincipals/NS.delta()"),
+ $"Expected path not found. Available: {string.Join(", ", doc.Paths.Keys)}");
+
+ var pathItem = doc.Paths["/servicePrincipals/NS.delta()"];
+ var getOp = pathItem.Operations[OperationType.Get];
+ Assert.NotNull(getOp);
+
+ // The response schema title should reference servicePrincipal, not directoryObject
+ var responseKey = getOp.Responses.Keys.First();
+ var response = getOp.Responses[responseKey];
+ var schema = response.Content["application/json"].Schema;
+ Assert.Contains("servicePrincipal", schema.Title);
+ Assert.DoesNotContain("directoryObject", schema.Title);
+ }
+
private static IEdmModel GetEdmModel(string schema)
{
bool parsed = SchemaReader.TryParse(new XmlReader[] { XmlReader.Create(new StringReader(schema)) }, out IEdmModel parsedModel, out IEnumerable errors);
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiEdmTypeSchemaGeneratorTest.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiEdmTypeSchemaGeneratorTest.cs
index efa5eb6f..9dbae395 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiEdmTypeSchemaGeneratorTest.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiEdmTypeSchemaGeneratorTest.cs
@@ -151,7 +151,7 @@ public void CreateEdmTypeSchemaReturnSchemaForNullableCollectionPrimitiveType()
""items"": {
""maximum"": 2147483647,
""minimum"": -2147483648,
- ""type"": ""integer"",
+ ""type"": ""number"",
""format"": ""int32"",
""nullable"": true
}
@@ -358,7 +358,7 @@ public void CreateEdmTypeSchemaReturnSchemaForInt32(bool isNullable)
Assert.Equal(@"{
""maximum"": 2147483647,
""minimum"": -2147483648,
- ""type"": ""integer"",
+ ""type"": ""number"",
""format"": ""int32"",
""nullable"": true
}".ChangeLineBreaks(), json);
@@ -368,7 +368,7 @@ public void CreateEdmTypeSchemaReturnSchemaForInt32(bool isNullable)
Assert.Equal(@"{
""maximum"": 2147483647,
""minimum"": -2147483648,
- ""type"": ""integer"",
+ ""type"": ""number"",
""format"": ""int32""
}".ChangeLineBreaks(), json);
}
@@ -401,15 +401,20 @@ public void CreateEdmTypeSchemaReturnSchemaForDecimal(bool isNullable, bool IEEE
Assert.Null(schema.Type);
Assert.NotNull(schema.OneOf);
Assert.Equal(2, schema.OneOf.Count);
- Assert.Equal(new[] { "number", "string" }, schema.OneOf.Select(a => a.Type));
+ var numberSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("number", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(numberSchema);
+ Assert.True(numberSchema.Nullable);
+ var stringSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("string", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(stringSchema);
+ Assert.True(stringSchema.Nullable);
+ Assert.False(schema.Nullable);
}
else
{
Assert.Equal("number", schema.Type);
Assert.Null(schema.OneOf);
+ Assert.Equal(isNullable, schema.Nullable);
}
-
- Assert.Equal(isNullable, schema.Nullable);
}
[Theory]
@@ -439,15 +444,20 @@ public void CreateEdmTypeSchemaReturnSchemaForInt64(bool isNullable, bool IEEE75
Assert.Null(schema.Type);
Assert.NotNull(schema.OneOf);
Assert.Equal(2, schema.OneOf.Count);
- Assert.Equal(new[] { "integer", "string" }, schema.OneOf.Select(a => a.Type));
+ var numberSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("number", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(numberSchema);
+ Assert.True(numberSchema.Nullable);
+ var stringSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("string", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(stringSchema);
+ Assert.True(stringSchema.Nullable);
+ Assert.False(schema.Nullable);
}
else
{
- Assert.Equal("integer", schema.Type);
+ Assert.Equal("number", schema.Type);
Assert.Null(schema.AnyOf);
+ Assert.Equal(isNullable, schema.Nullable);
}
-
- Assert.Equal(isNullable, schema.Nullable);
}
[Theory]
@@ -502,8 +512,16 @@ public void CreateEdmTypeSchemaReturnSchemaForDouble(bool isNullable)
// & Assert
Assert.Null(schema.Type);
- Assert.Equal("double", schema.OneOf.FirstOrDefault(x => !string.IsNullOrEmpty(x.Format))?.Format);
- Assert.Equal(isNullable, schema.Nullable);
+ var numberSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("number", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(numberSchema);
+ Assert.True(numberSchema.Nullable);
+ Assert.Equal("double", numberSchema.Format, StringComparer.OrdinalIgnoreCase);
+
+ var stringSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("string", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(stringSchema);
+ Assert.True(stringSchema.Nullable);
+
+ Assert.False(schema.Nullable);
Assert.Null(schema.AnyOf);
@@ -528,8 +546,16 @@ public void CreateEdmTypeSchemaReturnSchemaForSingle(bool isNullable)
// & Assert
Assert.Null(schema.Type);
- Assert.Equal("float", schema.OneOf.FirstOrDefault(x => !string.IsNullOrEmpty(x.Format))?.Format);
- Assert.Equal(isNullable, schema.Nullable);
+ var numberSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("number", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(numberSchema);
+ Assert.True(numberSchema.Nullable);
+ Assert.Equal("float", numberSchema.Format, StringComparer.OrdinalIgnoreCase);
+
+ var stringSchema = schema.OneOf.FirstOrDefault(x => x.Type.Equals("string", StringComparison.OrdinalIgnoreCase));
+ Assert.NotNull(stringSchema);
+ Assert.True(stringSchema.Nullable);
+
+ Assert.False(schema.Nullable);
Assert.Null(schema.AnyOf);
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs
index 32b39812..de5a3864 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiSchemaGeneratorTests.cs
@@ -551,10 +551,12 @@ public void CreateComplexTypeWithBaseSchemaReturnCorrectSchema()
""oneOf"": [
{
""type"": ""number"",
- ""format"": ""decimal""
+ ""format"": ""decimal"",
+ ""nullable"": true
},
{
- ""type"": ""string""
+ ""type"": ""string"",
+ ""nullable"": true
}
]
}
@@ -614,7 +616,7 @@ public void CreateEntityTypeWithoutBaseSchemaReturnCorrectSchema()
""Id"": {
""maximum"": 2147483647,
""minimum"": -2147483648,
- ""type"": ""integer"",
+ ""type"": ""number"",
""format"": ""int32""
},
""Creatures"": {
@@ -627,7 +629,7 @@ public void CreateEntityTypeWithoutBaseSchemaReturnCorrectSchema()
},
""description"": ""Entity type 'Zoo' description."",
""example"": {
- ""Id"": ""integer (identifier)"",
+ ""Id"": ""number (identifier)"",
""Creatures"": [
{
""@odata.type"": ""NS.Creature""
@@ -705,8 +707,8 @@ public void CreateEntityTypeWithBaseSchemaReturnCorrectSchema()
}
],
""example"": {
- ""Id"": ""integer (identifier)"",
- ""Age"": ""integer"",
+ ""Id"": ""number (identifier)"",
+ ""Age"": ""number"",
""Name"": ""string""
}
}"
@@ -753,7 +755,7 @@ public void CreateEntityTypeWithCrossReferenceBaseSchemaReturnCorrectSchema()
Assert.Single(declaredSchema.Properties);
var property = Assert.Single(declaredSchema.Properties);
Assert.Equal("Extra", property.Key);
- Assert.Equal("integer", property.Value.Type);
+ Assert.Equal("number", property.Value.Type);
Assert.Null(property.Value.OneOf);
Assert.Equal("Customer", declaredSchema.Title);
@@ -1071,13 +1073,13 @@ public void NonNullableIntegerPropertyWithDefaultValueWorks()
// Assert
Assert.NotNull(schema);
- Assert.Equal("integer", schema.Type);
+ Assert.Equal("number", schema.Type);
string json = schema.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);
Assert.Equal(@"{
""maximum"": 2147483647,
""minimum"": -2147483648,
- ""type"": ""integer"",
+ ""type"": ""number"",
""format"": ""int32"",
""default"": -128
}".ChangeLineBreaks(), json);
@@ -1105,10 +1107,12 @@ public void NonNullableDoublePropertyWithDefaultStringWorks()
""oneOf"": [
{
""type"": ""number"",
- ""format"": ""double""
+ ""format"": ""double"",
+ ""nullable"": true
},
{
- ""type"": ""string""
+ ""type"": ""string"",
+ ""nullable"": true
},
{
""$ref"": ""#/components/schemas/ReferenceNumeric""
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj b/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj
index 0987324f..ab6fb89f 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj
@@ -72,10 +72,10 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
-
-
-
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/ComplexPropertyPutOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/ComplexPropertyPutOperationHandlerTests.cs
index 007b362f..85ddcde6 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/ComplexPropertyPutOperationHandlerTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/ComplexPropertyPutOperationHandlerTests.cs
@@ -61,7 +61,7 @@ public void CreateComplexPropertyPutOperationReturnsCorrectOperationForSingle(bo
if (enableOperationId)
{
- Assert.Equal("Customers.UpdateBillingAddress", put.OperationId);
+ Assert.Equal("Customers.SetBillingAddress", put.OperationId);
}
else
{
@@ -108,7 +108,7 @@ public void CreateComplexPropertyPutOperationReturnsCorrectOperationForCollectio
if (enableOperationId)
{
- Assert.Equal("Customers.UpdateAlternativeAddresses", put.OperationId);
+ Assert.Equal("Customers.SetAlternativeAddresses", put.OperationId);
}
else
{
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmActionOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmActionOperationHandlerTests.cs
index 03d87da1..f664f0d8 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmActionOperationHandlerTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmActionOperationHandlerTests.cs
@@ -40,7 +40,7 @@ public void CreateOperationForEdmActionReturnsCorrectOperation()
Assert.Equal("Details of the shared trip.", operation.Description);
Assert.NotNull(operation.Tags);
var tag = Assert.Single(operation.Tags);
- Assert.Equal("People.Actions", tag.Name);
+ Assert.Equal("People.Person.Actions", tag.Name);
Assert.NotNull(operation.Parameters);
Assert.Single(operation.Parameters);
@@ -79,7 +79,7 @@ public void CreateOperationForEdmActionReturnsCorrectOperationHierarchicalClass(
Assert.Equal($"Invoke action {actionName}", operation.Summary);
Assert.NotNull(operation.Tags);
var tag = Assert.Single(operation.Tags);
- Assert.Equal($"{entitySetName}.Actions", tag.Name);
+ Assert.Equal($"{entitySetName}.AccountApiModel.Actions", tag.Name);
Assert.NotNull(operation.Parameters);
Assert.Single(operation.Parameters);
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmFunctionOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmFunctionOperationHandlerTests.cs
index de817a52..5fe3d716 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmFunctionOperationHandlerTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmFunctionOperationHandlerTests.cs
@@ -1,8 +1,9 @@
-// ------------------------------------------------------------
+// ------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
// ------------------------------------------------------------
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
@@ -100,7 +101,7 @@ public void CreateOperationForEdmFunctionReturnsCorrectOperation(bool useHTTPSta
Assert.Equal("Invoke function GetFavoriteAirline", operation.Summary);
Assert.NotNull(operation.Tags);
var tag = Assert.Single(operation.Tags);
- Assert.Equal("People.Functions", tag.Name);
+ Assert.Equal("People.Person.Functions", tag.Name);
Assert.NotNull(operation.Parameters);
Assert.Single(operation.Parameters);
@@ -138,7 +139,7 @@ public void CreateOperationForEdmFunctionReturnsCorrectOperationHierarchicalClas
Assert.Equal("Collection of contract attachments.", operation.Description);
Assert.NotNull(operation.Tags);
var tag = Assert.Single(operation.Tags);
- Assert.Equal($"{entitySetName}.Functions", tag.Name);
+ Assert.Equal($"{entitySetName}.AccountApiModel.Functions", tag.Name);
Assert.NotNull(operation.Parameters);
Assert.Equal(6, operation.Parameters.Count); // id, top, skip, count, search, filter
@@ -299,6 +300,107 @@ public void CreateOperationForOverloadEdmFunctionReturnsCorrectOperationId(bool
}
}
+ [Theory]
+ [InlineData(true)]
+ [InlineData(false)]
+ public void CreateOperationForComposableOverloadEdmFunctionReturnsCorrectOperationId(bool enableOperationId)
+ {
+ // Arrange
+ EdmModel model = new();
+ EdmEntityType customer = new("NS", "Customer");
+ customer.AddKeys(customer.AddStructuralProperty("ID", EdmPrimitiveTypeKind.Int32));
+ model.AddElement(customer);
+
+ // Overloaded function 1
+ EdmFunction function1 = new("NS", "MyFunction1", EdmCoreModel.Instance.GetString(false), true, null, false);
+ function1.AddParameter("entity", new EdmEntityTypeReference(customer, false));
+ model.AddElement(function1);
+
+ // Overloaded function 1
+ EdmFunction function2 = new("NS", "MyFunction1", EdmCoreModel.Instance.GetString(false), true, null, false);
+ function2.AddParameter("entity", new EdmEntityTypeReference(customer, false));
+ function2.AddParameter("param", EdmCoreModel.Instance.GetString(false));
+
+ model.AddElement(function2);
+
+ // Overloaded function 2
+ EdmFunction function3 = new("NS", "MyFunction2", EdmCoreModel.Instance.GetString(false), true, null, false);
+ function3.AddParameter("entity2", new EdmEntityTypeReference(customer, false));
+ model.AddElement(function3);
+
+ // Overloaded function 2
+ EdmFunction function4 = new("NS", "MyFunction2", EdmCoreModel.Instance.GetString(false), true, null, false);
+ function4.AddParameter("entity2", new EdmEntityTypeReference(customer, false));
+ function4.AddParameter("param", EdmCoreModel.Instance.GetString(false));
+ model.AddElement(function4);
+
+ EdmEntityContainer container = new("NS", "Default");
+ EdmEntitySet customers = new(container, "Customers", customer);
+ model.AddElement(container);
+
+ OpenApiConvertSettings settings = new OpenApiConvertSettings
+ {
+ EnableOperationId = enableOperationId,
+ AddSingleQuotesForStringParameters = true,
+ };
+ ODataContext context = new(model, settings);
+
+ ODataPath path1 = new(new ODataNavigationSourceSegment(customers),
+ new ODataKeySegment(customer),
+ new ODataOperationSegment(function1),
+ new ODataOperationSegment(function3));
+
+ ODataPath path2 = new(new ODataNavigationSourceSegment(customers),
+ new ODataKeySegment(customer),
+ new ODataOperationSegment(function1),
+ new ODataOperationSegment(function4));
+
+ ODataPath path3 = new(new ODataNavigationSourceSegment(customers),
+ new ODataKeySegment(customer),
+ new ODataOperationSegment(function2),
+ new ODataOperationSegment(function3));
+
+ ODataPath path4 = new(new ODataNavigationSourceSegment(customers),
+ new ODataKeySegment(customer),
+ new ODataOperationSegment(function2),
+ new ODataOperationSegment(function4));
+
+ // Act
+ var operation1 = _operationHandler.CreateOperation(context, path1);
+ var operation2 = _operationHandler.CreateOperation(context, path2);
+ var operation3 = _operationHandler.CreateOperation(context, path3);
+ var operation4 = _operationHandler.CreateOperation(context, path4);
+
+ // Assert
+ Assert.NotNull(operation1);
+ Assert.NotNull(operation2);
+ Assert.NotNull(operation3);
+ Assert.NotNull(operation4);
+
+ if (enableOperationId)
+ {
+ Assert.Equal("Customers.Customer.MyFunction1.MyFunction2-c53d", operation1.OperationId);
+ Assert.Equal("Customers.Customer.MyFunction1.MyFunction2-4d93", operation2.OperationId);
+ Assert.Equal("Customers.Customer.MyFunction1.MyFunction2-a2b2", operation3.OperationId);
+ Assert.Equal("Customers.Customer.MyFunction1.MyFunction2-7bea", operation4.OperationId);
+ var operationIds = new HashSet(StringComparer.OrdinalIgnoreCase)
+ {
+ operation1.OperationId,
+ operation2.OperationId,
+ operation3.OperationId,
+ operation4.OperationId
+ };
+ Assert.Equal(4, operationIds.Count);// All are unique as the hashset size is unchanged!
+ }
+ else
+ {
+ Assert.Null(operation1.OperationId);
+ Assert.Null(operation2.OperationId);
+ Assert.Null(operation3.OperationId);
+ Assert.Null(operation4.OperationId);
+ }
+ }
+
[Theory]
[InlineData(true)]
[InlineData(false)]
@@ -482,35 +584,35 @@ public void CreateOperationForFunctionWithDateTimeParametersReturnsCorrectPathIt
}
[Fact]
- public void CreateFunctionOperationWithAlternateKeyReturnsCorrectOperationId()
- {
- // Arrange
+ public void CreateFunctionOperationWithAlternateKeyReturnsCorrectOperationId()
+ {
+ // Arrange
IEdmModel model = EdmModelHelper.GraphBetaModel;
- ODataContext context = new(model, new OpenApiConvertSettings()
+ ODataContext context = new(model, new OpenApiConvertSettings()
{
- EnableOperationId = true
+ EnableOperationId = true
});
- IEdmSingleton singleton = model.EntityContainer.FindSingleton("communications");
- IEdmEntityType entityType = model.SchemaElements.OfType().First(c => c.Name == "cloudCommunications");
- IEdmNavigationProperty navProp = entityType.DeclaredNavigationProperties().First(c => c.Name == "onlineMeetings");
- IEdmOperation action = model.SchemaElements.OfType().First(f => f.Name == "sendVirtualAppointmentReminderSms");
- IDictionary keyMappings = new Dictionary { { "joinWebUrl", "joinWebUrl" } };
-
- ODataPath path = new(new ODataNavigationSourceSegment(singleton),
- new ODataNavigationPropertySegment(navProp),
- new ODataKeySegment(entityType, keyMappings)
- {
- IsAlternateKey = true
- },
- new ODataOperationSegment(action));
-
+ IEdmSingleton singleton = model.EntityContainer.FindSingleton("communications");
+ IEdmEntityType entityType = model.SchemaElements.OfType().First(c => c.Name == "cloudCommunications");
+ IEdmNavigationProperty navProp = entityType.DeclaredNavigationProperties().First(c => c.Name == "onlineMeetings");
+ IEdmOperation action = model.SchemaElements.OfType().First(f => f.Name == "sendVirtualAppointmentReminderSms");
+ IDictionary keyMappings = new Dictionary { { "joinWebUrl", "joinWebUrl" } };
+
+ ODataPath path = new(new ODataNavigationSourceSegment(singleton),
+ new ODataNavigationPropertySegment(navProp),
+ new ODataKeySegment(entityType, keyMappings)
+ {
+ IsAlternateKey = true
+ },
+ new ODataOperationSegment(action));
+
// Act
- var operation = _operationHandler.CreateOperation(context, path);
-
- // Assert
- Assert.NotNull(operation);
- Assert.Equal("communications.onlineMeetings.joinWebUrl.sendVirtualAppointmentReminderSms", operation.OperationId);
+ var operation = _operationHandler.CreateOperation(context, path);
+
+ // Assert
+ Assert.NotNull(operation);
+ Assert.Equal("communications.onlineMeetings.joinWebUrl.sendVirtualAppointmentReminderSms", operation.OperationId);
}
}
-}
+}
\ No newline at end of file
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EntityPutOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EntityPutOperationHandlerTests.cs
index fb5f11c2..bee82961 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EntityPutOperationHandlerTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EntityPutOperationHandlerTests.cs
@@ -66,7 +66,7 @@ public void CreateEntityPutOperationReturnsCorrectOperation(bool enableOperation
if (enableOperationId)
{
- Assert.Equal("Customers.Customer.UpdateCustomer", putOperation.OperationId);
+ Assert.Equal("Customers.Customer.SetCustomer", putOperation.OperationId);
}
else
{
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyGetOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyGetOperationHandlerTests.cs
index 5e6c401d..88766ac5 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyGetOperationHandlerTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyGetOperationHandlerTests.cs
@@ -131,6 +131,70 @@ public void CreateNavigationGetOperationViaComposableFunctionReturnsCorrectOpera
Assert.Contains(operation.Parameters, x => x.Name == "path");
}
+ [Fact]
+ public void CreateNavigationGetOperationViaOverloadedComposableFunctionReturnsCorrectOperation()
+ {
+ // Arrange
+ IEdmModel model = EdmModelHelper.GraphBetaModel;
+ ODataContext context = new(model, new OpenApiConvertSettings()
+ {
+ EnableOperationId = true
+ });
+
+ IEdmEntitySet drives = model.EntityContainer.FindEntitySet("drives");
+ IEdmEntityType drive = model.SchemaElements.OfType().First(c => c.Name == "drive");
+ IEdmNavigationProperty items = drive.DeclaredNavigationProperties().First(c => c.Name == "items");
+ IEdmEntityType driveItem = model.SchemaElements.OfType().First(c => c.Name == "driveItem");
+ IEdmNavigationProperty workbook = driveItem.DeclaredNavigationProperties().First(c => c.Name == "workbook");
+ IEdmEntityType workbookEntity = model.SchemaElements.OfType().First(c => c.Name == "workbook");
+ IEdmNavigationProperty worksheets = workbookEntity.DeclaredNavigationProperties().First(c => c.Name == "worksheets");
+ IEdmEntityType workbookWorksheet = model.SchemaElements.OfType().First(c => c.Name == "workbookWorksheet");
+ IEdmOperation usedRangeWithParams = model.SchemaElements.OfType().First(f => f.Name == "usedRange" && f.Parameters.Any(x => x.Name.Equals("valuesOnly")));
+ IEdmOperation usedRange = model.SchemaElements.OfType().First(f => f.Name == "usedRange" && f.Parameters.Count() == 1);
+ IEdmEntityType workbookRange = model.SchemaElements.OfType().First(c => c.Name == "workbookRange");
+ IEdmNavigationProperty format = workbookRange.DeclaredNavigationProperties().First(c => c.Name == "format");
+
+
+ ODataPath path1 = new(new ODataNavigationSourceSegment(drives),
+ new ODataKeySegment(drive),
+ new ODataNavigationPropertySegment(items),
+ new ODataKeySegment(driveItem),
+ new ODataNavigationPropertySegment(workbook),
+ new ODataNavigationPropertySegment(worksheets),
+ new ODataKeySegment(workbookWorksheet),
+ new ODataOperationSegment(usedRangeWithParams),
+ new ODataNavigationPropertySegment(format));
+
+ ODataPath path2 = new(new ODataNavigationSourceSegment(drives),
+ new ODataKeySegment(drive),
+ new ODataNavigationPropertySegment(items),
+ new ODataKeySegment(driveItem),
+ new ODataNavigationPropertySegment(workbook),
+ new ODataNavigationPropertySegment(worksheets),
+ new ODataKeySegment(workbookWorksheet),
+ new ODataOperationSegment(usedRange),
+ new ODataNavigationPropertySegment(format));
+
+ // Act
+ var operation1 = _operationHandler.CreateOperation(context, path1);
+ var operation2 = _operationHandler.CreateOperation(context, path2);
+
+ // Assert
+ Assert.NotNull(operation1);
+ Assert.NotNull(operation2);
+
+ Assert.Equal("drives.items.workbook.worksheets.usedRange.GetFormat-206d", operation1.OperationId);
+ Assert.Equal("drives.items.workbook.worksheets.usedRange.GetFormat-ec2c", operation2.OperationId);
+
+ Assert.NotNull(operation1.Parameters);
+ Assert.Equal(6, operation1.Parameters.Count);
+ Assert.Contains(operation1.Parameters, x => x.Name == "valuesOnly");
+
+ Assert.NotNull(operation2.Parameters);
+ Assert.Equal(5, operation2.Parameters.Count);
+ Assert.DoesNotContain(operation2.Parameters, x => x.Name == "valuesOnly");
+ }
+
[Theory]
[InlineData(true)]
[InlineData(false)]
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyPutOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyPutOperationHandlerTests.cs
index 499863bc..9c0a25bf 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyPutOperationHandlerTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/NavigationPropertyPutOperationHandlerTests.cs
@@ -71,7 +71,7 @@ public void CreateNavigationPutOperationReturnsCorrectOperation(bool enableOpera
if (enableOperationId)
{
- Assert.Equal("People.UpdateBestFriend", operation.OperationId);
+ Assert.Equal("People.SetBestFriend", operation.OperationId);
}
else
{
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/NavigationPropertyPathItemHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/NavigationPropertyPathItemHandlerTests.cs
index 66aedac9..61f38345 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/NavigationPropertyPathItemHandlerTests.cs
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/NavigationPropertyPathItemHandlerTests.cs
@@ -452,7 +452,7 @@ public void CreatePathItemForNavigationPropertyAndUpdateMethodUpdateRestrictions
- Org.OData.Capabilities.V1.HttpMethod/PUT
+ Org.OData.Capabilities.V1.HttpMethod/PUT Org.OData.Capabilities.V1.HttpMethod/PATCH
@@ -488,21 +488,21 @@ public void CreatePathItemForNavigationPropertyAndUpdateMethodUpdateRestrictions
if (isContainment)
{
expected = updatable
- ? (new[] { OperationType.Get, OperationType.Put, OperationType.Delete })
- : (new[] { OperationType.Get, OperationType.Delete });
+ ? ([OperationType.Get, OperationType.Put, OperationType.Patch, OperationType.Delete])
+ : ([OperationType.Get, OperationType.Delete]);
}
else
{
expected = updatable
- ? (new[] { OperationType.Get, OperationType.Put })
- : (new[] { OperationType.Get });
+ ? ([OperationType.Get, OperationType.Put, OperationType.Patch,])
+ : ([OperationType.Get]);
}
}
else
{
expected = isContainment
- ? (new[] { OperationType.Get, OperationType.Patch, OperationType.Delete })
- : (new[] { OperationType.Get });
+ ? ([OperationType.Get, OperationType.Patch, OperationType.Delete])
+ : ([OperationType.Get]);
}
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.json
index 5be9fd5a..b904fcec 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.json
@@ -974,14 +974,14 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"City": {
"$ref": "#/definitions/DefaultNs.City"
}
},
"example": {
- "Id": "integer",
+ "Id": "number",
"City": {
"@odata.type": "DefaultNs.City"
}
@@ -1003,7 +1003,7 @@
}
],
"example": {
- "Id": "integer",
+ "Id": "number",
"City": {
"@odata.type": "DefaultNs.City"
},
@@ -1152,7 +1152,8 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string"
}
},
"parameters": {
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.yaml
index efedb95e..272fd865 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.yaml
@@ -641,11 +641,11 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
City:
$ref: '#/definitions/DefaultNs.City'
example:
- Id: integer
+ Id: number
City:
'@odata.type': DefaultNs.City
DefaultNs.WorkAddress:
@@ -657,7 +657,7 @@ definitions:
CountryOrRegion:
$ref: '#/definitions/DefaultNs.CountryOrRegion'
example:
- Id: integer
+ Id: number
City:
'@odata.type': DefaultNs.City
CountryOrRegion:
@@ -757,6 +757,7 @@ definitions:
- '-INF'
- INF
- NaN
+ type: string
parameters:
top:
in: query
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.json
index c2e137ea..c3b1db8f 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace DefaultNs",
"description": "This OData service is located at http://localhost",
@@ -1076,7 +1076,7 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"City": {
@@ -1084,7 +1084,7 @@
}
},
"example": {
- "Id": "integer",
+ "Id": "number",
"City": {
"@odata.type": "DefaultNs.City"
}
@@ -1106,7 +1106,7 @@
}
],
"example": {
- "Id": "integer",
+ "Id": "number",
"City": {
"@odata.type": "DefaultNs.City"
},
@@ -1258,7 +1258,9 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string",
+ "nullable": true
}
},
"responses": {
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.yaml
index 81208bcf..be4edfc1 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.1
+openapi: 3.0.4
info:
title: OData Service for namespace DefaultNs
description: This OData service is located at http://localhost
@@ -709,12 +709,12 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
City:
$ref: '#/components/schemas/DefaultNs.City'
example:
- Id: integer
+ Id: number
City:
'@odata.type': DefaultNs.City
DefaultNs.WorkAddress:
@@ -726,7 +726,7 @@ components:
CountryOrRegion:
$ref: '#/components/schemas/DefaultNs.CountryOrRegion'
example:
- Id: integer
+ Id: number
City:
'@odata.type': DefaultNs.City
CountryOrRegion:
@@ -829,6 +829,8 @@ components:
- '-INF'
- INF
- NaN
+ type: string
+ nullable: true
responses:
error:
description: error
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.json
index 972656d0..3b1a6c86 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.json
@@ -103,7 +103,8 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string"
}
},
"parameters": {
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.yaml
index 1f101507..a75539a5 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.V2.yaml
@@ -71,6 +71,7 @@ definitions:
- '-INF'
- INF
- NaN
+ type: string
parameters:
top:
in: query
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.json
index 6ed11956..64796606 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace ",
"description": "This OData service is located at http://localhost",
@@ -108,7 +108,9 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string",
+ "nullable": true
}
},
"responses": {
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.yaml
index 9d790631..5bc83853 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Empty.OpenApi.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.1
+openapi: 3.0.4
info:
title: 'OData Service for namespace '
description: This OData service is located at http://localhost
@@ -74,6 +74,8 @@ components:
- '-INF'
- INF
- NaN
+ type: string
+ nullable: true
responses:
error:
description: error
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.json
index 7bcc154c..49e62c4e 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.json
@@ -149,7 +149,7 @@
"name": "Id",
"description": "The unique identifier of CategoryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -213,7 +213,7 @@
"name": "Id",
"description": "The unique identifier of CategoryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -251,7 +251,7 @@
"name": "Id",
"description": "The unique identifier of CategoryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -455,7 +455,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -525,7 +525,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -563,7 +563,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -591,7 +591,7 @@
"/Documents({Id})/Default.Upload": {
"post": {
"tags": [
- "Documents.Actions"
+ "Documents.DocumentDto.Actions"
],
"summary": "Invoke action Upload",
"operationId": "Documents.DocumentDto.Upload",
@@ -601,7 +601,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -633,7 +633,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -767,7 +767,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -778,7 +778,7 @@
"name": "Id1",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -816,7 +816,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -853,7 +853,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -942,7 +942,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -974,7 +974,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1019,7 +1019,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1102,7 +1102,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1150,7 +1150,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1198,7 +1198,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1416,7 +1416,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1491,7 +1491,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1529,7 +1529,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1567,7 +1567,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1680,7 +1680,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1691,7 +1691,7 @@
"name": "Id1",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1729,7 +1729,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1740,7 +1740,7 @@
"name": "Id1",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1823,7 +1823,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1834,7 +1834,7 @@
"name": "Id1",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1882,7 +1882,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1893,7 +1893,7 @@
"name": "Id1",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1941,7 +1941,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1952,7 +1952,7 @@
"name": "Id1",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -1989,7 +1989,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2026,7 +2026,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2101,7 +2101,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2133,7 +2133,7 @@
"name": "Id",
"description": "The unique identifier of LibraryDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2365,7 +2365,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2442,7 +2442,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2480,7 +2480,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2521,7 +2521,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2638,7 +2638,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2670,7 +2670,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2702,7 +2702,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2740,7 +2740,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2846,7 +2846,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2894,7 +2894,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2942,7 +2942,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -2979,7 +2979,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3084,7 +3084,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3132,7 +3132,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3180,7 +3180,7 @@
"name": "Id",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3383,7 +3383,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3453,7 +3453,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3491,7 +3491,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3519,7 +3519,7 @@
"/Tasks({Id})/Default.Upload": {
"post": {
"tags": [
- "Tasks.Actions"
+ "Tasks.DocumentDto.Actions"
],
"summary": "Invoke action Upload",
"operationId": "Tasks.DocumentDto.Upload",
@@ -3529,7 +3529,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3561,7 +3561,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3695,7 +3695,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3706,7 +3706,7 @@
"name": "Id1",
"description": "The unique identifier of RevisionDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3744,7 +3744,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3781,7 +3781,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3870,7 +3870,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3902,7 +3902,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -3947,7 +3947,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -4030,7 +4030,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -4078,7 +4078,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -4126,7 +4126,7 @@
"name": "Id",
"description": "The unique identifier of DocumentDto",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -4186,7 +4186,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -4207,7 +4207,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModificationDate": {
"format": "date-time",
@@ -4218,7 +4218,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Tags": {
"type": "array",
@@ -4235,15 +4235,15 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Description": "string",
"Filename": "string",
"NumberOfRevisions": "string",
"Suffix": "string",
- "DomainId": "integer",
+ "DomainId": "number",
"ModificationDate": "string (timestamp)",
- "ModifiedBy": "integer",
+ "ModifiedBy": "number",
"Tags": [
{
"@odata.type": "Siterra.Documents.App.DTO.DocumentTagRelDto"
@@ -4264,7 +4264,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -4279,19 +4279,19 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ParentTypeId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ParentId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"AllowMultiple": {
"type": "boolean"
@@ -4303,19 +4303,19 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DomainId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreatedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreationDate": {
"format": "date-time",
@@ -4326,7 +4326,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModificationDate": {
"format": "date-time",
@@ -4342,20 +4342,20 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Number": "string",
"Description": "string",
- "LibraryTemplateId": "integer",
- "ParentTypeId": "integer",
- "ParentId": "integer",
+ "LibraryTemplateId": "number",
+ "ParentTypeId": "number",
+ "ParentId": "number",
"AllowMultiple": true,
"AutoCreate": true,
- "TypeId": "integer",
- "DomainId": "integer",
- "CreatedBy": "integer",
+ "TypeId": "number",
+ "DomainId": "number",
+ "CreatedBy": "number",
"CreationDate": "string (timestamp)",
- "ModifiedBy": "integer",
+ "ModifiedBy": "number",
"ModificationDate": "string (timestamp)",
"Documents": [
{
@@ -4372,19 +4372,19 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Number": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DocumentId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DocumentName": {
"type": "string"
@@ -4401,7 +4401,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsReviewed": {
"type": "boolean"
@@ -4410,7 +4410,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ReviewedDate": {
"format": "date-time",
@@ -4424,7 +4424,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ApprovedDate": {
"format": "date-time",
@@ -4438,7 +4438,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"RejectedDate": {
"format": "date-time",
@@ -4449,30 +4449,30 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Document": {
"$ref": "#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.Document"
}
},
"example": {
- "Id": "integer (identifier)",
- "Number": "integer",
- "DocumentId": "integer",
+ "Id": "number (identifier)",
+ "Number": "number",
+ "DocumentId": "number",
"DocumentName": "string",
"DocumentDescription": "string",
"CreationDate": "string (timestamp)",
- "CreatedBy": "integer",
+ "CreatedBy": "number",
"IsReviewed": true,
- "ReviewedBy": "integer",
+ "ReviewedBy": "number",
"ReviewedDate": "string (timestamp)",
"IsApproved": true,
- "ApprovedBy": "integer",
+ "ApprovedBy": "number",
"ApprovedDate": "string (timestamp)",
"IsRejected": true,
- "RejectedBy": "integer",
+ "RejectedBy": "number",
"RejectedDate": "string (timestamp)",
- "DomainId": "integer",
+ "DomainId": "number",
"Document": {
"@odata.type": "Siterra.Documents.BusinessLogic.Entities.Document.Document"
}
@@ -4486,7 +4486,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -4508,16 +4508,16 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Description": "string",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
- "DomainId": "integer"
+ "DomainId": "number"
}
},
"Siterra.Documents.App.DTO.DocumentTagRelDto": {
@@ -4540,7 +4540,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -4552,13 +4552,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"TypeId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Keywords": {
"type": "string"
@@ -4572,7 +4572,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModificationDate": {
"format": "date-time",
@@ -4583,25 +4583,25 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DomainId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"LibraryId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"OwnerUserId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"StatusDate": {
"format": "date-time",
@@ -4612,7 +4612,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CheckoutDate": {
"format": "date-time",
@@ -4626,7 +4626,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Number": {
"type": "string"
@@ -4647,13 +4647,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsDeleted": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsNa": {
"format": "decimal",
@@ -4686,13 +4686,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ScraperMapId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"LastDownloadedDate": {
"format": "date-time",
@@ -4703,13 +4703,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsApprovedOld": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Suffix": {
"type": "string"
@@ -4718,7 +4718,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsApproved": {
"format": "decimal",
@@ -4728,19 +4728,19 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"SectionId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"VersionCount": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"LastFileName": {
"type": "string"
@@ -4782,30 +4782,30 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Description": "string",
- "StatusId": "integer",
- "TypeId": "integer",
+ "StatusId": "number",
+ "TypeId": "number",
"Keywords": "string",
"CreationDate": "string (timestamp)",
- "CreatedBy": "integer",
+ "CreatedBy": "number",
"ModificationDate": "string (timestamp)",
- "ModifiedBy": "integer",
- "DomainId": "integer",
- "LibraryId": "integer",
- "OwnerUserId": "integer",
+ "ModifiedBy": "number",
+ "DomainId": "number",
+ "LibraryId": "number",
+ "OwnerUserId": "number",
"StatusDate": "string (timestamp)",
- "LastRevisionId": "integer",
+ "LastRevisionId": "number",
"CheckoutDate": "string (timestamp)",
"CheckoutPath": "string",
- "CheckoutUserId": "integer",
+ "CheckoutUserId": "number",
"Number": "string",
"OriginalDate": "string (timestamp)",
"FileSized": "number",
"FileClientPath": "string",
- "LastRevisionFileId": "integer",
- "IsDeleted": "integer",
+ "LastRevisionFileId": "number",
+ "IsDeleted": "number",
"IsNa": "number",
"IsRejected": "number",
"IsReviewed": "number",
@@ -4814,17 +4814,17 @@
"RejectedDescription": "string",
"RejectedReason": "string",
"ReviewDescription": "string",
- "SourceDocumentId": "integer",
- "ScraperMapId": "integer",
+ "SourceDocumentId": "number",
+ "ScraperMapId": "number",
"LastDownloadedDate": "string (timestamp)",
- "SmsId": "integer",
- "IsApprovedOld": "integer",
+ "SmsId": "number",
+ "IsApprovedOld": "number",
"Suffix": "string",
- "ScrapeResultId": "integer",
+ "ScrapeResultId": "number",
"IsApproved": "number",
- "CategoryId": "integer",
- "SectionId": "integer",
- "VersionCount": "integer",
+ "CategoryId": "number",
+ "SectionId": "number",
+ "VersionCount": "number",
"LastFileName": "string",
"DocumentClasses": [
{
@@ -4865,25 +4865,25 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ClassId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DocumentId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreatedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreationDate": {
"format": "date-time",
@@ -4894,7 +4894,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModificationDate": {
"format": "date-time",
@@ -4909,12 +4909,12 @@
}
},
"example": {
- "ClassInstance": "integer",
- "ClassId": "integer",
- "DocumentId": "integer",
- "CreatedBy": "integer",
+ "ClassInstance": "number",
+ "ClassId": "number",
+ "DocumentId": "number",
+ "CreatedBy": "number",
"CreationDate": "string (timestamp)",
- "ModifiedBy": "integer",
+ "ModifiedBy": "number",
"ModificationDate": "string (timestamp)",
"IsPrimary": true,
"Document": {
@@ -4930,31 +4930,31 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"TagId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DomainId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreatedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModifiedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreationDate": {
"format": "date-time",
@@ -4974,11 +4974,11 @@
}
},
"example": {
- "DocumentId": "integer",
- "TagId": "integer",
- "DomainId": "integer",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "DocumentId": "number",
+ "TagId": "number",
+ "DomainId": "number",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Document": {
@@ -4997,13 +4997,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DomainId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -5012,7 +5012,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Number": {
"type": "string"
@@ -5021,13 +5021,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"OwnerUserId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"TotalSize": {
"format": "decimal",
@@ -5037,13 +5037,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"FoldersCounter": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreationDate": {
"format": "date-time",
@@ -5059,37 +5059,37 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreatedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ProjectId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"SearchRingId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"SiteId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"AssetId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"AllowMultiple": {
"type": "boolean"
@@ -5107,25 +5107,25 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"SourceFolderId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"TemplateClassId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"TemplateSubType": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsHidden": {
"type": "boolean"
@@ -5134,61 +5134,61 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"StatusId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"SmsId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ContractId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"VendorId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"OrganizationUnitId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IncidentId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"EventId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ClassInstance": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ClassId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"LibraryParent": {
"$ref": "#/definitions/Siterra.Documents.BusinessLogic.Entities.Library.Library"
@@ -5222,43 +5222,43 @@
}
},
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
- "ParentFolderId": "integer",
+ "ParentFolderId": "number",
"Number": "string",
- "TypeId": "integer",
- "OwnerUserId": "integer",
+ "TypeId": "number",
+ "OwnerUserId": "number",
"TotalSize": "number",
- "FilesCounter": "integer",
- "FoldersCounter": "integer",
+ "FilesCounter": "number",
+ "FoldersCounter": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
- "ProjectId": "integer",
- "SearchRingId": "integer",
- "SiteId": "integer",
- "AssetId": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
+ "ProjectId": "number",
+ "SearchRingId": "number",
+ "SiteId": "number",
+ "AssetId": "number",
"AllowMultiple": true,
"AutoCreate": true,
"Description": "string",
"IsTemplate": true,
- "ProgramId": "integer",
- "SourceFolderId": "integer",
- "TemplateClassId": "integer",
- "TemplateSubType": "integer",
+ "ProgramId": "number",
+ "SourceFolderId": "number",
+ "TemplateClassId": "number",
+ "TemplateSubType": "number",
"IsHidden": true,
- "IsDeleted": "integer",
- "StatusId": "integer",
- "SmsId": "integer",
- "ContractId": "integer",
- "VendorId": "integer",
- "OrganizationUnitId": "integer",
- "IncidentId": "integer",
- "EventId": "integer",
- "ClassInstance": "integer",
- "ClassId": "integer",
+ "IsDeleted": "number",
+ "StatusId": "number",
+ "SmsId": "number",
+ "ContractId": "number",
+ "VendorId": "number",
+ "OrganizationUnitId": "number",
+ "IncidentId": "number",
+ "EventId": "number",
+ "ClassInstance": "number",
+ "ClassId": "number",
"LibraryParent": {
"@odata.type": "Siterra.Documents.BusinessLogic.Entities.Library.Library"
},
@@ -5293,7 +5293,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -5302,13 +5302,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreatedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModificationDate": {
"format": "date-time",
@@ -5324,7 +5324,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Description": {
"type": "string"
@@ -5336,25 +5336,25 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Number": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ClassId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ParentId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"HasChanged": {
"type": "boolean"
@@ -5381,19 +5381,19 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
"ModificationDate": "string (timestamp)",
"CreationDate": "string (timestamp)",
- "DomainId": "integer",
+ "DomainId": "number",
"Description": "string",
"XmlName": "string",
- "MasterId": "integer",
- "Number": "integer",
- "ClassId": "integer",
- "ParentId": "integer",
+ "MasterId": "number",
+ "Number": "number",
+ "ClassId": "number",
+ "ParentId": "number",
"HasChanged": true,
"MasterLibraryType": {
"@odata.type": "Siterra.Documents.BusinessLogic.Entities.Library.LibraryType"
@@ -5421,7 +5421,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -5433,13 +5433,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreatedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreationDate": {
"format": "date-time",
@@ -5462,19 +5462,19 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"SourceClassId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ContentTypeId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ClientPath": {
"type": "string"
@@ -5483,13 +5483,13 @@
"format": "int16",
"maximum": 32767,
"minimum": -32768,
- "type": "integer"
+ "type": "number"
},
"SmsId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Latitude": {
"format": "decimal",
@@ -5508,21 +5508,21 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Path": "string",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Sized": "number",
"ActualName": "string",
- "DomainId": "integer",
- "SourceClassId": "integer",
- "ContentTypeId": "integer",
+ "DomainId": "number",
+ "SourceClassId": "number",
+ "ContentTypeId": "number",
"ClientPath": "string",
- "IsSelfHosted": "integer",
- "SmsId": "integer",
+ "IsSelfHosted": "number",
+ "SmsId": "number",
"Latitude": "number",
"Longitude": "number",
"Documents": [
@@ -5540,13 +5540,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DomainId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Name": {
"type": "string"
@@ -5558,13 +5558,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModifiedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreationDate": {
"format": "date-time",
@@ -5578,12 +5578,12 @@
}
},
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)"
}
@@ -5607,12 +5607,12 @@
}
],
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Documents": [
@@ -5642,12 +5642,12 @@
}
],
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Documents": [
@@ -5677,12 +5677,12 @@
}
],
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Documents": [
@@ -5700,19 +5700,19 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Number": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DocumentId": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ModificationDate": {
"format": "date-time",
@@ -5728,13 +5728,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"CreatedBy": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"Remarks": {
"type": "string"
@@ -5743,13 +5743,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DocumentOwnerContact": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"DocumentDescription": {
"type": "string"
@@ -5781,13 +5781,13 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsDeleted": {
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsReviewed": {
"type": "boolean"
@@ -5799,7 +5799,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsRejected": {
"type": "boolean"
@@ -5814,7 +5814,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"IsApproved": {
"type": "boolean"
@@ -5823,7 +5823,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ReviewedDate": {
"format": "date-time",
@@ -5845,16 +5845,16 @@
}
},
"example": {
- "Id": "integer (identifier)",
- "Number": "integer",
- "DocumentId": "integer",
+ "Id": "number (identifier)",
+ "Number": "number",
+ "DocumentId": "number",
"ModificationDate": "string (timestamp)",
"CreationDate": "string (timestamp)",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
"Remarks": "string",
- "FileId": "integer",
- "DocumentOwnerContact": "integer",
+ "FileId": "number",
+ "DocumentOwnerContact": "number",
"DocumentDescription": "string",
"DocumentStatusDate": "string (timestamp)",
"DocumentFolder": "string",
@@ -5863,17 +5863,17 @@
"DocumentType": "string",
"DocumentName": "string",
"DocumentNumber": "string",
- "DomainId": "integer",
- "IsDeleted": "integer",
+ "DomainId": "number",
+ "IsDeleted": "number",
"IsReviewed": true,
"ReviewDescription": "string",
- "ReviewedBy": "integer",
+ "ReviewedBy": "number",
"IsRejected": true,
"RejectedReason": "string",
"RejectedDescription": "string",
- "RejectedBy": "integer",
+ "RejectedBy": "number",
"IsApproved": true,
- "ApprovedBy": "integer",
+ "ApprovedBy": "number",
"ReviewedDate": "string (timestamp)",
"RejectedDate": "string (timestamp)",
"ApprovedDate": "string (timestamp)",
@@ -6118,7 +6118,8 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string"
}
},
"parameters": {
@@ -6275,7 +6276,7 @@
"x-ms-docs-toc-type": "page"
},
{
- "name": "Documents.Actions",
+ "name": "Documents.DocumentDto.Actions",
"x-ms-docs-toc-type": "container"
},
{
@@ -6319,7 +6320,7 @@
"x-ms-docs-toc-type": "page"
},
{
- "name": "Tasks.Actions",
+ "name": "Tasks.DocumentDto.Actions",
"x-ms-docs-toc-type": "container"
},
{
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.yaml
index e69a85f5..37ae6c97 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.yaml
@@ -102,7 +102,7 @@ paths:
name: Id
description: The unique identifier of CategoryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -148,7 +148,7 @@ paths:
name: Id
description: The unique identifier of CategoryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -175,7 +175,7 @@ paths:
name: Id
description: The unique identifier of CategoryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -315,7 +315,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -367,7 +367,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -394,7 +394,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -413,7 +413,7 @@ paths:
'/Documents({Id})/Default.Upload':
post:
tags:
- - Documents.Actions
+ - Documents.DocumentDto.Actions
summary: Invoke action Upload
operationId: Documents.DocumentDto.Upload
parameters:
@@ -421,7 +421,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -444,7 +444,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -547,7 +547,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -556,7 +556,7 @@ paths:
name: Id1
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -583,7 +583,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -607,7 +607,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -674,7 +674,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -696,7 +696,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -728,7 +728,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -780,7 +780,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -813,7 +813,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -846,7 +846,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -998,7 +998,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1055,7 +1055,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1082,7 +1082,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1109,7 +1109,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1191,7 +1191,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1200,7 +1200,7 @@ paths:
name: Id1
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1227,7 +1227,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1236,7 +1236,7 @@ paths:
name: Id1
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1288,7 +1288,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1297,7 +1297,7 @@ paths:
name: Id1
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1330,7 +1330,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1339,7 +1339,7 @@ paths:
name: Id1
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1372,7 +1372,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1381,7 +1381,7 @@ paths:
name: Id1
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1405,7 +1405,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1429,7 +1429,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1482,7 +1482,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1504,7 +1504,7 @@ paths:
name: Id
description: The unique identifier of LibraryDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1670,7 +1670,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1729,7 +1729,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1756,7 +1756,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1785,7 +1785,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1883,7 +1883,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1906,7 +1906,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1928,7 +1928,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -1955,7 +1955,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2030,7 +2030,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2063,7 +2063,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2096,7 +2096,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2120,7 +2120,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2194,7 +2194,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2227,7 +2227,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2260,7 +2260,7 @@ paths:
name: Id
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2397,7 +2397,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2449,7 +2449,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2476,7 +2476,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2495,7 +2495,7 @@ paths:
'/Tasks({Id})/Default.Upload':
post:
tags:
- - Tasks.Actions
+ - Tasks.DocumentDto.Actions
summary: Invoke action Upload
operationId: Tasks.DocumentDto.Upload
parameters:
@@ -2503,7 +2503,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2526,7 +2526,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2629,7 +2629,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2638,7 +2638,7 @@ paths:
name: Id1
description: The unique identifier of RevisionDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2665,7 +2665,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2689,7 +2689,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2756,7 +2756,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2778,7 +2778,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2810,7 +2810,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2862,7 +2862,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2895,7 +2895,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2928,7 +2928,7 @@ paths:
name: Id
description: The unique identifier of DocumentDto
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -2965,7 +2965,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
Description:
@@ -2980,7 +2980,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModificationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -2989,7 +2989,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Tags:
type: array
items:
@@ -3000,15 +3000,15 @@ definitions:
$ref: '#/definitions/Siterra.Documents.App.DTO.RevisionDto'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Description: string
Filename: string
NumberOfRevisions: string
Suffix: string
- DomainId: integer
+ DomainId: number
ModificationDate: string (timestamp)
- ModifiedBy: integer
+ ModifiedBy: number
Tags:
- '@odata.type': Siterra.Documents.App.DTO.DocumentTagRelDto
Revisions:
@@ -3021,7 +3021,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
Number:
@@ -3032,17 +3032,17 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ParentTypeId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ParentId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
AllowMultiple:
type: boolean
AutoCreate:
@@ -3051,17 +3051,17 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DomainId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreatedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3070,7 +3070,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModificationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3081,20 +3081,20 @@ definitions:
$ref: '#/definitions/Siterra.Documents.App.DTO.DocumentDto'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Number: string
Description: string
- LibraryTemplateId: integer
- ParentTypeId: integer
- ParentId: integer
+ LibraryTemplateId: number
+ ParentTypeId: number
+ ParentId: number
AllowMultiple: true
AutoCreate: true
- TypeId: integer
- DomainId: integer
- CreatedBy: integer
+ TypeId: number
+ DomainId: number
+ CreatedBy: number
CreationDate: string (timestamp)
- ModifiedBy: integer
+ ModifiedBy: number
ModificationDate: string (timestamp)
Documents:
- '@odata.type': Siterra.Documents.App.DTO.DocumentDto
@@ -3106,17 +3106,17 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Number:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DocumentId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DocumentName:
type: string
DocumentDescription:
@@ -3129,14 +3129,14 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsReviewed:
type: boolean
ReviewedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ReviewedDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3147,7 +3147,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ApprovedDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3158,7 +3158,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
RejectedDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3167,27 +3167,27 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Document:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.Document'
example:
- Id: integer (identifier)
- Number: integer
- DocumentId: integer
+ Id: number (identifier)
+ Number: number
+ DocumentId: number
DocumentName: string
DocumentDescription: string
CreationDate: string (timestamp)
- CreatedBy: integer
+ CreatedBy: number
IsReviewed: true
- ReviewedBy: integer
+ ReviewedBy: number
ReviewedDate: string (timestamp)
IsApproved: true
- ApprovedBy: integer
+ ApprovedBy: number
ApprovedDate: string (timestamp)
IsRejected: true
- RejectedBy: integer
+ RejectedBy: number
RejectedDate: string (timestamp)
- DomainId: integer
+ DomainId: number
Document:
'@odata.type': Siterra.Documents.BusinessLogic.Entities.Document.Document
Siterra.Documents.App.DTO.CategoryDto:
@@ -3198,7 +3198,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
Description:
@@ -3215,14 +3215,14 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Description: string
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
- DomainId: integer
+ DomainId: number
Siterra.Documents.App.DTO.DocumentTagRelDto:
title: DocumentTagRelDto
type: object
@@ -3239,7 +3239,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
Description:
@@ -3248,12 +3248,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
TypeId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Keywords:
type: string
CreationDate:
@@ -3264,7 +3264,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModificationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3273,22 +3273,22 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DomainId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
LibraryId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
OwnerUserId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
StatusDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3297,7 +3297,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CheckoutDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3308,7 +3308,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Number:
type: string
OriginalDate:
@@ -3324,12 +3324,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsDeleted:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsNa:
format: decimal
type: number
@@ -3353,12 +3353,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ScraperMapId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
LastDownloadedDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3367,19 +3367,19 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsApprovedOld:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Suffix:
type: string
ScrapeResultId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsApproved:
format: decimal
type: number
@@ -3387,17 +3387,17 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
SectionId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
VersionCount:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
LastFileName:
type: string
DocumentClasses:
@@ -3425,30 +3425,30 @@ definitions:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Revision.Revision'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Description: string
- StatusId: integer
- TypeId: integer
+ StatusId: number
+ TypeId: number
Keywords: string
CreationDate: string (timestamp)
- CreatedBy: integer
+ CreatedBy: number
ModificationDate: string (timestamp)
- ModifiedBy: integer
- DomainId: integer
- LibraryId: integer
- OwnerUserId: integer
+ ModifiedBy: number
+ DomainId: number
+ LibraryId: number
+ OwnerUserId: number
StatusDate: string (timestamp)
- LastRevisionId: integer
+ LastRevisionId: number
CheckoutDate: string (timestamp)
CheckoutPath: string
- CheckoutUserId: integer
+ CheckoutUserId: number
Number: string
OriginalDate: string (timestamp)
FileSized: number
FileClientPath: string
- LastRevisionFileId: integer
- IsDeleted: integer
+ LastRevisionFileId: number
+ IsDeleted: number
IsNa: number
IsRejected: number
IsReviewed: number
@@ -3457,17 +3457,17 @@ definitions:
RejectedDescription: string
RejectedReason: string
ReviewDescription: string
- SourceDocumentId: integer
- ScraperMapId: integer
+ SourceDocumentId: number
+ ScraperMapId: number
LastDownloadedDate: string (timestamp)
- SmsId: integer
- IsApprovedOld: integer
+ SmsId: number
+ IsApprovedOld: number
Suffix: string
- ScrapeResultId: integer
+ ScrapeResultId: number
IsApproved: number
- CategoryId: integer
- SectionId: integer
- VersionCount: integer
+ CategoryId: number
+ SectionId: number
+ VersionCount: number
LastFileName: string
DocumentClasses:
- '@odata.type': Siterra.Documents.BusinessLogic.Entities.Document.DocumentClass
@@ -3491,22 +3491,22 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ClassId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DocumentId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreatedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3515,7 +3515,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModificationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3525,12 +3525,12 @@ definitions:
Document:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.Document'
example:
- ClassInstance: integer
- ClassId: integer
- DocumentId: integer
- CreatedBy: integer
+ ClassInstance: number
+ ClassId: number
+ DocumentId: number
+ CreatedBy: number
CreationDate: string (timestamp)
- ModifiedBy: integer
+ ModifiedBy: number
ModificationDate: string (timestamp)
IsPrimary: true
Document:
@@ -3543,27 +3543,27 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
TagId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DomainId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreatedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModifiedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3577,11 +3577,11 @@ definitions:
Tag:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Tags.Tag'
example:
- DocumentId: integer
- TagId: integer
- DomainId: integer
- CreatedBy: integer
- ModifiedBy: integer
+ DocumentId: number
+ TagId: number
+ DomainId: number
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Document:
@@ -3596,31 +3596,31 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DomainId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
ParentFolderId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Number:
type: string
TypeId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
OwnerUserId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
TotalSize:
format: decimal
type: number
@@ -3628,12 +3628,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
FoldersCounter:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3646,32 +3646,32 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreatedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ProjectId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
SearchRingId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
SiteId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
AssetId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
AllowMultiple:
type: boolean
AutoCreate:
@@ -3684,74 +3684,74 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
SourceFolderId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
TemplateClassId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
TemplateSubType:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsHidden:
type: boolean
IsDeleted:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
StatusId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
SmsId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ContractId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
VendorId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
OrganizationUnitId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IncidentId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
EventId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ClassInstance:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ClassId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
LibraryParent:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Library.Library'
Type:
@@ -3774,43 +3774,43 @@ definitions:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Library.Library'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
- ParentFolderId: integer
+ ParentFolderId: number
Number: string
- TypeId: integer
- OwnerUserId: integer
+ TypeId: number
+ OwnerUserId: number
TotalSize: number
- FilesCounter: integer
- FoldersCounter: integer
+ FilesCounter: number
+ FoldersCounter: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
- ModifiedBy: integer
- CreatedBy: integer
- ProjectId: integer
- SearchRingId: integer
- SiteId: integer
- AssetId: integer
+ ModifiedBy: number
+ CreatedBy: number
+ ProjectId: number
+ SearchRingId: number
+ SiteId: number
+ AssetId: number
AllowMultiple: true
AutoCreate: true
Description: string
IsTemplate: true
- ProgramId: integer
- SourceFolderId: integer
- TemplateClassId: integer
- TemplateSubType: integer
+ ProgramId: number
+ SourceFolderId: number
+ TemplateClassId: number
+ TemplateSubType: number
IsHidden: true
- IsDeleted: integer
- StatusId: integer
- SmsId: integer
- ContractId: integer
- VendorId: integer
- OrganizationUnitId: integer
- IncidentId: integer
- EventId: integer
- ClassInstance: integer
- ClassId: integer
+ IsDeleted: number
+ StatusId: number
+ SmsId: number
+ ContractId: number
+ VendorId: number
+ OrganizationUnitId: number
+ IncidentId: number
+ EventId: number
+ ClassInstance: number
+ ClassId: number
LibraryParent:
'@odata.type': Siterra.Documents.BusinessLogic.Entities.Library.Library
Type:
@@ -3831,19 +3831,19 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
ModifiedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreatedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModificationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3856,7 +3856,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Description:
type: string
XmlName:
@@ -3865,22 +3865,22 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Number:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ClassId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ParentId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
HasChanged:
type: boolean
MasterLibraryType:
@@ -3898,19 +3898,19 @@ definitions:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Library.LibraryType'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
- ModifiedBy: integer
- CreatedBy: integer
+ ModifiedBy: number
+ CreatedBy: number
ModificationDate: string (timestamp)
CreationDate: string (timestamp)
- DomainId: integer
+ DomainId: number
Description: string
XmlName: string
- MasterId: integer
- Number: integer
- ClassId: integer
- ParentId: integer
+ MasterId: number
+ Number: number
+ ClassId: number
+ ParentId: number
HasChanged: true
MasterLibraryType:
'@odata.type': Siterra.Documents.BusinessLogic.Entities.Library.LibraryType
@@ -3928,7 +3928,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
Path:
@@ -3937,12 +3937,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreatedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3960,29 +3960,29 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
SourceClassId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ContentTypeId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ClientPath:
type: string
IsSelfHosted:
format: int16
maximum: 32767
minimum: -32768
- type: integer
+ type: number
SmsId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Latitude:
format: decimal
type: number
@@ -3995,21 +3995,21 @@ definitions:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.Document'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Path: string
- ModifiedBy: integer
- CreatedBy: integer
+ ModifiedBy: number
+ CreatedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Sized: number
ActualName: string
- DomainId: integer
- SourceClassId: integer
- ContentTypeId: integer
+ DomainId: number
+ SourceClassId: number
+ ContentTypeId: number
ClientPath: string
- IsSelfHosted: integer
- SmsId: integer
+ IsSelfHosted: number
+ SmsId: number
Latitude: number
Longitude: number
Documents:
@@ -4022,12 +4022,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DomainId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Name:
type: string
Description:
@@ -4036,12 +4036,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModifiedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -4051,12 +4051,12 @@ definitions:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
type: string
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Siterra.Documents.BusinessLogic.Entities.Tags.UserDefinedTag:
@@ -4070,12 +4070,12 @@ definitions:
items:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.DocumentTagRel'
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Documents:
@@ -4092,12 +4092,12 @@ definitions:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.Document'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Documents:
@@ -4114,12 +4114,12 @@ definitions:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.Document'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Documents:
@@ -4132,17 +4132,17 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Number:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DocumentId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ModificationDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -4155,24 +4155,24 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
CreatedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
Remarks:
type: string
FileId:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DocumentOwnerContact:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
DocumentDescription:
type: string
DocumentStatusDate:
@@ -4195,12 +4195,12 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsDeleted:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsReviewed:
type: boolean
ReviewDescription:
@@ -4209,7 +4209,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsRejected:
type: boolean
RejectedReason:
@@ -4220,14 +4220,14 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
IsApproved:
type: boolean
ApprovedBy:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ReviewedDate:
format: date-time
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -4243,16 +4243,16 @@ definitions:
Document:
$ref: '#/definitions/Siterra.Documents.BusinessLogic.Entities.Document.Document'
example:
- Id: integer (identifier)
- Number: integer
- DocumentId: integer
+ Id: number (identifier)
+ Number: number
+ DocumentId: number
ModificationDate: string (timestamp)
CreationDate: string (timestamp)
- ModifiedBy: integer
- CreatedBy: integer
+ ModifiedBy: number
+ CreatedBy: number
Remarks: string
- FileId: integer
- DocumentOwnerContact: integer
+ FileId: number
+ DocumentOwnerContact: number
DocumentDescription: string
DocumentStatusDate: string (timestamp)
DocumentFolder: string
@@ -4261,17 +4261,17 @@ definitions:
DocumentType: string
DocumentName: string
DocumentNumber: string
- DomainId: integer
- IsDeleted: integer
+ DomainId: number
+ IsDeleted: number
IsReviewed: true
ReviewDescription: string
- ReviewedBy: integer
+ ReviewedBy: number
IsRejected: true
RejectedReason: string
RejectedDescription: string
- RejectedBy: integer
+ RejectedBy: number
IsApproved: true
- ApprovedBy: integer
+ ApprovedBy: number
ReviewedDate: string (timestamp)
RejectedDate: string (timestamp)
ApprovedDate: string (timestamp)
@@ -4436,6 +4436,7 @@ definitions:
- '-INF'
- INF
- NaN
+ type: string
parameters:
top:
in: query
@@ -4544,7 +4545,7 @@ tags:
x-ms-docs-toc-type: page
- name: Documents.DocumentDto
x-ms-docs-toc-type: page
- - name: Documents.Actions
+ - name: Documents.DocumentDto.Actions
x-ms-docs-toc-type: container
- name: Documents.RevisionDto
x-ms-docs-toc-type: page
@@ -4566,7 +4567,7 @@ tags:
x-ms-docs-toc-type: page
- name: Tasks.DocumentDto
x-ms-docs-toc-type: page
- - name: Tasks.Actions
+ - name: Tasks.DocumentDto.Actions
x-ms-docs-toc-type: container
- name: Tasks.RevisionDto
x-ms-docs-toc-type: page
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.json
index bb39c082..02c621ba 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace Default",
"description": "This OData service is located at http://localhost",
@@ -164,7 +164,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "CategoryDto"
@@ -241,7 +241,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "CategoryDto"
@@ -283,7 +283,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "CategoryDto"
@@ -501,7 +501,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -592,7 +592,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -634,7 +634,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -663,7 +663,7 @@
"description": "Provides operations to call the Upload method.",
"post": {
"tags": [
- "Documents.Actions"
+ "Documents.DocumentDto.Actions"
],
"summary": "Invoke action Upload",
"operationId": "Documents.DocumentDto.Upload",
@@ -676,7 +676,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -710,7 +710,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -861,7 +861,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -874,7 +874,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -916,7 +916,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -955,7 +955,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1051,7 +1051,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1085,7 +1085,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1135,7 +1135,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1232,7 +1232,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1281,7 +1281,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1336,7 +1336,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1566,7 +1566,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -1659,7 +1659,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -1701,7 +1701,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -1743,7 +1743,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -1873,7 +1873,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -1886,7 +1886,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -1927,7 +1927,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -1940,7 +1940,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -2037,7 +2037,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -2050,7 +2050,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -2099,7 +2099,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -2112,7 +2112,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -2167,7 +2167,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -2180,7 +2180,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -2219,7 +2219,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -2258,7 +2258,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -2340,7 +2340,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -2374,7 +2374,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "LibraryDto"
@@ -2622,7 +2622,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -2717,7 +2717,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -2759,7 +2759,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -2801,7 +2801,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -2948,7 +2948,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3003,7 +3003,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3037,7 +3037,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3078,7 +3078,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3198,7 +3198,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3247,7 +3247,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3302,7 +3302,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3340,7 +3340,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3459,7 +3459,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3508,7 +3508,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3563,7 +3563,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -3778,7 +3778,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -3869,7 +3869,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -3911,7 +3911,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -3940,7 +3940,7 @@
"description": "Provides operations to call the Upload method.",
"post": {
"tags": [
- "Tasks.Actions"
+ "Tasks.DocumentDto.Actions"
],
"summary": "Invoke action Upload",
"operationId": "Tasks.DocumentDto.Upload",
@@ -3953,7 +3953,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -3987,7 +3987,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4138,7 +4138,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4151,7 +4151,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "RevisionDto"
@@ -4193,7 +4193,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4232,7 +4232,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4328,7 +4328,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4362,7 +4362,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4412,7 +4412,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4509,7 +4509,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4558,7 +4558,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4613,7 +4613,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "DocumentDto"
@@ -4671,7 +4671,7 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -4697,7 +4697,7 @@
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ModificationDate": {
@@ -4709,7 +4709,7 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -4728,15 +4728,15 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Description": "string",
"Filename": "string",
"NumberOfRevisions": "string",
"Suffix": "string",
- "DomainId": "integer",
+ "DomainId": "number",
"ModificationDate": "string (timestamp)",
- "ModifiedBy": "integer",
+ "ModifiedBy": "number",
"Tags": [
{
"@odata.type": "Siterra.Documents.App.DTO.DocumentTagRelDto"
@@ -4756,7 +4756,7 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -4774,20 +4774,20 @@
"LibraryTemplateId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"ParentTypeId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ParentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"AllowMultiple": {
@@ -4799,19 +4799,19 @@
"TypeId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreationDate": {
@@ -4822,7 +4822,7 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -4841,20 +4841,20 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Number": "string",
"Description": "string",
- "LibraryTemplateId": "integer",
- "ParentTypeId": "integer",
- "ParentId": "integer",
+ "LibraryTemplateId": "number",
+ "ParentTypeId": "number",
+ "ParentId": "number",
"AllowMultiple": true,
"AutoCreate": true,
- "TypeId": "integer",
- "DomainId": "integer",
- "CreatedBy": "integer",
+ "TypeId": "number",
+ "DomainId": "number",
+ "CreatedBy": "number",
"CreationDate": "string (timestamp)",
- "ModifiedBy": "integer",
+ "ModifiedBy": "number",
"ModificationDate": "string (timestamp)",
"Documents": [
{
@@ -4870,19 +4870,19 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Number": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DocumentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -4902,7 +4902,7 @@
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"IsReviewed": {
@@ -4911,7 +4911,7 @@
"ReviewedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -4927,7 +4927,7 @@
"ApprovedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -4943,7 +4943,7 @@
"RejectedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -4956,7 +4956,7 @@
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Document": {
@@ -4973,23 +4973,23 @@
}
},
"example": {
- "Id": "integer (identifier)",
- "Number": "integer",
- "DocumentId": "integer",
+ "Id": "number (identifier)",
+ "Number": "number",
+ "DocumentId": "number",
"DocumentName": "string",
"DocumentDescription": "string",
"CreationDate": "string (timestamp)",
- "CreatedBy": "integer",
+ "CreatedBy": "number",
"IsReviewed": true,
- "ReviewedBy": "integer",
+ "ReviewedBy": "number",
"ReviewedDate": "string (timestamp)",
"IsApproved": true,
- "ApprovedBy": "integer",
+ "ApprovedBy": "number",
"ApprovedDate": "string (timestamp)",
"IsRejected": true,
- "RejectedBy": "integer",
+ "RejectedBy": "number",
"RejectedDate": "string (timestamp)",
- "DomainId": "integer",
+ "DomainId": "number",
"Document": {
"@odata.type": "Siterra.Documents.BusinessLogic.Entities.Document.Document"
}
@@ -5002,7 +5002,7 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -5026,17 +5026,17 @@
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Description": "string",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
- "DomainId": "integer"
+ "DomainId": "number"
}
},
"Siterra.Documents.App.DTO.DocumentTagRelDto": {
@@ -5059,7 +5059,7 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -5073,13 +5073,13 @@
"StatusId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"TypeId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Keywords": {
@@ -5094,7 +5094,7 @@
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ModificationDate": {
@@ -5105,26 +5105,26 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"LibraryId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"OwnerUserId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"StatusDate": {
@@ -5135,7 +5135,7 @@
"LastRevisionId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5152,7 +5152,7 @@
"CheckoutUserId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5177,14 +5177,14 @@
"LastRevisionFileId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"IsDeleted": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"IsNa": {
@@ -5225,14 +5225,14 @@
"SourceDocumentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"ScraperMapId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5245,14 +5245,14 @@
"SmsId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"IsApprovedOld": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5263,7 +5263,7 @@
"ScrapeResultId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5275,21 +5275,21 @@
"CategoryId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"SectionId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"VersionCount": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"LastFileName": {
@@ -5360,30 +5360,30 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Description": "string",
- "StatusId": "integer",
- "TypeId": "integer",
+ "StatusId": "number",
+ "TypeId": "number",
"Keywords": "string",
"CreationDate": "string (timestamp)",
- "CreatedBy": "integer",
+ "CreatedBy": "number",
"ModificationDate": "string (timestamp)",
- "ModifiedBy": "integer",
- "DomainId": "integer",
- "LibraryId": "integer",
- "OwnerUserId": "integer",
+ "ModifiedBy": "number",
+ "DomainId": "number",
+ "LibraryId": "number",
+ "OwnerUserId": "number",
"StatusDate": "string (timestamp)",
- "LastRevisionId": "integer",
+ "LastRevisionId": "number",
"CheckoutDate": "string (timestamp)",
"CheckoutPath": "string",
- "CheckoutUserId": "integer",
+ "CheckoutUserId": "number",
"Number": "string",
"OriginalDate": "string (timestamp)",
"FileSized": "number",
"FileClientPath": "string",
- "LastRevisionFileId": "integer",
- "IsDeleted": "integer",
+ "LastRevisionFileId": "number",
+ "IsDeleted": "number",
"IsNa": "number",
"IsRejected": "number",
"IsReviewed": "number",
@@ -5392,17 +5392,17 @@
"RejectedDescription": "string",
"RejectedReason": "string",
"ReviewDescription": "string",
- "SourceDocumentId": "integer",
- "ScraperMapId": "integer",
+ "SourceDocumentId": "number",
+ "ScraperMapId": "number",
"LastDownloadedDate": "string (timestamp)",
- "SmsId": "integer",
- "IsApprovedOld": "integer",
+ "SmsId": "number",
+ "IsApprovedOld": "number",
"Suffix": "string",
- "ScrapeResultId": "integer",
+ "ScrapeResultId": "number",
"IsApproved": "number",
- "CategoryId": "integer",
- "SectionId": "integer",
- "VersionCount": "integer",
+ "CategoryId": "number",
+ "SectionId": "number",
+ "VersionCount": "number",
"LastFileName": "string",
"DocumentClasses": [
{
@@ -5442,25 +5442,25 @@
"ClassInstance": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ClassId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DocumentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreationDate": {
@@ -5471,7 +5471,7 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ModificationDate": {
@@ -5496,12 +5496,12 @@
}
},
"example": {
- "ClassInstance": "integer",
- "ClassId": "integer",
- "DocumentId": "integer",
- "CreatedBy": "integer",
+ "ClassInstance": "number",
+ "ClassId": "number",
+ "DocumentId": "number",
+ "CreatedBy": "number",
"CreationDate": "string (timestamp)",
- "ModifiedBy": "integer",
+ "ModifiedBy": "number",
"ModificationDate": "string (timestamp)",
"IsPrimary": true,
"Document": {
@@ -5516,31 +5516,31 @@
"DocumentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"TagId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreationDate": {
@@ -5579,11 +5579,11 @@
}
},
"example": {
- "DocumentId": "integer",
- "TagId": "integer",
- "DomainId": "integer",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "DocumentId": "number",
+ "TagId": "number",
+ "DomainId": "number",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Document": {
@@ -5601,13 +5601,13 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -5617,7 +5617,7 @@
"ParentFolderId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5628,13 +5628,13 @@
"TypeId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"OwnerUserId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"TotalSize": {
@@ -5644,13 +5644,13 @@
"FilesCounter": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"FoldersCounter": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreationDate": {
@@ -5666,40 +5666,40 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ProjectId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"SearchRingId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"SiteId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"AssetId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5719,28 +5719,28 @@
"ProgramId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"SourceFolderId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"TemplateClassId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"TemplateSubType": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5750,68 +5750,68 @@
"IsDeleted": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"StatusId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"SmsId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"ContractId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"VendorId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"OrganizationUnitId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"IncidentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"EventId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"ClassInstance": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ClassId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"LibraryParent": {
@@ -5873,43 +5873,43 @@
}
},
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
- "ParentFolderId": "integer",
+ "ParentFolderId": "number",
"Number": "string",
- "TypeId": "integer",
- "OwnerUserId": "integer",
+ "TypeId": "number",
+ "OwnerUserId": "number",
"TotalSize": "number",
- "FilesCounter": "integer",
- "FoldersCounter": "integer",
+ "FilesCounter": "number",
+ "FoldersCounter": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
- "ProjectId": "integer",
- "SearchRingId": "integer",
- "SiteId": "integer",
- "AssetId": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
+ "ProjectId": "number",
+ "SearchRingId": "number",
+ "SiteId": "number",
+ "AssetId": "number",
"AllowMultiple": true,
"AutoCreate": true,
"Description": "string",
"IsTemplate": true,
- "ProgramId": "integer",
- "SourceFolderId": "integer",
- "TemplateClassId": "integer",
- "TemplateSubType": "integer",
+ "ProgramId": "number",
+ "SourceFolderId": "number",
+ "TemplateClassId": "number",
+ "TemplateSubType": "number",
"IsHidden": true,
- "IsDeleted": "integer",
- "StatusId": "integer",
- "SmsId": "integer",
- "ContractId": "integer",
- "VendorId": "integer",
- "OrganizationUnitId": "integer",
- "IncidentId": "integer",
- "EventId": "integer",
- "ClassInstance": "integer",
- "ClassId": "integer",
+ "IsDeleted": "number",
+ "StatusId": "number",
+ "SmsId": "number",
+ "ContractId": "number",
+ "VendorId": "number",
+ "OrganizationUnitId": "number",
+ "IncidentId": "number",
+ "EventId": "number",
+ "ClassInstance": "number",
+ "ClassId": "number",
"LibraryParent": {
"@odata.type": "Siterra.Documents.BusinessLogic.Entities.Library.Library"
},
@@ -5943,7 +5943,7 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -5953,13 +5953,13 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ModificationDate": {
@@ -5975,7 +5975,7 @@
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -5990,27 +5990,27 @@
"MasterId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"Number": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"ClassId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ParentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -6057,19 +6057,19 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
"ModificationDate": "string (timestamp)",
"CreationDate": "string (timestamp)",
- "DomainId": "integer",
+ "DomainId": "number",
"Description": "string",
"XmlName": "string",
- "MasterId": "integer",
- "Number": "integer",
- "ClassId": "integer",
- "ParentId": "integer",
+ "MasterId": "number",
+ "Number": "number",
+ "ClassId": "number",
+ "ParentId": "number",
"HasChanged": true,
"MasterLibraryType": {
"@odata.type": "Siterra.Documents.BusinessLogic.Entities.Library.LibraryType"
@@ -6096,7 +6096,7 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -6110,13 +6110,13 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreationDate": {
@@ -6140,20 +6140,20 @@
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"SourceClassId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
"ContentTypeId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -6164,13 +6164,13 @@
"IsSelfHosted": {
"maximum": 32767,
"minimum": -32768,
- "type": "integer",
+ "type": "number",
"format": "int16"
},
"SmsId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -6193,21 +6193,21 @@
}
},
"example": {
- "Id": "integer (identifier)",
+ "Id": "number (identifier)",
"Name": "string",
"Path": "string",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Sized": "number",
"ActualName": "string",
- "DomainId": "integer",
- "SourceClassId": "integer",
- "ContentTypeId": "integer",
+ "DomainId": "number",
+ "SourceClassId": "number",
+ "ContentTypeId": "number",
"ClientPath": "string",
- "IsSelfHosted": "integer",
- "SmsId": "integer",
+ "IsSelfHosted": "number",
+ "SmsId": "number",
"Latitude": "number",
"Longitude": "number",
"Documents": [
@@ -6224,13 +6224,13 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Name": {
@@ -6244,13 +6244,13 @@
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreationDate": {
@@ -6265,12 +6265,12 @@
}
},
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)"
}
@@ -6294,12 +6294,12 @@
}
],
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Documents": [
@@ -6329,12 +6329,12 @@
}
],
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Documents": [
@@ -6364,12 +6364,12 @@
}
],
"example": {
- "Id": "integer (identifier)",
- "DomainId": "integer",
+ "Id": "number (identifier)",
+ "DomainId": "number",
"Name": "string",
"Description": "string",
- "CreatedBy": "integer",
- "ModifiedBy": "integer",
+ "CreatedBy": "number",
+ "ModifiedBy": "number",
"CreationDate": "string (timestamp)",
"ModificationDate": "string (timestamp)",
"Documents": [
@@ -6386,19 +6386,19 @@
"Id": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Number": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DocumentId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -6415,13 +6415,13 @@
"ModifiedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"CreatedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"Remarks": {
@@ -6431,13 +6431,13 @@
"FileId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DocumentOwnerContact": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"DocumentDescription": {
@@ -6476,13 +6476,13 @@
"DomainId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"IsDeleted": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"IsReviewed": {
@@ -6495,7 +6495,7 @@
"ReviewedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -6513,7 +6513,7 @@
"RejectedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -6523,7 +6523,7 @@
"ApprovedBy": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32",
"nullable": true
},
@@ -6559,16 +6559,16 @@
}
},
"example": {
- "Id": "integer (identifier)",
- "Number": "integer",
- "DocumentId": "integer",
+ "Id": "number (identifier)",
+ "Number": "number",
+ "DocumentId": "number",
"ModificationDate": "string (timestamp)",
"CreationDate": "string (timestamp)",
- "ModifiedBy": "integer",
- "CreatedBy": "integer",
+ "ModifiedBy": "number",
+ "CreatedBy": "number",
"Remarks": "string",
- "FileId": "integer",
- "DocumentOwnerContact": "integer",
+ "FileId": "number",
+ "DocumentOwnerContact": "number",
"DocumentDescription": "string",
"DocumentStatusDate": "string (timestamp)",
"DocumentFolder": "string",
@@ -6577,17 +6577,17 @@
"DocumentType": "string",
"DocumentName": "string",
"DocumentNumber": "string",
- "DomainId": "integer",
- "IsDeleted": "integer",
+ "DomainId": "number",
+ "IsDeleted": "number",
"IsReviewed": true,
"ReviewDescription": "string",
- "ReviewedBy": "integer",
+ "ReviewedBy": "number",
"IsRejected": true,
"RejectedReason": "string",
"RejectedDescription": "string",
- "RejectedBy": "integer",
+ "RejectedBy": "number",
"IsApproved": true,
- "ApprovedBy": "integer",
+ "ApprovedBy": "number",
"ReviewedDate": "string (timestamp)",
"RejectedDate": "string (timestamp)",
"ApprovedDate": "string (timestamp)",
@@ -6835,7 +6835,9 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string",
+ "nullable": true
}
},
"responses": {
@@ -7480,7 +7482,7 @@
"x-ms-docs-toc-type": "page"
},
{
- "name": "Documents.Actions",
+ "name": "Documents.DocumentDto.Actions",
"x-ms-docs-toc-type": "container"
},
{
@@ -7524,7 +7526,7 @@
"x-ms-docs-toc-type": "page"
},
{
- "name": "Tasks.Actions",
+ "name": "Tasks.DocumentDto.Actions",
"x-ms-docs-toc-type": "container"
},
{
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.yaml
index aa66b9c7..fae5ab93 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.1
+openapi: 3.0.4
info:
title: OData Service for namespace Default
description: This OData service is located at http://localhost
@@ -113,7 +113,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: CategoryDto
- name: $select
@@ -168,7 +168,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: CategoryDto
requestBody:
@@ -197,7 +197,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: CategoryDto
- name: If-Match
@@ -347,7 +347,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: $select
@@ -413,7 +413,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
requestBody:
@@ -442,7 +442,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -460,7 +460,7 @@ paths:
description: Provides operations to call the Upload method.
post:
tags:
- - Documents.Actions
+ - Documents.DocumentDto.Actions
summary: Invoke action Upload
operationId: Documents.DocumentDto.Upload
parameters:
@@ -471,7 +471,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
responses:
@@ -495,7 +495,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/top'
@@ -611,7 +611,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: Id1
@@ -621,7 +621,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: If-Match
@@ -650,7 +650,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/search'
@@ -675,7 +675,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/top'
@@ -747,7 +747,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
requestBody:
@@ -771,7 +771,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -805,7 +805,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/top'
@@ -868,7 +868,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
requestBody:
@@ -901,7 +901,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -938,7 +938,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/search'
@@ -1099,7 +1099,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: $select
@@ -1168,7 +1168,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
requestBody:
@@ -1197,7 +1197,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: If-Match
@@ -1226,7 +1226,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- $ref: '#/components/parameters/top'
@@ -1321,7 +1321,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: Id1
@@ -1331,7 +1331,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -1359,7 +1359,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: Id1
@@ -1369,7 +1369,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/top'
@@ -1432,7 +1432,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: Id1
@@ -1442,7 +1442,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
requestBody:
@@ -1475,7 +1475,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: Id1
@@ -1485,7 +1485,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -1522,7 +1522,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: Id1
@@ -1532,7 +1532,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/search'
@@ -1557,7 +1557,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- $ref: '#/components/parameters/search'
@@ -1582,7 +1582,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- $ref: '#/components/parameters/top'
@@ -1640,7 +1640,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
requestBody:
@@ -1664,7 +1664,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: LibraryDto
- name: If-Match
@@ -1841,7 +1841,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: $select
@@ -1912,7 +1912,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
requestBody:
@@ -1941,7 +1941,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: If-Match
@@ -1970,7 +1970,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: $select
@@ -2088,7 +2088,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
responses:
@@ -2125,7 +2125,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
requestBody:
@@ -2149,7 +2149,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: If-Match
@@ -2177,7 +2177,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- $ref: '#/components/parameters/top'
@@ -2263,7 +2263,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
requestBody:
@@ -2296,7 +2296,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: If-Match
@@ -2333,7 +2333,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- $ref: '#/components/parameters/search'
@@ -2357,7 +2357,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- $ref: '#/components/parameters/top'
@@ -2442,7 +2442,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
requestBody:
@@ -2475,7 +2475,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: If-Match
@@ -2512,7 +2512,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- $ref: '#/components/parameters/search'
@@ -2658,7 +2658,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: $select
@@ -2724,7 +2724,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
requestBody:
@@ -2753,7 +2753,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -2771,7 +2771,7 @@ paths:
description: Provides operations to call the Upload method.
post:
tags:
- - Tasks.Actions
+ - Tasks.DocumentDto.Actions
summary: Invoke action Upload
operationId: Tasks.DocumentDto.Upload
parameters:
@@ -2782,7 +2782,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
responses:
@@ -2806,7 +2806,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/top'
@@ -2922,7 +2922,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: Id1
@@ -2932,7 +2932,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: RevisionDto
- name: If-Match
@@ -2961,7 +2961,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/search'
@@ -2986,7 +2986,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/top'
@@ -3058,7 +3058,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
requestBody:
@@ -3082,7 +3082,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -3116,7 +3116,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/top'
@@ -3179,7 +3179,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
requestBody:
@@ -3212,7 +3212,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- name: If-Match
@@ -3249,7 +3249,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: DocumentDto
- $ref: '#/components/parameters/search'
@@ -3283,7 +3283,7 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -3303,7 +3303,7 @@ components:
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ModificationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3313,7 +3313,7 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
Tags:
@@ -3326,15 +3326,15 @@ components:
$ref: '#/components/schemas/Siterra.Documents.App.DTO.RevisionDto'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Description: string
Filename: string
NumberOfRevisions: string
Suffix: string
- DomainId: integer
+ DomainId: number
ModificationDate: string (timestamp)
- ModifiedBy: integer
+ ModifiedBy: number
Tags:
- '@odata.type': Siterra.Documents.App.DTO.DocumentTagRelDto
Revisions:
@@ -3346,7 +3346,7 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -3360,18 +3360,18 @@ components:
LibraryTemplateId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ParentTypeId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ParentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
AllowMultiple:
type: boolean
@@ -3380,17 +3380,17 @@ components:
TypeId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3399,7 +3399,7 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ModificationDate:
@@ -3413,20 +3413,20 @@ components:
$ref: '#/components/schemas/Siterra.Documents.App.DTO.DocumentDto'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Number: string
Description: string
- LibraryTemplateId: integer
- ParentTypeId: integer
- ParentId: integer
+ LibraryTemplateId: number
+ ParentTypeId: number
+ ParentId: number
AllowMultiple: true
AutoCreate: true
- TypeId: integer
- DomainId: integer
- CreatedBy: integer
+ TypeId: number
+ DomainId: number
+ CreatedBy: number
CreationDate: string (timestamp)
- ModifiedBy: integer
+ ModifiedBy: number
ModificationDate: string (timestamp)
Documents:
- '@odata.type': Siterra.Documents.App.DTO.DocumentDto
@@ -3437,17 +3437,17 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Number:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DocumentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
DocumentName:
@@ -3463,14 +3463,14 @@ components:
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
IsReviewed:
type: boolean
ReviewedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ReviewedDate:
@@ -3483,7 +3483,7 @@ components:
ApprovedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ApprovedDate:
@@ -3496,7 +3496,7 @@ components:
RejectedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
RejectedDate:
@@ -3507,7 +3507,7 @@ components:
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Document:
anyOf:
@@ -3516,23 +3516,23 @@ components:
nullable: true
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- Number: integer
- DocumentId: integer
+ Id: number (identifier)
+ Number: number
+ DocumentId: number
DocumentName: string
DocumentDescription: string
CreationDate: string (timestamp)
- CreatedBy: integer
+ CreatedBy: number
IsReviewed: true
- ReviewedBy: integer
+ ReviewedBy: number
ReviewedDate: string (timestamp)
IsApproved: true
- ApprovedBy: integer
+ ApprovedBy: number
ApprovedDate: string (timestamp)
IsRejected: true
- RejectedBy: integer
+ RejectedBy: number
RejectedDate: string (timestamp)
- DomainId: integer
+ DomainId: number
Document:
'@odata.type': Siterra.Documents.BusinessLogic.Entities.Document.Document
Siterra.Documents.App.DTO.CategoryDto:
@@ -3542,7 +3542,7 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -3561,15 +3561,15 @@ components:
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Description: string
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
- DomainId: integer
+ DomainId: number
Siterra.Documents.App.DTO.DocumentTagRelDto:
title: DocumentTagRelDto
type: object
@@ -3586,7 +3586,7 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -3597,12 +3597,12 @@ components:
StatusId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
TypeId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Keywords:
type: string
@@ -3614,7 +3614,7 @@ components:
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ModificationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3623,23 +3623,23 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
LibraryId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
OwnerUserId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
StatusDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3648,7 +3648,7 @@ components:
LastRevisionId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
CheckoutDate:
@@ -3662,7 +3662,7 @@ components:
CheckoutUserId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
Number:
@@ -3682,13 +3682,13 @@ components:
LastRevisionFileId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
IsDeleted:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
IsNa:
type: number
@@ -3720,13 +3720,13 @@ components:
SourceDocumentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ScraperMapId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
LastDownloadedDate:
@@ -3737,13 +3737,13 @@ components:
SmsId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
IsApprovedOld:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
Suffix:
@@ -3752,7 +3752,7 @@ components:
ScrapeResultId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
IsApproved:
@@ -3762,19 +3762,19 @@ components:
CategoryId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
SectionId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
VersionCount:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
LastFileName:
type: string
@@ -3816,30 +3816,30 @@ components:
$ref: '#/components/schemas/Siterra.Documents.BusinessLogic.Entities.Revision.Revision'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Description: string
- StatusId: integer
- TypeId: integer
+ StatusId: number
+ TypeId: number
Keywords: string
CreationDate: string (timestamp)
- CreatedBy: integer
+ CreatedBy: number
ModificationDate: string (timestamp)
- ModifiedBy: integer
- DomainId: integer
- LibraryId: integer
- OwnerUserId: integer
+ ModifiedBy: number
+ DomainId: number
+ LibraryId: number
+ OwnerUserId: number
StatusDate: string (timestamp)
- LastRevisionId: integer
+ LastRevisionId: number
CheckoutDate: string (timestamp)
CheckoutPath: string
- CheckoutUserId: integer
+ CheckoutUserId: number
Number: string
OriginalDate: string (timestamp)
FileSized: number
FileClientPath: string
- LastRevisionFileId: integer
- IsDeleted: integer
+ LastRevisionFileId: number
+ IsDeleted: number
IsNa: number
IsRejected: number
IsReviewed: number
@@ -3848,17 +3848,17 @@ components:
RejectedDescription: string
RejectedReason: string
ReviewDescription: string
- SourceDocumentId: integer
- ScraperMapId: integer
+ SourceDocumentId: number
+ ScraperMapId: number
LastDownloadedDate: string (timestamp)
- SmsId: integer
- IsApprovedOld: integer
+ SmsId: number
+ IsApprovedOld: number
Suffix: string
- ScrapeResultId: integer
+ ScrapeResultId: number
IsApproved: number
- CategoryId: integer
- SectionId: integer
- VersionCount: integer
+ CategoryId: number
+ SectionId: number
+ VersionCount: number
LastFileName: string
DocumentClasses:
- '@odata.type': Siterra.Documents.BusinessLogic.Entities.Document.DocumentClass
@@ -3881,22 +3881,22 @@ components:
ClassInstance:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ClassId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DocumentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3905,7 +3905,7 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ModificationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3920,12 +3920,12 @@ components:
nullable: true
x-ms-navigationProperty: true
example:
- ClassInstance: integer
- ClassId: integer
- DocumentId: integer
- CreatedBy: integer
+ ClassInstance: number
+ ClassId: number
+ DocumentId: number
+ CreatedBy: number
CreationDate: string (timestamp)
- ModifiedBy: integer
+ ModifiedBy: number
ModificationDate: string (timestamp)
IsPrimary: true
Document:
@@ -3937,27 +3937,27 @@ components:
DocumentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
TagId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -3980,11 +3980,11 @@ components:
nullable: true
x-ms-navigationProperty: true
example:
- DocumentId: integer
- TagId: integer
- DomainId: integer
- CreatedBy: integer
- ModifiedBy: integer
+ DocumentId: number
+ TagId: number
+ DomainId: number
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Document:
@@ -3998,12 +3998,12 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -4011,7 +4011,7 @@ components:
ParentFolderId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
Number:
@@ -4020,12 +4020,12 @@ components:
TypeId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
OwnerUserId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
TotalSize:
type: number
@@ -4033,12 +4033,12 @@ components:
FilesCounter:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
FoldersCounter:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -4051,35 +4051,35 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ProjectId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
SearchRingId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
SiteId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
AssetId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
AllowMultiple:
@@ -4094,25 +4094,25 @@ components:
ProgramId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
SourceFolderId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
TemplateClassId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
TemplateSubType:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
IsHidden:
@@ -4120,59 +4120,59 @@ components:
IsDeleted:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
StatusId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
SmsId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ContractId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
VendorId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
OrganizationUnitId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
IncidentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
EventId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ClassInstance:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ClassId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
LibraryParent:
anyOf:
@@ -4208,43 +4208,43 @@ components:
$ref: '#/components/schemas/Siterra.Documents.BusinessLogic.Entities.Library.Library'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
- ParentFolderId: integer
+ ParentFolderId: number
Number: string
- TypeId: integer
- OwnerUserId: integer
+ TypeId: number
+ OwnerUserId: number
TotalSize: number
- FilesCounter: integer
- FoldersCounter: integer
+ FilesCounter: number
+ FoldersCounter: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
- ModifiedBy: integer
- CreatedBy: integer
- ProjectId: integer
- SearchRingId: integer
- SiteId: integer
- AssetId: integer
+ ModifiedBy: number
+ CreatedBy: number
+ ProjectId: number
+ SearchRingId: number
+ SiteId: number
+ AssetId: number
AllowMultiple: true
AutoCreate: true
Description: string
IsTemplate: true
- ProgramId: integer
- SourceFolderId: integer
- TemplateClassId: integer
- TemplateSubType: integer
+ ProgramId: number
+ SourceFolderId: number
+ TemplateClassId: number
+ TemplateSubType: number
IsHidden: true
- IsDeleted: integer
- StatusId: integer
- SmsId: integer
- ContractId: integer
- VendorId: integer
- OrganizationUnitId: integer
- IncidentId: integer
- EventId: integer
- ClassInstance: integer
- ClassId: integer
+ IsDeleted: number
+ StatusId: number
+ SmsId: number
+ ContractId: number
+ VendorId: number
+ OrganizationUnitId: number
+ IncidentId: number
+ EventId: number
+ ClassInstance: number
+ ClassId: number
LibraryParent:
'@odata.type': Siterra.Documents.BusinessLogic.Entities.Library.Library
Type:
@@ -4264,7 +4264,7 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -4272,12 +4272,12 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ModificationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -4290,7 +4290,7 @@ components:
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
Description:
@@ -4302,24 +4302,24 @@ components:
MasterId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
Number:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ClassId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ParentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
HasChanged:
@@ -4347,19 +4347,19 @@ components:
$ref: '#/components/schemas/Siterra.Documents.BusinessLogic.Entities.Library.LibraryType'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
- ModifiedBy: integer
- CreatedBy: integer
+ ModifiedBy: number
+ CreatedBy: number
ModificationDate: string (timestamp)
CreationDate: string (timestamp)
- DomainId: integer
+ DomainId: number
Description: string
XmlName: string
- MasterId: integer
- Number: integer
- ClassId: integer
- ParentId: integer
+ MasterId: number
+ Number: number
+ ClassId: number
+ ParentId: number
HasChanged: true
MasterLibraryType:
'@odata.type': Siterra.Documents.BusinessLogic.Entities.Library.LibraryType
@@ -4376,7 +4376,7 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -4387,12 +4387,12 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -4411,18 +4411,18 @@ components:
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
SourceClassId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ContentTypeId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ClientPath:
@@ -4431,12 +4431,12 @@ components:
IsSelfHosted:
maximum: 32767
minimum: -32768
- type: integer
+ type: number
format: int16
SmsId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
Latitude:
@@ -4453,21 +4453,21 @@ components:
$ref: '#/components/schemas/Siterra.Documents.BusinessLogic.Entities.Document.Document'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
+ Id: number (identifier)
Name: string
Path: string
- ModifiedBy: integer
- CreatedBy: integer
+ ModifiedBy: number
+ CreatedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Sized: number
ActualName: string
- DomainId: integer
- SourceClassId: integer
- ContentTypeId: integer
+ DomainId: number
+ SourceClassId: number
+ ContentTypeId: number
ClientPath: string
- IsSelfHosted: integer
- SmsId: integer
+ IsSelfHosted: number
+ SmsId: number
Latitude: number
Longitude: number
Documents:
@@ -4479,12 +4479,12 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Name:
type: string
@@ -4495,12 +4495,12 @@ components:
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreationDate:
pattern: '^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$'
@@ -4511,12 +4511,12 @@ components:
type: string
format: date-time
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Siterra.Documents.BusinessLogic.Entities.Tags.UserDefinedTag:
@@ -4530,12 +4530,12 @@ components:
items:
$ref: '#/components/schemas/Siterra.Documents.BusinessLogic.Entities.Document.DocumentTagRel'
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Documents:
@@ -4552,12 +4552,12 @@ components:
$ref: '#/components/schemas/Siterra.Documents.BusinessLogic.Entities.Document.Document'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Documents:
@@ -4574,12 +4574,12 @@ components:
$ref: '#/components/schemas/Siterra.Documents.BusinessLogic.Entities.Document.Document'
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- DomainId: integer
+ Id: number (identifier)
+ DomainId: number
Name: string
Description: string
- CreatedBy: integer
- ModifiedBy: integer
+ CreatedBy: number
+ ModifiedBy: number
CreationDate: string (timestamp)
ModificationDate: string (timestamp)
Documents:
@@ -4591,17 +4591,17 @@ components:
Id:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Number:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DocumentId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ModificationDate:
@@ -4615,12 +4615,12 @@ components:
ModifiedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
CreatedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
Remarks:
type: string
@@ -4628,12 +4628,12 @@ components:
FileId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DocumentOwnerContact:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
DocumentDescription:
type: string
@@ -4663,12 +4663,12 @@ components:
DomainId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
IsDeleted:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
IsReviewed:
type: boolean
@@ -4678,7 +4678,7 @@ components:
ReviewedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
IsRejected:
@@ -4692,7 +4692,7 @@ components:
RejectedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
IsApproved:
@@ -4700,7 +4700,7 @@ components:
ApprovedBy:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
nullable: true
ReviewedDate:
@@ -4725,16 +4725,16 @@ components:
nullable: true
x-ms-navigationProperty: true
example:
- Id: integer (identifier)
- Number: integer
- DocumentId: integer
+ Id: number (identifier)
+ Number: number
+ DocumentId: number
ModificationDate: string (timestamp)
CreationDate: string (timestamp)
- ModifiedBy: integer
- CreatedBy: integer
+ ModifiedBy: number
+ CreatedBy: number
Remarks: string
- FileId: integer
- DocumentOwnerContact: integer
+ FileId: number
+ DocumentOwnerContact: number
DocumentDescription: string
DocumentStatusDate: string (timestamp)
DocumentFolder: string
@@ -4743,17 +4743,17 @@ components:
DocumentType: string
DocumentName: string
DocumentNumber: string
- DomainId: integer
- IsDeleted: integer
+ DomainId: number
+ IsDeleted: number
IsReviewed: true
ReviewDescription: string
- ReviewedBy: integer
+ ReviewedBy: number
IsRejected: true
RejectedReason: string
RejectedDescription: string
- RejectedBy: integer
+ RejectedBy: number
IsApproved: true
- ApprovedBy: integer
+ ApprovedBy: number
ReviewedDate: string (timestamp)
RejectedDate: string (timestamp)
ApprovedDate: string (timestamp)
@@ -4921,6 +4921,8 @@ components:
- '-INF'
- INF
- NaN
+ type: string
+ nullable: true
responses:
error:
description: error
@@ -5382,7 +5384,7 @@ tags:
x-ms-docs-toc-type: page
- name: Documents.DocumentDto
x-ms-docs-toc-type: page
- - name: Documents.Actions
+ - name: Documents.DocumentDto.Actions
x-ms-docs-toc-type: container
- name: Documents.RevisionDto
x-ms-docs-toc-type: page
@@ -5404,7 +5406,7 @@ tags:
x-ms-docs-toc-type: page
- name: Tasks.DocumentDto
x-ms-docs-toc-type: page
- - name: Tasks.Actions
+ - name: Tasks.DocumentDto.Actions
x-ms-docs-toc-type: container
- name: Tasks.RevisionDto
x-ms-docs-toc-type: page
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.json
index 3e3f587b..609eb6e0 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.json
@@ -165,7 +165,7 @@
"Airlines.Airline"
],
"summary": "Update entity in Airlines",
- "operationId": "Airlines.Airline.UpdateAirline",
+ "operationId": "Airlines.Airline.SetAirline",
"consumes": [
"application/json"
],
@@ -534,7 +534,7 @@
"Airports.AirportLocation"
],
"summary": "Update property Location value.",
- "operationId": "Airports.UpdateLocation",
+ "operationId": "Airports.SetLocation",
"consumes": [
"application/json"
],
@@ -7061,7 +7061,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7126,7 +7126,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7176,7 +7176,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7215,7 +7215,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": {
"get": {
"tags": [
- "Me.Functions"
+ "Me.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople",
@@ -7228,7 +7228,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7325,7 +7325,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7410,7 +7410,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7421,7 +7421,7 @@
"name": "PlanItemId",
"description": "The unique identifier of PlanItem",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7466,7 +7466,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7510,7 +7510,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7570,7 +7570,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7609,7 +7609,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -7696,7 +7696,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": {
"get": {
"tags": [
- "Me.Functions"
+ "Me.Person.Functions"
],
"summary": "Invoke function GetFavoriteAirline",
"operationId": "Me.GetFavoriteAirline",
@@ -7722,7 +7722,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": {
"get": {
"tags": [
- "Me.Functions"
+ "Me.Person.Functions"
],
"summary": "Invoke function GetFriendsTrips",
"operationId": "Me.GetFriendsTrips",
@@ -7799,7 +7799,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": {
"post": {
"tags": [
- "Me.Actions"
+ "Me.Person.Actions"
],
"summary": "Invoke action GetPeersForTrip",
"operationId": "Me.GetPeersForTrip",
@@ -10930,7 +10930,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": {
"post": {
"tags": [
- "Me.Actions"
+ "Me.Person.Actions"
],
"summary": "Invoke action Hire",
"description": "Hires someone for the company.",
@@ -11133,7 +11133,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11198,7 +11198,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11248,7 +11248,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11287,7 +11287,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": {
"get": {
"tags": [
- "Me.Functions"
+ "Me.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople",
@@ -11300,7 +11300,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11397,7 +11397,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11482,7 +11482,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11493,7 +11493,7 @@
"name": "PlanItemId",
"description": "The unique identifier of PlanItem",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11538,7 +11538,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11582,7 +11582,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11642,7 +11642,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11681,7 +11681,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -11768,7 +11768,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": {
"post": {
"tags": [
- "Me.Actions"
+ "Me.Person.Actions"
],
"summary": "Invoke action ShareTrip",
"description": "Details of the shared trip.",
@@ -11800,7 +11800,7 @@
"/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": {
"get": {
"tags": [
- "Me.Functions"
+ "Me.Person.Functions"
],
"summary": "Invoke function UpdatePersonLastName",
"operationId": "Me.UpdatePersonLastName",
@@ -12091,7 +12091,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12156,7 +12156,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12206,7 +12206,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12245,7 +12245,7 @@
"/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": {
"get": {
"tags": [
- "Me.Functions"
+ "Me.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "Me.Trips.Trip.GetInvolvedPeople",
@@ -12258,7 +12258,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12355,7 +12355,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12440,7 +12440,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12451,7 +12451,7 @@
"name": "PlanItemId",
"description": "The unique identifier of PlanItem",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12496,7 +12496,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12540,7 +12540,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12600,7 +12600,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -12639,7 +12639,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -15601,7 +15601,7 @@
"/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": {
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Person.Functions"
],
"summary": "Invoke function GetFavoriteAirline",
"operationId": "NewComePeople.Person.GetFavoriteAirline",
@@ -15630,7 +15630,7 @@
"/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": {
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Person.Functions"
],
"summary": "Invoke function GetFriendsTrips",
"operationId": "NewComePeople.Person.GetFriendsTrips",
@@ -15715,7 +15715,7 @@
"/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": {
"post": {
"tags": [
- "NewComePeople.Actions"
+ "NewComePeople.Person.Actions"
],
"summary": "Invoke action GetPeersForTrip",
"operationId": "NewComePeople.Person.GetPeersForTrip",
@@ -15747,7 +15747,7 @@
"/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": {
"post": {
"tags": [
- "NewComePeople.Actions"
+ "NewComePeople.Person.Actions"
],
"summary": "Invoke action Hire",
"description": "Hires someone for the company.",
@@ -15794,7 +15794,7 @@
"/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": {
"post": {
"tags": [
- "NewComePeople.Actions"
+ "NewComePeople.Person.Actions"
],
"summary": "Invoke action ShareTrip",
"description": "Details of the shared trip.",
@@ -15827,7 +15827,7 @@
"/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": {
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Person.Functions"
],
"summary": "Invoke function UpdatePersonLastName",
"operationId": "NewComePeople.Person.UpdatePersonLastName",
@@ -16130,7 +16130,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16196,7 +16196,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16247,7 +16247,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16275,7 +16275,7 @@
"/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": {
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "NewComePeople.Person.Trips.Trip.GetInvolvedPeople",
@@ -16296,7 +16296,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16390,7 +16390,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16472,7 +16472,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16483,7 +16483,7 @@
"name": "PlanItemId",
"description": "The unique identifier of PlanItem",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16529,7 +16529,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16574,7 +16574,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16635,7 +16635,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -16675,7 +16675,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -23777,7 +23777,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -23850,7 +23850,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -23908,7 +23908,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -23947,7 +23947,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": {
"get": {
"tags": [
- "People.Functions"
+ "People.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople",
@@ -23968,7 +23968,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24073,7 +24073,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24166,7 +24166,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24177,7 +24177,7 @@
"name": "PlanItemId",
"description": "The unique identifier of PlanItem",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24230,7 +24230,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24282,7 +24282,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24350,7 +24350,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24397,7 +24397,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -24492,7 +24492,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": {
"get": {
"tags": [
- "People.Functions"
+ "People.Person.Functions"
],
"summary": "Invoke function GetFavoriteAirline",
"operationId": "People.Person.GetFavoriteAirline",
@@ -24528,7 +24528,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": {
"get": {
"tags": [
- "People.Functions"
+ "People.Person.Functions"
],
"summary": "Invoke function GetFriendsTrips",
"operationId": "People.Person.GetFriendsTrips",
@@ -24613,7 +24613,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": {
"post": {
"tags": [
- "People.Actions"
+ "People.Person.Actions"
],
"summary": "Invoke action GetPeersForTrip",
"operationId": "People.Person.GetPeersForTrip",
@@ -28312,7 +28312,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": {
"post": {
"tags": [
- "People.Actions"
+ "People.Person.Actions"
],
"summary": "Invoke action Hire",
"description": "Hires someone for the company.",
@@ -28547,7 +28547,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -28620,7 +28620,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -28678,7 +28678,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -28717,7 +28717,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": {
"get": {
"tags": [
- "People.Functions"
+ "People.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople",
@@ -28738,7 +28738,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -28843,7 +28843,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -28936,7 +28936,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -28947,7 +28947,7 @@
"name": "PlanItemId",
"description": "The unique identifier of PlanItem",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29000,7 +29000,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29052,7 +29052,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29120,7 +29120,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29167,7 +29167,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29262,7 +29262,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": {
"post": {
"tags": [
- "People.Actions"
+ "People.Person.Actions"
],
"summary": "Invoke action ShareTrip",
"description": "Details of the shared trip.",
@@ -29302,7 +29302,7 @@
"/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": {
"get": {
"tags": [
- "People.Functions"
+ "People.Person.Functions"
],
"summary": "Invoke function UpdatePersonLastName",
"operationId": "People.Person.UpdatePersonLastName",
@@ -29666,7 +29666,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29739,7 +29739,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29797,7 +29797,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29836,7 +29836,7 @@
"/People/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": {
"get": {
"tags": [
- "People.Functions"
+ "People.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "People.Person.Trips.Trip.GetInvolvedPeople",
@@ -29857,7 +29857,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -29962,7 +29962,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -30055,7 +30055,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -30066,7 +30066,7 @@
"name": "PlanItemId",
"description": "The unique identifier of PlanItem",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -30119,7 +30119,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -30171,7 +30171,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -30239,7 +30239,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -30286,7 +30286,7 @@
"name": "TripId",
"description": "The unique identifier of Trip",
"required": true,
- "type": "integer",
+ "type": "number",
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
@@ -30721,7 +30721,7 @@
"allOf": [
{
"format": "int64",
- "type": "integer"
+ "type": "number"
}
]
},
@@ -30874,7 +30874,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ShareId": {
"format": "uuid",
@@ -30934,7 +30934,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
},
"ConfirmationCode": {
"type": "string"
@@ -31030,7 +31030,7 @@
"allOf": [
{
"format": "int64",
- "type": "integer"
+ "type": "number"
}
]
},
@@ -31059,7 +31059,7 @@
"allOf": [
{
"format": "int64",
- "type": "integer"
+ "type": "number"
}
]
},
@@ -31561,7 +31561,8 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string"
}
},
"parameters": {
@@ -31630,7 +31631,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
}
}
}
@@ -31650,7 +31651,7 @@
"format": "int32",
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer"
+ "type": "number"
}
}
}
@@ -31835,16 +31836,16 @@
"name": "Me.Trip",
"x-ms-docs-toc-type": "page"
},
- {
- "name": "Me.Functions",
- "x-ms-docs-toc-type": "container"
- },
{
"name": "Me.Trips.PlanItem",
"x-ms-docs-toc-type": "page"
},
{
- "name": "Me.Actions",
+ "name": "Me.Person.Functions",
+ "x-ms-docs-toc-type": "container"
+ },
+ {
+ "name": "Me.Person.Actions",
"x-ms-docs-toc-type": "container"
},
{
@@ -31860,11 +31861,11 @@
"x-ms-docs-toc-type": "page"
},
{
- "name": "NewComePeople.Functions",
+ "name": "NewComePeople.Person.Functions",
"x-ms-docs-toc-type": "container"
},
{
- "name": "NewComePeople.Actions",
+ "name": "NewComePeople.Person.Actions",
"x-ms-docs-toc-type": "container"
},
{
@@ -31891,16 +31892,16 @@
"name": "People.Trip",
"x-ms-docs-toc-type": "page"
},
- {
- "name": "People.Functions",
- "x-ms-docs-toc-type": "container"
- },
{
"name": "People.Trips.PlanItem",
"x-ms-docs-toc-type": "page"
},
{
- "name": "People.Actions",
+ "name": "People.Person.Functions",
+ "x-ms-docs-toc-type": "container"
+ },
+ {
+ "name": "People.Person.Actions",
"x-ms-docs-toc-type": "container"
},
{
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.yaml
index 89ee6536..d03261ed 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.V2.yaml
@@ -107,7 +107,7 @@ paths:
tags:
- Airlines.Airline
summary: Update entity in Airlines
- operationId: Airlines.Airline.UpdateAirline
+ operationId: Airlines.Airline.SetAirline
consumes:
- application/json
parameters:
@@ -349,7 +349,7 @@ paths:
tags:
- Airports.AirportLocation
summary: Update property Location value.
- operationId: Airports.UpdateLocation
+ operationId: Airports.SetLocation
consumes:
- application/json
parameters:
@@ -4737,7 +4737,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -4784,7 +4784,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -4821,7 +4821,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -4849,7 +4849,7 @@ paths:
'/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()':
get:
tags:
- - Me.Functions
+ - Me.Trip
summary: Invoke function GetInvolvedPeople
operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople
produces:
@@ -4859,7 +4859,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -4922,7 +4922,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -4977,7 +4977,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -4986,7 +4986,7 @@ paths:
name: PlanItemId
description: The unique identifier of PlanItem
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -5019,7 +5019,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -5049,7 +5049,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -5087,7 +5087,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -5115,7 +5115,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -5174,7 +5174,7 @@ paths:
/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline():
get:
tags:
- - Me.Functions
+ - Me.Person.Functions
summary: Invoke function GetFavoriteAirline
operationId: Me.GetFavoriteAirline
responses:
@@ -5193,7 +5193,7 @@ paths:
'/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')':
get:
tags:
- - Me.Functions
+ - Me.Person.Functions
summary: Invoke function GetFriendsTrips
operationId: Me.GetFriendsTrips
parameters:
@@ -5241,7 +5241,7 @@ paths:
/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip:
post:
tags:
- - Me.Actions
+ - Me.Person.Actions
summary: Invoke action GetPeersForTrip
operationId: Me.GetPeersForTrip
parameters:
@@ -7352,7 +7352,7 @@ paths:
/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire:
post:
tags:
- - Me.Actions
+ - Me.Person.Actions
summary: Invoke action Hire
description: Hires someone for the company.
operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire
@@ -7490,7 +7490,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7537,7 +7537,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7574,7 +7574,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7602,7 +7602,7 @@ paths:
'/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()':
get:
tags:
- - Me.Functions
+ - Me.Trip
summary: Invoke function GetInvolvedPeople
operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople
produces:
@@ -7612,7 +7612,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7675,7 +7675,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7730,7 +7730,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7739,7 +7739,7 @@ paths:
name: PlanItemId
description: The unique identifier of PlanItem
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7772,7 +7772,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7802,7 +7802,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7840,7 +7840,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7868,7 +7868,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -7927,7 +7927,7 @@ paths:
/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip:
post:
tags:
- - Me.Actions
+ - Me.Person.Actions
summary: Invoke action ShareTrip
description: Details of the shared trip.
operationId: Me.ShareTrip
@@ -7949,7 +7949,7 @@ paths:
'/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')':
get:
tags:
- - Me.Functions
+ - Me.Person.Functions
summary: Invoke function UpdatePersonLastName
operationId: Me.UpdatePersonLastName
parameters:
@@ -8150,7 +8150,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8197,7 +8197,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8234,7 +8234,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8262,7 +8262,7 @@ paths:
'/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()':
get:
tags:
- - Me.Functions
+ - Me.Trip
summary: Invoke function GetInvolvedPeople
operationId: Me.Trips.Trip.GetInvolvedPeople
produces:
@@ -8272,7 +8272,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8335,7 +8335,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8390,7 +8390,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8399,7 +8399,7 @@ paths:
name: PlanItemId
description: The unique identifier of PlanItem
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8432,7 +8432,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8462,7 +8462,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8500,7 +8500,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -8528,7 +8528,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -10502,7 +10502,7 @@ paths:
'/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()':
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Person.Functions
summary: Invoke function GetFavoriteAirline
operationId: NewComePeople.Person.GetFavoriteAirline
parameters:
@@ -10522,7 +10522,7 @@ paths:
'/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')':
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Person.Functions
summary: Invoke function GetFriendsTrips
operationId: NewComePeople.Person.GetFriendsTrips
parameters:
@@ -10576,7 +10576,7 @@ paths:
'/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip':
post:
tags:
- - NewComePeople.Actions
+ - NewComePeople.Person.Actions
summary: Invoke action GetPeersForTrip
operationId: NewComePeople.Person.GetPeersForTrip
parameters:
@@ -10597,7 +10597,7 @@ paths:
'/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire':
post:
tags:
- - NewComePeople.Actions
+ - NewComePeople.Person.Actions
summary: Invoke action Hire
description: Hires someone for the company.
operationId: NewComePeople.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire
@@ -10629,7 +10629,7 @@ paths:
'/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip':
post:
tags:
- - NewComePeople.Actions
+ - NewComePeople.Person.Actions
summary: Invoke action ShareTrip
description: Details of the shared trip.
operationId: NewComePeople.Person.ShareTrip
@@ -10651,7 +10651,7 @@ paths:
'/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')':
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Person.Functions
summary: Invoke function UpdatePersonLastName
operationId: NewComePeople.Person.UpdatePersonLastName
parameters:
@@ -10856,7 +10856,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -10903,7 +10903,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -10940,7 +10940,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -10959,7 +10959,7 @@ paths:
'/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()':
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Trip
summary: Invoke function GetInvolvedPeople
operationId: NewComePeople.Person.Trips.Trip.GetInvolvedPeople
produces:
@@ -10975,7 +10975,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -11035,7 +11035,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -11087,7 +11087,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -11096,7 +11096,7 @@ paths:
name: PlanItemId
description: The unique identifier of PlanItem
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -11129,7 +11129,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -11159,7 +11159,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -11197,7 +11197,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -11225,7 +11225,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16079,7 +16079,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16132,7 +16132,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16175,7 +16175,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16203,7 +16203,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()':
get:
tags:
- - People.Functions
+ - People.Trip
summary: Invoke function GetInvolvedPeople
operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople
produces:
@@ -16219,7 +16219,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16288,7 +16288,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16349,7 +16349,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16358,7 +16358,7 @@ paths:
name: PlanItemId
description: The unique identifier of PlanItem
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16397,7 +16397,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16433,7 +16433,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16477,7 +16477,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16511,7 +16511,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -16576,7 +16576,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()':
get:
tags:
- - People.Functions
+ - People.Person.Functions
summary: Invoke function GetFavoriteAirline
operationId: People.Person.GetFavoriteAirline
parameters:
@@ -16602,7 +16602,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')':
get:
tags:
- - People.Functions
+ - People.Person.Functions
summary: Invoke function GetFriendsTrips
operationId: People.Person.GetFriendsTrips
parameters:
@@ -16656,7 +16656,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip':
post:
tags:
- - People.Actions
+ - People.Person.Actions
summary: Invoke action GetPeersForTrip
operationId: People.Person.GetPeersForTrip
parameters:
@@ -19189,7 +19189,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire':
post:
tags:
- - People.Actions
+ - People.Person.Actions
summary: Invoke action Hire
description: Hires someone for the company.
operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire
@@ -19351,7 +19351,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19404,7 +19404,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19447,7 +19447,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19475,7 +19475,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()':
get:
tags:
- - People.Functions
+ - People.Trip
summary: Invoke function GetInvolvedPeople
operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople
produces:
@@ -19491,7 +19491,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19560,7 +19560,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19621,7 +19621,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19630,7 +19630,7 @@ paths:
name: PlanItemId
description: The unique identifier of PlanItem
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19669,7 +19669,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19705,7 +19705,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19749,7 +19749,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19783,7 +19783,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -19848,7 +19848,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip':
post:
tags:
- - People.Actions
+ - People.Person.Actions
summary: Invoke action ShareTrip
description: Details of the shared trip.
operationId: People.Person.ShareTrip
@@ -19876,7 +19876,7 @@ paths:
'/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')':
get:
tags:
- - People.Functions
+ - People.Person.Functions
summary: Invoke function UpdatePersonLastName
operationId: People.Person.UpdatePersonLastName
parameters:
@@ -20132,7 +20132,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20185,7 +20185,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20228,7 +20228,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20256,7 +20256,7 @@ paths:
'/People/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()':
get:
tags:
- - People.Functions
+ - People.Trip
summary: Invoke function GetInvolvedPeople
operationId: People.Person.Trips.Trip.GetInvolvedPeople
produces:
@@ -20272,7 +20272,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20341,7 +20341,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20402,7 +20402,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20411,7 +20411,7 @@ paths:
name: PlanItemId
description: The unique identifier of PlanItem
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20450,7 +20450,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20486,7 +20486,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20530,7 +20530,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20564,7 +20564,7 @@ paths:
name: TripId
description: The unique identifier of Trip
required: true
- type: integer
+ type: number
format: int32
maximum: 2147483647
minimum: -2147483648
@@ -20846,7 +20846,7 @@ definitions:
format: int64
allOf:
- format: int64
- type: integer
+ type: number
Emails:
type: array
items:
@@ -20944,7 +20944,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ShareId:
format: uuid
pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
@@ -20987,7 +20987,7 @@ definitions:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
ConfirmationCode:
type: string
StartsAt:
@@ -21044,7 +21044,7 @@ definitions:
format: int64
allOf:
- format: int64
- type: integer
+ type: number
Peers:
type: array
items:
@@ -21060,7 +21060,7 @@ definitions:
format: int64
allOf:
- format: int64
- type: integer
+ type: number
BossOffice:
$ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location'
DirectReports:
@@ -21393,6 +21393,7 @@ definitions:
- '-INF'
- INF
- NaN
+ type: string
parameters:
top:
in: query
@@ -21449,7 +21450,7 @@ parameters:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
GetPeersForTripRequestBody:
in: body
name: body
@@ -21464,7 +21465,7 @@ parameters:
format: int32
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
responses:
error:
description: error
@@ -21577,11 +21578,11 @@ tags:
x-ms-docs-toc-type: page
- name: Me.Trip
x-ms-docs-toc-type: page
- - name: Me.Functions
- x-ms-docs-toc-type: container
- name: Me.Trips.PlanItem
x-ms-docs-toc-type: page
- - name: Me.Actions
+ - name: Me.Person.Functions
+ x-ms-docs-toc-type: container
+ - name: Me.Person.Actions
x-ms-docs-toc-type: container
- name: NewComePeople.Person
x-ms-docs-toc-type: page
@@ -21589,9 +21590,9 @@ tags:
x-ms-docs-toc-type: page
- name: NewComePeople.Person.Location
x-ms-docs-toc-type: page
- - name: NewComePeople.Functions
+ - name: NewComePeople.Person.Functions
x-ms-docs-toc-type: container
- - name: NewComePeople.Actions
+ - name: NewComePeople.Person.Actions
x-ms-docs-toc-type: container
- name: NewComePeople.Trip
x-ms-docs-toc-type: page
@@ -21605,11 +21606,11 @@ tags:
x-ms-docs-toc-type: page
- name: People.Trip
x-ms-docs-toc-type: page
- - name: People.Functions
- x-ms-docs-toc-type: container
- name: People.Trips.PlanItem
x-ms-docs-toc-type: page
- - name: People.Actions
+ - name: People.Person.Functions
+ x-ms-docs-toc-type: container
+ - name: People.Person.Actions
x-ms-docs-toc-type: container
- name: ResetDataSource
x-ms-docs-toc-type: container
\ No newline at end of file
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.json
index 7f4abd96..146b726d 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.json
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.0.1",
+ "openapi": "3.0.4",
"info": {
"title": "OData Service for namespace Microsoft.OData.Service.Sample.TrippinInMemory.Models",
"description": "This OData service is located at http://services.odata.org/TrippinRESTierService",
@@ -192,7 +192,7 @@
"Airlines.Airline"
],
"summary": "Update entity in Airlines",
- "operationId": "Airlines.Airline.UpdateAirline",
+ "operationId": "Airlines.Airline.SetAirline",
"parameters": [
{
"name": "AirlineCode",
@@ -609,7 +609,7 @@
"Airports.AirportLocation"
],
"summary": "Update property Location value.",
- "operationId": "Airports.UpdateLocation",
+ "operationId": "Airports.SetLocation",
"parameters": [
{
"name": "IcaoCode",
@@ -1397,10 +1397,12 @@
"oneOf": [
{
"type": "number",
- "format": "double"
+ "format": "double",
+ "nullable": true
},
{
- "type": "string"
+ "type": "string",
+ "nullable": true
},
{
"$ref": "#/components/schemas/ReferenceNumeric"
@@ -1416,10 +1418,12 @@
"oneOf": [
{
"type": "number",
- "format": "double"
+ "format": "double",
+ "nullable": true
},
{
- "type": "string"
+ "type": "string",
+ "nullable": true
},
{
"$ref": "#/components/schemas/ReferenceNumeric"
@@ -7801,7 +7805,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -7879,7 +7883,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -7933,7 +7937,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -7973,7 +7977,7 @@
"description": "Provides operations to call the GetInvolvedPeople method.",
"get": {
"tags": [
- "Me.Functions"
+ "Me.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople",
@@ -7986,7 +7990,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -8104,7 +8108,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -8206,7 +8210,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -8219,7 +8223,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "PlanItem"
@@ -8268,7 +8272,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -8314,7 +8318,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -8381,7 +8385,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -8422,7 +8426,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -8514,7 +8518,7 @@
"description": "Provides operations to call the GetFavoriteAirline method.",
"get": {
"tags": [
- "Me.Functions"
+ "Me.Person.Functions"
],
"summary": "Invoke function GetFavoriteAirline",
"operationId": "Me.GetFavoriteAirline",
@@ -8540,7 +8544,7 @@
"description": "Provides operations to call the GetFriendsTrips method.",
"get": {
"tags": [
- "Me.Functions"
+ "Me.Person.Functions"
],
"summary": "Invoke function GetFriendsTrips",
"operationId": "Me.GetFriendsTrips",
@@ -8634,7 +8638,7 @@
"description": "Provides operations to call the GetPeersForTrip method.",
"post": {
"tags": [
- "Me.Actions"
+ "Me.Person.Actions"
],
"summary": "Invoke action GetPeersForTrip",
"operationId": "Me.GetPeersForTrip",
@@ -12050,7 +12054,7 @@
"description": "Provides operations to call the Hire method.",
"post": {
"tags": [
- "Me.Actions"
+ "Me.Person.Actions"
],
"summary": "Invoke action Hire",
"description": "Hires someone for the company.",
@@ -12273,7 +12277,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12351,7 +12355,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12405,7 +12409,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12445,7 +12449,7 @@
"description": "Provides operations to call the GetInvolvedPeople method.",
"get": {
"tags": [
- "Me.Functions"
+ "Me.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople",
@@ -12458,7 +12462,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12576,7 +12580,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12678,7 +12682,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12691,7 +12695,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "PlanItem"
@@ -12740,7 +12744,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12786,7 +12790,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12853,7 +12857,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12894,7 +12898,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -12986,7 +12990,7 @@
"description": "Provides operations to call the ShareTrip method.",
"post": {
"tags": [
- "Me.Actions"
+ "Me.Person.Actions"
],
"summary": "Invoke action ShareTrip",
"description": "Details of the shared trip.",
@@ -13016,7 +13020,7 @@
"description": "Provides operations to call the UpdatePersonLastName method.",
"get": {
"tags": [
- "Me.Functions"
+ "Me.Person.Functions"
],
"summary": "Invoke function UpdatePersonLastName",
"operationId": "Me.UpdatePersonLastName",
@@ -13324,7 +13328,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13402,7 +13406,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13456,7 +13460,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13496,7 +13500,7 @@
"description": "Provides operations to call the GetInvolvedPeople method.",
"get": {
"tags": [
- "Me.Functions"
+ "Me.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "Me.Trips.Trip.GetInvolvedPeople",
@@ -13509,7 +13513,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13627,7 +13631,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13729,7 +13733,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13742,7 +13746,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "PlanItem"
@@ -13791,7 +13795,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13837,7 +13841,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13904,7 +13908,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -13945,7 +13949,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -17305,7 +17309,7 @@
"description": "Provides operations to call the GetFavoriteAirline method.",
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Person.Functions"
],
"summary": "Invoke function GetFavoriteAirline",
"operationId": "NewComePeople.Person.GetFavoriteAirline",
@@ -17336,7 +17340,7 @@
"description": "Provides operations to call the GetFriendsTrips method.",
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Person.Functions"
],
"summary": "Invoke function GetFriendsTrips",
"operationId": "NewComePeople.Person.GetFriendsTrips",
@@ -17440,7 +17444,7 @@
"description": "Provides operations to call the GetPeersForTrip method.",
"post": {
"tags": [
- "NewComePeople.Actions"
+ "NewComePeople.Person.Actions"
],
"summary": "Invoke action GetPeersForTrip",
"operationId": "NewComePeople.Person.GetPeersForTrip",
@@ -17474,7 +17478,7 @@
"description": "Provides operations to call the Hire method.",
"post": {
"tags": [
- "NewComePeople.Actions"
+ "NewComePeople.Person.Actions"
],
"summary": "Invoke action Hire",
"description": "Hires someone for the company.",
@@ -17530,7 +17534,7 @@
"description": "Provides operations to call the ShareTrip method.",
"post": {
"tags": [
- "NewComePeople.Actions"
+ "NewComePeople.Person.Actions"
],
"summary": "Invoke action ShareTrip",
"description": "Details of the shared trip.",
@@ -17565,7 +17569,7 @@
"description": "Provides operations to call the UpdatePersonLastName method.",
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Person.Functions"
],
"summary": "Invoke function UpdatePersonLastName",
"operationId": "NewComePeople.Person.UpdatePersonLastName",
@@ -17903,7 +17907,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -17984,7 +17988,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18041,7 +18045,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18070,7 +18074,7 @@
"description": "Provides operations to call the GetInvolvedPeople method.",
"get": {
"tags": [
- "NewComePeople.Functions"
+ "NewComePeople.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "NewComePeople.Person.Trips.Trip.GetInvolvedPeople",
@@ -18093,7 +18097,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18210,7 +18214,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18311,7 +18315,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18324,7 +18328,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "PlanItem"
@@ -18376,7 +18380,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18425,7 +18429,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18495,7 +18499,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -18539,7 +18543,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -26501,7 +26505,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -26589,7 +26593,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -26653,7 +26657,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -26693,7 +26697,7 @@
"description": "Provides operations to call the GetInvolvedPeople method.",
"get": {
"tags": [
- "People.Functions"
+ "People.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople",
@@ -26716,7 +26720,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -26844,7 +26848,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -26956,7 +26960,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -26969,7 +26973,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "PlanItem"
@@ -27028,7 +27032,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -27084,7 +27088,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -27161,7 +27165,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -27212,7 +27216,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -27314,7 +27318,7 @@
"description": "Provides operations to call the GetFavoriteAirline method.",
"get": {
"tags": [
- "People.Functions"
+ "People.Person.Functions"
],
"summary": "Invoke function GetFavoriteAirline",
"operationId": "People.Person.GetFavoriteAirline",
@@ -27352,7 +27356,7 @@
"description": "Provides operations to call the GetFriendsTrips method.",
"get": {
"tags": [
- "People.Functions"
+ "People.Person.Functions"
],
"summary": "Invoke function GetFriendsTrips",
"operationId": "People.Person.GetFriendsTrips",
@@ -27456,7 +27460,7 @@
"description": "Provides operations to call the GetPeersForTrip method.",
"post": {
"tags": [
- "People.Actions"
+ "People.Person.Actions"
],
"summary": "Invoke action GetPeersForTrip",
"operationId": "People.Person.GetPeersForTrip",
@@ -31598,7 +31602,7 @@
"description": "Provides operations to call the Hire method.",
"post": {
"tags": [
- "People.Actions"
+ "People.Person.Actions"
],
"summary": "Invoke action Hire",
"description": "Hires someone for the company.",
@@ -31865,7 +31869,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -31953,7 +31957,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32017,7 +32021,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32057,7 +32061,7 @@
"description": "Provides operations to call the GetInvolvedPeople method.",
"get": {
"tags": [
- "People.Functions"
+ "People.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople",
@@ -32080,7 +32084,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32208,7 +32212,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32320,7 +32324,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32333,7 +32337,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "PlanItem"
@@ -32392,7 +32396,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32448,7 +32452,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32525,7 +32529,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32576,7 +32580,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -32678,7 +32682,7 @@
"description": "Provides operations to call the ShareTrip method.",
"post": {
"tags": [
- "People.Actions"
+ "People.Person.Actions"
],
"summary": "Invoke action ShareTrip",
"description": "Details of the shared trip.",
@@ -32720,7 +32724,7 @@
"description": "Provides operations to call the UpdatePersonLastName method.",
"get": {
"tags": [
- "People.Functions"
+ "People.Person.Functions"
],
"summary": "Invoke function UpdatePersonLastName",
"operationId": "People.Person.UpdatePersonLastName",
@@ -33119,7 +33123,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33207,7 +33211,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33271,7 +33275,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33311,7 +33315,7 @@
"description": "Provides operations to call the GetInvolvedPeople method.",
"get": {
"tags": [
- "People.Functions"
+ "People.Trip"
],
"summary": "Invoke function GetInvolvedPeople",
"operationId": "People.Person.Trips.Trip.GetInvolvedPeople",
@@ -33334,7 +33338,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33462,7 +33466,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33574,7 +33578,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33587,7 +33591,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "PlanItem"
@@ -33646,7 +33650,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33702,7 +33706,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33779,7 +33783,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -33830,7 +33834,7 @@
"schema": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"x-ms-docs-key-type": "Trip"
@@ -34312,14 +34316,15 @@
"Age": {
"oneOf": [
{
- "type": "integer",
- "format": "int64"
+ "type": "number",
+ "format": "int64",
+ "nullable": true
},
{
- "type": "string"
+ "type": "string",
+ "nullable": true
}
- ],
- "nullable": true
+ ]
},
"Emails": {
"type": "array",
@@ -34523,7 +34528,7 @@
"TripId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ShareId": {
@@ -34539,10 +34544,12 @@
"oneOf": [
{
"type": "number",
- "format": "float"
+ "format": "float",
+ "nullable": true
},
{
- "type": "string"
+ "type": "string",
+ "nullable": true
},
{
"$ref": "#/components/schemas/ReferenceNumeric"
@@ -34591,7 +34598,7 @@
"PlanItemId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
},
"ConfirmationCode": {
@@ -34725,11 +34732,13 @@
"Cost": {
"oneOf": [
{
- "type": "integer",
- "format": "int64"
+ "type": "number",
+ "format": "int64",
+ "nullable": true
},
{
- "type": "string"
+ "type": "string",
+ "nullable": true
}
]
},
@@ -34756,11 +34765,13 @@
"Budget": {
"oneOf": [
{
- "type": "integer",
- "format": "int64"
+ "type": "number",
+ "format": "int64",
+ "nullable": true
},
{
- "type": "string"
+ "type": "string",
+ "nullable": true
}
]
},
@@ -35293,7 +35304,9 @@
"-INF",
"INF",
"NaN"
- ]
+ ],
+ "type": "string",
+ "nullable": true
}
},
"responses": {
@@ -35780,7 +35793,7 @@
"tripId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
}
}
@@ -35802,7 +35815,7 @@
"tripId": {
"maximum": 2147483647,
"minimum": -2147483648,
- "type": "integer",
+ "type": "number",
"format": "int32"
}
}
@@ -35858,16 +35871,16 @@
"name": "Me.Trip",
"x-ms-docs-toc-type": "page"
},
- {
- "name": "Me.Functions",
- "x-ms-docs-toc-type": "container"
- },
{
"name": "Me.Trips.PlanItem",
"x-ms-docs-toc-type": "page"
},
{
- "name": "Me.Actions",
+ "name": "Me.Person.Functions",
+ "x-ms-docs-toc-type": "container"
+ },
+ {
+ "name": "Me.Person.Actions",
"x-ms-docs-toc-type": "container"
},
{
@@ -35883,11 +35896,11 @@
"x-ms-docs-toc-type": "page"
},
{
- "name": "NewComePeople.Functions",
+ "name": "NewComePeople.Person.Functions",
"x-ms-docs-toc-type": "container"
},
{
- "name": "NewComePeople.Actions",
+ "name": "NewComePeople.Person.Actions",
"x-ms-docs-toc-type": "container"
},
{
@@ -35914,16 +35927,16 @@
"name": "People.Trip",
"x-ms-docs-toc-type": "page"
},
- {
- "name": "People.Functions",
- "x-ms-docs-toc-type": "container"
- },
{
"name": "People.Trips.PlanItem",
"x-ms-docs-toc-type": "page"
},
{
- "name": "People.Actions",
+ "name": "People.Person.Functions",
+ "x-ms-docs-toc-type": "container"
+ },
+ {
+ "name": "People.Person.Actions",
"x-ms-docs-toc-type": "container"
},
{
diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.yaml
index 366f65b5..6773a8b8 100644
--- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.yaml
+++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.1
+openapi: 3.0.4
info:
title: OData Service for namespace Microsoft.OData.Service.Sample.TrippinInMemory.Models
description: This OData service is located at http://services.odata.org/TrippinRESTierService
@@ -125,7 +125,7 @@ paths:
tags:
- Airlines.Airline
summary: Update entity in Airlines
- operationId: Airlines.Airline.UpdateAirline
+ operationId: Airlines.Airline.SetAirline
parameters:
- name: AirlineCode
in: path
@@ -398,7 +398,7 @@ paths:
tags:
- Airports.AirportLocation
summary: Update property Location value.
- operationId: Airports.UpdateLocation
+ operationId: Airports.SetLocation
parameters:
- name: IcaoCode
in: path
@@ -914,7 +914,9 @@ paths:
oneOf:
- type: number
format: double
+ nullable: true
- type: string
+ nullable: true
- $ref: '#/components/schemas/ReferenceNumeric'
- name: lon
in: path
@@ -923,7 +925,9 @@ paths:
oneOf:
- type: number
format: double
+ nullable: true
- type: string
+ nullable: true
- $ref: '#/components/schemas/ReferenceNumeric'
responses:
'200':
@@ -5209,7 +5213,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: $select
@@ -5265,7 +5269,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -5304,7 +5308,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -5331,7 +5335,7 @@ paths:
description: Provides operations to call the GetInvolvedPeople method.
get:
tags:
- - Me.Functions
+ - Me.Trip
summary: Invoke function GetInvolvedPeople
operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople
parameters:
@@ -5342,7 +5346,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -5420,7 +5424,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -5488,7 +5492,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: PlanItemId
@@ -5498,7 +5502,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: PlanItem
- name: If-Match
@@ -5533,7 +5537,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/search'
@@ -5564,7 +5568,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -5607,7 +5611,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -5637,7 +5641,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -5697,7 +5701,7 @@ paths:
description: Provides operations to call the GetFavoriteAirline method.
get:
tags:
- - Me.Functions
+ - Me.Person.Functions
summary: Invoke function GetFavoriteAirline
operationId: Me.GetFavoriteAirline
responses:
@@ -5716,7 +5720,7 @@ paths:
description: Provides operations to call the GetFriendsTrips method.
get:
tags:
- - Me.Functions
+ - Me.Person.Functions
summary: Invoke function GetFriendsTrips
operationId: Me.GetFriendsTrips
parameters:
@@ -5777,7 +5781,7 @@ paths:
description: Provides operations to call the GetPeersForTrip method.
post:
tags:
- - Me.Actions
+ - Me.Person.Actions
summary: Invoke action GetPeersForTrip
operationId: Me.GetPeersForTrip
requestBody:
@@ -8075,7 +8079,7 @@ paths:
description: Provides operations to call the Hire method.
post:
tags:
- - Me.Actions
+ - Me.Person.Actions
summary: Invoke action Hire
description: Hires someone for the company.
operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire
@@ -8226,7 +8230,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: $select
@@ -8282,7 +8286,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -8321,7 +8325,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -8348,7 +8352,7 @@ paths:
description: Provides operations to call the GetInvolvedPeople method.
get:
tags:
- - Me.Functions
+ - Me.Trip
summary: Invoke function GetInvolvedPeople
operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople
parameters:
@@ -8359,7 +8363,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -8437,7 +8441,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -8505,7 +8509,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: PlanItemId
@@ -8515,7 +8519,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: PlanItem
- name: If-Match
@@ -8550,7 +8554,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/search'
@@ -8581,7 +8585,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -8624,7 +8628,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -8654,7 +8658,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -8714,7 +8718,7 @@ paths:
description: Provides operations to call the ShareTrip method.
post:
tags:
- - Me.Actions
+ - Me.Person.Actions
summary: Invoke action ShareTrip
description: Details of the shared trip.
operationId: Me.ShareTrip
@@ -8736,7 +8740,7 @@ paths:
description: Provides operations to call the UpdatePersonLastName method.
get:
tags:
- - Me.Functions
+ - Me.Person.Functions
summary: Invoke function UpdatePersonLastName
operationId: Me.UpdatePersonLastName
parameters:
@@ -8949,7 +8953,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: $select
@@ -9005,7 +9009,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -9044,7 +9048,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -9071,7 +9075,7 @@ paths:
description: Provides operations to call the GetInvolvedPeople method.
get:
tags:
- - Me.Functions
+ - Me.Trip
summary: Invoke function GetInvolvedPeople
operationId: Me.Trips.Trip.GetInvolvedPeople
parameters:
@@ -9082,7 +9086,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -9160,7 +9164,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -9228,7 +9232,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: PlanItemId
@@ -9238,7 +9242,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: PlanItem
- name: If-Match
@@ -9273,7 +9277,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/search'
@@ -9304,7 +9308,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -9347,7 +9351,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -9377,7 +9381,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -11594,7 +11598,7 @@ paths:
description: Provides operations to call the GetFavoriteAirline method.
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Person.Functions
summary: Invoke function GetFavoriteAirline
operationId: NewComePeople.Person.GetFavoriteAirline
parameters:
@@ -11615,7 +11619,7 @@ paths:
description: Provides operations to call the GetFriendsTrips method.
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Person.Functions
summary: Invoke function GetFriendsTrips
operationId: NewComePeople.Person.GetFriendsTrips
parameters:
@@ -11683,7 +11687,7 @@ paths:
description: Provides operations to call the GetPeersForTrip method.
post:
tags:
- - NewComePeople.Actions
+ - NewComePeople.Person.Actions
summary: Invoke action GetPeersForTrip
operationId: NewComePeople.Person.GetPeersForTrip
parameters:
@@ -11706,7 +11710,7 @@ paths:
description: Provides operations to call the Hire method.
post:
tags:
- - NewComePeople.Actions
+ - NewComePeople.Person.Actions
summary: Invoke action Hire
description: Hires someone for the company.
operationId: NewComePeople.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire
@@ -11741,7 +11745,7 @@ paths:
description: Provides operations to call the ShareTrip method.
post:
tags:
- - NewComePeople.Actions
+ - NewComePeople.Person.Actions
summary: Invoke action ShareTrip
description: Details of the shared trip.
operationId: NewComePeople.Person.ShareTrip
@@ -11765,7 +11769,7 @@ paths:
description: Provides operations to call the UpdatePersonLastName method.
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Person.Functions
summary: Invoke function UpdatePersonLastName
operationId: NewComePeople.Person.UpdatePersonLastName
parameters:
@@ -11991,7 +11995,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: $select
@@ -12048,7 +12052,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -12088,7 +12092,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -12106,7 +12110,7 @@ paths:
description: Provides operations to call the GetInvolvedPeople method.
get:
tags:
- - NewComePeople.Functions
+ - NewComePeople.Trip
summary: Invoke function GetInvolvedPeople
operationId: NewComePeople.Person.Trips.Trip.GetInvolvedPeople
parameters:
@@ -12124,7 +12128,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -12200,7 +12204,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -12266,7 +12270,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: PlanItemId
@@ -12276,7 +12280,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: PlanItem
- name: If-Match
@@ -12312,7 +12316,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/search'
@@ -12344,7 +12348,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -12388,7 +12392,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -12419,7 +12423,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -17795,7 +17799,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: $select
@@ -17858,7 +17862,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -17904,7 +17908,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -17931,7 +17935,7 @@ paths:
description: Provides operations to call the GetInvolvedPeople method.
get:
tags:
- - People.Functions
+ - People.Trip
summary: Invoke function GetInvolvedPeople
operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee.Trips.Trip.GetInvolvedPeople
parameters:
@@ -17949,7 +17953,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -18034,7 +18038,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -18109,7 +18113,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: PlanItemId
@@ -18119,7 +18123,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: PlanItem
- name: If-Match
@@ -18161,7 +18165,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/search'
@@ -18199,7 +18203,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -18249,7 +18253,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -18286,7 +18290,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -18353,7 +18357,7 @@ paths:
description: Provides operations to call the GetFavoriteAirline method.
get:
tags:
- - People.Functions
+ - People.Person.Functions
summary: Invoke function GetFavoriteAirline
operationId: People.Person.GetFavoriteAirline
parameters:
@@ -18380,7 +18384,7 @@ paths:
description: Provides operations to call the GetFriendsTrips method.
get:
tags:
- - People.Functions
+ - People.Person.Functions
summary: Invoke function GetFriendsTrips
operationId: People.Person.GetFriendsTrips
parameters:
@@ -18448,7 +18452,7 @@ paths:
description: Provides operations to call the GetPeersForTrip method.
post:
tags:
- - People.Actions
+ - People.Person.Actions
summary: Invoke action GetPeersForTrip
operationId: People.Person.GetPeersForTrip
parameters:
@@ -21247,7 +21251,7 @@ paths:
description: Provides operations to call the Hire method.
post:
tags:
- - People.Actions
+ - People.Person.Actions
summary: Invoke action Hire
description: Hires someone for the company.
operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire
@@ -21428,7 +21432,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: $select
@@ -21491,7 +21495,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -21537,7 +21541,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -21564,7 +21568,7 @@ paths:
description: Provides operations to call the GetInvolvedPeople method.
get:
tags:
- - People.Functions
+ - People.Trip
summary: Invoke function GetInvolvedPeople
operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Trips.Trip.GetInvolvedPeople
parameters:
@@ -21582,7 +21586,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -21667,7 +21671,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -21742,7 +21746,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: PlanItemId
@@ -21752,7 +21756,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: PlanItem
- name: If-Match
@@ -21794,7 +21798,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/search'
@@ -21832,7 +21836,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -21882,7 +21886,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -21919,7 +21923,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -21986,7 +21990,7 @@ paths:
description: Provides operations to call the ShareTrip method.
post:
tags:
- - People.Actions
+ - People.Person.Actions
summary: Invoke action ShareTrip
description: Details of the shared trip.
operationId: People.Person.ShareTrip
@@ -22016,7 +22020,7 @@ paths:
description: Provides operations to call the UpdatePersonLastName method.
get:
tags:
- - People.Functions
+ - People.Person.Functions
summary: Invoke function UpdatePersonLastName
operationId: People.Person.UpdatePersonLastName
parameters:
@@ -22293,7 +22297,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: $select
@@ -22356,7 +22360,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -22402,7 +22406,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -22429,7 +22433,7 @@ paths:
description: Provides operations to call the GetInvolvedPeople method.
get:
tags:
- - People.Functions
+ - People.Trip
summary: Invoke function GetInvolvedPeople
operationId: People.Person.Trips.Trip.GetInvolvedPeople
parameters:
@@ -22447,7 +22451,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -22532,7 +22536,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -22607,7 +22611,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: PlanItemId
@@ -22617,7 +22621,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: PlanItem
- name: If-Match
@@ -22659,7 +22663,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/search'
@@ -22697,7 +22701,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- $ref: '#/components/parameters/top'
@@ -22747,7 +22751,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
requestBody:
@@ -22784,7 +22788,7 @@ paths:
schema:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
x-ms-docs-key-type: Trip
- name: If-Match
@@ -23097,10 +23101,11 @@ components:
$ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PersonGender'
Age:
oneOf:
- - type: integer
+ - type: number
format: int64
+ nullable: true
- type: string
- nullable: true
+ nullable: true
Emails:
type: array
items:
@@ -23226,7 +23231,7 @@ components:
TripId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ShareId:
pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
@@ -23239,7 +23244,9 @@ components:
oneOf:
- type: number
format: float
+ nullable: true
- type: string
+ nullable: true
- $ref: '#/components/schemas/ReferenceNumeric'
Description:
type: string
@@ -23273,7 +23280,7 @@ components:
PlanItemId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
ConfirmationCode:
type: string
@@ -23348,9 +23355,11 @@ components:
properties:
Cost:
oneOf:
- - type: integer
+ - type: number
format: int64
+ nullable: true
- type: string
+ nullable: true
Peers:
type: array
items:
@@ -23364,9 +23373,11 @@ components:
properties:
Budget:
oneOf:
- - type: integer
+ - type: number
format: int64
+ nullable: true
- type: string
+ nullable: true
BossOffice:
anyOf:
- $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location'
@@ -23713,6 +23724,8 @@ components:
- '-INF'
- INF
- NaN
+ type: string
+ nullable: true
responses:
error:
description: error
@@ -24024,7 +24037,7 @@ components:
tripId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
required: true
GetPeersForTripRequestBody:
@@ -24039,7 +24052,7 @@ components:
tripId:
maximum: 2147483647
minimum: -2147483648
- type: integer
+ type: number
format: int32
required: true
tags:
@@ -24065,11 +24078,11 @@ tags:
x-ms-docs-toc-type: page
- name: Me.Trip
x-ms-docs-toc-type: page
- - name: Me.Functions
- x-ms-docs-toc-type: container
- name: Me.Trips.PlanItem
x-ms-docs-toc-type: page
- - name: Me.Actions
+ - name: Me.Person.Functions
+ x-ms-docs-toc-type: container
+ - name: Me.Person.Actions
x-ms-docs-toc-type: container
- name: NewComePeople.Person
x-ms-docs-toc-type: page
@@ -24077,9 +24090,9 @@ tags:
x-ms-docs-toc-type: page
- name: NewComePeople.Person.Location
x-ms-docs-toc-type: page
- - name: NewComePeople.Functions
+ - name: NewComePeople.Person.Functions
x-ms-docs-toc-type: container
- - name: NewComePeople.Actions
+ - name: NewComePeople.Person.Actions
x-ms-docs-toc-type: container
- name: NewComePeople.Trip
x-ms-docs-toc-type: page
@@ -24093,11 +24106,11 @@ tags:
x-ms-docs-toc-type: page
- name: People.Trip
x-ms-docs-toc-type: page
- - name: People.Functions
- x-ms-docs-toc-type: container
- name: People.Trips.PlanItem
x-ms-docs-toc-type: page
- - name: People.Actions
+ - name: People.Person.Functions
+ x-ms-docs-toc-type: container
+ - name: People.Person.Actions
x-ms-docs-toc-type: container
- name: ResetDataSource
x-ms-docs-toc-type: container
\ No newline at end of file
diff --git a/tool/After.Common.targets b/tool/After.Common.targets
deleted file mode 100644
index 6bad46e4..00000000
--- a/tool/After.Common.targets
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
-
-
-
-
- GenerateAssemblyAttributeFile;
- ExcludeAssemblyFilesFromSourceAnalysis;
- $(BuildDependsOn);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
- UNDEFINED_GenerateAssemblyAttributeTemplate
-
-using System.Reflection;
-using System.Resources;
-
-[assembly: AssemblyDescription("%AssemblyNameFull%")]
-[assembly: AssemblyTitle("%AssemblyNameFull%")]
-[assembly: AssemblyDefaultAlias("%AssemblyNameFull%")]
-[assembly: AssemblyFileVersion("%VersionFull%")]
-[assembly: AssemblyInformationalVersion("%VersionFull%")]
-[assembly: AssemblyVersion("%VersionFullSemantic%")]
-[assembly: SatelliteContractVersion("%VersionFull%")]
-[assembly: AssemblyMetadata("Serviceable", "True")]
-
-
-
-
-
- $(GenerateAssemblyAttributeTemplateCSharp)
-
-
-
- $(IntermediateOutputPath.TrimEnd("\\"))\OpenApiODataAssemblyAttributes$(DefaultLanguageSourceExtension)
- $(AssemblyName)$(TargetExt)
- $([System.String]::Copy('$(GenerateAssemblyAttributeTemplate)').Replace("%25AssemblyNameFull%25",$(AssemblyNameFull)).Replace("%25VersionFull%25",$(VersionFull)).Replace("%25VersionFullSemantic%25",$(VersionFullSemantic)))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tool/Before.Common.targets b/tool/Before.Common.targets
deleted file mode 100644
index a54c3e71..00000000
--- a/tool/Before.Common.targets
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
-
- $(VersionRunBeforeTargets);CoreCompile
-
- $(EnlistmentRoot)\src\AssemblyInfo
-
- AssemblyInfoCommon$(DefaultLanguageSourceExtension)
-
-
-
-
-
- true
- $(AssemblyInfoCommonFile)
-
-
-
-
diff --git a/tool/Build.props b/tool/Build.props
deleted file mode 100644
index 3403d53e..00000000
--- a/tool/Build.props
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
-
-
- $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), build.root))
-
- $(EnlistmentRoot)\tool
-
-
-
-
-
-
-
- $(MSBuildThisFileDirectory)Before.Common.targets
-
- $(MSBuildThisFileDirectory)After.Common.targets
-
-
-
diff --git a/tool/GetNugetPackageMetadata.proj b/tool/GetNugetPackageMetadata.proj
deleted file mode 100644
index 5f120f9a..00000000
--- a/tool/GetNugetPackageMetadata.proj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- $([System.DateTime]::Now.ToString("yyyyMMddHHmm"))
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tool/PoliCheck/RunPoliCheck.ps1 b/tool/PoliCheck/RunPoliCheck.ps1
deleted file mode 100644
index 92bb179d..00000000
--- a/tool/PoliCheck/RunPoliCheck.ps1
+++ /dev/null
@@ -1,34 +0,0 @@
-param(
- [string]$BuildSourceDir,
- [string]$folderName,
- [string]$branchName,
- [string]$resultRoot,
- [string]$PoliCheckPath
-)
-
-#
-#Example:
-# RunPoliCheck.ps1 -BuildSourceDir "C:\BuildAgent\_work\32\s"
-# -folderName "src"
-# -branchName "odata.net-master"
-# -resultRoot "C:\Users\ODatabld\Documents\PoliCheck\LatestRunResult"
-# -PoliCheckPath "C:\Program Files (x86)\Microsoft\PoliCheck\"
-#
-
-$targetPath= "${BuildSourceDir}\${folderName}"
-Write-Output "targetPath: ${targetPath}"
-$result="${resultRoot}\${branchName}\poli_result_${folderName}.xml"
-
-cd "${PoliCheckPath}"
-
-.\Policheck.exe /F:$targetPath /T:9 /Sev:"1|2" /PE:2 /O:$result
-
-$FileContent = Get-Content $result
-$PassResult = Select-String -InputObject $FileContent -Pattern ""
-
-If ($PassResult.Matches.Count -eq 0) {
- Write-Error "PoliCheck failed for target ${targetPath}. For details, please check this result file on build machine: ${result}: section ."
- exit 1
-}
-
-Write-Output "PoliCheck pass for target ${targetPath}"
\ No newline at end of file
diff --git a/tool/UpdateDocs/Program.cs b/tool/UpdateDocs/Program.cs
deleted file mode 100644
index 174fdd70..00000000
--- a/tool/UpdateDocs/Program.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-//---------------------------------------------------------------------
-//
-// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
-//
-//---------------------------------------------------------------------
-
-using System;
-using System.IO;
-using System.Xml.Linq;
-using Microsoft.OData.Edm;
-using Microsoft.OData.Edm.Csdl;
-using Microsoft.OpenApi;
-using Microsoft.OpenApi.Models;
-using Microsoft.OpenApi.OData;
-using Microsoft.OpenApi.Extensions;
-
-namespace UpdateDocs
-{
- class Program
- {
- static int Main(string[] args)
- {
- // we assume the path are existed for simplicity.
- string path = Directory.GetCurrentDirectory();
- string csdl = path + "/../../../../../docs/csdl";
- string oas20 = path + "/../../../../../docs/oas_2_0";
- string oas30 = path + "/../../../../../docs/oas3_0_0";
-
- foreach (var filePath in Directory.GetFiles(csdl, "*.xml"))
- {
- Console.WriteLine(filePath);
-
- IEdmModel model = LoadEdmModel(filePath);
- if (model == null)
- {
- continue;
- }
-
- FileInfo fileInfo = new FileInfo(filePath);
- string fileName = fileInfo.Name.Substring(0, fileInfo.Name.Length - 4);
-
- OpenApiConvertSettings settings = new OpenApiConvertSettings();
- if (fileName.Contains("graph.beta"))
- {
- settings.PrefixEntityTypeNameBeforeKey = true;
- settings.ServiceRoot = new Uri("https://graph.microsoft.com/beta");
- }
- else if (fileName.Contains("graph1.0"))
- {
- settings.PrefixEntityTypeNameBeforeKey = true;
- settings.ServiceRoot = new Uri("https://graph.microsoft.com/v1.0");
- }
-
- OpenApiDocument document = model.ConvertToOpenApi(settings);
-
- string output;/* = oas20 + "/" + fileName + ".yaml";
- File.WriteAllText(output, document.SerializeAsYaml(OpenApiSpecVersion.OpenApi2_0));
-
- output = oas20 + "/" + fileName + ".json";
- File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi2_0));
-
- output = oas30 + "/" + fileName + ".yaml";
- File.WriteAllText(output, document.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0));
-
- output = oas30 + "/" + fileName + ".json";
- File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0));
- */
- settings.EnableKeyAsSegment = true;
- settings.EnableUnqualifiedCall = true;
- output = oas30 + "/" + fileName + ".json";
- document = model.ConvertToOpenApi(settings);
- File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0));
-
- output = oas20 + "/" + fileName + ".json";
- File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi2_0));
-
- Console.WriteLine("Output [ " + fileName + " ] Successful!");
- }
-
- Console.WriteLine("\n==> All Done!");
- return 0;
- }
-
- public static IEdmModel LoadEdmModel(string file)
- {
- try
- {
- string csdl = File.ReadAllText(file);
- return CsdlReader.Parse(XElement.Parse(csdl).CreateReader());
- }
- catch
- {
- Console.WriteLine("Cannot load EDM from file: " + file);
- return null;
- }
- }
- }
-}
diff --git a/tool/UpdateDocs/Properties/AssemblyInfo.cs b/tool/UpdateDocs/Properties/AssemblyInfo.cs
deleted file mode 100644
index 89d8a5d5..00000000
--- a/tool/UpdateDocs/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("UpdateDocs")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("UpdateDocs")]
-[assembly: AssemblyCopyright("Copyright © 2018")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("6d5453c2-e35f-4cc6-b774-4c676f5f33d1")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/tool/UpdateDocs/UpdateDocs.csproj b/tool/UpdateDocs/UpdateDocs.csproj
deleted file mode 100644
index 7ebbd6d9..00000000
--- a/tool/UpdateDocs/UpdateDocs.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- net8.0
- Exe
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tool/UpdateDocs/UpdateDocs.sln b/tool/UpdateDocs/UpdateDocs.sln
deleted file mode 100644
index cd707c7a..00000000
--- a/tool/UpdateDocs/UpdateDocs.sln
+++ /dev/null
@@ -1,31 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30914.41
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateDocs", "UpdateDocs.csproj", "{6D5453C2-E35F-4CC6-B774-4C676F5F33D1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenApi.OData.Reader", "..\..\src\Microsoft.OpenApi.OData.Reader\Microsoft.OpenApi.OData.Reader.csproj", "{B7A15A06-0B61-4557-9BD4-0E4F32DE119D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {6D5453C2-E35F-4CC6-B774-4C676F5F33D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6D5453C2-E35F-4CC6-B774-4C676F5F33D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6D5453C2-E35F-4CC6-B774-4C676F5F33D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6D5453C2-E35F-4CC6-B774-4C676F5F33D1}.Release|Any CPU.Build.0 = Release|Any CPU
- {B7A15A06-0B61-4557-9BD4-0E4F32DE119D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B7A15A06-0B61-4557-9BD4-0E4F32DE119D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B7A15A06-0B61-4557-9BD4-0E4F32DE119D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B7A15A06-0B61-4557-9BD4-0E4F32DE119D}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {620DD027-5C7A-4BF7-9F76-44FAC453F5D7}
- EndGlobalSection
-EndGlobal
diff --git a/tool/versioning.props b/tool/versioning.props
deleted file mode 100644
index b6bd275b..00000000
--- a/tool/versioning.props
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
- 1
- 0
- 9
-
-
-
-
-
- [1.2.3, 2.0.0)
- [7.10.0, 8.0.0)
-
-
-
-
- 2020
-
-
- $([System.Convert]::ToInt32('$([MSBuild]::Add(1, $([MSBuild]::Subtract($([System.DateTime]::Now.Year), $(VersionStartYear)))))$([System.DateTime]::Now.ToString("MMdd"))'))
-
- $([System.Convert]::ToString($(VersionDateCode)))
-
-
-
-
- $(VersionMajor).$(VersionMinor).$(VersionBuild)
- $(VersionFullSemantic).$(VersionRevision)
-
-
-
-
- $(VersionFullSemantic)
- $(VersionFullSemantic)-$(VersionRelease)
-
-
-