diff --git a/.azure-pipelines/ci-build.yml b/.azure-pipelines/ci-build.yml index d0823cf66..ee410f158 100644 --- a/.azure-pipelines/ci-build.yml +++ b/.azure-pipelines/ci-build.yml @@ -6,11 +6,13 @@ name: $(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r) trigger: branches: include: - - master + - main + - support/v1 pr: branches: include: - - master + - main + - support/v1 variables: buildPlatform: 'Any CPU' @@ -60,10 +62,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 +83,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 +132,10 @@ extends: "toolVersion": "1.0" } ] - SessionTimeout: 20 + SessionTimeout: '20' + MaxConcurrency: '50' + MaxRetryAttempts: '5' + PendingAnalysisWaitTimeoutMinutes: '5' # Pack - task: DotNetCoreCLI@2 @@ -137,17 +147,22 @@ extends: - task: PowerShell@2 displayName: 'Validate project version has been incremented' - condition: and(contains(variables['build.sourceBranch'], 'refs/heads/master'), succeeded()) + condition: and(or(contains(variables['build.sourceBranch'], 'refs/heads/main'), contains(variables['build.sourceBranch'], 'refs/heads/support/v1')), 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 +182,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(or(contains(variables['build.sourceBranch'], 'refs/heads/main'), contains(variables['build.sourceBranch'], 'refs/heads/support/v1')), 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 +206,54 @@ 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: create + tagSource: userSpecifiedTag + tag: 'v$(artifactVersion)' + title: 'v$(artifactVersion)' + releaseNotesSource: inline + assets: '$(Pipeline.Workspace)\**\*.nupkg' + changeLogType: issueBased + changeLogLabels: '[ + { "label" : "feature-work", "feature", "displayName" : "New Features", "state" : "closed" }, + { "label" : "enhancement", "V2-Enhancement", "displayName" : "Enhancements", "state" : "closed" }, + { "label" : "bug", "bug-fix", "displayName" : "Bugs", "state" : "closed" }, + { "label" : "documentation", "doc", "displayName" : "Documentation", "state" : "closed"}, + { "label" : "dependencies", "displayName" : "Package Updates", "state" : "closed" } + ]' diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 59abe62bd..912000f61 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @xuzhg @irvinesunday @darrelmiller @zengin @coseguera @millicentachieng @andrueastman +* @xuzhg @irvinesunday @darrelmiller @danielmbaluka @gavinbarron @millicentachieng @andrueastman @baywet 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 000000000..7a91aec7e --- /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/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index cd365f878..56409ee78 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/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 028b4e037..567536c5f 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 940794e60..4caae17f4 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/.vscode/settings.json b/.vscode/settings.json index 9cc75cead..9893070db 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/README.md b/README.md index 575d609e0..b02123072 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. ![Convert OData CSDL to OpenAPI](docs/images/odata-2-openapi.png "Map /// OData CSDL --> OpenAPI.NET") diff --git a/docs/oas3_0_0/TripService.json b/docs/oas3_0_0/TripService.json index d16a2df8c..c9f2082a3 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 e16fa9661..9e20d18e2 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 0c0008df6..dee21ce7b 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 0c0008df6..dee21ce7b 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 9b8f96dd6..e8c26bb42 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/src/Microsoft.OpenApi.OData.Reader/Common/Constants.cs b/src/Microsoft.OpenApi.OData.Reader/Common/Constants.cs index 2bb9dd774..6f24d5a46 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 d636fa0da..030baba10 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/Generator/OpenApiEdmTypeSchemaGenerator.cs b/src/Microsoft.OpenApi.OData.Reader/Generator/OpenApiEdmTypeSchemaGenerator.cs index 24ab0d006..1144abf3e 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 bcbf6aea2..f32e9e18d 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 bb5af0b30..f35693c80 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj +++ b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj @@ -15,14 +15,14 @@ netstandard2.0 Microsoft.OpenApi.OData true - 1.6.8 + 1.7.1 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 - + - Further fix for generating unique operation ids for navigation property paths with composable overloaded functions #596 + Microsoft.OpenApi.OData.Reader ..\..\tool\Microsoft.OpenApi.OData.snk ..\..\bin\Debug\ @@ -41,8 +41,8 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/ComplexPropertyGetOperationHandler.cs index 072ac9e86..1f8d3124f 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 50b58e12b..6fd736c64 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 d3790baa6..5973f59a3 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 74082736d..0e78ac2ed 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 72ebb2258..16918ab62 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,218 @@ 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); + } + + /// + /// Generates 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 segment could be a navigation property or a navigation source segment + case ODataKeySegment: + skip += 1; + GenerateTagName(out tagName, skip); + break; + // If the operation is a function or action, append the word "Function" or "Action" to the tag name + case ODataOperationSegment operationSegment: + tagName = NavigationSource.Name + "." + NavigationSource.EntityType().Name; + if(operationSegment.Operation.IsAction()) + { + tagName += ".Actions"; + } + + if(operationSegment.Operation.IsFunction()) + { + tagName += ".Functions"; + } + break; + default: + tagName = NavigationSource.Name + "." + NavigationSource.EntityType().Name; + 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 +322,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 7ce526df2..6317c7462 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 8bdbacc78..743a10e88 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 0ae4b5009..35a47c932 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 604f31d32..ee30e3e94 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/OoasGui/OoasGui.csproj b/src/OoasGui/OoasGui.csproj index 41fee3ca1..1b3159847 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 2eaa7a6d4..95435d412 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/Generator/OpenApiEdmTypeSchemaGeneratorTest.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Generator/OpenApiEdmTypeSchemaGeneratorTest.cs index efa5eb6f6..9dbae3953 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 32b39812e..de5a38643 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 0987324f1..ab6fb89f8 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 007b362fe..85ddcde6f 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 03d87da10..dca92aebe 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", 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", 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 de817a521..d1b0c2fc1 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmFunctionOperationHandlerTests.cs +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EdmFunctionOperationHandlerTests.cs @@ -1,4 +1,4 @@ -// ------------------------------------------------------------ +// ------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. // ------------------------------------------------------------ @@ -100,7 +100,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", tag.Name); Assert.NotNull(operation.Parameters); Assert.Single(operation.Parameters); @@ -138,7 +138,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", tag.Name); Assert.NotNull(operation.Parameters); Assert.Equal(6, operation.Parameters.Count); // id, top, skip, count, search, filter @@ -299,6 +299,99 @@ 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); + } + else + { + Assert.Null(operation1.OperationId); + Assert.Null(operation2.OperationId); + Assert.Null(operation3.OperationId); + Assert.Null(operation4.OperationId); + } + } + [Theory] [InlineData(true)] [InlineData(false)] diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EntityPutOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/EntityPutOperationHandlerTests.cs index fb5f11c24..bee829611 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 5e6c401d1..88766ac58 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 499863bc0..9c0a25bfe 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/Resources/Basic.OpenApi.V2.json b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.V2.json index 5be9fd5a0..b904fcecd 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 efedb95ee..272fd865a 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 c2e137ea3..c3b1db8fb 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 81208bcf3..be4edfc1e 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 972656d0f..3b1a6c860 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 1f1015078..a75539a52 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 6ed119565..64796606e 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 9d7906317..5bc83853a 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 7bcc154c2..4626b31e2 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" ], "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" ], "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": { @@ -6274,10 +6275,6 @@ "name": "Documents.DocumentDto", "x-ms-docs-toc-type": "page" }, - { - "name": "Documents.Actions", - "x-ms-docs-toc-type": "container" - }, { "name": "Documents.RevisionDto", "x-ms-docs-toc-type": "page" @@ -6318,10 +6315,6 @@ "name": "Tasks.DocumentDto", "x-ms-docs-toc-type": "page" }, - { - "name": "Tasks.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.V2.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.V2.yaml index e69a85f5d..ffb97bf38 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 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 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,8 +4545,6 @@ tags: x-ms-docs-toc-type: page - name: Documents.DocumentDto x-ms-docs-toc-type: page - - name: Documents.Actions - x-ms-docs-toc-type: container - name: Documents.RevisionDto x-ms-docs-toc-type: page - name: Documents.DocumentTagRelDto @@ -4566,8 +4565,6 @@ tags: x-ms-docs-toc-type: page - name: Tasks.DocumentDto x-ms-docs-toc-type: page - - name: Tasks.Actions - x-ms-docs-toc-type: container - name: Tasks.RevisionDto x-ms-docs-toc-type: page - name: Tasks.DocumentTagRelDto 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 bb39c0824..e6af74cf0 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" ], "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" ], "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": { @@ -7479,10 +7481,6 @@ "name": "Documents.DocumentDto", "x-ms-docs-toc-type": "page" }, - { - "name": "Documents.Actions", - "x-ms-docs-toc-type": "container" - }, { "name": "Documents.RevisionDto", "x-ms-docs-toc-type": "page" @@ -7523,10 +7521,6 @@ "name": "Tasks.DocumentDto", "x-ms-docs-toc-type": "page" }, - { - "name": "Tasks.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.yaml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Multiple.Schema.OpenApi.yaml index aa66b9c73..cd3fc34e0 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 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 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,8 +5384,6 @@ tags: x-ms-docs-toc-type: page - name: Documents.DocumentDto x-ms-docs-toc-type: page - - name: Documents.Actions - x-ms-docs-toc-type: container - name: Documents.RevisionDto x-ms-docs-toc-type: page - name: Documents.DocumentTagRelDto @@ -5404,8 +5404,6 @@ tags: x-ms-docs-toc-type: page - name: Tasks.DocumentDto x-ms-docs-toc-type: page - - name: Tasks.Actions - x-ms-docs-toc-type: container - name: Tasks.RevisionDto x-ms-docs-toc-type: page - name: Tasks.DocumentTagRelDto 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 3e3f587b8..2d2dfadba 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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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,18 +31836,10 @@ "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", - "x-ms-docs-toc-type": "container" - }, { "name": "NewComePeople.Person", "x-ms-docs-toc-type": "page" @@ -31859,14 +31852,6 @@ "name": "NewComePeople.Person.Location", "x-ms-docs-toc-type": "page" }, - { - "name": "NewComePeople.Functions", - "x-ms-docs-toc-type": "container" - }, - { - "name": "NewComePeople.Actions", - "x-ms-docs-toc-type": "container" - }, { "name": "NewComePeople.Trip", "x-ms-docs-toc-type": "page" @@ -31891,18 +31876,10 @@ "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", - "x-ms-docs-toc-type": "container" - }, { "name": "ResetDataSource", "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 89ee65362..a725e263c 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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,22 +21578,14 @@ 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 - x-ms-docs-toc-type: container - name: NewComePeople.Person x-ms-docs-toc-type: page - name: NewComePeople.Location x-ms-docs-toc-type: page - name: NewComePeople.Person.Location x-ms-docs-toc-type: page - - name: NewComePeople.Functions - x-ms-docs-toc-type: container - - name: NewComePeople.Actions - x-ms-docs-toc-type: container - name: NewComePeople.Trip x-ms-docs-toc-type: page - name: NewComePeople.Trips.PlanItem @@ -21605,11 +21598,7 @@ 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 - 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 7f4abd96f..8872302d0 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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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" ], "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,18 +35871,10 @@ "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", - "x-ms-docs-toc-type": "container" - }, { "name": "NewComePeople.Person", "x-ms-docs-toc-type": "page" @@ -35882,14 +35887,6 @@ "name": "NewComePeople.Person.Location", "x-ms-docs-toc-type": "page" }, - { - "name": "NewComePeople.Functions", - "x-ms-docs-toc-type": "container" - }, - { - "name": "NewComePeople.Actions", - "x-ms-docs-toc-type": "container" - }, { "name": "NewComePeople.Trip", "x-ms-docs-toc-type": "page" @@ -35914,18 +35911,10 @@ "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", - "x-ms-docs-toc-type": "container" - }, { "name": "ResetDataSource", "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 366f65b51..a26b7b902 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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,22 +24078,14 @@ 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 - x-ms-docs-toc-type: container - name: NewComePeople.Person x-ms-docs-toc-type: page - name: NewComePeople.Location x-ms-docs-toc-type: page - name: NewComePeople.Person.Location x-ms-docs-toc-type: page - - name: NewComePeople.Functions - x-ms-docs-toc-type: container - - name: NewComePeople.Actions - x-ms-docs-toc-type: container - name: NewComePeople.Trip x-ms-docs-toc-type: page - name: NewComePeople.Trips.PlanItem @@ -24093,11 +24098,7 @@ 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 - x-ms-docs-toc-type: container - name: ResetDataSource x-ms-docs-toc-type: container \ No newline at end of file diff --git a/tool/PoliCheck/RunPoliCheck.ps1 b/tool/PoliCheck/RunPoliCheck.ps1 index 92bb179d1..3eb663fbd 100644 --- a/tool/PoliCheck/RunPoliCheck.ps1 +++ b/tool/PoliCheck/RunPoliCheck.ps1 @@ -10,7 +10,7 @@ param( #Example: # RunPoliCheck.ps1 -BuildSourceDir "C:\BuildAgent\_work\32\s" # -folderName "src" -# -branchName "odata.net-master" +# -branchName "odata.net-main" # -resultRoot "C:\Users\ODatabld\Documents\PoliCheck\LatestRunResult" # -PoliCheckPath "C:\Program Files (x86)\Microsoft\PoliCheck\" # diff --git a/tool/UpdateDocs/UpdateDocs.csproj b/tool/UpdateDocs/UpdateDocs.csproj index 7ebbd6d97..b9139117d 100644 --- a/tool/UpdateDocs/UpdateDocs.csproj +++ b/tool/UpdateDocs/UpdateDocs.csproj @@ -12,7 +12,7 @@ - - + + \ No newline at end of file diff --git a/tool/UpdateDocs/UpdateDocs.sln b/tool/UpdateDocs/UpdateDocs.sln deleted file mode 100644 index cd707c7a2..000000000 --- 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