diff --git a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPath.cs b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPath.cs index bd07491c..0a63c6ea 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPath.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPath.cs @@ -289,13 +289,15 @@ private ODataPathKind CalcPathType() { return ODataPathKind.Metadata; } - - if (Segments.Last().Kind == ODataSegmentKind.DollarCount) + else if (Segments.Last().Kind == ODataSegmentKind.DollarCount) { return ODataPathKind.DollarCount; } - - if (Segments.Any(c => c.Kind == ODataSegmentKind.StreamProperty || c.Kind == ODataSegmentKind.StreamContent)) + else if (Segments.Last().Kind == ODataSegmentKind.TypeCast) + { + return ODataPathKind.TypeCast; + } + else if (Segments.Any(c => c.Kind == ODataSegmentKind.StreamProperty || c.Kind == ODataSegmentKind.StreamContent)) { return ODataPathKind.MediaEntity; } @@ -315,20 +317,15 @@ private ODataPathKind CalcPathType() { return ODataPathKind.NavigationProperty; } - - if (Segments.Count == 1) + else if (Segments.Count == 1 && Segments[0] is ODataNavigationSourceSegment segment) { - ODataNavigationSourceSegment segment = Segments[0] as ODataNavigationSourceSegment; - if (segment != null) + if (segment.NavigationSource is IEdmSingleton) { - if (segment.NavigationSource is IEdmSingleton) - { - return ODataPathKind.Singleton; - } - else - { - return ODataPathKind.EntitySet; - } + return ODataPathKind.Singleton; + } + else + { + return ODataPathKind.EntitySet; } } else if (Segments.Count == 2 && Segments.Last().Kind == ODataSegmentKind.Key) @@ -338,5 +335,13 @@ private ODataPathKind CalcPathType() return ODataPathKind.Unknown; } + + /// + /// Provides a suffix for the operation id based on the operation path. + /// + /// The settings. + ///The suffix. + public string GetPathHash(OpenApiConvertSettings settings) => + LastSegment.GetPathHash(settings, this); } } \ No newline at end of file diff --git a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathKind.cs b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathKind.cs index c5567697..c3c2fd73 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathKind.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathKind.cs @@ -60,9 +60,14 @@ public enum ODataPathKind /// DollarCount, + /// + /// Represents a type cast path, for example: ~/groups/{id}/members/microsoft.graph.user + /// + TypeCast, + /// /// Represents an un-supported/unknown path. /// - Unknown - } + Unknown, + } } diff --git a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs index 85bf8fd4..baa37717 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataPathProvider.cs @@ -9,6 +9,7 @@ using System.Linq; using Microsoft.OData.Edm; using Microsoft.OData.Edm.Vocabularies; +using Microsoft.OpenApi.OData.Common; using Microsoft.OpenApi.OData.Vocabulary.Capabilities; namespace Microsoft.OpenApi.OData.Edm @@ -127,6 +128,7 @@ private void AppendPath(ODataPath path) ODataPathKind kind = path.Kind; switch(kind) { + case ODataPathKind.TypeCast: case ODataPathKind.DollarCount: case ODataPathKind.Entity: case ODataPathKind.EntitySet: @@ -186,11 +188,19 @@ private void RetrieveNavigationSourcePaths(IEdmNavigationSource navigationSource if (entitySet != null) { count = _model.GetRecord(entitySet, CapabilitiesConstants.CountRestrictions); - if(count?.Countable ?? true) + if(count?.Countable ?? true) // ~/entitySet/$count CreateCountPath(path, convertSettings); + CreateTypeCastPaths(path, convertSettings, entityType, entitySet, true); // ~/entitySet/subType + path.Push(new ODataKeySegment(entityType)); AppendPath(path.Clone()); + + CreateTypeCastPaths(path, convertSettings, entityType, entitySet, false); // ~/entitySet/{id}/subType + } + else if (navigationSource is IEdmSingleton singleton) + { // ~/singleton/subType + CreateTypeCastPaths(path, convertSettings, entityType, singleton, false); } // media entity @@ -285,13 +295,20 @@ private void RetrieveNavigationPropertyPaths(IEdmNavigationProperty navigationPr IEdmEntityType navEntityType = navigationProperty.ToEntityType(); var targetsMany = navigationProperty.TargetMultiplicity() == EdmMultiplicity.Many; var propertyPath = navigationProperty.GetPartnerPath()?.Path; + var propertyPathIsEmpty = string.IsNullOrEmpty(propertyPath); - if (targetsMany && (string.IsNullOrEmpty(propertyPath) || - (count?.IsNonCountableNavigationProperty(propertyPath) ?? true))) + if (targetsMany) { - // ~/entityset/{key}/collection-valued-Nav/$count - CreateCountPath(currentPath, convertSettings); + if(propertyPathIsEmpty || + (count?.IsNonCountableNavigationProperty(propertyPath) ?? true)) + { + // ~/entityset/{key}/collection-valued-Nav/$count + CreateCountPath(currentPath, convertSettings); + } } + // ~/entityset/{key}/collection-valued-Nav/subtype + // ~/entityset/{key}/single-valued-Nav/subtype + CreateTypeCastPaths(currentPath, convertSettings, navigationProperty.DeclaringType, navigationProperty, targetsMany); if (!navigationProperty.ContainsTarget) { @@ -305,6 +322,8 @@ private void RetrieveNavigationPropertyPaths(IEdmNavigationProperty navigationPr // Collection-valued: DELETE ~/entityset/{key}/collection-valued-Nav/{key}/$ref currentPath.Push(new ODataKeySegment(navEntityType)); CreateRefPath(currentPath); + + CreateTypeCastPaths(currentPath, convertSettings, navigationProperty.DeclaringType, navigationProperty, false); // ~/entityset/{key}/collection-valued-Nav/{id}/subtype } // Get possible stream paths for the navigation entity type @@ -317,6 +336,8 @@ private void RetrieveNavigationPropertyPaths(IEdmNavigationProperty navigationPr { currentPath.Push(new ODataKeySegment(navEntityType)); AppendPath(currentPath.Clone()); + + CreateTypeCastPaths(currentPath, convertSettings, navigationProperty.DeclaringType, navigationProperty, false); // ~/entityset/{key}/collection-valued-Nav/{id}/subtype } // Get possible stream paths for the navigation entity type @@ -393,6 +414,60 @@ private void CreateCountPath(ODataPath currentPath, OpenApiConvertSettings conve AppendPath(countPath); } + /// + /// Create OData type cast paths. + /// + /// The current OData path. + /// The settings for the current conversion. + /// The type that is being inherited from to which this method will add downcast path segments. + /// The annotable navigation source to read cast annotations from. + /// Whether the annotable navigation source targets many entities. + private void CreateTypeCastPaths(ODataPath currentPath, OpenApiConvertSettings convertSettings, IEdmStructuredType structuredType, IEdmVocabularyAnnotatable annotable, bool targetsMany) + { + if(currentPath == null) throw Error.ArgumentNull(nameof(currentPath)); + if(convertSettings == null) throw new ArgumentNullException(nameof(convertSettings)); + if(structuredType == null) throw new ArgumentNullException(nameof(structuredType)); + if(annotable == null) throw new ArgumentNullException(nameof(annotable)); + if(!convertSettings.EnableODataTypeCast) return; + + var annotedTypeNames = GetDerivedTypeConstaintTypeNames(annotable); + + if(!annotedTypeNames.Any() && convertSettings.RequireDerivedTypesConstraintForODataTypeCastSegments) return; // we don't want to generate any downcast path item if there is no type cast annotation. + + var annotedTypeNamesSet = new HashSet(annotedTypeNames, StringComparer.OrdinalIgnoreCase); + + bool filter(IEdmStructuredType x) => + convertSettings.RequireDerivedTypesConstraintForODataTypeCastSegments && annotedTypeNames.Contains(x.FullTypeName()) || + !convertSettings.RequireDerivedTypesConstraintForODataTypeCastSegments && ( + !annotedTypeNames.Any() || + annotedTypeNames.Contains(x.FullTypeName()) + ); + + var targetTypes = _model + .FindAllDerivedTypes(structuredType) + .Where(x => x.TypeKind == EdmTypeKind.Entity && filter(x)) + .OfType() + .ToArray(); + + foreach(var targetType in targetTypes) + { + var castPath = currentPath.Clone(); + castPath.Push(new ODataTypeCastSegment(targetType)); + AppendPath(castPath); + if(targetsMany) + { + CreateCountPath(castPath, convertSettings); + } + else + { + foreach(var declaredNavigationProperty in targetType.DeclaredNavigationProperties()) + { + RetrieveNavigationPropertyPaths(declaredNavigationProperty, null, castPath, convertSettings); + } + } + } + } + /// /// Retrieve all bounding . /// @@ -419,26 +494,19 @@ private void RetrieveBoundOperationPaths(OpenApiConvertSettings convertSettings) } var firstEntityType = bindingType.AsEntity().EntityDefinition(); - var allEntitiesForOperation= new List(){ firstEntityType }; - System.Func filter = (z) => + bool filter(IEdmNavigationSource z) => z.EntityType() != firstEntityType && z.EntityType().FindAllBaseTypes().Contains(firstEntityType); - //Search all EntitySets - allEntitiesForOperation.AddRange( - _model.EntityContainer.EntitySets() - .Where(filter).Select(x => x.EntityType()) - ); - - //Search all singletons - allEntitiesForOperation.AddRange( - _model.EntityContainer.Singletons() - .Where(filter).Select(x => x.EntityType()) - ); - - allEntitiesForOperation = allEntitiesForOperation.Distinct().ToList(); - + var allEntitiesForOperation = new IEdmEntityType[] { firstEntityType } + .Union(_model.EntityContainer.EntitySets() + .Where(filter).Select(x => x.EntityType())) //Search all EntitySets + .Union(_model.EntityContainer.Singletons() + .Where(filter).Select(x => x.EntityType())) //Search all singletons + .Distinct() + .ToList(); + foreach (var bindingEntityType in allEntitiesForOperation) { // 1. Search for corresponding navigation source path @@ -468,7 +536,7 @@ private void RetrieveBoundOperationPaths(OpenApiConvertSettings convertSettings) } } } - private static readonly HashSet _oDataPathKindsToSkipForOperations = new HashSet() { + private static readonly HashSet _oDataPathKindsToSkipForOperationsWhenSingle = new() { ODataPathKind.EntitySet, ODataPathKind.MediaEntity, ODataPathKind.DollarCount @@ -483,8 +551,22 @@ private bool AppendBoundOperationOnNavigationSourcePath(IEdmOperation edmOperati foreach (var subPath in value) { - if ((isCollection && subPath.Kind == ODataPathKind.EntitySet) || - (!isCollection && !_oDataPathKindsToSkipForOperations.Contains(subPath.Kind))) + var lastPathSegment = subPath.LastOrDefault(); + var secondLastPathSegment = subPath.Count > 1 ? subPath.ElementAt(subPath.Count - 2) : null; + if (subPath.Kind == ODataPathKind.TypeCast && + !isCollection && + secondLastPathSegment != null && + secondLastPathSegment is not ODataKeySegment && + (secondLastPathSegment is not ODataNavigationSourceSegment navSource || navSource.NavigationSource is not IEdmSingleton) && + (secondLastPathSegment is not ODataNavigationPropertySegment navProp || navProp.NavigationProperty.Type.IsCollection())) + {// we don't want to add operations bound to single elements on type cast segments under collections, only under the key segment, singletons and nav props bound to singles. + continue; + } + else if ((lastPathSegment is not ODataTypeCastSegment castSegment || + castSegment.EntityType == bindingEntityType || + bindingEntityType.InheritsFrom(castSegment.EntityType)) && // we don't want to add operations from the parent types under type cast segments because they already are present without the cast + ((isCollection && subPath.Kind == ODataPathKind.EntitySet) || + (!isCollection && !_oDataPathKindsToSkipForOperationsWhenSingle.Contains(subPath.Kind)))) { ODataPath newPath = subPath.Clone(); newPath.Push(new ODataOperationSegment(edmOperation, isEscapedFunction)); @@ -611,9 +693,11 @@ private bool HasUnsatisfiedDerivedTypeConstraint( OpenApiConvertSettings convertSettings) { return convertSettings.RequireDerivedTypesConstraintForBoundOperations && - !(_model.GetCollection(annotatable, "Org.OData.Validation.V1.DerivedTypeConstraint") ?? Enumerable.Empty()) + !GetDerivedTypeConstaintTypeNames(annotatable) .Any(c => c.Equals(baseType.FullName(), StringComparison.OrdinalIgnoreCase)); } + private IEnumerable GetDerivedTypeConstaintTypeNames(IEdmVocabularyAnnotatable annotatable) => + _model.GetCollection(annotatable, "Org.OData.Validation.V1.DerivedTypeConstraint") ?? Enumerable.Empty(); private bool AppendBoundOperationOnDerivedNavigationPropertyPath( IEdmOperation edmOperation, diff --git a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataSegment.cs b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataSegment.cs index aa4364ef..d18c78a8 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataSegment.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataSegment.cs @@ -5,8 +5,10 @@ using System; using System.Collections.Generic; +using System.Linq; using Microsoft.OData.Edm; using Microsoft.OpenApi.Models; +using Microsoft.OpenApi.OData.Common; namespace Microsoft.OpenApi.OData.Edm { @@ -100,6 +102,17 @@ public string GetPathItemName(OpenApiConvertSettings settings) { return GetPathItemName(settings, new HashSet()); } + /// + /// Profides a suffix for the operation id based on the operation path. + /// + /// Path to use to deduplicate. + /// The settings. + ///The suffix. + public string GetPathHash(OpenApiConvertSettings settings, ODataPath path = default) + { + var suffix = string.Join("/", path?.Segments.Select(x => x.Identifier).Distinct() ?? Enumerable.Empty()); + return (GetPathItemName(settings) + suffix).GetHashSHA256().Substring(0, 4); + } /// /// Gets the path item name for this segment. diff --git a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataStreamPropertySegment.cs b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataStreamPropertySegment.cs index efca6864..5d8713c2 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Edm/ODataStreamPropertySegment.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Edm/ODataStreamPropertySegment.cs @@ -14,7 +14,7 @@ public class ODataStreamPropertySegment : ODataSegment { private readonly string _streamPropertyName; /// - /// Initializes a new instance of class. + /// Initializes a new instance of class. /// /// The name of the stream property. public ODataStreamPropertySegment(string streamPropertyName) diff --git a/src/Microsoft.OpenApi.OData.Reader/OpenApiConvertSettings.cs b/src/Microsoft.OpenApi.OData.Reader/OpenApiConvertSettings.cs index e5faf574..e8a01752 100644 --- a/src/Microsoft.OpenApi.OData.Reader/OpenApiConvertSettings.cs +++ b/src/Microsoft.OpenApi.OData.Reader/OpenApiConvertSettings.cs @@ -192,6 +192,16 @@ public string PathPrefix /// Gets/sets a value indicating whether or not single quotes surrounding string parameters in url templates should be added. /// public bool AddSingleQuotesForStringParameters { get; set; } = false; + + /// + /// Gets/sets a value indicating whether or not to include the OData type cast segments. + /// + public bool EnableODataTypeCast { get; set; } = true; + + /// + /// Gets/sets a value indicating whether or not to require a derived types constraint to include the OData type cast segments. + /// + public bool RequireDerivedTypesConstraintForODataTypeCastSegments { get; set; } = true; internal OpenApiConvertSettings Clone() { @@ -225,6 +235,8 @@ internal OpenApiConvertSettings Clone() PathProvider = this.PathProvider, EnableDollarCountPath = this.EnableDollarCountPath, AddSingleQuotesForStringParameters = this.AddSingleQuotesForStringParameters, + EnableODataTypeCast = this.EnableODataTypeCast, + RequireDerivedTypesConstraintForODataTypeCastSegments = this.RequireDerivedTypesConstraintForODataTypeCastSegments, }; return newSettings; diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs index 9cfcb749..f5d8de81 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/DollarCountGetOperationHandler.cs @@ -46,7 +46,7 @@ protected override void SetBasicInfo(OpenApiOperation operation) // OperationId if (Context.Settings.EnableOperationId) { - operation.OperationId = $"Get.Count.{LastSecondSegment.Identifier}"; + operation.OperationId = $"Get.Count.{LastSecondSegment.Identifier}-{Path.GetPathHash(Context.Settings)}"; } base.SetBasicInfo(operation); diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationImportOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationImportOperationHandler.cs index 8125f8ad..36c3b141 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationImportOperationHandler.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationImportOperationHandler.cs @@ -55,12 +55,9 @@ protected override void SetBasicInfo(OpenApiOperation operation) } else { - ODataOperationImportSegment operationImportSegment = Path.LastSegment as ODataOperationImportSegment; - string pathItemName = operationImportSegment.GetPathItemName(Context.Settings, new HashSet()); if (Context.Model.IsOperationImportOverload(EdmOperationImport)) { - string hash = pathItemName.GetHashSHA256(); - operation.OperationId = "FunctionImport." + EdmOperationImport.Name + "-" + hash.Substring(0, 4); + operation.OperationId = "FunctionImport." + EdmOperationImport.Name + "-" + Path.LastSegment.GetPathHash(Context.Settings); } else { diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs index 4b2c64dc..55d7e464 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/EdmOperationOperationHandler.cs @@ -93,13 +93,10 @@ protected override void SetBasicInfo(OpenApiOperation operation) } else { - ODataOperationSegment operationSegment = Path.LastSegment as ODataOperationSegment; - string pathItemName = operationSegment.GetPathItemName(Context.Settings, new HashSet()); - - if (Context.Model.IsOperationOverload(operationSegment.Operation)) + if (Path.LastSegment is ODataOperationSegment operationSegment && + Context.Model.IsOperationOverload(operationSegment.Operation)) { - string hash = pathItemName.GetHashSHA256(); - operation.OperationId = operationId + "-" + hash.Substring(0, 4); + operation.OperationId = operationId + "-" + Path.LastSegment.GetPathHash(Context.Settings); } else { diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyGetOperationHandler.cs index e12ee7cc..492e692a 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyGetOperationHandler.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyGetOperationHandler.cs @@ -183,7 +183,7 @@ protected override void SetParameters(OpenApiOperation operation) if (!LastSegmentIsKeySegment && NavigationProperty.TargetMultiplicity() == EdmMultiplicity.Many) { - // Need to verify that TopSupported or others should be applyed to navigaiton source. + // Need to verify that TopSupported or others should be applied to navigation source. // So, how about for the navigation property. OpenApiParameter parameter = Context.CreateTop(NavigationProperty); if (parameter != null) diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs index c3bae340..4503a9cb 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/NavigationPropertyOperationHandler.cs @@ -101,33 +101,29 @@ protected override void SetTags(OpenApiOperation operation) NavigationSource.Name }; - foreach (var segment in Path.Segments.Skip(1)) + foreach (var segment in Path.Segments.Skip(1).OfType()) { - ODataNavigationPropertySegment npSegment = segment as ODataNavigationPropertySegment; - if (npSegment != null) + if (segment.NavigationProperty == NavigationProperty) { - if (npSegment.NavigationProperty == NavigationProperty) + items.Add(NavigationProperty.ToEntityType().Name); + break; + } + else + { + if (items.Count >= Context.Settings.TagDepth - 1) { - items.Add(NavigationProperty.ToEntityType().Name); + items.Add(segment.NavigationProperty.ToEntityType().Name); break; } else { - if (items.Count >= Context.Settings.TagDepth - 1) - { - items.Add(npSegment.NavigationProperty.ToEntityType().Name); - break; - } - else - { - items.Add(npSegment.NavigationProperty.Name); - } + items.Add(segment.NavigationProperty.Name); } } } string name = string.Join(".", items); - OpenApiTag tag = new OpenApiTag + OpenApiTag tag = new() { Name = name }; @@ -155,28 +151,24 @@ protected string GetOperationId(string prefix = null) }; var lastpath = Path.Segments.Last(c => c is ODataNavigationPropertySegment); - foreach (var segment in Path.Segments.Skip(1)) + foreach (var segment in Path.Segments.Skip(1).OfType()) { - ODataNavigationPropertySegment npSegment = segment as ODataNavigationPropertySegment; - if (npSegment != null) + if (segment == lastpath) { - if (segment == lastpath) + if (prefix != null) { - if (prefix != null) - { - items.Add(prefix + Utils.UpperFirstChar(npSegment.NavigationProperty.Name)); - } - else - { - items.Add(Utils.UpperFirstChar(npSegment.NavigationProperty.Name)); - } - - break; + items.Add(prefix + Utils.UpperFirstChar(segment.NavigationProperty.Name)); } else { - items.Add(npSegment.NavigationProperty.Name); + items.Add(Utils.UpperFirstChar(segment.NavigationProperty.Name)); } + + break; + } + else + { + items.Add(segment.NavigationProperty.Name); } } diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/ODataTypeCastGetOperationHandler.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/ODataTypeCastGetOperationHandler.cs new file mode 100644 index 00000000..d01957e6 --- /dev/null +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/ODataTypeCastGetOperationHandler.cs @@ -0,0 +1,411 @@ +// ------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------ + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.OData.Edm; +using Microsoft.OData.Edm.Vocabularies; +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; + +namespace Microsoft.OpenApi.OData.Operation; + +/// +/// Retrieves a .../namespace.typename get +/// +internal class ODataTypeCastGetOperationHandler : OperationHandler +{ + /// + public override OperationType OperationType => OperationType.Get; + + /// + /// Gets/sets the segment before cast. + /// this segment could be "entity set", "Collection property", etc. + /// + internal ODataSegment LastSecondSegment { get; set; } + + private bool isKeySegment; + private bool IsSingleElement + { + get => isKeySegment || + singleton != null || + (navigationProperty != null && + !navigationProperty.Type.IsCollection() && + entitySet == null); + } + private NavigationPropertyRestriction restriction; + private IEdmSingleton singleton; + private IEdmEntitySet entitySet; + private IEdmNavigationProperty navigationProperty; + private IEdmEntityType parentEntityType; + private IEdmEntityType targetEntityType; + private const int SecondLastSegmentIndex = 2; + /// + protected override void Initialize(ODataContext context, ODataPath path) + { + base.Initialize(context, path); + + // get the last second segment + int count = path.Segments.Count; + if(count >= SecondLastSegmentIndex) + LastSecondSegment = path.Segments.ElementAt(count - SecondLastSegmentIndex); + + parentEntityType = LastSecondSegment.EntityType; + if(LastSecondSegment is ODataNavigationPropertySegment navigationPropertySegment) + { + SetNavigationPropertyAndRestrictionFromNavigationSegment(navigationPropertySegment, path); + } + else if(LastSecondSegment is ODataNavigationSourceSegment sourceSegment) + { + if(sourceSegment.NavigationSource is IEdmEntitySet) + SetEntitySetAndRestrictionFromSourceSegment(sourceSegment); + else if (sourceSegment.NavigationSource is IEdmSingleton) + SetSingletonAndRestrictionFromSourceSegment(sourceSegment); + } + else if(LastSecondSegment is ODataKeySegment) + { + isKeySegment = true; + var thirdLastSegment = path.Segments.ElementAt(count - SecondLastSegmentIndex - 1); + if(thirdLastSegment is ODataNavigationPropertySegment navigationPropertySegment1) + { + SetNavigationPropertyAndRestrictionFromNavigationSegment(navigationPropertySegment1, path); + } + else if(thirdLastSegment is ODataNavigationSourceSegment sourceSegment1) + { + SetEntitySetAndRestrictionFromSourceSegment(sourceSegment1); + } + } + if(path.Last() is ODataTypeCastSegment oDataTypeCastSegment) + { + targetEntityType = oDataTypeCastSegment.EntityType; + } + else throw new NotImplementedException($"type cast type {path.Last().GetType().FullName} not implemented"); + } + + private void SetNavigationPropertyAndRestrictionFromNavigationSegment(ODataNavigationPropertySegment navigationPropertySegment, ODataPath path) + { + navigationProperty = navigationPropertySegment.NavigationProperty; + var navigationPropertyPath = string.Join("/", + Path.Segments.Where(s => !(s is ODataKeySegment || s is ODataNavigationSourceSegment + || s is ODataStreamContentSegment || s is ODataStreamPropertySegment)).Select(e => e.Identifier)); + + if(path.FirstSegment is ODataNavigationSourceSegment navigationSourceSegment) + { + NavigationRestrictionsType navigation = navigationSourceSegment.NavigationSource switch { + IEdmEntitySet entitySet => Context.Model.GetRecord(entitySet, CapabilitiesConstants.NavigationRestrictions), + IEdmSingleton singleton => Context.Model.GetRecord(singleton, CapabilitiesConstants.NavigationRestrictions), + _ => null + }; + + if (navigation?.RestrictedProperties != null) + { + restriction = navigation.RestrictedProperties.FirstOrDefault(r => r.NavigationProperty != null && r.NavigationProperty == navigationPropertyPath); + } + } + } + + private void SetEntitySetAndRestrictionFromSourceSegment(ODataNavigationSourceSegment sourceSegment) + { + if(sourceSegment.NavigationSource is IEdmEntitySet eSet) + { + entitySet = eSet; + SetRestrictionFromAnnotable(eSet); + } + } + + private void SetSingletonAndRestrictionFromSourceSegment(ODataNavigationSourceSegment sourceSegment) + { + if(sourceSegment.NavigationSource is IEdmSingleton sTon) + { + singleton = sTon; + SetRestrictionFromAnnotable(sTon); + } + + } + + private void SetRestrictionFromAnnotable(IEdmVocabularyAnnotatable annotable) + { + NavigationRestrictionsType navigation = Context.Model.GetRecord(annotable, CapabilitiesConstants.NavigationRestrictions); + if (navigation?.RestrictedProperties != null) + { + restriction = navigation.RestrictedProperties.FirstOrDefault(r => r.NavigationProperty == null); + } + } + + /// + protected override void SetBasicInfo(OpenApiOperation operation) + { + // Summary + if(IsSingleElement) + operation.Summary = $"Get the item of type {parentEntityType.ShortQualifiedName()} as {targetEntityType.ShortQualifiedName()}"; + else + operation.Summary = $"Get the items of type {targetEntityType.ShortQualifiedName()} in the {parentEntityType.ShortQualifiedName()} collection"; + + // OperationId + if (Context.Settings.EnableOperationId) + { + var operationItem = IsSingleElement ? ".Item" : ".Items"; + operation.OperationId = $"Get.{parentEntityType.ShortQualifiedName()}{operationItem}.As.{targetEntityType.ShortQualifiedName()}-{Path.GetPathHash(Context.Settings)}"; + } + + base.SetBasicInfo(operation); + } + + /// + protected override void SetResponses(OpenApiOperation operation) + { + if(IsSingleElement) + SetSingleResponse(operation); + else + SetCollectionResponse(operation); + + operation.Responses.Add(Constants.StatusCodeDefault, Constants.StatusCodeDefault.GetResponse()); + + base.SetResponses(operation); + } + private void SetCollectionResponse(OpenApiOperation operation) + { + OpenApiSchema schema = null; + if (Context.Settings.EnableDerivedTypesReferencesForResponses) + { + schema = EdmModelHelper.GetDerivedTypesReferenceSchema(parentEntityType, Context.Model); + } + + if (schema == null) + { + schema = new OpenApiSchema + { + Reference = new OpenApiReference + { + Type = ReferenceType.Schema, + Id = $"{parentEntityType.FullName()}.To.{targetEntityType.FullName()}" + } + }; + } + + var properties = new Dictionary + { + { + "value", + new OpenApiSchema + { + Type = "array", + Items = schema + } + } + }; + + if (Context.Settings.EnablePagination) + { + properties.Add( + "@odata.nextLink", + new OpenApiSchema + { + Type = "string" + }); + } + + operation.Responses = new OpenApiResponses + { + { + Constants.StatusCode200, + new OpenApiResponse + { + Description = "Retrieved entities", + Content = new Dictionary + { + { + Constants.ApplicationJsonMediaType, + new OpenApiMediaType + { + Schema = new OpenApiSchema + { + Title = $"Collection of items of type {targetEntityType.ShortQualifiedName()} in the {parentEntityType.ShortQualifiedName()} collection", + Type = "object", + Properties = properties + } + } + } + } + } + } + }; + } + private void SetSingleResponse(OpenApiOperation operation) + { + OpenApiSchema schema = null; + + if (Context.Settings.EnableDerivedTypesReferencesForResponses) + { + schema = EdmModelHelper.GetDerivedTypesReferenceSchema(targetEntityType, Context.Model); + } + + if (schema == null) + { + schema = new OpenApiSchema + { + Reference = new OpenApiReference + { + Type = ReferenceType.Schema, + Id = targetEntityType.FullName() + } + }; + } + operation.Responses = new OpenApiResponses + { + { + Constants.StatusCode200, + new OpenApiResponse + { + Description = "Result entities", + Content = new Dictionary + { + { + Constants.ApplicationJsonMediaType, + new OpenApiMediaType + { + Schema = schema + } + } + }, + } + } + }; + } + /// + protected override void SetTags(OpenApiOperation operation) + { + IList items = new List + { + parentEntityType.Name, + targetEntityType.Name, + }; + + string name = string.Join(".", items); + OpenApiTag tag = new() + { + Name = name + }; + if(!IsSingleElement) + tag.Extensions.Add(Constants.xMsTocType, new OpenApiString("page")); + operation.Tags.Add(tag); + + Context.AppendTag(tag); + + base.SetTags(operation); + } + /// + protected override void SetParameters(OpenApiOperation operation) + { + base.SetParameters(operation); + + if(navigationProperty != null) { + if (IsSingleElement) + { + new OpenApiParameter[] { + Context.CreateSelect(navigationProperty), + Context.CreateExpand(navigationProperty), + } + .Where(x => x != null) + .ToList() + .ForEach(p => operation.Parameters.Add(p)); + } + else + { + GetParametersForAnnotableOfMany(navigationProperty) + .Union( + new OpenApiParameter[] { + Context.CreateOrderBy(navigationProperty), + Context.CreateSelect(navigationProperty), + Context.CreateExpand(navigationProperty), + }) + .Where(x => x != null) + .ToList() + .ForEach(p => operation.Parameters.Add(p)); + } + } + else if(entitySet != null) + { + if(IsSingleElement) + { + new OpenApiParameter[] { + Context.CreateSelect(entitySet), + Context.CreateExpand(entitySet), + } + .Where(x => x != null) + .ToList() + .ForEach(p => operation.Parameters.Add(p)); + } + else + { + GetParametersForAnnotableOfMany(entitySet) + .Union( + new OpenApiParameter[] { + Context.CreateOrderBy(entitySet), + Context.CreateSelect(entitySet), + Context.CreateExpand(entitySet), + }) + .Where(x => x != null) + .ToList() + .ForEach(p => operation.Parameters.Add(p)); + } + } + else if(singleton != null) + { + new OpenApiParameter[] { + Context.CreateSelect(singleton), + Context.CreateExpand(singleton), + } + .Where(x => x != null) + .ToList() + .ForEach(p => operation.Parameters.Add(p)); + } + } + private IEnumerable GetParametersForAnnotableOfMany(IEdmVocabularyAnnotatable annotable) + { + // Need to verify that TopSupported or others should be applied to navigation source. + // So, how about for the navigation property. + return new OpenApiParameter[] { + Context.CreateTop(annotable), + Context.CreateSkip(annotable), + Context.CreateSearch(annotable), + Context.CreateFilter(annotable), + Context.CreateCount(annotable), + }; + } + + protected override void SetSecurity(OpenApiOperation operation) + { + if (restriction == null || restriction.ReadRestrictions == null) + { + return; + } + + ReadRestrictionsBase readBase = restriction.ReadRestrictions; + + operation.Security = Context.CreateSecurityRequirements(readBase.Permissions).ToList(); + } + + protected override void SetExtensions(OpenApiOperation operation) + { + if (Context.Settings.EnablePagination && !IsSingleElement) + { + OpenApiObject extension = new() + { + { "nextLinkName", new OpenApiString("@odata.nextLink")}, + { "operationName", new OpenApiString(Context.Settings.PageableOperationName)} + }; + + operation.Extensions.Add(Constants.xMsPageable, extension); + } + + base.SetExtensions(operation); + } +} \ No newline at end of file diff --git a/src/Microsoft.OpenApi.OData.Reader/Operation/OperationHandlerProvider.cs b/src/Microsoft.OpenApi.OData.Reader/Operation/OperationHandlerProvider.cs index 12915051..544e70a4 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Operation/OperationHandlerProvider.cs +++ b/src/Microsoft.OpenApi.OData.Reader/Operation/OperationHandlerProvider.cs @@ -89,6 +89,12 @@ private readonly IDictionary + { + {OperationType.Get, new ODataTypeCastGetOperationHandler() }, + }}, }; /// diff --git a/src/Microsoft.OpenApi.OData.Reader/PathItem/ODataTypeCastPathItemHandler.cs b/src/Microsoft.OpenApi.OData.Reader/PathItem/ODataTypeCastPathItemHandler.cs new file mode 100644 index 00000000..da7e89bc --- /dev/null +++ b/src/Microsoft.OpenApi.OData.Reader/PathItem/ODataTypeCastPathItemHandler.cs @@ -0,0 +1,24 @@ +// ------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------ + +using Microsoft.OpenApi.Models; +using Microsoft.OpenApi.OData.Edm; + +namespace Microsoft.OpenApi.OData.PathItem; + +/// +/// Path item handler for type cast for example: ~/groups/{id}/members/microsoft.graph.user +/// +internal class ODataTypeCastPathItemHandler : PathItemHandler +{ + /// + protected override ODataPathKind HandleKind => ODataPathKind.TypeCast; + + /// + protected override void SetOperations(OpenApiPathItem item) + { + AddOperation(item, OperationType.Get); + } +} diff --git a/src/Microsoft.OpenApi.OData.Reader/PathItem/PathItemHandlerProvider.cs b/src/Microsoft.OpenApi.OData.Reader/PathItem/PathItemHandlerProvider.cs index ae81bc30..acb1f95e 100644 --- a/src/Microsoft.OpenApi.OData.Reader/PathItem/PathItemHandlerProvider.cs +++ b/src/Microsoft.OpenApi.OData.Reader/PathItem/PathItemHandlerProvider.cs @@ -45,6 +45,9 @@ internal class PathItemHandlerProvider : IPathItemHandlerProvider // $count { ODataPathKind.DollarCount, new DollarCountPathItemHandler() }, + // ~/groups/{id}/members/microsoft.graph.user + { ODataPathKind.TypeCast, new ODataTypeCastPathItemHandler() }, + // Unknown { ODataPathKind.Unknown, null }, }; diff --git a/src/Microsoft.OpenApi.OData.Reader/PublicAPI.Unshipped.txt b/src/Microsoft.OpenApi.OData.Reader/PublicAPI.Unshipped.txt index e067bf0c..5771ae27 100644 --- a/src/Microsoft.OpenApi.OData.Reader/PublicAPI.Unshipped.txt +++ b/src/Microsoft.OpenApi.OData.Reader/PublicAPI.Unshipped.txt @@ -36,6 +36,7 @@ Microsoft.OpenApi.OData.Edm.ODataOperationSegment.Operation.get -> Microsoft.ODa Microsoft.OpenApi.OData.Edm.ODataOperationSegment.ParameterMappings.get -> System.Collections.Generic.IDictionary Microsoft.OpenApi.OData.Edm.ODataPath Microsoft.OpenApi.OData.Edm.ODataPath.Clone() -> Microsoft.OpenApi.OData.Edm.ODataPath +Microsoft.OpenApi.OData.Edm.ODataPath.GetPathHash(Microsoft.OpenApi.OData.OpenApiConvertSettings settings) -> string Microsoft.OpenApi.OData.Edm.ODataPath.CompareTo(Microsoft.OpenApi.OData.Edm.ODataPath other) -> int Microsoft.OpenApi.OData.Edm.ODataPath.Count.get -> int Microsoft.OpenApi.OData.Edm.ODataPath.FirstSegment.get -> Microsoft.OpenApi.OData.Edm.ODataSegment @@ -61,12 +62,14 @@ Microsoft.OpenApi.OData.Edm.ODataPathKind.Operation = 3 -> Microsoft.OpenApi.ODa Microsoft.OpenApi.OData.Edm.ODataPathKind.OperationImport = 4 -> Microsoft.OpenApi.OData.Edm.ODataPathKind Microsoft.OpenApi.OData.Edm.ODataPathKind.Ref = 6 -> Microsoft.OpenApi.OData.Edm.ODataPathKind Microsoft.OpenApi.OData.Edm.ODataPathKind.Singleton = 2 -> Microsoft.OpenApi.OData.Edm.ODataPathKind -Microsoft.OpenApi.OData.Edm.ODataPathKind.Unknown = 10 -> Microsoft.OpenApi.OData.Edm.ODataPathKind +Microsoft.OpenApi.OData.Edm.ODataPathKind.TypeCast = 10 -> Microsoft.OpenApi.OData.Edm.ODataPathKind +Microsoft.OpenApi.OData.Edm.ODataPathKind.Unknown = 11 -> Microsoft.OpenApi.OData.Edm.ODataPathKind Microsoft.OpenApi.OData.Edm.ODataPathProvider Microsoft.OpenApi.OData.Edm.ODataPathProvider.ODataPathProvider() -> void Microsoft.OpenApi.OData.Edm.ODataRefSegment Microsoft.OpenApi.OData.Edm.ODataSegment Microsoft.OpenApi.OData.Edm.ODataSegment.GetPathItemName(Microsoft.OpenApi.OData.OpenApiConvertSettings settings) -> string +Microsoft.OpenApi.OData.Edm.ODataSegment.GetPathHash(Microsoft.OpenApi.OData.OpenApiConvertSettings settings, Microsoft.OpenApi.OData.Edm.ODataPath path) -> string Microsoft.OpenApi.OData.Edm.ODataSegment.ODataSegment() -> void Microsoft.OpenApi.OData.Edm.ODataSegmentKind Microsoft.OpenApi.OData.Edm.ODataSegmentKind.DollarCount = 10 -> Microsoft.OpenApi.OData.Edm.ODataSegmentKind @@ -134,6 +137,10 @@ Microsoft.OpenApi.OData.OpenApiConvertSettings.EnableDollarCountPath.get -> bool Microsoft.OpenApi.OData.OpenApiConvertSettings.EnableDollarCountPath.set -> void Microsoft.OpenApi.OData.OpenApiConvertSettings.AddSingleQuotesForStringParameters.get -> bool Microsoft.OpenApi.OData.OpenApiConvertSettings.AddSingleQuotesForStringParameters.set -> void +Microsoft.OpenApi.OData.OpenApiConvertSettings.EnableODataTypeCast.get -> bool +Microsoft.OpenApi.OData.OpenApiConvertSettings.EnableODataTypeCast.set -> void +Microsoft.OpenApi.OData.OpenApiConvertSettings.RequireDerivedTypesConstraintForODataTypeCastSegments.get -> bool +Microsoft.OpenApi.OData.OpenApiConvertSettings.RequireDerivedTypesConstraintForODataTypeCastSegments.set -> void Microsoft.OpenApi.OData.OpenApiConvertSettings.PrefixEntityTypeNameBeforeKey.get -> bool Microsoft.OpenApi.OData.OpenApiConvertSettings.PrefixEntityTypeNameBeforeKey.set -> void Microsoft.OpenApi.OData.OpenApiConvertSettings.RequireDerivedTypesConstraintForBoundOperations.get -> bool diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs index 2daaa80d..6c578ff4 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs @@ -70,22 +70,6 @@ public void GetPathsForGraphBetaModelWithDerivedTypesConstraintReturnsAllPaths() Assert.Equal(17163, paths.Count()); } - [Fact] - public void GetPathsForInheritanceModelWithoutDerivedTypesConstraintReturnsMore() - { - // Arrange - IEdmModel model = GetInheritanceModel(string.Empty); - ODataPathProvider provider = new ODataPathProvider(); - var settings = new OpenApiConvertSettings(); - - // Act - var paths = provider.GetPaths(model, settings); - - // Assert - Assert.NotNull(paths); - Assert.Equal(4, paths.Count()); - } - [Fact] public void GetPathsDoesntReturnPathsForCountWhenDisabled() { @@ -103,16 +87,32 @@ public void GetPathsDoesntReturnPathsForCountWhenDisabled() Assert.NotNull(paths); Assert.Equal(3, paths.Count()); } + private const string derivedTypeAnnotation = @" + + + NS.Customer + NS.NiceCustomer + +"; - [Fact] - public void GetPathsForInheritanceModelWithDerivedTypesConstraintNoAnnotationReturnsFewer() + [Theory] + [InlineData(false, false, true, 3)] + [InlineData(false, false, false, 4)] + [InlineData(true, false, true, 7)] + [InlineData(true, false, false, 7)] + [InlineData(false, true, false, 5)] + [InlineData(false, true, true, 4)] + [InlineData(true, true, true, 5)] + [InlineData(true, true, false, 5)] + public void GetOperationPathsForModelWithDerivedTypesConstraint(bool addAnnotation, bool getNavPropModel, bool requireConstraint, int expectedCount) { // Arrange - IEdmModel model = GetInheritanceModel(string.Empty); - ODataPathProvider provider = new ODataPathProvider(); + var annotation = addAnnotation ? derivedTypeAnnotation : string.Empty; + IEdmModel model = getNavPropModel ? GetNavPropModel(annotation) : GetInheritanceModel(annotation); + ODataPathProvider provider = new(); var settings = new OpenApiConvertSettings { - RequireDerivedTypesConstraintForBoundOperations = true + RequireDerivedTypesConstraintForBoundOperations = requireConstraint }; // Act @@ -120,33 +120,45 @@ public void GetPathsForInheritanceModelWithDerivedTypesConstraintNoAnnotationRet // Assert Assert.NotNull(paths); - Assert.Equal(3, paths.Count()); + Assert.Equal(expectedCount, paths.Count()); + var dollarCountPathsWithCastSegment = paths.Where(x => x.Kind == ODataPathKind.DollarCount && x.Any(y => y.Kind == ODataSegmentKind.TypeCast)); + if(addAnnotation && !getNavPropModel) + Assert.Single(dollarCountPathsWithCastSegment); + else + Assert.Empty(dollarCountPathsWithCastSegment); } - - [Fact] - public void GetPathsForInheritanceModelWithDerivedTypesConstraintWithAnnotationReturnsMore() + [Theory] + [InlineData(false, false, true, 4)] + [InlineData(false, false, false, 7)] + [InlineData(true, false, true, 7)] + [InlineData(true, false, false, 7)] + [InlineData(false, true, false, 5)] + [InlineData(false, true, true, 5)] + [InlineData(true, true, true, 5)] + [InlineData(true, true, false, 5)] + public void GetTypeCastPathsForModelWithDerivedTypesConstraint(bool addAnnotation, bool getNavPropModel, bool requireConstraint, int expectedCount) { // Arrange - IEdmModel model = GetInheritanceModel(@" - - - NS.Customer - NS.NiceCustomer - -"); - ODataPathProvider provider = new ODataPathProvider(); + var annotation = addAnnotation ? derivedTypeAnnotation : string.Empty; + IEdmModel model = getNavPropModel ? GetNavPropModel(annotation) : GetInheritanceModel(annotation); + ODataPathProvider provider = new(); var settings = new OpenApiConvertSettings { - RequireDerivedTypesConstraintForBoundOperations = true + RequireDerivedTypesConstraintForODataTypeCastSegments = requireConstraint }; // Act var paths = provider.GetPaths(model, settings); // Assert - Assert.Equal(4, paths.Count()); + Assert.NotNull(paths); + Assert.Equal(expectedCount, paths.Count()); + var dollarCountPathsWithCastSegment = paths.Where(x => x.Kind == ODataPathKind.DollarCount && x.Any(y => y.Kind == ODataSegmentKind.TypeCast)); + if((addAnnotation || !requireConstraint) && !getNavPropModel) + Assert.Single(dollarCountPathsWithCastSegment); + else + Assert.Empty(dollarCountPathsWithCastSegment); } - #if DEBUG // Super useful for debugging tests. private string ListToString(IEnumerable paths) @@ -156,66 +168,6 @@ private string ListToString(IEnumerable paths) } #endif - [Fact] - public void GetPathsForNavPropModelWithoutDerivedTypesConstraintReturnsMore() - { - // Arrange - IEdmModel model = GetNavPropModel(string.Empty); - ODataPathProvider provider = new ODataPathProvider(); - var settings = new OpenApiConvertSettings(); - - // Act - var paths = provider.GetPaths(model, settings); - - // Assert - Assert.NotNull(paths); - Assert.Equal(5, paths.Count()); - } - - [Fact] - public void GetPathsForNavPropModelWithDerivedTypesConstraintNoAnnotationReturnsFewer() - { - // Arrange - IEdmModel model = GetNavPropModel(string.Empty); - ODataPathProvider provider = new ODataPathProvider(); - var settings = new OpenApiConvertSettings - { - RequireDerivedTypesConstraintForBoundOperations = true - }; - - // Act - var paths = provider.GetPaths(model, settings); - - // Assert - Assert.NotNull(paths); - Assert.Equal(4, paths.Count()); - } - - [Fact] - public void GetPathsForNavPropModelWithDerivedTypesConstraintWithAnnotationReturnsMore() - { - // Arrange - IEdmModel model = GetNavPropModel(@" - - - NS.Customer - NS.NiceCustomer - -"); - ODataPathProvider provider = new ODataPathProvider(); - var settings = new OpenApiConvertSettings - { - RequireDerivedTypesConstraintForBoundOperations = true - }; - - // Act - var paths = provider.GetPaths(model, settings); - - // Assert - Assert.NotNull(paths); - Assert.Equal(5, paths.Count()); - } - [Fact] public void GetPathsForSingleEntitySetWorks() { 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 a0a70e0c..925b9728 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 @@ -7,6 +7,7 @@ true ..\..\tool\35MSSharedLib1024.snk true + latest ..\..\bin\debug\test\ ..\..\bin\release\test\ diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/ODataTypeCastGetOperationHandlerTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/ODataTypeCastGetOperationHandlerTests.cs new file mode 100644 index 00000000..494a1243 --- /dev/null +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Operation/ODataTypeCastGetOperationHandlerTests.cs @@ -0,0 +1,350 @@ +// ------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------ + +using System.Linq; +using Microsoft.OData.Edm; +using Microsoft.OpenApi.OData.Edm; +using Microsoft.OpenApi.OData.Tests; +using Xunit; + +namespace Microsoft.OpenApi.OData.Operation.Tests; +public class ODataTypeCastGetOperationHandlerTests +{ + private readonly ODataTypeCastGetOperationHandler _operationHandler = new (); + + [Theory] + [InlineData(true, true)] + [InlineData(true, false)] + [InlineData(false, true)] + [InlineData(false, false)] + public void CreateODataTypeCastGetOperationReturnsCorrectOperationForCollectionNavigationProperty(bool enableOperationId, bool enablePagination) + {// ../People/{id}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + // Arrange + IEdmModel model = EdmModelHelper.TripServiceModel; + OpenApiConvertSettings settings = new() + { + EnableOperationId = enableOperationId, + EnablePagination = enablePagination, + }; + ODataContext context = new(model, settings); + IEdmEntitySet people = model.EntityContainer.FindEntitySet("People"); + Assert.NotNull(people); + + IEdmEntityType person = model.SchemaElements.OfType().First(c => c.Name == "Person"); + IEdmEntityType employee = model.SchemaElements.OfType().First(c => c.Name == "Employee"); + IEdmNavigationProperty navProperty = person.DeclaredNavigationProperties().First(c => c.Name == "Friends"); + ODataPath path = new(new ODataNavigationSourceSegment(people), + new ODataKeySegment(people.EntityType()), + new ODataNavigationPropertySegment(navProperty), + new ODataTypeCastSegment(employee)); + + // Act + var operation = _operationHandler.CreateOperation(context, path); + + // Assert + Assert.NotNull(operation); + Assert.Equal("Get the items of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee in the Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person collection", operation.Summary); + Assert.NotNull(operation.Tags); + var tag = Assert.Single(operation.Tags); + Assert.Equal("Person.Employee", tag.Name); + Assert.Single(tag.Extensions); + + Assert.NotNull(operation.Parameters); + Assert.Equal(9, operation.Parameters.Count); + + Assert.Null(operation.RequestBody); + if(enablePagination) + Assert.Single(operation.Extensions); + + Assert.Equal(2, operation.Responses.Count); + Assert.Equal(new string[] { "200", "default" }, operation.Responses.Select(e => e.Key)); + + if (enableOperationId) + { + Assert.Equal("Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Items.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf", operation.OperationId); + } + else + { + Assert.Null(operation.OperationId); + } + Assert.True(operation.Responses["200"].Content["application/json"].Schema.Properties.ContainsKey("value")); + } + [Theory] + [InlineData(true, true)] + [InlineData(true, false)] + [InlineData(false, true)] + [InlineData(false, false)] + public void CreateODataTypeCastGetOperationReturnsCorrectOperationForCollectionNavigationPropertyId(bool enableOperationId, bool enablePagination) + {// ../People/{id}/Friends/{id}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/ + // Arrange + IEdmModel model = EdmModelHelper.TripServiceModel; + OpenApiConvertSettings settings = new() + { + EnableOperationId = enableOperationId, + EnablePagination = enablePagination, + }; + ODataContext context = new(model, settings); + IEdmEntitySet people = model.EntityContainer.FindEntitySet("People"); + Assert.NotNull(people); + + IEdmEntityType person = model.SchemaElements.OfType().First(c => c.Name == "Person"); + IEdmEntityType employee = model.SchemaElements.OfType().First(c => c.Name == "Employee"); + IEdmNavigationProperty navProperty = person.DeclaredNavigationProperties().First(c => c.Name == "Friends"); + ODataPath path = new(new ODataNavigationSourceSegment(people), + new ODataKeySegment(people.EntityType()), + new ODataNavigationPropertySegment(navProperty), + new ODataKeySegment(people.EntityType()), + new ODataTypeCastSegment(employee)); + + // Act + var operation = _operationHandler.CreateOperation(context, path); + + // Assert + Assert.NotNull(operation); + Assert.Equal("Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", operation.Summary); + Assert.NotNull(operation.Tags); + var tag = Assert.Single(operation.Tags); + Assert.Equal("Person.Employee", tag.Name); + Assert.Empty(tag.Extensions); + + Assert.NotNull(operation.Parameters); + Assert.Equal(4, operation.Parameters.Count); //select, expand, id, id + + Assert.Null(operation.RequestBody); + if(enablePagination) + Assert.Empty(operation.Extensions); + + Assert.Equal(2, operation.Responses.Count); + Assert.Equal(new string[] { "200", "default" }, operation.Responses.Select(e => e.Key)); + + if (enableOperationId) + { + Assert.Equal("Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf", operation.OperationId); + } + else + { + Assert.Null(operation.OperationId); + } + Assert.False(operation.Responses["200"].Content["application/json"].Schema.Properties.ContainsKey("value")); + } + [Theory] + [InlineData(true, true)] + [InlineData(true, false)] + [InlineData(false, true)] + [InlineData(false, false)] + public void CreateODataTypeCastGetOperationReturnsCorrectOperationForEntitySet(bool enableOperationId, bool enablePagination) + {// .../People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + // Arrange + IEdmModel model = EdmModelHelper.TripServiceModel; + OpenApiConvertSettings settings = new() + { + EnableOperationId = enableOperationId, + EnablePagination = enablePagination, + }; + ODataContext context = new(model, settings); + IEdmEntitySet people = model.EntityContainer.FindEntitySet("People"); + Assert.NotNull(people); + + IEdmEntityType employee = model.SchemaElements.OfType().First(c => c.Name == "Employee"); + ODataPath path = new(new ODataNavigationSourceSegment(people), + new ODataTypeCastSegment(employee)); + + // Act + var operation = _operationHandler.CreateOperation(context, path); + + // Assert + Assert.NotNull(operation); + Assert.Equal("Get the items of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee in the Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person collection", operation.Summary); + Assert.NotNull(operation.Tags); + var tag = Assert.Single(operation.Tags); + Assert.Equal("Person.Employee", tag.Name); + Assert.Single(tag.Extensions); + + Assert.NotNull(operation.Parameters); + Assert.Equal(8, operation.Parameters.Count); + + Assert.Null(operation.RequestBody); + if(enablePagination) + Assert.Single(operation.Extensions); + + Assert.Equal(2, operation.Responses.Count); + Assert.Equal(new string[] { "200", "default" }, operation.Responses.Select(e => e.Key)); + + if (enableOperationId) + { + Assert.Equal("Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Items.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-013a", operation.OperationId); + } + else + { + Assert.Null(operation.OperationId); + } + Assert.True(operation.Responses["200"].Content["application/json"].Schema.Properties.ContainsKey("value")); + } + [Theory] + [InlineData(true, true)] + [InlineData(true, false)] + [InlineData(false, true)] + [InlineData(false, false)] + public void CreateODataTypeCastGetOperationReturnsCorrectOperationForEntitySetId(bool enableOperationId, bool enablePagination) + {// .../People/{id}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + // Arrange + IEdmModel model = EdmModelHelper.TripServiceModel; + OpenApiConvertSettings settings = new() + { + EnableOperationId = enableOperationId, + EnablePagination = enablePagination, + }; + ODataContext context = new(model, settings); + IEdmEntitySet people = model.EntityContainer.FindEntitySet("People"); + Assert.NotNull(people); + + IEdmEntityType person = model.SchemaElements.OfType().First(c => c.Name == "Person"); + IEdmEntityType employee = model.SchemaElements.OfType().First(c => c.Name == "Employee"); + ODataPath path = new(new ODataNavigationSourceSegment(people), + new ODataKeySegment(people.EntityType()), + new ODataTypeCastSegment(employee)); + + // Act + var operation = _operationHandler.CreateOperation(context, path); + + // Assert + Assert.NotNull(operation); + Assert.Equal("Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", operation.Summary); + Assert.NotNull(operation.Tags); + var tag = Assert.Single(operation.Tags); + Assert.Equal("Person.Employee", tag.Name); + Assert.Empty(tag.Extensions); + + Assert.NotNull(operation.Parameters); + Assert.Equal(3, operation.Parameters.Count); //select, expand, id + + Assert.Null(operation.RequestBody); + if(enablePagination) + Assert.Empty(operation.Extensions); + + Assert.Equal(2, operation.Responses.Count); + Assert.Equal(new string[] { "200", "default" }, operation.Responses.Select(e => e.Key)); + + if (enableOperationId) + { + Assert.Equal("Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-317b", operation.OperationId); + } + else + { + Assert.Null(operation.OperationId); + } + Assert.False(operation.Responses["200"].Content["application/json"].Schema.Properties.ContainsKey("value")); + } + [Theory] + [InlineData(true, true)] + [InlineData(true, false)] + [InlineData(false, true)] + [InlineData(false, false)] + public void CreateODataTypeCastGetOperationReturnsCorrectOperationForSingleNavigationproperty(bool enableOperationId, bool enablePagination) + {// .../People/{id}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + // Arrange + IEdmModel model = EdmModelHelper.TripServiceModel; + OpenApiConvertSettings settings = new() + { + EnableOperationId = enableOperationId, + EnablePagination = enablePagination, + }; + ODataContext context = new(model, settings); + IEdmEntitySet people = model.EntityContainer.FindEntitySet("People"); + Assert.NotNull(people); + + IEdmEntityType person = model.SchemaElements.OfType().First(c => c.Name == "Person"); + IEdmEntityType employee = model.SchemaElements.OfType().First(c => c.Name == "Employee"); + IEdmNavigationProperty navProperty = person.DeclaredNavigationProperties().First(c => c.Name == "BestFriend"); + ODataPath path = new(new ODataNavigationSourceSegment(people), + new ODataKeySegment(people.EntityType()), + new ODataNavigationPropertySegment(navProperty), + new ODataTypeCastSegment(employee)); + + // Act + var operation = _operationHandler.CreateOperation(context, path); + + // Assert + Assert.NotNull(operation); + Assert.Equal("Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", operation.Summary); + Assert.NotNull(operation.Tags); + var tag = Assert.Single(operation.Tags); + Assert.Equal("Person.Employee", tag.Name); + Assert.Empty(tag.Extensions); + + Assert.NotNull(operation.Parameters); + Assert.Equal(3, operation.Parameters.Count); //select, expand, id + + Assert.Null(operation.RequestBody); + if(enablePagination) + Assert.Empty(operation.Extensions); + + Assert.Equal(2, operation.Responses.Count); + Assert.Equal(new string[] { "200", "default" }, operation.Responses.Select(e => e.Key)); + + if (enableOperationId) + { + Assert.Equal("Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7188", operation.OperationId); + } + else + { + Assert.Null(operation.OperationId); + } + Assert.False(operation.Responses["200"].Content["application/json"].Schema.Properties.ContainsKey("value")); + } + [Theory] + [InlineData(true, true)] + [InlineData(true, false)] + [InlineData(false, true)] + [InlineData(false, false)] + public void CreateODataTypeCastGetOperationReturnsCorrectOperationForSingleton(bool enableOperationId, bool enablePagination) + {// .../Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + // Arrange + IEdmModel model = EdmModelHelper.TripServiceModel; + OpenApiConvertSettings settings = new() + { + EnableOperationId = enableOperationId, + EnablePagination = enablePagination, + }; + ODataContext context = new(model, settings); + IEdmSingleton me = model.EntityContainer.FindSingleton("Me"); + Assert.NotNull(me); + + IEdmEntityType employee = model.SchemaElements.OfType().First(c => c.Name == "Employee"); + ODataPath path = new(new ODataNavigationSourceSegment(me), + new ODataTypeCastSegment(employee)); + + // Act + var operation = _operationHandler.CreateOperation(context, path); + + // Assert + Assert.NotNull(operation); + Assert.Equal("Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", operation.Summary); + Assert.NotNull(operation.Tags); + var tag = Assert.Single(operation.Tags); + Assert.Equal("Person.Employee", tag.Name); + Assert.Empty(tag.Extensions); + + Assert.NotNull(operation.Parameters); + Assert.Equal(2, operation.Parameters.Count); //select, expand + + Assert.Null(operation.RequestBody); + if(enablePagination) + Assert.Empty(operation.Extensions); + + Assert.Equal(2, operation.Responses.Count); + Assert.Equal(new string[] { "200", "default" }, operation.Responses.Select(e => e.Key)); + + if (enableOperationId) + { + Assert.Equal("Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-bd18", operation.OperationId); + } + else + { + Assert.Null(operation.OperationId); + } + Assert.False(operation.Responses["200"].Content["application/json"].Schema.Properties.ContainsKey("value")); + } +} diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/PathItemHandlerProviderTests.cs b/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/PathItemHandlerProviderTests.cs index 0bd42bba..b5218abb 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/PathItemHandlerProviderTests.cs +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/PathItem/PathItemHandlerProviderTests.cs @@ -22,6 +22,7 @@ public class PathItemHandlerProviderTests [InlineData(ODataPathKind.MediaEntity, typeof(MediaEntityPathItemHandler))] [InlineData(ODataPathKind.Metadata, typeof(MetadataPathItemHandler))] [InlineData(ODataPathKind.DollarCount, typeof(DollarCountPathItemHandler))] + [InlineData(ODataPathKind.TypeCast, typeof(ODataTypeCastPathItemHandler))] public void GetHandlerReturnsCorrectHandlerType(ODataPathKind pathKind, Type handlerType) { // Arrange 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 46db39d1..1cd5221b 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 @@ -1,4 +1,4 @@ -{ +{ "swagger": "2.0", "info": { "title": "OData Service for namespace DefaultNs", @@ -263,7 +263,7 @@ "/City/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.City", + "operationId": "Get.Count.City-8728", "produces": [ "text/plain" ], @@ -533,7 +533,7 @@ "/CountryOrRegion/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.CountryOrRegion", + "operationId": "Get.Count.CountryOrRegion-daf5", "produces": [ "text/plain" ], @@ -900,7 +900,7 @@ "/People/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.People", + "operationId": "Get.Count.People-dd8d", "produces": [ "text/plain" ], 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 ca55821c..d8114016 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 @@ -1,4 +1,4 @@ -swagger: '2.0' +swagger: '2.0' info: title: OData Service for namespace DefaultNs description: This OData service is located at http://localhost @@ -173,7 +173,7 @@ paths: /City/$count: get: summary: Get the number of the resource - operationId: Get.Count.City + operationId: Get.Count.City-8728 produces: - text/plain responses: @@ -349,7 +349,7 @@ paths: /CountryOrRegion/$count: get: summary: Get the number of the resource - operationId: Get.Count.CountryOrRegion + operationId: Get.Count.CountryOrRegion-daf5 produces: - text/plain responses: @@ -595,7 +595,7 @@ paths: /People/$count: get: summary: Get the number of the resource - operationId: Get.Count.People + operationId: Get.Count.People-dd8d produces: - text/plain responses: 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 7c35933e..28ce42e3 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.json +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/Basic.OpenApi.json @@ -1,4 +1,4 @@ -{ +{ "openapi": "3.0.1", "info": { "title": "OData Service for namespace DefaultNs", @@ -296,7 +296,7 @@ "/City/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.City", + "operationId": "Get.Count.City-8728", "responses": { "200": { "description": "The count of the resource", @@ -599,7 +599,7 @@ "/CountryOrRegion/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.CountryOrRegion", + "operationId": "Get.Count.CountryOrRegion-daf5", "responses": { "200": { "description": "The count of the resource", @@ -1007,7 +1007,7 @@ "/People/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.People", + "operationId": "Get.Count.People-dd8d", "responses": { "200": { "description": "The count of the resource", 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 905302eb..84084c91 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.1 info: title: OData Service for namespace DefaultNs description: This OData service is located at http://localhost @@ -193,7 +193,7 @@ paths: /City/$count: get: summary: Get the number of the resource - operationId: Get.Count.City + operationId: Get.Count.City-8728 responses: '200': description: The count of the resource @@ -390,7 +390,7 @@ paths: /CountryOrRegion/$count: get: summary: Get the number of the resource - operationId: Get.Count.CountryOrRegion + operationId: Get.Count.CountryOrRegion-daf5 responses: '200': description: The count of the resource @@ -663,7 +663,7 @@ paths: /People/$count: get: summary: Get the number of the resource - operationId: Get.Count.People + operationId: Get.Count.People-dd8d responses: '200': description: The count of the resource 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 2c013424..9acb768a 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 @@ -292,7 +292,7 @@ "/Categories/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Categories", + "operationId": "Get.Count.Categories-2f72", "produces": [ "text/plain" ], @@ -850,7 +850,7 @@ "/Documents({Id})/Revisions/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Revisions", + "operationId": "Get.Count.Revisions-f834", "produces": [ "text/plain" ], @@ -1039,7 +1039,7 @@ "/Documents/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Documents", + "operationId": "Get.Count.Documents-f555", "produces": [ "text/plain" ], @@ -1559,7 +1559,7 @@ "/Libraries({Id})/Documents/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Documents", + "operationId": "Get.Count.Documents-34c7", "produces": [ "text/plain" ], @@ -1734,7 +1734,7 @@ "/Libraries/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Libraries", + "operationId": "Get.Count.Libraries-e13e", "produces": [ "text/plain" ], @@ -2313,7 +2313,7 @@ "/Revisions/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Revisions", + "operationId": "Get.Count.Revisions-c6a5", "produces": [ "text/plain" ], @@ -2871,7 +2871,7 @@ "/Tasks({Id})/Revisions/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Revisions", + "operationId": "Get.Count.Revisions-9297", "produces": [ "text/plain" ], @@ -3060,7 +3060,7 @@ "/Tasks/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Tasks", + "operationId": "Get.Count.Tasks-2961", "produces": [ "text/plain" ], 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 2eaef7d7..67077426 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 @@ -202,7 +202,7 @@ paths: /Categories/$count: get: summary: Get the number of the resource - operationId: Get.Count.Categories + operationId: Get.Count.Categories-2f72 produces: - text/plain responses: @@ -604,7 +604,7 @@ paths: '/Documents({Id})/Revisions/$count': get: summary: Get the number of the resource - operationId: Get.Count.Revisions + operationId: Get.Count.Revisions-f834 produces: - text/plain parameters: @@ -740,7 +740,7 @@ paths: /Documents/$count: get: summary: Get the number of the resource - operationId: Get.Count.Documents + operationId: Get.Count.Documents-f555 produces: - text/plain responses: @@ -1115,7 +1115,7 @@ paths: '/Libraries({Id})/Documents/$count': get: summary: Get the number of the resource - operationId: Get.Count.Documents + operationId: Get.Count.Documents-34c7 produces: - text/plain parameters: @@ -1237,7 +1237,7 @@ paths: /Libraries/$count: get: summary: Get the number of the resource - operationId: Get.Count.Libraries + operationId: Get.Count.Libraries-e13e produces: - text/plain responses: @@ -1669,7 +1669,7 @@ paths: /Revisions/$count: get: summary: Get the number of the resource - operationId: Get.Count.Revisions + operationId: Get.Count.Revisions-c6a5 produces: - text/plain responses: @@ -2071,7 +2071,7 @@ paths: '/Tasks({Id})/Revisions/$count': get: summary: Get the number of the resource - operationId: Get.Count.Revisions + operationId: Get.Count.Revisions-9297 produces: - text/plain parameters: @@ -2207,7 +2207,7 @@ paths: /Tasks/$count: get: summary: Get the number of the resource - operationId: Get.Count.Tasks + operationId: Get.Count.Tasks-2961 produces: - text/plain responses: 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 6d77ca67..78e74f51 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 @@ -325,7 +325,7 @@ "/Categories/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Categories", + "operationId": "Get.Count.Categories-2f72", "responses": { "200": { "description": "The count of the resource", @@ -953,7 +953,7 @@ "/Documents({Id})/Revisions/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Revisions", + "operationId": "Get.Count.Revisions-f834", "parameters": [ { "name": "Id", @@ -1155,7 +1155,7 @@ "/Documents/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Documents", + "operationId": "Get.Count.Documents-f555", "responses": { "200": { "description": "The count of the resource", @@ -1742,7 +1742,7 @@ "/Libraries({Id})/Documents/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Documents", + "operationId": "Get.Count.Documents-34c7", "parameters": [ { "name": "Id", @@ -1930,7 +1930,7 @@ "/Libraries/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Libraries", + "operationId": "Get.Count.Libraries-e13e", "responses": { "200": { "description": "The count of the resource", @@ -2635,7 +2635,7 @@ "/Revisions/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Revisions", + "operationId": "Get.Count.Revisions-c6a5", "responses": { "200": { "description": "The count of the resource", @@ -3263,7 +3263,7 @@ "/Tasks({Id})/Revisions/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Revisions", + "operationId": "Get.Count.Revisions-9297", "parameters": [ { "name": "Id", @@ -3465,7 +3465,7 @@ "/Tasks/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Tasks", + "operationId": "Get.Count.Tasks-2961", "responses": { "200": { "description": "The count of the resource", 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 6e4807a2..af77765e 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 @@ -222,7 +222,7 @@ paths: /Categories/$count: get: summary: Get the number of the resource - operationId: Get.Count.Categories + operationId: Get.Count.Categories-2f72 responses: '200': description: The count of the resource @@ -668,7 +668,7 @@ paths: '/Documents({Id})/Revisions/$count': get: summary: Get the number of the resource - operationId: Get.Count.Revisions + operationId: Get.Count.Revisions-f834 parameters: - name: Id in: path @@ -810,7 +810,7 @@ paths: /Documents/$count: get: summary: Get the number of the resource - operationId: Get.Count.Documents + operationId: Get.Count.Documents-f555 responses: '200': description: The count of the resource @@ -1228,7 +1228,7 @@ paths: '/Libraries({Id})/Documents/$count': get: summary: Get the number of the resource - operationId: Get.Count.Documents + operationId: Get.Count.Documents-34c7 parameters: - name: Id in: path @@ -1356,7 +1356,7 @@ paths: /Libraries/$count: get: summary: Get the number of the resource - operationId: Get.Count.Libraries + operationId: Get.Count.Libraries-e13e responses: '200': description: The count of the resource @@ -1868,7 +1868,7 @@ paths: /Revisions/$count: get: summary: Get the number of the resource - operationId: Get.Count.Revisions + operationId: Get.Count.Revisions-c6a5 responses: '200': description: The count of the resource @@ -2314,7 +2314,7 @@ paths: '/Tasks({Id})/Revisions/$count': get: summary: Get the number of the resource - operationId: Get.Count.Revisions + operationId: Get.Count.Revisions-9297 parameters: - name: Id in: path @@ -2456,7 +2456,7 @@ paths: /Tasks/$count: get: summary: Get the number of the resource - operationId: Get.Count.Tasks + operationId: Get.Count.Tasks-2961 responses: '200': description: The count of the resource diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OData.xml b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OData.xml index 12d32255..b86d332c 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OData.xml +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OData.xml @@ -17,9 +17,22 @@ - + + + + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + + + + + + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + + @@ -140,6 +153,11 @@ + + + + + @@ -158,6 +176,12 @@ + + + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + + @@ -168,7 +192,14 @@ - + + + + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + + + 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 9e91ea9e..94d68464 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 @@ -268,7 +268,7 @@ "/Airlines/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Airlines", + "operationId": "Get.Count.Airlines-27a7", "produces": [ "text/plain" ], @@ -550,7 +550,7 @@ "/Airports/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Airports", + "operationId": "Get.Count.Airports-60cc", "produces": [ "text/plain" ], @@ -877,13 +877,78 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Friends": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { "get": { "tags": [ - "Me.Person" + "Person.Employee" ], - "summary": "Get Friends from Me", - "operationId": "Me.ListFriends", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-dcf6", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "Me.BestFriend.Person" + ], + "summary": "Get Peers from Me", + "operationId": "Me.BestFriend.ListPeers", "produces": [ "application/json" ], @@ -998,15 +1063,19 @@ } }, "x-ms-docs-operation-type": "operation" - } + }, + "x-ms-docs-grouped-path": [ + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] }, - "/Me/Friends/{UserName}/$ref": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref": { "delete": { "tags": [ - "Me.Person" + "Me.BestFriend.Person" ], - "summary": "Delete ref of navigation property Friends for Me", - "operationId": "Me.DeleteRefFriends", + "summary": "Delete ref of navigation property Peers for Me", + "operationId": "Me.BestFriend.DeleteRefPeers", "parameters": [ { "in": "path", @@ -1040,10 +1109,10 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Friends/$count": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Friends", + "operationId": "Get.Count.Peers-e850", "produces": [ "text/plain" ], @@ -1060,13 +1129,13 @@ } } }, - "/Me/Friends/$ref": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { "get": { "tags": [ - "Me.Person" + "Me.BestFriend.Person" ], - "summary": "Get ref of Friends from Me", - "operationId": "Me.ListRefFriends", + "summary": "Get ref of Peers from Me", + "operationId": "Me.BestFriend.ListRefPeers", "produces": [ "application/json" ], @@ -1144,10 +1213,10 @@ }, "post": { "tags": [ - "Me.Person" + "Me.BestFriend.Person" ], - "summary": "Create new navigation property ref to Friends for Me", - "operationId": "Me.CreateRefFriends", + "summary": "Create new navigation property ref to Peers for Me", + "operationId": "Me.BestFriend.CreateRefPeers", "consumes": [ "application/json" ], @@ -1182,52 +1251,174 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "Me.Functions" + "Person.Manager" ], - "summary": "Invoke function GetFavoriteAirline", - "operationId": "Me.GetFavoriteAirline", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-09a9", "produces": [ "application/json" ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], "responses": { "200": { - "description": "Success", + "description": "Result entities", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { "get": { "tags": [ - "Me.Functions" + "Me.BestFriend.Person" ], - "summary": "Invoke function GetFriendsTrips", - "operationId": "Me.GetFriendsTrips", + "summary": "Get DirectReports from Me", + "operationId": "Me.BestFriend.ListDirectReports", "produces": [ "application/json" ], "parameters": [ { - "in": "path", - "name": "userName", - "description": "Usage: userName='{userName}'", - "required": true, - "type": "string" + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } ], "responses": { "200": { - "description": "Success", + "description": "Retrieved navigation property", "schema": { "title": "Collection of Person", "type": "object", @@ -1235,7 +1426,7 @@ "value": { "type": "array", "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -1245,98 +1436,40 @@ "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "function" - } + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { - "post": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref": { + "delete": { "tags": [ - "Me.Actions" - ], - "summary": "Invoke action GetPeersForTrip", - "operationId": "Me.GetPeersForTrip", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "Me.BestFriend.Person" ], + "summary": "Delete ref of navigation property DirectReports for Me", + "operationId": "Me.BestFriend.DeleteRefDirectReports", "parameters": [ { - "in": "body", - "name": "body", - "description": "Action parameters", + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "schema": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer" - } - } - } - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - } - } - } + "type": "string", + "x-ms-docs-key-type": "Person" }, - "default": { - "$ref": "#/responses/error" - } - }, - "x-ms-docs-operation-type": "action" - } - }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { - "post": { - "tags": [ - "Me.Actions" - ], - "summary": "Invoke action ShareTrip", - "description": "Details of the shared trip.", - "operationId": "Me.ShareTrip", - "consumes": [ - "application/json" - ], - "parameters": [ { - "in": "body", - "name": "body", - "description": "Action parameters", - "required": true, - "schema": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer" - } - } - } + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" } ], "responses": { @@ -1347,56 +1480,36 @@ "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "action" + "x-ms-docs-operation-type": "operation" } }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { "get": { - "tags": [ - "Me.Functions" - ], - "summary": "Invoke function UpdatePersonLastName", - "operationId": "Me.UpdatePersonLastName", + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-f41f", "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "path", - "name": "lastName", - "description": "Usage: lastName='{lastName}'", - "required": true, - "type": "string" - } + "text/plain" ], "responses": { "200": { - "description": "Success", + "description": "The count of the resource", "schema": { - "type": "object", - "properties": { - "value": { - "default": false, - "type": "boolean" - } - } + "$ref": "#/definitions/ODataCountResponse" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/Me/Trips": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { "get": { "tags": [ - "Me.Trip" + "Me.BestFriend.Person" ], - "summary": "Get Trips from Me", - "description": "Collection of trips.", - "operationId": "Me.ListTrips", + "summary": "Get ref of DirectReports from Me", + "operationId": "Me.BestFriend.ListRefDirectReports", "produces": [ "application/json" ], @@ -1423,55 +1536,28 @@ "type": "array", "items": { "enum": [ - "TripId", - "TripId desc", - "ShareId", - "ShareId desc", - "Name", - "Name desc", - "Budget", - "Budget desc", - "Description", - "Description desc", - "Tags", - "Tags desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$select", - "description": "Select properties to be returned", - "type": "array", - "items": { - "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$expand", - "description": "Expand related entities", - "type": "array", - "items": { - "enum": [ - "*", - "PlanItems" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -1479,15 +1565,15 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "Retrieved navigation property links", "schema": { - "title": "Collection of Trip", + "title": "Collection of links of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "string" } } } @@ -1501,11 +1587,10 @@ }, "post": { "tags": [ - "Me.Trip" + "Me.BestFriend.Person" ], - "summary": "Create new navigation property to Trips for Me", - "description": "Collection of trips.", - "operationId": "Me.CreateTrips", + "summary": "Create new navigation property ref to DirectReports for Me", + "operationId": "Me.BestFriend.CreateRefDirectReports", "consumes": [ "application/json" ], @@ -1516,18 +1601,21 @@ { "in": "body", "name": "body", - "description": "New navigation property", + "description": "New navigation property ref value", "required": true, "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "object", + "additionalProperties": { + "type": "object" + } } } ], "responses": { "201": { - "description": "Created navigation property.", + "description": "Created navigation property link.", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "object" } }, "default": { @@ -1537,58 +1625,7305 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/{TripId}": { + "/Me/Friends": { "get": { "tags": [ - "Me.Trip" + "Me.Person" ], - "summary": "Get Trips from Me", - "description": "Collection of trips.", - "operationId": "Me.GetTrips", + "summary": "Get Friends from Me", + "operationId": "Me.ListFriends", "produces": [ "application/json" ], "parameters": [ { - "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", - "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "$ref": "#/parameters/top" }, { - "in": "query", - "name": "$select", - "description": "Select properties to be returned", - "type": "array", - "items": { - "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" - ], - "type": "string" - } + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" }, { "in": "query", - "name": "$expand", - "description": "Expand related entities", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/$ref": { + "delete": { + "tags": [ + "Me.Person" + ], + "summary": "Delete ref of navigation property Friends for Me", + "operationId": "Me.DeleteRefFriends", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-3dc7", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get Peers from Me", + "operationId": "Me.Friends.ListPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { + "delete": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Delete ref of navigation property Peers for Me", + "operationId": "Me.Friends.DeleteRefPeers", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-e3cf", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get ref of Peers from Me", + "operationId": "Me.Friends.ListRefPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Create new navigation property ref to Peers for Me", + "operationId": "Me.Friends.CreateRefPeers", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-ddec", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get DirectReports from Me", + "operationId": "Me.Friends.ListDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { + "delete": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Delete ref of navigation property DirectReports for Me", + "operationId": "Me.Friends.DeleteRefDirectReports", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-c1d4", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get ref of DirectReports from Me", + "operationId": "Me.Friends.ListRefDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Create new navigation property ref to DirectReports for Me", + "operationId": "Me.Friends.CreateRefDirectReports", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Friends-182b", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/$ref": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get ref of Friends from Me", + "operationId": "Me.ListRefFriends", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Person" + ], + "summary": "Create new navigation property ref to Friends for Me", + "operationId": "Me.CreateRefFriends", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-f4a5", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-884b", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-98ae", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-9376", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-bd18", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get Peers from Me", + "operationId": "Me.ListPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref": { + "delete": { + "tags": [ + "Me.Person" + ], + "summary": "Delete ref of navigation property Peers for Me", + "operationId": "Me.DeleteRefPeers", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-9fc2", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get ref of Peers from Me", + "operationId": "Me.ListRefPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Person" + ], + "summary": "Create new navigation property ref to Peers for Me", + "operationId": "Me.CreateRefPeers", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function GetFavoriteAirline", + "operationId": "Me.GetFavoriteAirline", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function GetFriendsTrips", + "operationId": "Me.GetFriendsTrips", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "userName", + "description": "Usage: userName='{userName}'", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "post": { + "tags": [ + "Me.Actions" + ], + "summary": "Invoke action GetPeersForTrip", + "operationId": "Me.GetPeersForTrip", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Action parameters", + "required": true, + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer" + } + } + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-16dc", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get DirectReports from Me", + "operationId": "Me.ListDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref": { + "delete": { + "tags": [ + "Me.Person" + ], + "summary": "Delete ref of navigation property DirectReports for Me", + "operationId": "Me.DeleteRefDirectReports", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-8b92", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get ref of DirectReports from Me", + "operationId": "Me.ListRefDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Person" + ], + "summary": "Create new navigation property ref to DirectReports for Me", + "operationId": "Me.CreateRefDirectReports", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": { + "post": { + "tags": [ + "Me.Actions" + ], + "summary": "Invoke action Hire", + "description": "Hires someone for the company.", + "operationId": "Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Action parameters", + "required": true, + "schema": { + "type": "object", + "properties": { + "hire": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { + "post": { + "tags": [ + "Me.Actions" + ], + "summary": "Invoke action ShareTrip", + "description": "Details of the shared trip.", + "operationId": "Me.ShareTrip", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Action parameters", + "required": true, + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer" + } + } + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function UpdatePersonLastName", + "operationId": "Me.UpdatePersonLastName", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "lastName", + "description": "Usage: lastName='{lastName}'", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object", + "properties": { + "value": { + "default": false, + "type": "boolean" + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Trips": { + "get": { + "tags": [ + "Me.Trip" + ], + "summary": "Get Trips from Me", + "description": "Collection of trips.", + "operationId": "Me.ListTrips", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "TripId", + "TripId desc", + "ShareId", + "ShareId desc", + "Name", + "Name desc", + "Budget", + "Budget desc", + "Description", + "Description desc", + "Tags", + "Tags desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Trip" + ], + "summary": "Create new navigation property to Trips for Me", + "description": "Collection of trips.", + "operationId": "Me.CreateTrips", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "New navigation property", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + ], + "responses": { + "201": { + "description": "Created navigation property.", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}": { + "get": { + "tags": [ + "Me.Trip" + ], + "summary": "Get Trips from Me", + "description": "Collection of trips.", + "operationId": "Me.GetTrips", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "patch": { + "tags": [ + "Me.Trip" + ], + "summary": "Update the navigation property Trips in Me", + "description": "Collection of trips.", + "operationId": "Me.UpdateTrips", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property values", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "Me.Trip" + ], + "summary": "Delete navigation property Trips for Me", + "description": "Collection of trips.", + "operationId": "Me.DeleteTrips", + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function GetInvolvedPeople", + "operationId": "Me.Trips.Trip.GetInvolvedPeople", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Trips/{TripId}/PlanItems": { + "get": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Get PlanItems from Me", + "operationId": "Me.Trips.ListPlanItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "ConfirmationCode", + "StartsAt", + "EndsAt", + "Duration" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { + "delete": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Delete ref of navigation property PlanItems for Me", + "operationId": "Me.Trips.DeleteRefPlanItems", + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "path", + "name": "PlanItemId", + "description": "key: PlanItemId of PlanItem", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "PlanItem" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}/PlanItems/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.PlanItems-c250", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/Me/Trips/{TripId}/PlanItems/$ref": { + "get": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Get ref of PlanItems from Me", + "operationId": "Me.Trips.ListRefPlanItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Create new navigation property ref to PlanItems for Me", + "operationId": "Me.Trips.CreateRefPlanItems", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Trips-7b69", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get entities from NewComePeople", + "operationId": "NewComePeople.Person.ListPerson", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved entities", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + } + }, + "post": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Add new entity to NewComePeople", + "operationId": "NewComePeople.Person.CreatePerson", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "New entity", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + ], + "responses": { + "201": { + "description": "Created entity", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get entity from NewComePeople by key", + "operationId": "NewComePeople.Person.GetPerson", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved entity", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "patch": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Update entity in NewComePeople", + "operationId": "NewComePeople.Person.UpdatePerson", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New property values", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Delete entity from NewComePeople", + "operationId": "NewComePeople.Person.DeletePerson", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get BestFriend from NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.GetBestFriend", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/$ref": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get ref of BestFriend from NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.GetRefBestFriend", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property link", + "schema": { + "type": "string" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "put": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Update the ref of navigation property BestFriend in NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.UpdateRefBestFriend", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref values", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Delete ref of navigation property BestFriend for NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.DeleteRefBestFriend", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7b75", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get Peers from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { + "delete": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Delete ref of navigation property Peers for NewComePeople", + "operationId": "NewComePeople.BestFriend.DeleteRefPeers", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-1269", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get ref of Peers from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListRefPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Create new navigation property ref to Peers for NewComePeople", + "operationId": "NewComePeople.BestFriend.CreateRefPeers", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-61ce", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get DirectReports from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { + "delete": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Delete ref of navigation property DirectReports for NewComePeople", + "operationId": "NewComePeople.BestFriend.DeleteRefDirectReports", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-c923", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get ref of DirectReports from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListRefDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Create new navigation property ref to DirectReports for NewComePeople", + "operationId": "NewComePeople.BestFriend.CreateRefDirectReports", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get Friends from NewComePeople", + "operationId": "NewComePeople.ListFriends", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Delete ref of navigation property Friends for NewComePeople", + "operationId": "NewComePeople.DeleteRefFriends", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get Peers from NewComePeople", + "operationId": "NewComePeople.Friends.ListPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Delete ref of navigation property Peers for NewComePeople", + "operationId": "NewComePeople.Friends.DeleteRefPeers", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName2", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-128d", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get ref of Peers from NewComePeople", + "operationId": "NewComePeople.Friends.ListRefPeers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Create new navigation property ref to Peers for NewComePeople", + "operationId": "NewComePeople.Friends.CreateRefPeers", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get DirectReports from NewComePeople", + "operationId": "NewComePeople.Friends.ListDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Delete ref of navigation property DirectReports for NewComePeople", + "operationId": "NewComePeople.Friends.DeleteRefDirectReports", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName2", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-08c7", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get ref of DirectReports from NewComePeople", + "operationId": "NewComePeople.Friends.ListRefDirectReports", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Create new navigation property ref to DirectReports for NewComePeople", + "operationId": "NewComePeople.Friends.CreateRefDirectReports", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Friends-2ec1", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/$ref": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get ref of Friends from NewComePeople", + "operationId": "NewComePeople.ListRefFriends", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Create new navigation property ref to Friends for NewComePeople", + "operationId": "NewComePeople.CreateRefFriends", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-4069", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d1d3", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function GetFavoriteAirline", + "operationId": "NewComePeople.Person.GetFavoriteAirline", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function GetFriendsTrips", + "operationId": "NewComePeople.Person.GetFriendsTrips", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "userName", + "description": "Usage: userName='{userName}'", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "post": { + "tags": [ + "NewComePeople.Actions" + ], + "summary": "Invoke action GetPeersForTrip", + "operationId": "NewComePeople.Person.GetPeersForTrip", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "Action parameters", + "required": true, + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer" + } + } + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": { + "post": { + "tags": [ + "NewComePeople.Actions" + ], + "summary": "Invoke action Hire", + "description": "Hires someone for the company.", + "operationId": "NewComePeople.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "Action parameters", + "required": true, + "schema": { + "type": "object", + "properties": { + "hire": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { + "post": { + "tags": [ + "NewComePeople.Actions" + ], + "summary": "Invoke action ShareTrip", + "description": "Details of the shared trip.", + "operationId": "NewComePeople.Person.ShareTrip", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "Action parameters", + "required": true, + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer" + } + } + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function UpdatePersonLastName", + "operationId": "NewComePeople.Person.UpdatePersonLastName", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "lastName", + "description": "Usage: lastName='{lastName}'", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object", + "properties": { + "value": { + "default": false, + "type": "boolean" + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Trips": { + "get": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Get Trips from NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.ListTrips", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "TripId", + "TripId desc", + "ShareId", + "ShareId desc", + "Name", + "Name desc", + "Budget", + "Budget desc", + "Description", + "Description desc", + "Tags", + "Tags desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Create new navigation property to Trips for NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.CreateTrips", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + ], + "responses": { + "201": { + "description": "Created navigation property.", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}": { + "get": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Get Trips from NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.GetTrips", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "patch": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Update the navigation property Trips in NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.UpdateTrips", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property values", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Delete navigation property Trips for NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.DeleteTrips", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function GetInvolvedPeople", + "operationId": "NewComePeople.Person.Trips.Trip.GetInvolvedPeople", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems": { + "get": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Get PlanItems from NewComePeople", + "operationId": "NewComePeople.Trips.ListPlanItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "ConfirmationCode", + "StartsAt", + "EndsAt", + "Duration" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "schema": { + "title": "Collection of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Delete ref of navigation property PlanItems for NewComePeople", + "operationId": "NewComePeople.Trips.DeleteRefPlanItems", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "path", + "name": "PlanItemId", + "description": "key: PlanItemId of PlanItem", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "PlanItem" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.PlanItems-841f", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref": { + "get": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Get ref of PlanItems from NewComePeople", + "operationId": "NewComePeople.Trips.ListRefPlanItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "schema": { + "title": "Collection of links of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Create new navigation property ref to PlanItems for NewComePeople", + "operationId": "NewComePeople.Trips.CreateRefPlanItems", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "TripId", + "description": "key: TripId of Trip", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "x-ms-docs-key-type": "Trip" + }, + { + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Trips-d155", + "produces": [ + "text/plain" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/NewComePeople/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.NewComePeople-55d5", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/People": { + "get": { + "tags": [ + "People.Person" + ], + "summary": "Get entities from People", + "operationId": "People.Person.ListPerson", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved entities", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + }, + "default": { + "$ref": "#/responses/error" + } + } + }, + "post": { + "tags": [ + "People.Person" + ], + "summary": "Add new entity to People", + "operationId": "People.Person.CreatePerson", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "New entity", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + ], + "responses": { + "201": { + "description": "Created entity", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}": { + "get": { + "tags": [ + "People.Person" + ], + "summary": "Get entity from People by key", + "operationId": "People.Person.GetPerson", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved entity", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "patch": { + "tags": [ + "People.Person" + ], + "summary": "Update entity in People", + "operationId": "People.Person.UpdatePerson", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "body", + "name": "body", + "description": "New property values", + "required": true, + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "People.Person" + ], + "summary": "Delete entity from People", + "operationId": "People.Person.DeletePerson", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}/BestFriend": { + "get": { + "tags": [ + "People.Person" + ], + "summary": "Get BestFriend from People", + "description": "The best friend.", + "operationId": "People.GetBestFriend", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", "type": "array", "items": { "enum": [ "*", - "PlanItems" + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -1598,7 +8933,42 @@ "200": { "description": "Retrieved navigation property", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}/BestFriend/$ref": { + "get": { + "tags": [ + "People.Person" + ], + "summary": "Get ref of BestFriend from People", + "description": "The best friend.", + "operationId": "People.GetRefBestFriend", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property link", + "schema": { + "type": "string" } }, "default": { @@ -1607,35 +8977,35 @@ }, "x-ms-docs-operation-type": "operation" }, - "patch": { + "put": { "tags": [ - "Me.Trip" + "People.Person" ], - "summary": "Update the navigation property Trips in Me", - "description": "Collection of trips.", - "operationId": "Me.UpdateTrips", + "summary": "Update the ref of navigation property BestFriend in People", + "description": "The best friend.", + "operationId": "People.UpdateRefBestFriend", "consumes": [ "application/json" ], "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { "in": "body", "name": "body", - "description": "New navigation property values", + "description": "New navigation property ref values", "required": true, "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "object", + "additionalProperties": { + "type": "object" + } } } ], @@ -1651,22 +9021,19 @@ }, "delete": { "tags": [ - "Me.Trip" + "People.Person" ], - "summary": "Delete navigation property Trips for Me", - "description": "Collection of trips.", - "operationId": "Me.DeleteTrips", + "summary": "Delete ref of navigation property BestFriend for People", + "description": "The best friend.", + "operationId": "People.DeleteRefBestFriend", "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { "in": "header", @@ -1686,73 +9053,97 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { "get": { "tags": [ - "Me.Functions" + "Person.Employee" ], - "summary": "Invoke function GetInvolvedPeople", - "operationId": "Me.Trips.Trip.GetInvolvedPeople", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7188", "produces": [ "application/json" ], "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } ], "responses": { "200": { - "description": "Success", + "description": "Result entities", "schema": { - "title": "Collection of Trip", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - } - } + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/Me/Trips/{TripId}/PlanItems": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { "get": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Get PlanItems from Me", - "operationId": "Me.Trips.ListPlanItems", + "summary": "Get Peers from People", + "operationId": "People.BestFriend.ListPeers", "produces": [ "application/json" ], "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { "$ref": "#/parameters/top" @@ -1776,16 +9167,28 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -1797,11 +9200,20 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "ConfirmationCode", - "StartsAt", - "EndsAt", - "Duration" + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -1813,7 +9225,10 @@ "type": "array", "items": { "enum": [ - "*" + "*", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -1823,13 +9238,13 @@ "200": { "description": "Retrieved navigation property", "schema": { - "title": "Collection of PlanItem", + "title": "Collection of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -1840,37 +9255,35 @@ } }, "x-ms-docs-operation-type": "operation" - } + }, + "x-ms-docs-grouped-path": [ + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] }, - "/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { "delete": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Delete ref of navigation property PlanItems for Me", - "operationId": "Me.Trips.DeleteRefPlanItems", + "summary": "Delete ref of navigation property Peers for People", + "operationId": "People.BestFriend.DeleteRefPeers", "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { "in": "path", - "name": "PlanItemId", - "description": "key: PlanItemId of PlanItem", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "PlanItem" + "type": "string", + "x-ms-docs-key-type": "Person" }, { "in": "header", @@ -1896,24 +9309,21 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/{TripId}/PlanItems/$count": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.PlanItems", + "operationId": "Get.Count.Peers-5860", "produces": [ "text/plain" ], "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" } ], "responses": { @@ -1929,27 +9339,24 @@ } } }, - "/Me/Trips/{TripId}/PlanItems/$ref": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { "get": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Get ref of PlanItems from Me", - "operationId": "Me.Trips.ListRefPlanItems", + "summary": "Get ref of Peers from People", + "operationId": "People.BestFriend.ListRefPeers", "produces": [ "application/json" ], "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { "$ref": "#/parameters/top" @@ -1973,16 +9380,28 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -1992,7 +9411,7 @@ "200": { "description": "Retrieved navigation property links", "schema": { - "title": "Collection of links of PlanItem", + "title": "Collection of links of Person", "type": "object", "properties": { "value": { @@ -2012,10 +9431,10 @@ }, "post": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Create new navigation property ref to PlanItems for Me", - "operationId": "Me.Trips.CreateRefPlanItems", + "summary": "Create new navigation property ref to Peers for People", + "operationId": "People.BestFriend.CreateRefPeers", "consumes": [ "application/json" ], @@ -2025,14 +9444,11 @@ "parameters": [ { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { "in": "body", @@ -2061,84 +9477,24 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/$count": { - "get": { - "summary": "Get the number of the resource", - "operationId": "Get.Count.Trips", - "produces": [ - "text/plain" - ], - "responses": { - "200": { - "description": "The count of the resource", - "schema": { - "$ref": "#/definitions/ODataCountResponse" - } - }, - "default": { - "$ref": "#/responses/error" - } - } - } - }, - "/NewComePeople": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "NewComePeople.Person" + "Person.Manager" ], - "summary": "Get entities from NewComePeople", - "operationId": "NewComePeople.Person.ListPerson", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-5f08", "produces": [ "application/json" ], "parameters": [ { - "$ref": "#/parameters/top" - }, - { - "$ref": "#/parameters/skip" - }, - { - "$ref": "#/parameters/search" - }, - { - "$ref": "#/parameters/filter" - }, - { - "$ref": "#/parameters/count" - }, - { - "in": "query", - "name": "$orderby", - "description": "Order items by property values", - "type": "array", - "items": { - "enum": [ - "UserName", - "UserName desc", - "FirstName", - "FirstName desc", - "LastName", - "LastName desc", - "MiddleName", - "MiddleName desc", - "Gender", - "Gender desc", - "Age", - "Age desc", - "Emails", - "Emails desc", - "AddressInfo", - "AddressInfo desc", - "HomeAddress", - "HomeAddress desc", - "FavoriteFeature", - "FavoriteFeature desc", - "Features", - "Features desc" - ], - "type": "string" - } + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" }, { "in": "query", @@ -2162,90 +9518,45 @@ "BestFriend", "Trips" ], - "type": "string" - } - }, - { - "in": "query", - "name": "$expand", - "description": "Expand related entities", - "type": "array", - "items": { - "enum": [ - "*", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Retrieved entities", - "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - } - } - } - }, - "default": { - "$ref": "#/responses/error" - } - } - }, - "post": { - "tags": [ - "NewComePeople.Person" - ], - "summary": "Add new entity to NewComePeople", - "operationId": "NewComePeople.Person.CreatePerson", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "New entity", - "required": true, - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" } } ], "responses": { - "201": { - "description": "Created entity", + "200": { + "description": "Result entities", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { "get": { "tags": [ - "NewComePeople.Person" + "People.BestFriend.Person" ], - "summary": "Get entity from NewComePeople by key", - "operationId": "NewComePeople.Person.GetPerson", + "summary": "Get DirectReports from People", + "operationId": "People.BestFriend.ListDirectReports", "produces": [ "application/json" ], @@ -2258,6 +9569,54 @@ "type": "string", "x-ms-docs-key-type": "Person" }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + }, { "in": "query", "name": "$select", @@ -2301,9 +9660,18 @@ ], "responses": { "200": { - "description": "Retrieved entity", + "description": "Retrieved navigation property", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } } }, "default": { @@ -2312,15 +9680,18 @@ }, "x-ms-docs-operation-type": "operation" }, - "patch": { + "x-ms-docs-grouped-path": [ + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { + "delete": { "tags": [ - "NewComePeople.Person" - ], - "summary": "Update entity in NewComePeople", - "operationId": "NewComePeople.Person.UpdatePerson", - "consumes": [ - "application/json" + "People.BestFriend.Person" ], + "summary": "Delete ref of navigation property DirectReports for People", + "operationId": "People.BestFriend.DeleteRefDirectReports", "parameters": [ { "in": "path", @@ -2331,13 +9702,24 @@ "x-ms-docs-key-type": "Person" }, { - "in": "body", - "name": "body", - "description": "New property values", + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" } ], "responses": { @@ -2349,13 +9731,15 @@ } }, "x-ms-docs-operation-type": "operation" - }, - "delete": { - "tags": [ - "NewComePeople.Person" + } + }, + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-cddc", + "produces": [ + "text/plain" ], - "summary": "Delete entity from NewComePeople", - "operationId": "NewComePeople.Person.DeletePerson", "parameters": [ { "in": "path", @@ -2364,33 +9748,28 @@ "required": true, "type": "string", "x-ms-docs-key-type": "Person" - }, - { - "in": "header", - "name": "If-Match", - "description": "ETag", - "type": "string" } ], "responses": { - "204": { - "description": "Success" + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}/BestFriend": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { "get": { "tags": [ - "NewComePeople.Person" + "People.BestFriend.Person" ], - "summary": "Get BestFriend from NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.GetBestFriend", + "summary": "Get ref of DirectReports from People", + "operationId": "People.BestFriend.ListRefDirectReports", "produces": [ "application/json" ], @@ -2403,42 +9782,50 @@ "type": "string", "x-ms-docs-key-type": "Person" }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, { "in": "query", - "name": "$select", - "description": "Select properties to be returned", + "name": "$orderby", + "description": "Order items by property values", "type": "array", "items": { "enum": [ "UserName", + "UserName desc", "FirstName", + "FirstName desc", "LastName", + "LastName desc", "MiddleName", + "MiddleName desc", "Gender", + "Gender desc", "Age", + "Age desc", "Emails", + "Emails desc", "AddressInfo", + "AddressInfo desc", "HomeAddress", + "HomeAddress desc", "FavoriteFeature", + "FavoriteFeature desc", "Features", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$expand", - "description": "Expand related entities", - "type": "array", - "items": { - "enum": [ - "*", - "Friends", - "BestFriend", - "Trips" + "Features desc" ], "type": "string" } @@ -2446,44 +9833,18 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - }, - "default": { - "$ref": "#/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - } - }, - "/NewComePeople/{UserName}/BestFriend/$ref": { - "get": { - "tags": [ - "NewComePeople.Person" - ], - "summary": "Get ref of BestFriend from NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.GetRefBestFriend", - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "path", - "name": "UserName", - "description": "key: UserName of Person", - "required": true, - "type": "string", - "x-ms-docs-key-type": "Person" - } - ], - "responses": { - "200": { - "description": "Retrieved navigation property link", + "description": "Retrieved navigation property links", "schema": { - "type": "string" + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } } }, "default": { @@ -2492,16 +9853,18 @@ }, "x-ms-docs-operation-type": "operation" }, - "put": { + "post": { "tags": [ - "NewComePeople.Person" + "People.BestFriend.Person" ], - "summary": "Update the ref of navigation property BestFriend in NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.UpdateRefBestFriend", + "summary": "Create new navigation property ref to DirectReports for People", + "operationId": "People.BestFriend.CreateRefDirectReports", "consumes": [ "application/json" ], + "produces": [ + "application/json" + ], "parameters": [ { "in": "path", @@ -2514,7 +9877,7 @@ { "in": "body", "name": "body", - "description": "New navigation property ref values", + "description": "New navigation property ref value", "required": true, "schema": { "type": "object", @@ -2525,41 +9888,11 @@ } ], "responses": { - "204": { - "description": "Success" - }, - "default": { - "$ref": "#/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - }, - "delete": { - "tags": [ - "NewComePeople.Person" - ], - "summary": "Delete ref of navigation property BestFriend for NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.DeleteRefBestFriend", - "parameters": [ - { - "in": "path", - "name": "UserName", - "description": "key: UserName of Person", - "required": true, - "type": "string", - "x-ms-docs-key-type": "Person" - }, - { - "in": "header", - "name": "If-Match", - "description": "ETag", - "type": "string" - } - ], - "responses": { - "204": { - "description": "Success" + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } }, "default": { "$ref": "#/responses/error" @@ -2568,13 +9901,13 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Friends": { + "/People/{UserName}/Friends": { "get": { "tags": [ - "NewComePeople.Person" + "People.Person" ], - "summary": "Get Friends from NewComePeople", - "operationId": "NewComePeople.ListFriends", + "summary": "Get Friends from People", + "operationId": "People.ListFriends", "produces": [ "application/json" ], @@ -2699,13 +10032,13 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Friends/{UserName1}/$ref": { + "/People/{UserName}/Friends/{UserName1}/$ref": { "delete": { "tags": [ - "NewComePeople.Person" + "People.Person" ], - "summary": "Delete ref of navigation property Friends for NewComePeople", - "operationId": "NewComePeople.DeleteRefFriends", + "summary": "Delete ref of navigation property Friends for People", + "operationId": "People.DeleteRefFriends", "parameters": [ { "in": "path", @@ -2747,12 +10080,15 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Friends/$count": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { "get": { - "summary": "Get the number of the resource", - "operationId": "Get.Count.Friends", + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf", "produces": [ - "text/plain" + "application/json" ], "parameters": [ { @@ -2762,13 +10098,61 @@ "required": true, "type": "string", "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } ], "responses": { "200": { - "description": "The count of the resource", + "description": "Result entities", "schema": { - "$ref": "#/definitions/ODataCountResponse" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" } }, "default": { @@ -2777,13 +10161,13 @@ } } }, - "/NewComePeople/{UserName}/Friends/$ref": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { "get": { "tags": [ - "NewComePeople.Person" + "People.Friends.Person" ], - "summary": "Get ref of Friends from NewComePeople", - "operationId": "NewComePeople.ListRefFriends", + "summary": "Get Peers from People", + "operationId": "People.Friends.ListPeers", "produces": [ "application/json" ], @@ -2796,6 +10180,14 @@ "type": "string", "x-ms-docs-key-type": "Person" }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/parameters/top" }, @@ -2843,19 +10235,59 @@ ], "type": "string" } + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } ], "responses": { "200": { - "description": "Retrieved navigation property links", + "description": "Retrieved navigation property", "schema": { - "title": "Collection of links of Person", + "title": "Collection of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -2867,18 +10299,18 @@ }, "x-ms-docs-operation-type": "operation" }, - "post": { + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref": { + "delete": { "tags": [ - "NewComePeople.Person" - ], - "summary": "Create new navigation property ref to Friends for NewComePeople", - "operationId": "NewComePeople.CreateRefFriends", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "People.Friends.Person" ], + "summary": "Delete ref of navigation property Peers for People", + "operationId": "People.Friends.DeleteRefPeers", "parameters": [ { "in": "path", @@ -2889,75 +10321,51 @@ "x-ms-docs-key-type": "Person" }, { - "in": "body", - "name": "body", - "description": "New navigation property ref value", + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "schema": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - ], - "responses": { - "201": { - "description": "Created navigation property link.", - "schema": { - "type": "object" - } + "type": "string", + "x-ms-docs-key-type": "Person" }, - "default": { - "$ref": "#/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - } - }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { - "get": { - "tags": [ - "NewComePeople.Functions" - ], - "summary": "Invoke function GetFavoriteAirline", - "operationId": "NewComePeople.Person.GetFavoriteAirline", - "produces": [ - "application/json" - ], - "parameters": [ { "in": "path", - "name": "UserName", + "name": "UserName2", "description": "key: UserName of Person", "required": true, "type": "string", "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" } ], "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" - } + "204": { + "description": "Success" }, "default": { "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "function" + "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { "get": { - "tags": [ - "NewComePeople.Functions" - ], - "summary": "Invoke function GetFriendsTrips", - "operationId": "NewComePeople.Person.GetFriendsTrips", + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-ff21", "produces": [ - "application/json" + "text/plain" ], "parameters": [ { @@ -2970,45 +10378,33 @@ }, { "in": "path", - "name": "userName", - "description": "Usage: userName='{userName}'", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "type": "string" + "type": "string", + "x-ms-docs-key-type": "Person" } ], "responses": { "200": { - "description": "Success", + "description": "The count of the resource", "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } - } - } + "$ref": "#/definitions/ODataCountResponse" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { - "post": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { "tags": [ - "NewComePeople.Actions" - ], - "summary": "Invoke action GetPeersForTrip", - "operationId": "NewComePeople.Person.GetPeersForTrip", - "consumes": [ - "application/json" + "People.Friends.Person" ], + "summary": "Get ref of Peers from People", + "operationId": "People.Friends.ListRefPeers", "produces": [ "application/json" ], @@ -3022,37 +10418,73 @@ "x-ms-docs-key-type": "Person" }, { - "in": "body", - "name": "body", - "description": "Action parameters", + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "schema": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer" - } - } + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" } } ], "responses": { "200": { - "description": "Success", + "description": "Retrieved navigation property links", "schema": { - "title": "Collection of Person", + "title": "Collection of links of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "type": "string" } } } @@ -3062,20 +10494,20 @@ "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "action" - } - }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { + "x-ms-docs-operation-type": "operation" + }, "post": { "tags": [ - "NewComePeople.Actions" + "People.Friends.Person" ], - "summary": "Invoke action ShareTrip", - "description": "Details of the shared trip.", - "operationId": "NewComePeople.Person.ShareTrip", + "summary": "Create new navigation property ref to Peers for People", + "operationId": "People.Friends.CreateRefPeers", "consumes": [ "application/json" ], + "produces": [ + "application/json" + ], "parameters": [ { "in": "path", @@ -3085,45 +10517,48 @@ "type": "string", "x-ms-docs-key-type": "Person" }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, { "in": "body", "name": "body", - "description": "Action parameters", + "description": "New navigation property ref value", "required": true, "schema": { "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer" - } + "additionalProperties": { + "type": "object" } } } ], "responses": { - "204": { - "description": "Success" + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } }, "default": { "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "action" + "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "NewComePeople.Functions" + "Person.Manager" ], - "summary": "Invoke function UpdatePersonLastName", - "operationId": "NewComePeople.Person.UpdatePersonLastName", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb", "produces": [ "application/json" ], @@ -3138,40 +10573,73 @@ }, { "in": "path", - "name": "lastName", - "description": "Usage: lastName='{lastName}'", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "type": "string" + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } ], "responses": { "200": { - "description": "Success", + "description": "Result entities", "schema": { - "type": "object", - "properties": { - "value": { - "default": false, - "type": "boolean" - } - } + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/NewComePeople/{UserName}/Trips": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { "get": { "tags": [ - "NewComePeople.Trip" + "People.Friends.Person" ], - "summary": "Get Trips from NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.ListTrips", + "summary": "Get DirectReports from People", + "operationId": "People.Friends.ListDirectReports", "produces": [ "application/json" ], @@ -3184,6 +10652,14 @@ "type": "string", "x-ms-docs-key-type": "Person" }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/parameters/top" }, @@ -3194,34 +10670,40 @@ "$ref": "#/parameters/search" }, { - "$ref": "#/parameters/filter" - }, - { - "$ref": "#/parameters/count" - }, - { - "in": "query", - "name": "$orderby", - "description": "Order items by property values", - "type": "array", - "items": { - "enum": [ - "TripId", - "TripId desc", - "ShareId", - "ShareId desc", - "Name", - "Name desc", - "Budget", - "Budget desc", - "Description", - "Description desc", - "Tags", - "Tags desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc" + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -3233,15 +10715,20 @@ "type": "array", "items": { "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -3254,7 +10741,9 @@ "items": { "enum": [ "*", - "PlanItems" + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -3264,13 +10753,13 @@ "200": { "description": "Retrieved navigation property", "schema": { - "title": "Collection of Trip", + "title": "Collection of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -3282,19 +10771,18 @@ }, "x-ms-docs-operation-type": "operation" }, - "post": { + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref": { + "delete": { "tags": [ - "NewComePeople.Trip" - ], - "summary": "Create new navigation property to Trips for NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.CreateTrips", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "People.Friends.Person" ], + "summary": "Delete ref of navigation property DirectReports for People", + "operationId": "People.Friends.DeleteRefDirectReports", "parameters": [ { "in": "path", @@ -3305,21 +10793,37 @@ "x-ms-docs-key-type": "Person" }, { - "in": "body", - "name": "body", - "description": "New navigation property", + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName2", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" } ], "responses": { - "201": { - "description": "Created navigation property.", - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } + "204": { + "description": "Success" }, "default": { "$ref": "#/responses/error" @@ -3328,16 +10832,12 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Trips/{TripId}": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { "get": { - "tags": [ - "NewComePeople.Trip" - ], - "summary": "Get Trips from NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.GetTrips", + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-3b03", "produces": [ - "application/json" + "text/plain" ], "parameters": [ { @@ -3350,70 +10850,34 @@ }, { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" - }, - { - "in": "query", - "name": "$select", - "description": "Select properties to be returned", - "type": "array", - "items": { - "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$expand", - "description": "Expand related entities", - "type": "array", - "items": { - "enum": [ - "*", - "PlanItems" - ], - "type": "string" - } + "type": "string", + "x-ms-docs-key-type": "Person" } ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "The count of the resource", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "$ref": "#/definitions/ODataCountResponse" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" - }, - "patch": { + } + } + }, + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { "tags": [ - "NewComePeople.Trip" + "People.Friends.Person" ], - "summary": "Update the navigation property Trips in NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.UpdateTrips", - "consumes": [ + "summary": "Get ref of DirectReports from People", + "operationId": "People.Friends.ListRefDirectReports", + "produces": [ "application/json" ], "parameters": [ @@ -3427,28 +10891,76 @@ }, { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { - "in": "body", - "name": "body", - "description": "New navigation property values", - "required": true, + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, + { + "in": "query", + "name": "$orderby", + "description": "Order items by property values", + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } } - } - ], - "responses": { - "204": { - "description": "Success" }, "default": { "$ref": "#/responses/error" @@ -3456,13 +10968,18 @@ }, "x-ms-docs-operation-type": "operation" }, - "delete": { + "post": { "tags": [ - "NewComePeople.Trip" + "People.Friends.Person" + ], + "summary": "Create new navigation property ref to DirectReports for People", + "operationId": "People.Friends.CreateRefDirectReports", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" ], - "summary": "Delete navigation property Trips for NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.DeleteTrips", "parameters": [ { "in": "path", @@ -3474,25 +10991,31 @@ }, { "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "name": "UserName1", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "type": "string", + "x-ms-docs-key-type": "Person" }, { - "in": "header", - "name": "If-Match", - "description": "ETag", - "type": "string" + "in": "body", + "name": "body", + "description": "New navigation property ref value", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } } ], "responses": { - "204": { - "description": "Success" + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } }, "default": { "$ref": "#/responses/error" @@ -3501,15 +11024,12 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "/People/{UserName}/Friends/$count": { "get": { - "tags": [ - "NewComePeople.Functions" - ], - "summary": "Invoke function GetInvolvedPeople", - "operationId": "NewComePeople.Person.Trips.Trip.GetInvolvedPeople", + "summary": "Get the number of the resource", + "operationId": "Get.Count.Friends-92b9", "produces": [ - "application/json" + "text/plain" ], "parameters": [ { @@ -3519,49 +11039,28 @@ "required": true, "type": "string", "x-ms-docs-key-type": "Person" - }, - { - "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", - "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" } ], "responses": { "200": { - "description": "Success", + "description": "The count of the resource", "schema": { - "title": "Collection of Trip", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - } - } + "$ref": "#/definitions/ODataCountResponse" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems": { + "/People/{UserName}/Friends/$ref": { "get": { "tags": [ - "NewComePeople.Trips.PlanItem" + "People.Person" ], - "summary": "Get PlanItems from NewComePeople", - "operationId": "NewComePeople.Trips.ListPlanItems", + "summary": "Get ref of Friends from People", + "operationId": "People.ListRefFriends", "produces": [ "application/json" ], @@ -3574,17 +11073,6 @@ "type": "string", "x-ms-docs-key-type": "Person" }, - { - "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", - "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" - }, { "$ref": "#/parameters/top" }, @@ -3607,44 +11095,28 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$select", - "description": "Select properties to be returned", - "type": "array", - "items": { - "enum": [ - "PlanItemId", - "ConfirmationCode", - "StartsAt", - "EndsAt", - "Duration" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$expand", - "description": "Expand related entities", - "type": "array", - "items": { - "enum": [ - "*" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -3652,15 +11124,15 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "Retrieved navigation property links", "schema": { - "title": "Collection of PlanItem", + "title": "Collection of links of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" + "type": "string" } } } @@ -3671,15 +11143,19 @@ } }, "x-ms-docs-operation-type": "operation" - } - }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { - "delete": { + }, + "post": { "tags": [ - "NewComePeople.Trips.PlanItem" + "People.Person" + ], + "summary": "Create new navigation property ref to Friends for People", + "operationId": "People.CreateRefFriends", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" ], - "summary": "Delete ref of navigation property PlanItems for NewComePeople", - "operationId": "NewComePeople.Trips.DeleteRefPlanItems", "parameters": [ { "in": "path", @@ -3690,55 +11166,109 @@ "x-ms-docs-key-type": "Person" }, { - "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", + "in": "body", + "name": "body", + "description": "New navigation property ref value", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + ], + "responses": { + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf", + "produces": [ + "application/json" + ], + "parameters": [ { "in": "path", - "name": "PlanItemId", - "description": "key: PlanItemId of PlanItem", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "PlanItem" + "type": "string", + "x-ms-docs-key-type": "Person" }, { - "in": "header", - "name": "If-Match", - "description": "ETag", - "type": "string" + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } }, { "in": "query", - "name": "@id", - "description": "Delete Uri", - "type": "string" + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } ], "responses": { - "204": { - "description": "Success" + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count": { + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.PlanItems", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-a96c", "produces": [ "text/plain" ], @@ -3750,17 +11280,6 @@ "required": true, "type": "string", "x-ms-docs-key-type": "Person" - }, - { - "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", - "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" } ], "responses": { @@ -3776,13 +11295,13 @@ } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref": { + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "NewComePeople.Trips.PlanItem" + "Person.Manager" ], - "summary": "Get ref of PlanItems from NewComePeople", - "operationId": "NewComePeople.Trips.ListRefPlanItems", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb", "produces": [ "application/json" ], @@ -3796,48 +11315,41 @@ "x-ms-docs-key-type": "Person" }, { - "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", - "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" - }, - { - "$ref": "#/parameters/top" - }, - { - "$ref": "#/parameters/skip" - }, - { - "$ref": "#/parameters/search" - }, - { - "$ref": "#/parameters/filter" - }, - { - "$ref": "#/parameters/count" + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } }, { "in": "query", - "name": "$orderby", - "description": "Order items by property values", + "name": "$expand", + "description": "Expand related entities", "type": "array", "items": { "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" + "*", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -3845,37 +11357,23 @@ ], "responses": { "200": { - "description": "Retrieved navigation property links", + "description": "Result entities", "schema": { - "title": "Collection of links of PlanItem", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "string" - } - } - } + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" - }, - "post": { - "tags": [ - "NewComePeople.Trips.PlanItem" - ], - "summary": "Create new navigation property ref to PlanItems for NewComePeople", - "operationId": "NewComePeople.Trips.CreateRefPlanItems", - "consumes": [ - "application/json" - ], + } + } + }, + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-26b3", "produces": [ - "application/json" + "text/plain" ], "parameters": [ { @@ -3885,51 +11383,30 @@ "required": true, "type": "string", "x-ms-docs-key-type": "Person" - }, - { - "in": "path", - "name": "TripId", - "description": "key: TripId of Trip", - "required": true, - "type": "integer", - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "x-ms-docs-key-type": "Trip" - }, - { - "in": "body", - "name": "body", - "description": "New navigation property ref value", - "required": true, - "schema": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } } ], "responses": { - "201": { - "description": "Created navigation property link.", + "200": { + "description": "The count of the resource", "schema": { - "type": "object" + "$ref": "#/definitions/ODataCountResponse" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}/Trips/$count": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { "get": { - "summary": "Get the number of the resource", - "operationId": "Get.Count.Trips", + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-317b", "produces": [ - "text/plain" + "application/json" ], "parameters": [ { @@ -3939,33 +11416,53 @@ "required": true, "type": "string", "x-ms-docs-key-type": "Person" - } - ], - "responses": { - "200": { - "description": "The count of the resource", - "schema": { - "$ref": "#/definitions/ODataCountResponse" + }, + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" } }, - "default": { - "$ref": "#/responses/error" + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } - } - } - }, - "/NewComePeople/$count": { - "get": { - "summary": "Get the number of the resource", - "operationId": "Get.Count.NewComePeople", - "produces": [ - "text/plain" ], "responses": { "200": { - "description": "The count of the resource", + "description": "Result entities", "schema": { - "$ref": "#/definitions/ODataCountResponse" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" } }, "default": { @@ -3974,17 +11471,25 @@ } } }, - "/People": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { "get": { "tags": [ "People.Person" ], - "summary": "Get entities from People", - "operationId": "People.Person.ListPerson", + "summary": "Get Peers from People", + "operationId": "People.ListPeers", "produces": [ "application/json" ], "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/parameters/top" }, @@ -4076,7 +11581,7 @@ ], "responses": { "200": { - "description": "Retrieved entities", + "description": "Retrieved navigation property", "schema": { "title": "Collection of Person", "type": "object", @@ -4093,52 +11598,99 @@ "default": { "$ref": "#/responses/error" } - } + }, + "x-ms-docs-operation-type": "operation" }, - "post": { + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { + "delete": { "tags": [ "People.Person" ], - "summary": "Add new entity to People", - "operationId": "People.Person.CreatePerson", - "consumes": [ - "application/json" + "summary": "Delete ref of navigation property Peers for People", + "operationId": "People.DeleteRefPeers", + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "UserName1", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" + }, + { + "in": "header", + "name": "If-Match", + "description": "ETag", + "type": "string" + }, + { + "in": "query", + "name": "@id", + "description": "Delete Uri", + "type": "string" + } ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-44d2", "produces": [ - "application/json" + "text/plain" ], "parameters": [ { - "in": "body", - "name": "body", - "description": "New entity", + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", "required": true, - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } + "type": "string", + "x-ms-docs-key-type": "Person" } ], "responses": { - "201": { - "description": "Created entity", + "200": { + "description": "The count of the resource", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "$ref": "#/definitions/ODataCountResponse" } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/People/{UserName}": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { "get": { "tags": [ "People.Person" ], - "summary": "Get entity from People by key", - "operationId": "People.Person.GetPerson", + "summary": "Get ref of Peers from People", + "operationId": "People.ListRefPeers", "produces": [ "application/json" ], @@ -4151,42 +11703,50 @@ "type": "string", "x-ms-docs-key-type": "Person" }, + { + "$ref": "#/parameters/top" + }, + { + "$ref": "#/parameters/skip" + }, + { + "$ref": "#/parameters/search" + }, + { + "$ref": "#/parameters/filter" + }, + { + "$ref": "#/parameters/count" + }, { "in": "query", - "name": "$select", - "description": "Select properties to be returned", + "name": "$orderby", + "description": "Order items by property values", "type": "array", "items": { "enum": [ "UserName", + "UserName desc", "FirstName", + "FirstName desc", "LastName", + "LastName desc", "MiddleName", + "MiddleName desc", "Gender", + "Gender desc", "Age", + "Age desc", "Emails", + "Emails desc", "AddressInfo", + "AddressInfo desc", "HomeAddress", + "HomeAddress desc", "FavoriteFeature", + "FavoriteFeature desc", "Features", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$expand", - "description": "Expand related entities", - "type": "array", - "items": { - "enum": [ - "*", - "Friends", - "BestFriend", - "Trips" + "Features desc" ], "type": "string" } @@ -4194,9 +11754,18 @@ ], "responses": { "200": { - "description": "Retrieved entity", + "description": "Retrieved navigation property links", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } } }, "default": { @@ -4205,15 +11774,18 @@ }, "x-ms-docs-operation-type": "operation" }, - "patch": { + "post": { "tags": [ "People.Person" ], - "summary": "Update entity in People", - "operationId": "People.Person.UpdatePerson", + "summary": "Create new navigation property ref to Peers for People", + "operationId": "People.CreateRefPeers", "consumes": [ "application/json" ], + "produces": [ + "application/json" + ], "parameters": [ { "in": "path", @@ -4226,48 +11798,22 @@ { "in": "body", "name": "body", - "description": "New property values", + "description": "New navigation property ref value", "required": true, "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "type": "object", + "additionalProperties": { + "type": "object" + } } } ], "responses": { - "204": { - "description": "Success" - }, - "default": { - "$ref": "#/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - }, - "delete": { - "tags": [ - "People.Person" - ], - "summary": "Delete entity from People", - "operationId": "People.Person.DeletePerson", - "parameters": [ - { - "in": "path", - "name": "UserName", - "description": "key: UserName of Person", - "required": true, - "type": "string", - "x-ms-docs-key-type": "Person" - }, - { - "in": "header", - "name": "If-Match", - "description": "ETag", - "type": "string" - } - ], - "responses": { - "204": { - "description": "Success" + "201": { + "description": "Created navigation property link.", + "schema": { + "type": "object" + } }, "default": { "$ref": "#/responses/error" @@ -4276,89 +11822,47 @@ "x-ms-docs-operation-type": "operation" } }, - "/People/{UserName}/BestFriend": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { "get": { "tags": [ - "People.Person" + "People.Functions" ], - "summary": "Get BestFriend from People", - "description": "The best friend.", - "operationId": "People.GetBestFriend", + "summary": "Invoke function GetFavoriteAirline", + "operationId": "People.Person.GetFavoriteAirline", "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "path", - "name": "UserName", - "description": "key: UserName of Person", - "required": true, - "type": "string", - "x-ms-docs-key-type": "Person" - }, - { - "in": "query", - "name": "$select", - "description": "Select properties to be returned", - "type": "array", - "items": { - "enum": [ - "UserName", - "FirstName", - "LastName", - "MiddleName", - "Gender", - "Age", - "Emails", - "AddressInfo", - "HomeAddress", - "FavoriteFeature", - "Features", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "$expand", - "description": "Expand related entities", - "type": "array", - "items": { - "enum": [ - "*", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "UserName", + "description": "key: UserName of Person", + "required": true, + "type": "string", + "x-ms-docs-key-type": "Person" } ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "Success", "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" } }, "default": { "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "operation" + "x-ms-docs-operation-type": "function" } }, - "/People/{UserName}/BestFriend/$ref": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { "get": { "tags": [ - "People.Person" + "People.Functions" ], - "summary": "Get ref of BestFriend from People", - "description": "The best friend.", - "operationId": "People.GetRefBestFriend", + "summary": "Invoke function GetFriendsTrips", + "operationId": "People.Person.GetFriendsTrips", "produces": [ "application/json" ], @@ -4370,31 +11874,51 @@ "required": true, "type": "string", "x-ms-docs-key-type": "Person" + }, + { + "in": "path", + "name": "userName", + "description": "Usage: userName='{userName}'", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "Retrieved navigation property link", + "description": "Success", "schema": { - "type": "string" + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } } }, "default": { "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "operation" - }, - "put": { + "x-ms-docs-operation-type": "function" + } + }, + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "post": { "tags": [ - "People.Person" + "People.Actions" ], - "summary": "Update the ref of navigation property BestFriend in People", - "description": "The best friend.", - "operationId": "People.UpdateRefBestFriend", + "summary": "Invoke action GetPeersForTrip", + "operationId": "People.Person.GetPeersForTrip", "consumes": [ "application/json" ], + "produces": [ + "application/json" + ], "parameters": [ { "in": "path", @@ -4407,33 +11931,57 @@ { "in": "body", "name": "body", - "description": "New navigation property ref values", + "description": "Action parameters", "required": true, "schema": { "type": "object", - "additionalProperties": { - "type": "object" + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "format": "int32", + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer" + } } } } ], "responses": { - "204": { - "description": "Success" + "200": { + "description": "Success", + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } }, "default": { "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "operation" - }, - "delete": { + "x-ms-docs-operation-type": "action" + } + }, + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { "tags": [ - "People.Person" + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d051", + "produces": [ + "application/json" ], - "summary": "Delete ref of navigation property BestFriend for People", - "description": "The best friend.", - "operationId": "People.DeleteRefBestFriend", "parameters": [ { "in": "path", @@ -4444,30 +11992,66 @@ "x-ms-docs-key-type": "Person" }, { - "in": "header", - "name": "If-Match", - "description": "ETag", - "type": "string" + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } ], "responses": { - "204": { - "description": "Success" + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } }, "default": { "$ref": "#/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/People/{UserName}/Friends": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { "get": { "tags": [ "People.Person" ], - "summary": "Get Friends from People", - "operationId": "People.ListFriends", + "summary": "Get DirectReports from People", + "operationId": "People.ListDirectReports", "produces": [ "application/json" ], @@ -4590,15 +12174,19 @@ } }, "x-ms-docs-operation-type": "operation" - } + }, + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] }, - "/People/{UserName}/Friends/{UserName1}/$ref": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { "delete": { "tags": [ "People.Person" ], - "summary": "Delete ref of navigation property Friends for People", - "operationId": "People.DeleteRefFriends", + "summary": "Delete ref of navigation property DirectReports for People", + "operationId": "People.DeleteRefDirectReports", "parameters": [ { "in": "path", @@ -4640,10 +12228,10 @@ "x-ms-docs-operation-type": "operation" } }, - "/People/{UserName}/Friends/$count": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Friends", + "operationId": "Get.Count.DirectReports-0ec4", "produces": [ "text/plain" ], @@ -4670,13 +12258,13 @@ } } }, - "/People/{UserName}/Friends/$ref": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { "get": { "tags": [ "People.Person" ], - "summary": "Get ref of Friends from People", - "operationId": "People.ListRefFriends", + "summary": "Get ref of DirectReports from People", + "operationId": "People.ListRefDirectReports", "produces": [ "application/json" ], @@ -4747,108 +12335,28 @@ "properties": { "value": { "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "default": { - "$ref": "#/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - }, - "post": { - "tags": [ - "People.Person" - ], - "summary": "Create new navigation property ref to Friends for People", - "operationId": "People.CreateRefFriends", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "path", - "name": "UserName", - "description": "key: UserName of Person", - "required": true, - "type": "string", - "x-ms-docs-key-type": "Person" - }, - { - "in": "body", - "name": "body", - "description": "New navigation property ref value", - "required": true, - "schema": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } - } - ], - "responses": { - "201": { - "description": "Created navigation property link.", - "schema": { - "type": "object" - } - }, - "default": { - "$ref": "#/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - } - }, - "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { - "get": { - "tags": [ - "People.Functions" - ], - "summary": "Invoke function GetFavoriteAirline", - "operationId": "People.Person.GetFavoriteAirline", - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "path", - "name": "UserName", - "description": "key: UserName of Person", - "required": true, - "type": "string", - "x-ms-docs-key-type": "Person" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" + "items": { + "type": "string" + } + } + } } }, "default": { "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "function" - } - }, - "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { - "get": { + "x-ms-docs-operation-type": "operation" + }, + "post": { "tags": [ - "People.Functions" + "People.Person" + ], + "summary": "Create new navigation property ref to DirectReports for People", + "operationId": "People.CreateRefDirectReports", + "consumes": [ + "application/json" ], - "summary": "Invoke function GetFriendsTrips", - "operationId": "People.Person.GetFriendsTrips", "produces": [ "application/json" ], @@ -4862,49 +12370,43 @@ "x-ms-docs-key-type": "Person" }, { - "in": "path", - "name": "userName", - "description": "Usage: userName='{userName}'", + "in": "body", + "name": "body", + "description": "New navigation property ref value", "required": true, - "type": "string" + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } } ], "responses": { - "200": { - "description": "Success", + "201": { + "description": "Created navigation property link.", "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } - } - } + "type": "object" } }, "default": { "$ref": "#/responses/error" } }, - "x-ms-docs-operation-type": "function" + "x-ms-docs-operation-type": "operation" } }, - "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": { "post": { "tags": [ "People.Actions" ], - "summary": "Invoke action GetPeersForTrip", - "operationId": "People.Person.GetPeersForTrip", + "summary": "Invoke action Hire", + "description": "Hires someone for the company.", + "operationId": "People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire", "consumes": [ "application/json" ], - "produces": [ - "application/json" - ], "parameters": [ { "in": "path", @@ -4922,34 +12424,16 @@ "schema": { "type": "object", "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "format": "int32", - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer" + "hire": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } } ], "responses": { - "200": { - "description": "Success", - "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - } - } - } + "204": { + "description": "Success" }, "default": { "$ref": "#/responses/error" @@ -5631,7 +13115,7 @@ "/People/{UserName}/Trips/{TripId}/PlanItems/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.PlanItems", + "operationId": "Get.Count.PlanItems-9a27", "produces": [ "text/plain" ], @@ -5820,7 +13304,7 @@ "/People/{UserName}/Trips/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Trips", + "operationId": "Get.Count.Trips-e877", "produces": [ "text/plain" ], @@ -5850,7 +13334,177 @@ "/People/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.People", + "operationId": "Get.Count.People-dd8d", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-013a", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-ef29", + "produces": [ + "text/plain" + ], + "responses": { + "200": { + "description": "The count of the resource", + "schema": { + "$ref": "#/definitions/ODataCountResponse" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-3e14", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$select", + "description": "Select properties to be returned", + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "$expand", + "description": "Expand related entities", + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "schema": { + "$ref": "#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + }, + "default": { + "$ref": "#/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-2d48", "produces": [ "text/plain" ], @@ -6559,6 +14213,20 @@ "name": "Me.Person", "x-ms-docs-toc-type": "page" }, + { + "name": "Person.Employee" + }, + { + "name": "Me.BestFriend.Person", + "x-ms-docs-toc-type": "page" + }, + { + "name": "Person.Manager" + }, + { + "name": "Me.Friends.Person", + "x-ms-docs-toc-type": "page" + }, { "name": "Me.Functions", "x-ms-docs-toc-type": "container" @@ -6579,6 +14247,14 @@ "name": "NewComePeople.Person", "x-ms-docs-toc-type": "page" }, + { + "name": "NewComePeople.BestFriend.Person", + "x-ms-docs-toc-type": "page" + }, + { + "name": "NewComePeople.Friends.Person", + "x-ms-docs-toc-type": "page" + }, { "name": "NewComePeople.Functions", "x-ms-docs-toc-type": "container" @@ -6599,6 +14275,14 @@ "name": "People.Person", "x-ms-docs-toc-type": "page" }, + { + "name": "People.BestFriend.Person", + "x-ms-docs-toc-type": "page" + }, + { + "name": "People.Friends.Person", + "x-ms-docs-toc-type": "page" + }, { "name": "People.Functions", "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 0a4631f7..de30a4e0 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 @@ -178,7 +178,7 @@ paths: /Airlines/$count: get: summary: Get the number of the resource - operationId: Get.Count.Airlines + operationId: Get.Count.Airlines-27a7 produces: - text/plain responses: @@ -366,7 +366,7 @@ paths: /Airports/$count: get: summary: Get the number of the resource - operationId: Get.Count.Airports + operationId: Get.Count.Airports-60cc produces: - text/plain responses: @@ -594,12 +594,60 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - /Me/Friends: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: get: tags: - - Me.Person - summary: Get Friends from Me - operationId: Me.ListFriends + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-dcf6 + produces: + - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers: + get: + tags: + - Me.BestFriend.Person + summary: Get Peers from Me + operationId: Me.BestFriend.ListPeers produces: - application/json parameters: @@ -683,12 +731,15 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/Me/Friends/{UserName}/$ref': + x-ms-docs-grouped-path: + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + '/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref': delete: tags: - - Me.Person - summary: Delete ref of navigation property Friends for Me - operationId: Me.DeleteRefFriends + - Me.BestFriend.Person + summary: Delete ref of navigation property Peers for Me + operationId: Me.BestFriend.DeleteRefPeers parameters: - in: path name: UserName @@ -710,10 +761,10 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - /Me/Friends/$count: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count: get: summary: Get the number of the resource - operationId: Get.Count.Friends + operationId: Get.Count.Peers-e850 produces: - text/plain responses: @@ -723,12 +774,12 @@ paths: $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - /Me/Friends/$ref: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref: get: tags: - - Me.Person - summary: Get ref of Friends from Me - operationId: Me.ListRefFriends + - Me.BestFriend.Person + summary: Get ref of Peers from Me + operationId: Me.BestFriend.ListRefPeers produces: - application/json parameters: @@ -782,9 +833,9 @@ paths: x-ms-docs-operation-type: operation post: tags: - - Me.Person - summary: Create new navigation property ref to Friends for Me - operationId: Me.CreateRefFriends + - Me.BestFriend.Person + summary: Create new navigation property ref to Peers for Me + operationId: Me.BestFriend.CreateRefPeers consumes: - application/json produces: @@ -806,39 +857,132 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline(): + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: get: tags: - - Me.Functions - summary: Invoke function GetFavoriteAirline - operationId: Me.GetFavoriteAirline + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-09a9 produces: - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: Success + description: Result entities schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports: get: tags: - - Me.Functions - summary: Invoke function GetFriendsTrips - operationId: Me.GetFriendsTrips + - Me.BestFriend.Person + summary: Get DirectReports from Me + operationId: Me.BestFriend.ListDirectReports produces: - application/json parameters: - - in: path - name: userName - description: 'Usage: userName=''{userName}''' - required: true - type: string + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: Success + description: Retrieved navigation property schema: title: Collection of Person type: object @@ -846,112 +990,142 @@ paths: value: type: array items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' - x-ms-docs-operation-type: function - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip: - post: + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + '/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref': + delete: tags: - - Me.Actions - summary: Invoke action GetPeersForTrip - operationId: Me.GetPeersForTrip - consumes: - - application/json - produces: - - application/json + - Me.BestFriend.Person + summary: Delete ref of navigation property DirectReports for Me + operationId: Me.BestFriend.DeleteRefDirectReports parameters: - - in: body - name: body - description: Action parameters + - in: path + name: UserName + description: 'key: UserName of Person' required: true - schema: - type: object - properties: - userName: - type: string - tripId: - format: int32 - maximum: 2147483647 - minimum: -2147483648 - type: integer + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string responses: - '200': + '204': description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-f41f + produces: + - text/plain + responses: + '200': + description: The count of the resource schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - x-ms-docs-operation-type: action - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip: - post: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref: + get: tags: - - Me.Actions - summary: Invoke action ShareTrip - description: Details of the shared trip. - operationId: Me.ShareTrip - consumes: + - Me.BestFriend.Person + summary: Get ref of DirectReports from Me + operationId: Me.BestFriend.ListRefDirectReports + produces: - application/json parameters: - - in: body - name: body - description: Action parameters - required: true - schema: - type: object - properties: - userName: - type: string - tripId: - format: int32 - maximum: 2147483647 - minimum: -2147483648 - type: integer + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string responses: - '204': - description: Success + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string default: $ref: '#/responses/error' - x-ms-docs-operation-type: action - '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': - get: + x-ms-docs-operation-type: operation + post: tags: - - Me.Functions - summary: Invoke function UpdatePersonLastName - operationId: Me.UpdatePersonLastName + - Me.BestFriend.Person + summary: Create new navigation property ref to DirectReports for Me + operationId: Me.BestFriend.CreateRefDirectReports + consumes: + - application/json produces: - application/json parameters: - - in: path - name: lastName - description: 'Usage: lastName=''{lastName}''' + - in: body + name: body + description: New navigation property ref value required: true - type: string + schema: + type: object + additionalProperties: + type: object responses: - '200': - description: Success + '201': + description: Created navigation property link. schema: type: object - properties: - value: - default: false - type: boolean default: $ref: '#/responses/error' - x-ms-docs-operation-type: function - /Me/Trips: + x-ms-docs-operation-type: operation + /Me/Friends: get: tags: - - Me.Trip - summary: Get Trips from Me - description: Collection of trips. - operationId: Me.ListTrips + - Me.Person + summary: Get Friends from Me + operationId: Me.ListFriends produces: - application/json parameters: @@ -966,22 +1140,28 @@ paths: type: array items: enum: - - TripId - - TripId desc - - ShareId - - ShareId desc - - Name - - Name desc - - Budget - - Budget desc - - Description - - Description desc - - Tags - - Tags desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string - in: query name: $select @@ -989,15 +1169,20 @@ paths: type: array items: enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - in: query name: $expand @@ -1006,81 +1191,86 @@ paths: items: enum: - '*' - - PlanItems + - Friends + - BestFriend + - Trips type: string responses: '200': description: Retrieved navigation property schema: - title: Collection of Trip + title: Collection of Person type: object properties: value: type: array items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - post: + '/Me/Friends/{UserName}/$ref': + delete: tags: - - Me.Trip - summary: Create new navigation property to Trips for Me - description: Collection of trips. - operationId: Me.CreateTrips - consumes: - - application/json - produces: - - application/json + - Me.Person + summary: Delete ref of navigation property Friends for Me + operationId: Me.DeleteRefFriends parameters: - - in: body - name: body - description: New navigation property + - in: path + name: UserName + description: 'key: UserName of Person' required: true - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string responses: - '201': - description: Created navigation property. - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + '204': + description: Success default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}': + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': get: tags: - - Me.Trip - summary: Get Trips from Me - description: Collection of trips. - operationId: Me.GetTrips + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-3dc7 produces: - application/json parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - in: query name: $select description: Select properties to be returned type: array items: enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - in: query name: $expand @@ -1089,40 +1279,5042 @@ paths: items: enum: - '*' - - PlanItems + - Friends + - BestFriend + - Trips type: string responses: '200': - description: Retrieved navigation property + description: Result entities schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' default: $ref: '#/responses/error' - x-ms-docs-operation-type: operation - patch: + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: tags: - - Me.Trip - summary: Update the navigation property Trips in Me - description: Collection of trips. - operationId: Me.UpdateTrips - consumes: + - Me.Friends.Person + summary: Get Peers from Me + operationId: Me.Friends.ListPeers + produces: - application/json parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': + delete: + tags: + - Me.Friends.Person + summary: Delete ref of navigation property Peers for Me + operationId: Me.Friends.DeleteRefPeers + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-e3cf + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': + get: + tags: + - Me.Friends.Person + summary: Get ref of Peers from Me + operationId: Me.Friends.ListRefPeers + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Friends.Person + summary: Create new navigation property ref to Peers for Me + operationId: Me.Friends.CreateRefPeers + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-ddec + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': + get: + tags: + - Me.Friends.Person + summary: Get DirectReports from Me + operationId: Me.Friends.ListDirectReports + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': + delete: + tags: + - Me.Friends.Person + summary: Delete ref of navigation property DirectReports for Me + operationId: Me.Friends.DeleteRefDirectReports + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-c1d4 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': + get: + tags: + - Me.Friends.Person + summary: Get ref of DirectReports from Me + operationId: Me.Friends.ListRefDirectReports + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Friends.Person + summary: Create new navigation property ref to DirectReports for Me + operationId: Me.Friends.CreateRefDirectReports + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/Friends/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Friends-182b + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /Me/Friends/$ref: + get: + tags: + - Me.Person + summary: Get ref of Friends from Me + operationId: Me.ListRefFriends + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Person + summary: Create new navigation property ref to Friends for Me + operationId: Me.CreateRefFriends + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-f4a5 + produces: + - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-884b + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-98ae + produces: + - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-9376 + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-bd18 + produces: + - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers: + get: + tags: + - Me.Person + summary: Get Peers from Me + operationId: Me.ListPeers + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref': + delete: + tags: + - Me.Person + summary: Delete ref of navigation property Peers for Me + operationId: Me.DeleteRefPeers + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-9fc2 + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref: + get: + tags: + - Me.Person + summary: Get ref of Peers from Me + operationId: Me.ListRefPeers + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Person + summary: Create new navigation property ref to Peers for Me + operationId: Me.CreateRefPeers + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline(): + get: + tags: + - Me.Functions + summary: Invoke function GetFavoriteAirline + operationId: Me.GetFavoriteAirline + produces: + - application/json + responses: + '200': + description: Success + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': + get: + tags: + - Me.Functions + summary: Invoke function GetFriendsTrips + operationId: Me.GetFriendsTrips + produces: + - application/json + parameters: + - in: path + name: userName + description: 'Usage: userName=''{userName}''' + required: true + type: string + responses: + '200': + description: Success + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip: + post: + tags: + - Me.Actions + summary: Invoke action GetPeersForTrip + operationId: Me.GetPeersForTrip + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: Action parameters + required: true + schema: + type: object + properties: + userName: + type: string + tripId: + format: int32 + maximum: 2147483647 + minimum: -2147483648 + type: integer + responses: + '200': + description: Success + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: action + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-16dc + produces: + - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports: + get: + tags: + - Me.Person + summary: Get DirectReports from Me + operationId: Me.ListDirectReports + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref': + delete: + tags: + - Me.Person + summary: Delete ref of navigation property DirectReports for Me + operationId: Me.DeleteRefDirectReports + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-8b92 + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref: + get: + tags: + - Me.Person + summary: Get ref of DirectReports from Me + operationId: Me.ListRefDirectReports + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Person + summary: Create new navigation property ref to DirectReports for Me + operationId: Me.CreateRefDirectReports + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire: + post: + tags: + - Me.Actions + summary: Invoke action Hire + description: Hires someone for the company. + operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire + consumes: + - application/json + parameters: + - in: body + name: body + description: Action parameters + required: true + schema: + type: object + properties: + hire: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: action + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip: + post: + tags: + - Me.Actions + summary: Invoke action ShareTrip + description: Details of the shared trip. + operationId: Me.ShareTrip + consumes: + - application/json + parameters: + - in: body + name: body + description: Action parameters + required: true + schema: + type: object + properties: + userName: + type: string + tripId: + format: int32 + maximum: 2147483647 + minimum: -2147483648 + type: integer + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: action + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': + get: + tags: + - Me.Functions + summary: Invoke function UpdatePersonLastName + operationId: Me.UpdatePersonLastName + produces: + - application/json + parameters: + - in: path + name: lastName + description: 'Usage: lastName=''{lastName}''' + required: true + type: string + responses: + '200': + description: Success + schema: + type: object + properties: + value: + default: false + type: boolean + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + /Me/Trips: + get: + tags: + - Me.Trip + summary: Get Trips from Me + description: Collection of trips. + operationId: Me.ListTrips + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - TripId + - TripId desc + - ShareId + - ShareId desc + - Name + - Name desc + - Budget + - Budget desc + - Description + - Description desc + - Tags + - Tags desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Trip + summary: Create new navigation property to Trips for Me + description: Collection of trips. + operationId: Me.CreateTrips + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: New navigation property + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + responses: + '201': + description: Created navigation property. + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}': + get: + tags: + - Me.Trip + summary: Get Trips from Me + description: Collection of trips. + operationId: Me.GetTrips + produces: + - application/json + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - Me.Trip + summary: Update the navigation property Trips in Me + description: Collection of trips. + operationId: Me.UpdateTrips + consumes: + - application/json + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: body + name: body + description: New navigation property values + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - Me.Trip + summary: Delete navigation property Trips for Me + description: Collection of trips. + operationId: Me.DeleteTrips + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: header + name: If-Match + description: ETag + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + get: + tags: + - Me.Functions + summary: Invoke function GetInvolvedPeople + operationId: Me.Trips.Trip.GetInvolvedPeople + produces: + - application/json + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + responses: + '200': + description: Success + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + '/Me/Trips/{TripId}/PlanItems': + get: + tags: + - Me.Trips.PlanItem + summary: Get PlanItems from Me + operationId: Me.Trips.ListPlanItems + produces: + - application/json + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - PlanItemId + - ConfirmationCode + - StartsAt + - EndsAt + - Duration + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of PlanItem + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': + delete: + tags: + - Me.Trips.PlanItem + summary: Delete ref of navigation property PlanItems for Me + operationId: Me.Trips.DeleteRefPlanItems + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: path + name: PlanItemId + description: 'key: PlanItemId of PlanItem' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: PlanItem + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}/PlanItems/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.PlanItems-c250 + produces: + - text/plain + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/Me/Trips/{TripId}/PlanItems/$ref': + get: + tags: + - Me.Trips.PlanItem + summary: Get ref of PlanItems from Me + operationId: Me.Trips.ListRefPlanItems + produces: + - application/json + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of PlanItem + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Trips.PlanItem + summary: Create new navigation property ref to PlanItems for Me + operationId: Me.Trips.CreateRefPlanItems + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + /Me/Trips/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Trips-7b69 + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /NewComePeople: + get: + tags: + - NewComePeople.Person + summary: Get entities from NewComePeople + operationId: NewComePeople.Person.ListPerson + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entities + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + post: + tags: + - NewComePeople.Person + summary: Add new entity to NewComePeople + operationId: NewComePeople.Person.CreatePerson + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: New entity + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + responses: + '201': + description: Created entity + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}': + get: + tags: + - NewComePeople.Person + summary: Get entity from NewComePeople by key + operationId: NewComePeople.Person.GetPerson + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entity + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - NewComePeople.Person + summary: Update entity in NewComePeople + operationId: NewComePeople.Person.UpdatePerson + consumes: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New property values + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - NewComePeople.Person + summary: Delete entity from NewComePeople + operationId: NewComePeople.Person.DeletePerson + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend': + get: + tags: + - NewComePeople.Person + summary: Get BestFriend from NewComePeople + description: The best friend. + operationId: NewComePeople.GetBestFriend + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/$ref': + get: + tags: + - NewComePeople.Person + summary: Get ref of BestFriend from NewComePeople + description: The best friend. + operationId: NewComePeople.GetRefBestFriend + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: Retrieved navigation property link + schema: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + put: + tags: + - NewComePeople.Person + summary: Update the ref of navigation property BestFriend in NewComePeople + description: The best friend. + operationId: NewComePeople.UpdateRefBestFriend + consumes: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref values + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - NewComePeople.Person + summary: Delete ref of navigation property BestFriend for NewComePeople + description: The best friend. + operationId: NewComePeople.DeleteRefBestFriend + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7b75 + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get Peers from NewComePeople + operationId: NewComePeople.BestFriend.ListPeers + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': + delete: + tags: + - NewComePeople.BestFriend.Person + summary: Delete ref of navigation property Peers for NewComePeople + operationId: NewComePeople.BestFriend.DeleteRefPeers + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-1269 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get ref of Peers from NewComePeople + operationId: NewComePeople.BestFriend.ListRefPeers + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.BestFriend.Person + summary: Create new navigation property ref to Peers for NewComePeople + operationId: NewComePeople.BestFriend.CreateRefPeers + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-61ce + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get DirectReports from NewComePeople + operationId: NewComePeople.BestFriend.ListDirectReports + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': + delete: + tags: + - NewComePeople.BestFriend.Person + summary: Delete ref of navigation property DirectReports for NewComePeople + operationId: NewComePeople.BestFriend.DeleteRefDirectReports + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-c923 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get ref of DirectReports from NewComePeople + operationId: NewComePeople.BestFriend.ListRefDirectReports + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.BestFriend.Person + summary: Create new navigation property ref to DirectReports for NewComePeople + operationId: NewComePeople.BestFriend.CreateRefDirectReports + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends': + get: + tags: + - NewComePeople.Person + summary: Get Friends from NewComePeople + operationId: NewComePeople.ListFriends + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/$ref': + delete: + tags: + - NewComePeople.Person + summary: Delete ref of navigation property Friends for NewComePeople + operationId: NewComePeople.DeleteRefFriends + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969 + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: + tags: + - NewComePeople.Friends.Person + summary: Get Peers from NewComePeople + operationId: NewComePeople.Friends.ListPeers + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref': + delete: + tags: + - NewComePeople.Friends.Person + summary: Delete ref of navigation property Peers for NewComePeople + operationId: NewComePeople.Friends.DeleteRefPeers + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName2 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-128d + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': + get: + tags: + - NewComePeople.Friends.Person + summary: Get ref of Peers from NewComePeople + operationId: NewComePeople.Friends.ListRefPeers + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Friends.Person + summary: Create new navigation property ref to Peers for NewComePeople + operationId: NewComePeople.Friends.CreateRefPeers + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': + get: + tags: + - NewComePeople.Friends.Person + summary: Get DirectReports from NewComePeople + operationId: NewComePeople.Friends.ListDirectReports + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref': + delete: + tags: + - NewComePeople.Friends.Person + summary: Delete ref of navigation property DirectReports for NewComePeople + operationId: NewComePeople.Friends.DeleteRefDirectReports + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName2 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-08c7 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': + get: + tags: + - NewComePeople.Friends.Person + summary: Get ref of DirectReports from NewComePeople + operationId: NewComePeople.Friends.ListRefDirectReports + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Friends.Person + summary: Create new navigation property ref to DirectReports for NewComePeople + operationId: NewComePeople.Friends.CreateRefDirectReports + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Friends-2ec1 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/$ref': + get: + tags: + - NewComePeople.Person + summary: Get ref of Friends from NewComePeople + operationId: NewComePeople.ListRefFriends + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Person + summary: Create new navigation property ref to Friends for NewComePeople + operationId: NewComePeople.CreateRefFriends + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969 + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-4069 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d1d3 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': + get: + tags: + - NewComePeople.Functions + summary: Invoke function GetFavoriteAirline + operationId: NewComePeople.Person.GetFavoriteAirline + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: Success + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': + get: + tags: + - NewComePeople.Functions + summary: Invoke function GetFriendsTrips + operationId: NewComePeople.Person.GetFriendsTrips + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: userName + description: 'Usage: userName=''{userName}''' + required: true + type: string + responses: + '200': + description: Success + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': + post: + tags: + - NewComePeople.Actions + summary: Invoke action GetPeersForTrip + operationId: NewComePeople.Person.GetPeersForTrip + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: Action parameters + required: true + schema: + type: object + properties: + userName: + type: string + tripId: + format: int32 + maximum: 2147483647 + minimum: -2147483648 + type: integer + responses: + '200': + description: Success + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: action + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire': + post: + tags: + - NewComePeople.Actions + summary: Invoke action Hire + description: Hires someone for the company. + operationId: NewComePeople.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire + consumes: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: Action parameters + required: true + schema: + type: object + properties: + hire: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: action + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip': + post: + tags: + - NewComePeople.Actions + summary: Invoke action ShareTrip + description: Details of the shared trip. + operationId: NewComePeople.Person.ShareTrip + consumes: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: Action parameters + required: true + schema: + type: object + properties: + userName: + type: string + tripId: + format: int32 + maximum: 2147483647 + minimum: -2147483648 + type: integer + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: action + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': + get: + tags: + - NewComePeople.Functions + summary: Invoke function UpdatePersonLastName + operationId: NewComePeople.Person.UpdatePersonLastName + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: lastName + description: 'Usage: lastName=''{lastName}''' + required: true + type: string + responses: + '200': + description: Success + schema: + type: object + properties: + value: + default: false + type: boolean + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Trips': + get: + tags: + - NewComePeople.Trip + summary: Get Trips from NewComePeople + description: Collection of trips. + operationId: NewComePeople.ListTrips + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - TripId + - TripId desc + - ShareId + - ShareId desc + - Name + - Name desc + - Budget + - Budget desc + - Description + - Description desc + - Tags + - Tags desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Trip + summary: Create new navigation property to Trips for NewComePeople + description: Collection of trips. + operationId: NewComePeople.CreateTrips + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + responses: + '201': + description: Created navigation property. + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}': + get: + tags: + - NewComePeople.Trip + summary: Get Trips from NewComePeople + description: Collection of trips. + operationId: NewComePeople.GetTrips + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - NewComePeople.Trip + summary: Update the navigation property Trips in NewComePeople + description: Collection of trips. + operationId: NewComePeople.UpdateTrips + consumes: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: body + name: body + description: New navigation property values + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - NewComePeople.Trip + summary: Delete navigation property Trips for NewComePeople + description: Collection of trips. + operationId: NewComePeople.DeleteTrips + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: header + name: If-Match + description: ETag + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + get: + tags: + - NewComePeople.Functions + summary: Invoke function GetInvolvedPeople + operationId: NewComePeople.Person.Trips.Trip.GetInvolvedPeople + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + responses: + '200': + description: Success + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems': + get: + tags: + - NewComePeople.Trips.PlanItem + summary: Get PlanItems from NewComePeople + operationId: NewComePeople.Trips.ListPlanItems + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - PlanItemId + - ConfirmationCode + - StartsAt + - EndsAt + - Duration + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + schema: + title: Collection of PlanItem + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': + delete: + tags: + - NewComePeople.Trips.PlanItem + summary: Delete ref of navigation property PlanItems for NewComePeople + operationId: NewComePeople.Trips.DeleteRefPlanItems + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - in: path + name: PlanItemId + description: 'key: PlanItemId of PlanItem' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: PlanItem + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.PlanItems-841f + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref': + get: + tags: + - NewComePeople.Trips.PlanItem + summary: Get ref of PlanItems from NewComePeople + operationId: NewComePeople.Trips.ListRefPlanItems + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 + maximum: 2147483647 + minimum: -2147483648 + x-ms-docs-key-type: Trip + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + responses: + '200': + description: Retrieved navigation property links + schema: + title: Collection of links of PlanItem + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Trips.PlanItem + summary: Create new navigation property ref to PlanItems for NewComePeople + operationId: NewComePeople.Trips.CreateRefPlanItems + consumes: + - application/json + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: TripId + description: 'key: TripId of Trip' + required: true + type: integer + format: int32 maximum: 2147483647 minimum: -2147483648 x-ms-docs-key-type: Trip - in: body name: body - description: New navigation property values + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object + responses: + '201': + description: Created navigation property link. + schema: + type: object + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Trips-d155 + produces: + - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /NewComePeople/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.NewComePeople-55d5 + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /People: + get: + tags: + - People.Person + summary: Get entities from People + operationId: People.Person.ListPerson + produces: + - application/json + parameters: + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entities + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + post: + tags: + - People.Person + summary: Add new entity to People + operationId: People.Person.CreatePerson + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + description: New entity + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + responses: + '201': + description: Created entity + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}': + get: + tags: + - People.Person + summary: Get entity from People by key + operationId: People.Person.GetPerson + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entity + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - People.Person + summary: Update entity in People + operationId: People.Person.UpdatePerson + consumes: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New property values + required: true + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - People.Person + summary: Delete entity from People + operationId: People.Person.DeletePerson + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend': + get: + tags: + - People.Person + summary: Get BestFriend from People + description: The best friend. + operationId: People.GetBestFriend + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend/$ref': + get: + tags: + - People.Person + summary: Get ref of BestFriend from People + description: The best friend. + operationId: People.GetRefBestFriend + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: Retrieved navigation property link + schema: + type: string + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + put: + tags: + - People.Person + summary: Update the ref of navigation property BestFriend in People + description: The best friend. + operationId: People.UpdateRefBestFriend + consumes: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref values required: true schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + type: object + additionalProperties: + type: object responses: '204': description: Success @@ -1131,20 +6323,17 @@ paths: x-ms-docs-operation-type: operation delete: tags: - - Me.Trip - summary: Delete navigation property Trips for Me - description: Collection of trips. - operationId: Me.DeleteTrips + - People.Person + summary: Delete ref of navigation property BestFriend for People + description: The best friend. + operationId: People.DeleteRefBestFriend parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - in: header name: If-Match description: ETag @@ -1155,56 +6344,75 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': get: tags: - - Me.Functions - summary: Invoke function GetInvolvedPeople - operationId: Me.Trips.Trip.GetInvolvedPeople + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7188 produces: - application/json parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: Success + description: Result entities schema: - title: Collection of Trip - type: object - properties: - value: - type: array - items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' default: $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/Me/Trips/{TripId}/PlanItems': + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': get: tags: - - Me.Trips.PlanItem - summary: Get PlanItems from Me - operationId: Me.Trips.ListPlanItems + - People.BestFriend.Person + summary: Get Peers from People + operationId: People.BestFriend.ListPeers produces: - application/json parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -1216,16 +6424,28 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string - in: query name: $select @@ -1233,11 +6453,20 @@ paths: type: array items: enum: - - PlanItemId - - ConfirmationCode - - StartsAt - - EndsAt - - Duration + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - in: query name: $expand @@ -1246,46 +6475,46 @@ paths: items: enum: - '*' + - Friends + - BestFriend + - Trips type: string responses: '200': description: Retrieved navigation property schema: - title: Collection of PlanItem + title: Collection of Person type: object properties: value: type: array items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': + x-ms-docs-grouped-path: + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': delete: tags: - - Me.Trips.PlanItem - summary: Delete ref of navigation property PlanItems for Me - operationId: Me.Trips.DeleteRefPlanItems + - People.BestFriend.Person + summary: Delete ref of navigation property Peers for People + operationId: People.BestFriend.DeleteRefPeers parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - in: path - name: PlanItemId - description: 'key: PlanItemId of PlanItem' + name: UserName1 + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: PlanItem + type: string + x-ms-docs-key-type: Person - in: header name: If-Match description: ETag @@ -1300,22 +6529,19 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}/PlanItems/$count': + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': get: summary: Get the number of the resource - operationId: Get.Count.PlanItems + operationId: Get.Count.Peers-5860 produces: - text/plain parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person responses: '200': description: The count of the resource @@ -1323,24 +6549,21 @@ paths: $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - '/Me/Trips/{TripId}/PlanItems/$ref': + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': get: tags: - - Me.Trips.PlanItem - summary: Get ref of PlanItems from Me - operationId: Me.Trips.ListRefPlanItems + - People.BestFriend.Person + summary: Get ref of Peers from People + operationId: People.BestFriend.ListRefPeers produces: - application/json parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -1352,22 +6575,34 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string responses: '200': description: Retrieved navigation property links schema: - title: Collection of links of PlanItem + title: Collection of links of Person type: object properties: value: @@ -1379,23 +6614,20 @@ paths: x-ms-docs-operation-type: operation post: tags: - - Me.Trips.PlanItem - summary: Create new navigation property ref to PlanItems for Me - operationId: Me.Trips.CreateRefPlanItems + - People.BestFriend.Person + summary: Create new navigation property ref to Peers for People + operationId: People.BestFriend.CreateRefPeers consumes: - application/json produces: - application/json parameters: - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - in: body name: body description: New navigation property ref value @@ -1412,28 +6644,75 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - /Me/Trips/$count: + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': get: - summary: Get the number of the resource - operationId: Get.Count.Trips + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-5f08 produces: - - text/plain + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: The count of the resource + description: Result entities schema: - $ref: '#/definitions/ODataCountResponse' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/responses/error' - /NewComePeople: + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': get: tags: - - NewComePeople.Person - summary: Get entities from NewComePeople - operationId: NewComePeople.Person.ListPerson + - People.BestFriend.Person + summary: Get DirectReports from People + operationId: People.BestFriend.ListDirectReports produces: - application/json parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -1502,7 +6781,7 @@ paths: type: string responses: '200': - description: Retrieved entities + description: Retrieved navigation property schema: title: Collection of Person type: object @@ -1513,38 +6792,16 @@ paths: $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' - post: - tags: - - NewComePeople.Person - summary: Add new entity to NewComePeople - operationId: NewComePeople.Person.CreatePerson - consumes: - - application/json - produces: - - application/json - parameters: - - in: body - name: body - description: New entity - required: true - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - responses: - '201': - description: Created entity - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - default: - $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}': - get: + x-ms-docs-grouped-path: + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': + delete: tags: - - NewComePeople.Person - summary: Get entity from NewComePeople by key - operationId: NewComePeople.Person.GetPerson - produces: - - application/json + - People.BestFriend.Person + summary: Delete ref of navigation property DirectReports for People + operationId: People.BestFriend.DeleteRefDirectReports parameters: - in: path name: UserName @@ -1552,77 +6809,32 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: query - name: $select - description: Select properties to be returned - type: array - items: - enum: - - UserName - - FirstName - - LastName - - MiddleName - - Gender - - Age - - Emails - - AddressInfo - - HomeAddress - - FavoriteFeature - - Features - - Friends - - BestFriend - - Trips - type: string - - in: query - name: $expand - description: Expand related entities - type: array - items: - enum: - - '*' - - Friends - - BestFriend - - Trips - type: string - responses: - '200': - description: Retrieved entity - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: operation - patch: - tags: - - NewComePeople.Person - summary: Update entity in NewComePeople - operationId: NewComePeople.Person.UpdatePerson - consumes: - - application/json - parameters: - in: path - name: UserName + name: UserName1 description: 'key: UserName of Person' required: true type: string x-ms-docs-key-type: Person - - in: body - name: body - description: New property values - required: true - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string responses: '204': description: Success default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - delete: - tags: - - NewComePeople.Person - summary: Delete entity from NewComePeople - operationId: NewComePeople.Person.DeletePerson + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-cddc + produces: + - text/plain parameters: - in: path name: UserName @@ -1630,23 +6842,19 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: header - name: If-Match - description: ETag - type: string responses: - '204': - description: Success + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/BestFriend': + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': get: tags: - - NewComePeople.Person - summary: Get BestFriend from NewComePeople - description: The best friend. - operationId: NewComePeople.GetBestFriend + - People.BestFriend.Person + summary: Get ref of DirectReports from People + operationId: People.BestFriend.ListRefDirectReports produces: - application/json parameters: @@ -1656,78 +6864,63 @@ paths: required: true type: string x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' - in: query - name: $select - description: Select properties to be returned + name: $orderby + description: Order items by property values type: array items: enum: - UserName + - UserName desc - FirstName + - FirstName desc - LastName + - LastName desc - MiddleName + - MiddleName desc - Gender + - Gender desc - Age + - Age desc - Emails + - Emails desc - AddressInfo + - AddressInfo desc - HomeAddress + - HomeAddress desc - FavoriteFeature + - FavoriteFeature desc - Features - - Friends - - BestFriend - - Trips - type: string - - in: query - name: $expand - description: Expand related entities - type: array - items: - enum: - - '*' - - Friends - - BestFriend - - Trips + - Features desc type: string responses: '200': - description: Retrieved navigation property - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/BestFriend/$ref': - get: - tags: - - NewComePeople.Person - summary: Get ref of BestFriend from NewComePeople - description: The best friend. - operationId: NewComePeople.GetRefBestFriend - produces: - - application/json - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - responses: - '200': - description: Retrieved navigation property link + description: Retrieved navigation property links schema: - type: string + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - put: + post: tags: - - NewComePeople.Person - summary: Update the ref of navigation property BestFriend in NewComePeople - description: The best friend. - operationId: NewComePeople.UpdateRefBestFriend + - People.BestFriend.Person + summary: Create new navigation property ref to DirectReports for People + operationId: People.BestFriend.CreateRefDirectReports consumes: - application/json + produces: + - application/json parameters: - in: path name: UserName @@ -1737,47 +6930,26 @@ paths: x-ms-docs-key-type: Person - in: body name: body - description: New navigation property ref values + description: New navigation property ref value required: true schema: type: object additionalProperties: type: object responses: - '204': - description: Success - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: operation - delete: - tags: - - NewComePeople.Person - summary: Delete ref of navigation property BestFriend for NewComePeople - description: The best friend. - operationId: NewComePeople.DeleteRefBestFriend - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - - in: header - name: If-Match - description: ETag - type: string - responses: - '204': - description: Success + '201': + description: Created navigation property link. + schema: + type: object default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Friends': + '/People/{UserName}/Friends': get: tags: - - NewComePeople.Person - summary: Get Friends from NewComePeople - operationId: NewComePeople.ListFriends + - People.Person + summary: Get Friends from People + operationId: People.ListFriends produces: - application/json parameters: @@ -1867,12 +7039,12 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Friends/{UserName1}/$ref': + '/People/{UserName}/Friends/{UserName1}/$ref': delete: tags: - - NewComePeople.Person - summary: Delete ref of navigation property Friends for NewComePeople - operationId: NewComePeople.DeleteRefFriends + - People.Person + summary: Delete ref of navigation property Friends for People + operationId: People.DeleteRefFriends parameters: - in: path name: UserName @@ -1900,12 +7072,14 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Friends/$count': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': get: - summary: Get the number of the resource - operationId: Get.Count.Friends + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf produces: - - text/plain + - application/json parameters: - in: path name: UserName @@ -1913,19 +7087,57 @@ paths: required: true type: string x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: The count of the resource + description: Result entities schema: - $ref: '#/definitions/ODataCountResponse' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' default: $ref: '#/responses/error' - '/NewComePeople/{UserName}/Friends/$ref': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': get: tags: - - NewComePeople.Person - summary: Get ref of Friends from NewComePeople - operationId: NewComePeople.ListRefFriends + - People.Friends.Person + summary: Get Peers from People + operationId: People.Friends.ListPeers produces: - application/json parameters: @@ -1935,6 +7147,12 @@ paths: required: true type: string x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -1969,143 +7187,41 @@ paths: - Features - Features desc type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: Retrieved navigation property links - schema: - title: Collection of links of Person - type: object - properties: - value: - type: array - items: - type: string - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: operation - post: - tags: - - NewComePeople.Person - summary: Create new navigation property ref to Friends for NewComePeople - operationId: NewComePeople.CreateRefFriends - consumes: - - application/json - produces: - - application/json - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - - in: body - name: body - description: New navigation property ref value - required: true - schema: - type: object - additionalProperties: - type: object - responses: - '201': - description: Created navigation property link. - schema: - type: object - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': - get: - tags: - - NewComePeople.Functions - summary: Invoke function GetFavoriteAirline - operationId: NewComePeople.Person.GetFavoriteAirline - produces: - - application/json - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - responses: - '200': - description: Success - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': - get: - tags: - - NewComePeople.Functions - summary: Invoke function GetFriendsTrips - operationId: NewComePeople.Person.GetFriendsTrips - produces: - - application/json - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - - in: path - name: userName - description: 'Usage: userName=''{userName}''' - required: true - type: string - responses: - '200': - description: Success - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': - post: - tags: - - NewComePeople.Actions - summary: Invoke action GetPeersForTrip - operationId: NewComePeople.Person.GetPeersForTrip - consumes: - - application/json - produces: - - application/json - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - - in: body - name: body - description: Action parameters - required: true - schema: - type: object - properties: - userName: - type: string - tripId: - format: int32 - maximum: 2147483647 - minimum: -2147483648 - type: integer - responses: - '200': - description: Success + description: Retrieved navigation property schema: title: Collection of Person type: object @@ -2116,16 +7232,16 @@ paths: $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' - x-ms-docs-operation-type: action - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip': - post: + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref': + delete: tags: - - NewComePeople.Actions - summary: Invoke action ShareTrip - description: Details of the shared trip. - operationId: NewComePeople.Person.ShareTrip - consumes: - - application/json + - People.Friends.Person + summary: Delete ref of navigation property Peers for People + operationId: People.Friends.DeleteRefPeers parameters: - in: path name: UserName @@ -2133,34 +7249,38 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: body - name: body - description: Action parameters + - in: path + name: UserName1 + description: 'key: UserName of Person' required: true - schema: - type: object - properties: - userName: - type: string - tripId: - format: int32 - maximum: 2147483647 - minimum: -2147483648 - type: integer + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName2 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string responses: '204': description: Success default: $ref: '#/responses/error' - x-ms-docs-operation-type: action - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': + x-ms-docs-operation-type: operation + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': get: - tags: - - NewComePeople.Functions - summary: Invoke function UpdatePersonLastName - operationId: NewComePeople.Person.UpdatePersonLastName + summary: Get the number of the resource + operationId: Get.Count.Peers-ff21 produces: - - application/json + - text/plain parameters: - in: path name: UserName @@ -2169,29 +7289,24 @@ paths: type: string x-ms-docs-key-type: Person - in: path - name: lastName - description: 'Usage: lastName=''{lastName}''' + name: UserName1 + description: 'key: UserName of Person' required: true type: string + x-ms-docs-key-type: Person responses: '200': - description: Success + description: The count of the resource schema: - type: object - properties: - value: - default: false - type: boolean + $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Trips': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': get: tags: - - NewComePeople.Trip - summary: Get Trips from NewComePeople - description: Collection of trips. - operationId: NewComePeople.ListTrips + - People.Friends.Person + summary: Get ref of Peers from People + operationId: People.Friends.ListRefPeers produces: - application/json parameters: @@ -2201,6 +7316,12 @@ paths: required: true type: string x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -2212,68 +7333,48 @@ paths: type: array items: enum: - - TripId - - TripId desc - - ShareId - - ShareId desc - - Name - - Name desc - - Budget - - Budget desc - - Description - - Description desc - - Tags - - Tags desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - type: string - - in: query - name: $select - description: Select properties to be returned - type: array - items: - enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems - type: string - - in: query - name: $expand - description: Expand related entities - type: array - items: - enum: - - '*' - - PlanItems + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string responses: '200': - description: Retrieved navigation property + description: Retrieved navigation property links schema: - title: Collection of Trip + title: Collection of links of Person type: object properties: value: type: array items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + type: string default: $ref: '#/responses/error' x-ms-docs-operation-type: operation post: tags: - - NewComePeople.Trip - summary: Create new navigation property to Trips for NewComePeople - description: Collection of trips. - operationId: NewComePeople.CreateTrips + - People.Friends.Person + summary: Create new navigation property ref to Peers for People + operationId: People.Friends.CreateRefPeers consumes: - application/json produces: @@ -2285,27 +7386,34 @@ paths: required: true type: string x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person - in: body name: body - description: New navigation property + description: New navigation property ref value required: true schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + type: object + additionalProperties: + type: object responses: '201': - description: Created navigation property. + description: Created navigation property link. schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + type: object default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': get: tags: - - NewComePeople.Trip - summary: Get Trips from NewComePeople - description: Collection of trips. - operationId: NewComePeople.GetTrips + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb produces: - application/json parameters: @@ -2316,29 +7424,125 @@ paths: type: string x-ms-docs-key-type: Person - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName1 + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': + get: + tags: + - People.Friends.Person + summary: Get DirectReports from People + operationId: People.Friends.ListDirectReports + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' + - in: query + name: $orderby + description: Order items by property values + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string - in: query name: $select description: Select properties to be returned type: array items: enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - in: query name: $expand @@ -2347,24 +7551,33 @@ paths: items: enum: - '*' - - PlanItems + - Friends + - BestFriend + - Trips type: string responses: '200': description: Retrieved navigation property schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - patch: + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref': + delete: tags: - - NewComePeople.Trip - summary: Update the navigation property Trips in NewComePeople - description: Collection of trips. - operationId: NewComePeople.UpdateTrips - consumes: - - application/json + - People.Friends.Person + summary: Delete ref of navigation property DirectReports for People + operationId: People.Friends.DeleteRefDirectReports parameters: - in: path name: UserName @@ -2373,66 +7586,37 @@ paths: type: string x-ms-docs-key-type: Person - in: path - name: TripId - description: 'key: TripId of Trip' - required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip - - in: body - name: body - description: New navigation property values - required: true - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - responses: - '204': - description: Success - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: operation - delete: - tags: - - NewComePeople.Trip - summary: Delete navigation property Trips for NewComePeople - description: Collection of trips. - operationId: NewComePeople.DeleteTrips - parameters: - - in: path - name: UserName + name: UserName1 description: 'key: UserName of Person' required: true type: string x-ms-docs-key-type: Person - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName2 + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - in: header name: If-Match description: ETag type: string + - in: query + name: '@id' + description: Delete Uri + type: string responses: '204': description: Success default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': get: - tags: - - NewComePeople.Functions - summary: Invoke function GetInvolvedPeople - operationId: NewComePeople.Person.Trips.Trip.GetInvolvedPeople + summary: Get the number of the resource + operationId: Get.Count.DirectReports-3b03 produces: - - application/json + - text/plain parameters: - in: path name: UserName @@ -2441,34 +7625,24 @@ paths: type: string x-ms-docs-key-type: Person - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName1 + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person responses: '200': - description: Success + description: The count of the resource schema: - title: Collection of Trip - type: object - properties: - value: - type: array - items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': get: tags: - - NewComePeople.Trips.PlanItem - summary: Get PlanItems from NewComePeople - operationId: NewComePeople.Trips.ListPlanItems + - People.Friends.Person + summary: Get ref of DirectReports from People + operationId: People.Friends.ListRefDirectReports produces: - application/json parameters: @@ -2479,14 +7653,11 @@ paths: type: string x-ms-docs-key-type: Person - in: path - name: TripId - description: 'key: TripId of Trip' + name: UserName1 + description: 'key: UserName of Person' required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -2498,100 +7669,85 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc - type: string - - in: query - name: $select - description: Select properties to be returned - type: array - items: - enum: - - PlanItemId - - ConfirmationCode - - StartsAt - - EndsAt - - Duration - type: string - - in: query - name: $expand - description: Expand related entities - type: array - items: - enum: - - '*' + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string responses: '200': - description: Retrieved navigation property + description: Retrieved navigation property links schema: - title: Collection of PlanItem + title: Collection of links of Person type: object properties: value: type: array items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + type: string default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': - delete: + post: tags: - - NewComePeople.Trips.PlanItem - summary: Delete ref of navigation property PlanItems for NewComePeople - operationId: NewComePeople.Trips.DeleteRefPlanItems + - People.Friends.Person + summary: Create new navigation property ref to DirectReports for People + operationId: People.Friends.CreateRefDirectReports + consumes: + - application/json + produces: + - application/json parameters: - in: path name: UserName description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - - in: path - name: TripId - description: 'key: TripId of Trip' - required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip - - in: path - name: PlanItemId - description: 'key: PlanItemId of PlanItem' - required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: PlanItem - - in: header - name: If-Match - description: ETag - type: string - - in: query - name: '@id' - description: Delete Uri + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true type: string + x-ms-docs-key-type: Person + - in: body + name: body + description: New navigation property ref value + required: true + schema: + type: object + additionalProperties: + type: object responses: - '204': - description: Success + '201': + description: Created navigation property link. + schema: + type: object default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count': + '/People/{UserName}/Friends/$count': get: summary: Get the number of the resource - operationId: Get.Count.PlanItems + operationId: Get.Count.Friends-92b9 produces: - text/plain parameters: @@ -2601,15 +7757,6 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: path - name: TripId - description: 'key: TripId of Trip' - required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip responses: '200': description: The count of the resource @@ -2617,12 +7764,12 @@ paths: $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref': + '/People/{UserName}/Friends/$ref': get: tags: - - NewComePeople.Trips.PlanItem - summary: Get ref of PlanItems from NewComePeople - operationId: NewComePeople.Trips.ListRefPlanItems + - People.Person + summary: Get ref of Friends from People + operationId: People.ListRefFriends produces: - application/json parameters: @@ -2632,15 +7779,6 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: path - name: TripId - description: 'key: TripId of Trip' - required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -2652,22 +7790,34 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string responses: '200': description: Retrieved navigation property links schema: - title: Collection of links of PlanItem + title: Collection of links of Person type: object properties: value: @@ -2679,9 +7829,9 @@ paths: x-ms-docs-operation-type: operation post: tags: - - NewComePeople.Trips.PlanItem - summary: Create new navigation property ref to PlanItems for NewComePeople - operationId: NewComePeople.Trips.CreateRefPlanItems + - People.Person + summary: Create new navigation property ref to Friends for People + operationId: People.CreateRefFriends consumes: - application/json produces: @@ -2693,15 +7843,6 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: path - name: TripId - description: 'key: TripId of Trip' - required: true - type: integer - format: int32 - maximum: 2147483647 - minimum: -2147483648 - x-ms-docs-key-type: Trip - in: body name: body description: New navigation property ref value @@ -2718,10 +7859,64 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/$count': + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count': get: summary: Get the number of the resource - operationId: Get.Count.Trips + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-a96c produces: - text/plain parameters: @@ -2738,12 +7933,73 @@ paths: $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - /NewComePeople/$count: + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count': get: summary: Get the number of the resource - operationId: Get.Count.NewComePeople + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-26b3 produces: - text/plain + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person responses: '200': description: The count of the resource @@ -2751,15 +8007,75 @@ paths: $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - /People: + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': get: tags: - - People.Person - summary: Get entities from People - operationId: People.Person.ListPerson + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-317b + produces: + - application/json + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: + tags: + - People.Person + summary: Get Peers from People + operationId: People.ListPeers produces: - application/json parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person - $ref: '#/parameters/top' - $ref: '#/parameters/skip' - $ref: '#/parameters/search' @@ -2828,7 +8144,7 @@ paths: type: string responses: '200': - description: Retrieved entities + description: Retrieved navigation property schema: title: Collection of Person type: object @@ -2839,36 +8155,69 @@ paths: $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' - post: + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': + delete: tags: - People.Person - summary: Add new entity to People - operationId: People.Person.CreatePerson - consumes: - - application/json + summary: Delete ref of navigation property Peers for People + operationId: People.DeleteRefPeers + parameters: + - in: path + name: UserName + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: path + name: UserName1 + description: 'key: UserName of Person' + required: true + type: string + x-ms-docs-key-type: Person + - in: header + name: If-Match + description: ETag + type: string + - in: query + name: '@id' + description: Delete Uri + type: string + responses: + '204': + description: Success + default: + $ref: '#/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-44d2 produces: - - application/json + - text/plain parameters: - - in: body - name: body - description: New entity + - in: path + name: UserName + description: 'key: UserName of Person' required: true - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + type: string + x-ms-docs-key-type: Person responses: - '201': - description: Created entity + '200': + description: The count of the resource schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - x-ms-docs-operation-type: operation - '/People/{UserName}': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': get: tags: - People.Person - summary: Get entity from People by key - operationId: People.Person.GetPerson + summary: Get ref of Peers from People + operationId: People.ListRefPeers produces: - application/json parameters: @@ -2878,53 +8227,63 @@ paths: required: true type: string x-ms-docs-key-type: Person + - $ref: '#/parameters/top' + - $ref: '#/parameters/skip' + - $ref: '#/parameters/search' + - $ref: '#/parameters/filter' + - $ref: '#/parameters/count' - in: query - name: $select - description: Select properties to be returned + name: $orderby + description: Order items by property values type: array items: enum: - UserName + - UserName desc - FirstName + - FirstName desc - LastName + - LastName desc - MiddleName + - MiddleName desc - Gender + - Gender desc - Age + - Age desc - Emails + - Emails desc - AddressInfo + - AddressInfo desc - HomeAddress + - HomeAddress desc - FavoriteFeature + - FavoriteFeature desc - Features - - Friends - - BestFriend - - Trips - type: string - - in: query - name: $expand - description: Expand related entities - type: array - items: - enum: - - '*' - - Friends - - BestFriend - - Trips + - Features desc type: string responses: '200': - description: Retrieved entity + description: Retrieved navigation property links schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - patch: + post: tags: - People.Person - summary: Update entity in People - operationId: People.Person.UpdatePerson + summary: Create new navigation property ref to Peers for People + operationId: People.CreateRefPeers consumes: - application/json + produces: + - application/json parameters: - in: path name: UserName @@ -2934,45 +8293,26 @@ paths: x-ms-docs-key-type: Person - in: body name: body - description: New property values + description: New navigation property ref value required: true schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - responses: - '204': - description: Success - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: operation - delete: - tags: - - People.Person - summary: Delete entity from People - operationId: People.Person.DeletePerson - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - - in: header - name: If-Match - description: ETag - type: string + type: object + additionalProperties: + type: object responses: - '204': - description: Success + '201': + description: Created navigation property link. + schema: + type: object default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/BestFriend': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': get: tags: - - People.Person - summary: Get BestFriend from People - description: The best friend. - operationId: People.GetBestFriend + - People.Functions + summary: Invoke function GetFavoriteAirline + operationId: People.Person.GetFavoriteAirline produces: - application/json parameters: @@ -2982,53 +8322,20 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: query - name: $select - description: Select properties to be returned - type: array - items: - enum: - - UserName - - FirstName - - LastName - - MiddleName - - Gender - - Age - - Emails - - AddressInfo - - HomeAddress - - FavoriteFeature - - Features - - Friends - - BestFriend - - Trips - type: string - - in: query - name: $expand - description: Expand related entities - type: array - items: - enum: - - '*' - - Friends - - BestFriend - - Trips - type: string responses: '200': - description: Retrieved navigation property + description: Success schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' default: $ref: '#/responses/error' - x-ms-docs-operation-type: operation - '/People/{UserName}/BestFriend/$ref': + x-ms-docs-operation-type: function + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': get: tags: - - People.Person - summary: Get ref of BestFriend from People - description: The best friend. - operationId: People.GetRefBestFriend + - People.Functions + summary: Invoke function GetFriendsTrips + operationId: People.Person.GetFriendsTrips produces: - application/json parameters: @@ -3038,22 +8345,35 @@ paths: required: true type: string x-ms-docs-key-type: Person + - in: path + name: userName + description: 'Usage: userName=''{userName}''' + required: true + type: string responses: '200': - description: Retrieved navigation property link + description: Success schema: - type: string + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' default: $ref: '#/responses/error' - x-ms-docs-operation-type: operation - put: + x-ms-docs-operation-type: function + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': + post: tags: - - People.Person - summary: Update the ref of navigation property BestFriend in People - description: The best friend. - operationId: People.UpdateRefBestFriend + - People.Actions + summary: Invoke action GetPeersForTrip + operationId: People.Person.GetPeersForTrip consumes: - application/json + produces: + - application/json parameters: - in: path name: UserName @@ -3063,24 +8383,40 @@ paths: x-ms-docs-key-type: Person - in: body name: body - description: New navigation property ref values + description: Action parameters required: true schema: type: object - additionalProperties: - type: object + properties: + userName: + type: string + tripId: + format: int32 + maximum: 2147483647 + minimum: -2147483648 + type: integer responses: - '204': + '200': description: Success + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' - x-ms-docs-operation-type: operation - delete: + x-ms-docs-operation-type: action + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: tags: - - People.Person - summary: Delete ref of navigation property BestFriend for People - description: The best friend. - operationId: People.DeleteRefBestFriend + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d051 + produces: + - application/json parameters: - in: path name: UserName @@ -3088,22 +8424,51 @@ paths: required: true type: string x-ms-docs-key-type: Person - - in: header - name: If-Match - description: ETag - type: string + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: - '204': - description: Success + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/responses/error' - x-ms-docs-operation-type: operation - '/People/{UserName}/Friends': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': get: tags: - People.Person - summary: Get Friends from People - operationId: People.ListFriends + summary: Get DirectReports from People + operationId: People.ListDirectReports produces: - application/json parameters: @@ -3193,12 +8558,15 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/Friends/{UserName1}/$ref': + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': delete: tags: - People.Person - summary: Delete ref of navigation property Friends for People - operationId: People.DeleteRefFriends + summary: Delete ref of navigation property DirectReports for People + operationId: People.DeleteRefDirectReports parameters: - in: path name: UserName @@ -3226,10 +8594,10 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/Friends/$count': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': get: summary: Get the number of the resource - operationId: Get.Count.Friends + operationId: Get.Count.DirectReports-0ec4 produces: - text/plain parameters: @@ -3246,12 +8614,12 @@ paths: $ref: '#/definitions/ODataCountResponse' default: $ref: '#/responses/error' - '/People/{UserName}/Friends/$ref': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': get: tags: - People.Person - summary: Get ref of Friends from People - operationId: People.ListRefFriends + summary: Get ref of DirectReports from People + operationId: People.ListRefDirectReports produces: - application/json parameters: @@ -3312,8 +8680,8 @@ paths: post: tags: - People.Person - summary: Create new navigation property ref to Friends for People - operationId: People.CreateRefFriends + summary: Create new navigation property ref to DirectReports for People + operationId: People.CreateRefDirectReports consumes: - application/json produces: @@ -3341,73 +8709,15 @@ paths: default: $ref: '#/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': - get: - tags: - - People.Functions - summary: Invoke function GetFavoriteAirline - operationId: People.Person.GetFavoriteAirline - produces: - - application/json - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - responses: - '200': - description: Success - schema: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': - get: - tags: - - People.Functions - summary: Invoke function GetFriendsTrips - operationId: People.Person.GetFriendsTrips - produces: - - application/json - parameters: - - in: path - name: UserName - description: 'key: UserName of Person' - required: true - type: string - x-ms-docs-key-type: Person - - in: path - name: userName - description: 'Usage: userName=''{userName}''' - required: true - type: string - responses: - '200': - description: Success - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - default: - $ref: '#/responses/error' - x-ms-docs-operation-type: function - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire': post: tags: - People.Actions - summary: Invoke action GetPeersForTrip - operationId: People.Person.GetPeersForTrip + summary: Invoke action Hire + description: Hires someone for the company. + operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire consumes: - application/json - produces: - - application/json parameters: - in: path name: UserName @@ -3422,24 +8732,11 @@ paths: schema: type: object properties: - userName: - type: string - tripId: - format: int32 - maximum: 2147483647 - minimum: -2147483648 - type: integer + hire: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' responses: - '200': + '204': description: Success - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/responses/error' x-ms-docs-operation-type: action @@ -3917,7 +9214,7 @@ paths: '/People/{UserName}/Trips/{TripId}/PlanItems/$count': get: summary: Get the number of the resource - operationId: Get.Count.PlanItems + operationId: Get.Count.PlanItems-9a27 produces: - text/plain parameters: @@ -4047,7 +9344,7 @@ paths: '/People/{UserName}/Trips/$count': get: summary: Get the number of the resource - operationId: Get.Count.Trips + operationId: Get.Count.Trips-e877 produces: - text/plain parameters: @@ -4067,7 +9364,129 @@ paths: /People/$count: get: summary: Get the number of the resource - operationId: Get.Count.People + operationId: Get.Count.People-dd8d + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-013a + produces: + - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-ef29 + produces: + - text/plain + responses: + '200': + description: The count of the resource + schema: + $ref: '#/definitions/ODataCountResponse' + default: + $ref: '#/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-3e14 + produces: + - application/json + parameters: + - in: query + name: $select + description: Select properties to be returned + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - in: query + name: $expand + description: Expand related entities + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + schema: + $ref: '#/definitions/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-2d48 produces: - text/plain responses: @@ -4530,6 +9949,12 @@ tags: x-ms-docs-toc-type: container - name: Me.Person x-ms-docs-toc-type: page + - name: Person.Employee + - name: Me.BestFriend.Person + x-ms-docs-toc-type: page + - name: Person.Manager + - name: Me.Friends.Person + x-ms-docs-toc-type: page - name: Me.Functions x-ms-docs-toc-type: container - name: Me.Actions @@ -4540,6 +9965,10 @@ tags: x-ms-docs-toc-type: page - name: NewComePeople.Person x-ms-docs-toc-type: page + - name: NewComePeople.BestFriend.Person + x-ms-docs-toc-type: page + - name: NewComePeople.Friends.Person + x-ms-docs-toc-type: page - name: NewComePeople.Functions x-ms-docs-toc-type: container - name: NewComePeople.Actions @@ -4550,6 +9979,10 @@ tags: x-ms-docs-toc-type: page - name: People.Person x-ms-docs-toc-type: page + - name: People.BestFriend.Person + x-ms-docs-toc-type: page + - name: People.Friends.Person + x-ms-docs-toc-type: page - name: People.Functions x-ms-docs-toc-type: container - name: People.Actions 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 1652d7d4..ac0d27a0 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.json +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.json @@ -300,7 +300,7 @@ "/Airlines/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Airlines", + "operationId": "Get.Count.Airlines-27a7", "responses": { "200": { "description": "The count of the resource", @@ -615,7 +615,7 @@ "/Airports/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Airports", + "operationId": "Get.Count.Airports-60cc", "responses": { "200": { "description": "The count of the resource", @@ -1008,13 +1008,89 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Friends": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { "get": { "tags": [ - "Me.Person" + "Person.Employee" ], - "summary": "Get Friends from Me", - "operationId": "Me.ListFriends", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-dcf6", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "Me.BestFriend.Person" + ], + "summary": "Get Peers from Me", + "operationId": "Me.BestFriend.ListPeers", "parameters": [ { "$ref": "#/components/parameters/top" @@ -1145,15 +1221,19 @@ } }, "x-ms-docs-operation-type": "operation" - } + }, + "x-ms-docs-grouped-path": [ + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] }, - "/Me/Friends/{UserName}/$ref": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref": { "delete": { "tags": [ - "Me.Person" + "Me.BestFriend.Person" ], - "summary": "Delete ref of navigation property Friends for Me", - "operationId": "Me.DeleteRefFriends", + "summary": "Delete ref of navigation property Peers for Me", + "operationId": "Me.BestFriend.DeleteRefPeers", "parameters": [ { "name": "UserName", @@ -1193,10 +1273,10 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Friends/$count": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Friends", + "operationId": "Get.Count.Peers-e850", "responses": { "200": { "description": "The count of the resource", @@ -1214,13 +1294,13 @@ } } }, - "/Me/Friends/$ref": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { "get": { "tags": [ - "Me.Person" + "Me.BestFriend.Person" ], - "summary": "Get ref of Friends from Me", - "operationId": "Me.ListRefFriends", + "summary": "Get ref of Peers from Me", + "operationId": "Me.BestFriend.ListRefPeers", "parameters": [ { "$ref": "#/components/parameters/top" @@ -1304,10 +1384,10 @@ }, "post": { "tags": [ - "Me.Person" + "Me.BestFriend.Person" ], - "summary": "Create new navigation property ref to Friends for Me", - "operationId": "Me.CreateRefFriends", + "summary": "Create new navigation property ref to Peers for Me", + "operationId": "Me.BestFriend.CreateRefPeers", "requestBody": { "description": "New navigation property ref value", "content": { @@ -1340,75 +1420,72 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "Me.Functions" + "Person.Manager" ], - "summary": "Invoke function GetFavoriteAirline", - "operationId": "Me.GetFavoriteAirline", - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" - } - ], - "nullable": true - } + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-09a9", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" } } }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "function" - } - }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { - "get": { - "tags": [ - "Me.Functions" - ], - "summary": "Invoke function GetFriendsTrips", - "operationId": "Me.GetFriendsTrips", - "parameters": [ { - "name": "userName", - "in": "path", - "description": "Usage: userName='{userName}'", - "required": true, + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, "schema": { - "type": "string" + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } } ], "responses": { "200": { - "description": "Success", + "description": "Result entities", "content": { "application/json": { "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } - ], - "nullable": true - } - } - } + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } } } @@ -1416,95 +1493,8038 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { - "post": { + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { "tags": [ - "Me.Actions" + "Me.BestFriend.Person" ], - "summary": "Invoke action GetPeersForTrip", - "operationId": "Me.GetPeersForTrip", - "requestBody": { - "description": "Action parameters", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - } - } - } - } + "summary": "Get DirectReports from Me", + "operationId": "Me.BestFriend.ListDirectReports", + "parameters": [ + { + "$ref": "#/components/parameters/top" }, - "required": true - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - ], - "nullable": true - } - } - } - } - } - } + { + "$ref": "#/components/parameters/skip" }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "action" - } - }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { - "post": { - "tags": [ - "Me.Actions" - ], + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref": { + "delete": { + "tags": [ + "Me.BestFriend.Person" + ], + "summary": "Delete ref of navigation property DirectReports for Me", + "operationId": "Me.BestFriend.DeleteRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-f41f", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "Me.BestFriend.Person" + ], + "summary": "Get ref of DirectReports from Me", + "operationId": "Me.BestFriend.ListRefDirectReports", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.BestFriend.Person" + ], + "summary": "Create new navigation property ref to DirectReports for Me", + "operationId": "Me.BestFriend.CreateRefDirectReports", + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get Friends from Me", + "operationId": "Me.ListFriends", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/$ref": { + "delete": { + "tags": [ + "Me.Person" + ], + "summary": "Delete ref of navigation property Friends for Me", + "operationId": "Me.DeleteRefFriends", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-3dc7", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get Peers from Me", + "operationId": "Me.Friends.ListPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { + "delete": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Delete ref of navigation property Peers for Me", + "operationId": "Me.Friends.DeleteRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-e3cf", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get ref of Peers from Me", + "operationId": "Me.Friends.ListRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Create new navigation property ref to Peers for Me", + "operationId": "Me.Friends.CreateRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-ddec", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get DirectReports from Me", + "operationId": "Me.Friends.ListDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { + "delete": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Delete ref of navigation property DirectReports for Me", + "operationId": "Me.Friends.DeleteRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-c1d4", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Get ref of DirectReports from Me", + "operationId": "Me.Friends.ListRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Friends.Person" + ], + "summary": "Create new navigation property ref to DirectReports for Me", + "operationId": "Me.Friends.CreateRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Friends-182b", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/$ref": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get ref of Friends from Me", + "operationId": "Me.ListRefFriends", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Person" + ], + "summary": "Create new navigation property ref to Friends for Me", + "operationId": "Me.CreateRefFriends", + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-f4a5", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-884b", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-98ae", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-9376", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-bd18", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get Peers from Me", + "operationId": "Me.ListPeers", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref": { + "delete": { + "tags": [ + "Me.Person" + ], + "summary": "Delete ref of navigation property Peers for Me", + "operationId": "Me.DeleteRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-9fc2", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get ref of Peers from Me", + "operationId": "Me.ListRefPeers", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Person" + ], + "summary": "Create new navigation property ref to Peers for Me", + "operationId": "Me.CreateRefPeers", + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function GetFavoriteAirline", + "operationId": "Me.GetFavoriteAirline", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" + } + ], + "nullable": true + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function GetFriendsTrips", + "operationId": "Me.GetFriendsTrips", + "parameters": [ + { + "name": "userName", + "in": "path", + "description": "Usage: userName='{userName}'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + ], + "nullable": true + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "post": { + "tags": [ + "Me.Actions" + ], + "summary": "Invoke action GetPeersForTrip", + "operationId": "Me.GetPeersForTrip", + "requestBody": { + "description": "Action parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-16dc", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get DirectReports from Me", + "operationId": "Me.ListDirectReports", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref": { + "delete": { + "tags": [ + "Me.Person" + ], + "summary": "Delete ref of navigation property DirectReports for Me", + "operationId": "Me.DeleteRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-8b92", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "Me.Person" + ], + "summary": "Get ref of DirectReports from Me", + "operationId": "Me.ListRefDirectReports", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Person" + ], + "summary": "Create new navigation property ref to DirectReports for Me", + "operationId": "Me.CreateRefDirectReports", + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": { + "post": { + "tags": [ + "Me.Actions" + ], + "summary": "Invoke action Hire", + "description": "Hires someone for the company.", + "operationId": "Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire", + "requestBody": { + "description": "Action parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "hire": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true + } + } + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { + "post": { + "tags": [ + "Me.Actions" + ], + "summary": "Invoke action ShareTrip", + "description": "Details of the shared trip.", + "operationId": "Me.ShareTrip", + "requestBody": { + "description": "Action parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + } + } + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function UpdatePersonLastName", + "operationId": "Me.UpdatePersonLastName", + "parameters": [ + { + "name": "lastName", + "in": "path", + "description": "Usage: lastName='{lastName}'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "default": false + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Trips": { + "get": { + "tags": [ + "Me.Trip" + ], + "summary": "Get Trips from Me", + "description": "Collection of trips.", + "operationId": "Me.ListTrips", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "TripId", + "TripId desc", + "ShareId", + "ShareId desc", + "Name", + "Name desc", + "Budget", + "Budget desc", + "Description", + "Description desc", + "Tags", + "Tags desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Trip" + ], + "summary": "Create new navigation property to Trips for Me", + "description": "Collection of trips.", + "operationId": "Me.CreateTrips", + "requestBody": { + "description": "New navigation property", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}": { + "get": { + "tags": [ + "Me.Trip" + ], + "summary": "Get Trips from Me", + "description": "Collection of trips.", + "operationId": "Me.GetTrips", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "patch": { + "tags": [ + "Me.Trip" + ], + "summary": "Update the navigation property Trips in Me", + "description": "Collection of trips.", + "operationId": "Me.UpdateTrips", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], + "requestBody": { + "description": "New navigation property values", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "Me.Trip" + ], + "summary": "Delete navigation property Trips for Me", + "description": "Collection of trips.", + "operationId": "Me.DeleteTrips", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "get": { + "tags": [ + "Me.Functions" + ], + "summary": "Invoke function GetInvolvedPeople", + "operationId": "Me.Trips.Trip.GetInvolvedPeople", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/Me/Trips/{TripId}/PlanItems": { + "get": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Get PlanItems from Me", + "operationId": "Me.Trips.ListPlanItems", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "ConfirmationCode", + "StartsAt", + "EndsAt", + "Duration" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { + "delete": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Delete ref of navigation property PlanItems for Me", + "operationId": "Me.Trips.DeleteRefPlanItems", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "name": "PlanItemId", + "in": "path", + "description": "key: PlanItemId of PlanItem", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "PlanItem" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/{TripId}/PlanItems/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.PlanItems-c250", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/Me/Trips/{TripId}/PlanItems/$ref": { + "get": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Get ref of PlanItems from Me", + "operationId": "Me.Trips.ListRefPlanItems", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "Me.Trips.PlanItem" + ], + "summary": "Create new navigation property ref to PlanItems for Me", + "operationId": "Me.Trips.CreateRefPlanItems", + "parameters": [ + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/Me/Trips/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Trips-7b69", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get entities from NewComePeople", + "operationId": "NewComePeople.Person.ListPerson", + "parameters": [ + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved entities", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + }, + "post": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Add new entity to NewComePeople", + "operationId": "NewComePeople.Person.CreatePerson", + "requestBody": { + "description": "New entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get entity from NewComePeople by key", + "operationId": "NewComePeople.Person.GetPerson", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "patch": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Update entity in NewComePeople", + "operationId": "NewComePeople.Person.UpdatePerson", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New property values", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Delete entity from NewComePeople", + "operationId": "NewComePeople.Person.DeletePerson", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get BestFriend from NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.GetBestFriend", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/$ref": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get ref of BestFriend from NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.GetRefBestFriend", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property link", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "put": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Update the ref of navigation property BestFriend in NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.UpdateRefBestFriend", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref values", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Delete ref of navigation property BestFriend for NewComePeople", + "description": "The best friend.", + "operationId": "NewComePeople.DeleteRefBestFriend", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7b75", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get Peers from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { + "delete": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Delete ref of navigation property Peers for NewComePeople", + "operationId": "NewComePeople.BestFriend.DeleteRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-1269", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get ref of Peers from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Create new navigation property ref to Peers for NewComePeople", + "operationId": "NewComePeople.BestFriend.CreateRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-61ce", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get DirectReports from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { + "delete": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Delete ref of navigation property DirectReports for NewComePeople", + "operationId": "NewComePeople.BestFriend.DeleteRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-c923", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Get ref of DirectReports from NewComePeople", + "operationId": "NewComePeople.BestFriend.ListRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.BestFriend.Person" + ], + "summary": "Create new navigation property ref to DirectReports for NewComePeople", + "operationId": "NewComePeople.BestFriend.CreateRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get Friends from NewComePeople", + "operationId": "NewComePeople.ListFriends", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Delete ref of navigation property Friends for NewComePeople", + "operationId": "NewComePeople.DeleteRefFriends", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get Peers from NewComePeople", + "operationId": "NewComePeople.Friends.ListPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Delete ref of navigation property Peers for NewComePeople", + "operationId": "NewComePeople.Friends.DeleteRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName2", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Peers-128d", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get ref of Peers from NewComePeople", + "operationId": "NewComePeople.Friends.ListRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Create new navigation property ref to Peers for NewComePeople", + "operationId": "NewComePeople.Friends.CreateRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get DirectReports from NewComePeople", + "operationId": "NewComePeople.Friends.ListDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Delete ref of navigation property DirectReports for NewComePeople", + "operationId": "NewComePeople.Friends.DeleteRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName2", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-08c7", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { + "get": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Get ref of DirectReports from NewComePeople", + "operationId": "NewComePeople.Friends.ListRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Friends.Person" + ], + "summary": "Create new navigation property ref to DirectReports for NewComePeople", + "operationId": "NewComePeople.Friends.CreateRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Friends-2ec1", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/$ref": { + "get": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Get ref of Friends from NewComePeople", + "operationId": "NewComePeople.ListRefFriends", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Person" + ], + "summary": "Create new navigation property ref to Friends for NewComePeople", + "operationId": "NewComePeople.CreateRefFriends", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property ref value", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-4069", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d1d3", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function GetFavoriteAirline", + "operationId": "NewComePeople.Person.GetFavoriteAirline", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" + } + ], + "nullable": true + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function GetFriendsTrips", + "operationId": "NewComePeople.Person.GetFriendsTrips", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "userName", + "in": "path", + "description": "Usage: userName='{userName}'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + ], + "nullable": true + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "post": { + "tags": [ + "NewComePeople.Actions" + ], + "summary": "Invoke action GetPeersForTrip", + "operationId": "NewComePeople.Person.GetPeersForTrip", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "Action parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": { + "post": { + "tags": [ + "NewComePeople.Actions" + ], + "summary": "Invoke action Hire", + "description": "Hires someone for the company.", + "operationId": "NewComePeople.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "Action parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "hire": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true + } + } + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { + "post": { + "tags": [ + "NewComePeople.Actions" + ], "summary": "Invoke action ShareTrip", "description": "Details of the shared trip.", - "operationId": "Me.ShareTrip", + "operationId": "NewComePeople.Person.ShareTrip", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "Action parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + } + } + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "action" + } + }, + "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function UpdatePersonLastName", + "operationId": "NewComePeople.Person.UpdatePersonLastName", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "lastName", + "in": "path", + "description": "Usage: lastName='{lastName}'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "value": { + "type": "boolean", + "default": false + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Trips": { + "get": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Get Trips from NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.ListTrips", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "TripId", + "TripId desc", + "ShareId", + "ShareId desc", + "Name", + "Name desc", + "Budget", + "Budget desc", + "Description", + "Description desc", + "Tags", + "Tags desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Create new navigation property to Trips for NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.CreateTrips", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "New navigation property", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created navigation property.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}": { + "get": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Get Trips from NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.GetTrips", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "TripId", + "ShareId", + "Name", + "Budget", + "Description", + "Tags", + "StartsAt", + "EndsAt", + "PlanItems" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "PlanItems" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "patch": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Update the navigation property Trips in NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.UpdateTrips", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], + "requestBody": { + "description": "New navigation property values", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "NewComePeople.Trip" + ], + "summary": "Delete navigation property Trips for NewComePeople", + "description": "Collection of trips.", + "operationId": "NewComePeople.DeleteTrips", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "get": { + "tags": [ + "NewComePeople.Functions" + ], + "summary": "Invoke function GetInvolvedPeople", + "operationId": "NewComePeople.Person.Trips.Trip.GetInvolvedPeople", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Trip", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "function" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems": { + "get": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Get PlanItems from NewComePeople", + "operationId": "NewComePeople.Trips.ListPlanItems", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "ConfirmationCode", + "StartsAt", + "EndsAt", + "Duration" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property", + "content": { + "application/json": { + "schema": { + "title": "Collection of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { + "delete": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Delete ref of navigation property PlanItems for NewComePeople", + "operationId": "NewComePeople.Trips.DeleteRefPlanItems", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "name": "PlanItemId", + "in": "path", + "description": "key: PlanItemId of PlanItem", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "PlanItem" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" + } + }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.PlanItems-841f", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref": { + "get": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Get ref of PlanItems from NewComePeople", + "operationId": "NewComePeople.Trips.ListRefPlanItems", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "PlanItemId", + "PlanItemId desc", + "ConfirmationCode", + "ConfirmationCode desc", + "StartsAt", + "StartsAt desc", + "EndsAt", + "EndsAt desc", + "Duration", + "Duration desc" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property links", + "content": { + "application/json": { + "schema": { + "title": "Collection of links of PlanItem", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "post": { + "tags": [ + "NewComePeople.Trips.PlanItem" + ], + "summary": "Create new navigation property ref to PlanItems for NewComePeople", + "operationId": "NewComePeople.Trips.CreateRefPlanItems", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "TripId", + "in": "path", + "description": "key: TripId of Trip", + "required": true, + "schema": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + }, + "x-ms-docs-key-type": "Trip" + } + ], "requestBody": { - "description": "Action parameters", + "description": "New navigation property ref value", "content": { "application/json": { "schema": { "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - } + "additionalProperties": { + "type": "object" } } } @@ -1512,47 +9532,46 @@ "required": true }, "responses": { - "204": { - "description": "Success" + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } }, "default": { "$ref": "#/components/responses/error" } }, - "x-ms-docs-operation-type": "action" + "x-ms-docs-operation-type": "operation" } }, - "/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "/NewComePeople/{UserName}/Trips/$count": { "get": { - "tags": [ - "Me.Functions" - ], - "summary": "Invoke function UpdatePersonLastName", - "operationId": "Me.UpdatePersonLastName", + "summary": "Get the number of the resource", + "operationId": "Get.Count.Trips-d155", "parameters": [ { - "name": "lastName", + "name": "UserName", "in": "path", - "description": "Usage: lastName='{lastName}'", + "description": "key: UserName of Person", "required": true, "schema": { "type": "string" - } + }, + "x-ms-docs-key-type": "Person" } ], "responses": { "200": { - "description": "Success", + "description": "The count of the resource", "content": { - "application/json": { + "text/plain": { "schema": { - "type": "object", - "properties": { - "value": { - "type": "boolean", - "default": false - } - } + "$ref": "#/components/schemas/ODataCountResponse" } } } @@ -1560,18 +9579,37 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/Me/Trips": { + "/NewComePeople/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.NewComePeople-55d5", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/People": { "get": { "tags": [ - "Me.Trip" + "People.Person" ], - "summary": "Get Trips from Me", - "description": "Collection of trips.", - "operationId": "Me.ListTrips", + "summary": "Get entities from People", + "operationId": "People.Person.ListPerson", "parameters": [ { "$ref": "#/components/parameters/top" @@ -1599,26 +9637,161 @@ "type": "array", "items": { "enum": [ - "TripId", - "TripId desc", - "ShareId", - "ShareId desc", - "Name", - "Name desc", - "Budget", - "Budget desc", - "Description", - "Description desc", - "Tags", - "Tags desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } } + } + ], + "responses": { + "200": { + "description": "Retrieved entities", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + }, + "post": { + "tags": [ + "People.Person" + ], + "summary": "Add new entity to People", + "operationId": "People.Person.CreatePerson", + "requestBody": { + "description": "New entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}": { + "get": { + "tags": [ + "People.Person" + ], + "summary": "Get entity from People by key", + "operationId": "People.Person.GetPerson", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" }, { "name": "$select", @@ -1631,15 +9804,20 @@ "type": "array", "items": { "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -1657,7 +9835,9 @@ "items": { "enum": [ "*", - "PlanItems" + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -1666,20 +9846,11 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "Retrieved entity", "content": { "application/json": { "schema": { - "title": "Collection of Trip", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } - } - } + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -1690,34 +9861,74 @@ }, "x-ms-docs-operation-type": "operation" }, - "post": { + "patch": { "tags": [ - "Me.Trip" + "People.Person" + ], + "summary": "Update entity in People", + "operationId": "People.Person.UpdatePerson", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } ], - "summary": "Create new navigation property to Trips for Me", - "description": "Collection of trips.", - "operationId": "Me.CreateTrips", "requestBody": { - "description": "New navigation property", + "description": "New property values", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } }, "required": true }, "responses": { - "201": { - "description": "Created navigation property.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } - } + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + }, + "delete": { + "tags": [ + "People.Person" + ], + "summary": "Delete entity from People", + "operationId": "People.Person.DeletePerson", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" } + } + ], + "responses": { + "204": { + "description": "Success" }, "default": { "$ref": "#/components/responses/error" @@ -1726,27 +9937,24 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/{TripId}": { + "/People/{UserName}/BestFriend": { "get": { "tags": [ - "Me.Trip" + "People.Person" ], - "summary": "Get Trips from Me", - "description": "Collection of trips.", - "operationId": "Me.GetTrips", + "summary": "Get BestFriend from People", + "description": "The best friend.", + "operationId": "People.GetBestFriend", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" }, { "name": "$select", @@ -1759,15 +9967,20 @@ "type": "array", "items": { "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -1785,7 +9998,9 @@ "items": { "enum": [ "*", - "PlanItems" + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -1798,7 +10013,45 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}/BestFriend/$ref": { + "get": { + "tags": [ + "People.Person" + ], + "summary": "Get ref of BestFriend from People", + "description": "The best friend.", + "operationId": "People.GetRefBestFriend", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "Retrieved navigation property link", + "content": { + "application/json": { + "schema": { + "type": "string" } } } @@ -1809,34 +10062,34 @@ }, "x-ms-docs-operation-type": "operation" }, - "patch": { + "put": { "tags": [ - "Me.Trip" + "People.Person" ], - "summary": "Update the navigation property Trips in Me", - "description": "Collection of trips.", - "operationId": "Me.UpdateTrips", + "summary": "Update the ref of navigation property BestFriend in People", + "description": "The best friend.", + "operationId": "People.UpdateRefBestFriend", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" } ], "requestBody": { - "description": "New navigation property values", + "description": "New navigation property ref values", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, @@ -1854,24 +10107,21 @@ }, "delete": { "tags": [ - "Me.Trip" + "People.Person" ], - "summary": "Delete navigation property Trips for Me", - "description": "Collection of trips.", - "operationId": "Me.DeleteTrips", + "summary": "Delete ref of navigation property BestFriend for People", + "description": "The best friend.", + "operationId": "People.DeleteRefBestFriend", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" }, { "name": "If-Match", @@ -1893,49 +10143,82 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { "get": { "tags": [ - "Me.Functions" + "Person.Employee" ], - "summary": "Invoke function GetInvolvedPeople", - "operationId": "Me.Trips.Trip.GetInvolvedPeople", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7188", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } } ], "responses": { "200": { - "description": "Success", + "description": "Result entities", "content": { "application/json": { "schema": { - "title": "Collection of Trip", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - ], - "nullable": true - } - } - } + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" } } } @@ -1943,30 +10226,26 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/Me/Trips/{TripId}/PlanItems": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { "get": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Get PlanItems from Me", - "operationId": "Me.Trips.ListPlanItems", + "summary": "Get Peers from People", + "operationId": "People.BestFriend.ListPeers", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" }, { "$ref": "#/components/parameters/top" @@ -1994,16 +10273,28 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -2020,11 +10311,20 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "ConfirmationCode", - "StartsAt", - "EndsAt", - "Duration" + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -2041,7 +10341,10 @@ "type": "array", "items": { "enum": [ - "*" + "*", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -2054,13 +10357,13 @@ "content": { "application/json": { "schema": { - "title": "Collection of PlanItem", + "title": "Collection of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -2073,41 +10376,39 @@ } }, "x-ms-docs-operation-type": "operation" - } + }, + "x-ms-docs-grouped-path": [ + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] }, - "/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { "delete": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Delete ref of navigation property PlanItems for Me", - "operationId": "Me.Trips.DeleteRefPlanItems", + "summary": "Delete ref of navigation property Peers for People", + "operationId": "People.BestFriend.DeleteRefPeers", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" }, { - "name": "PlanItemId", + "name": "UserName1", "in": "path", - "description": "key: PlanItemId of PlanItem", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "PlanItem" + "x-ms-docs-key-type": "Person" }, { "name": "If-Match", @@ -2137,23 +10438,20 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/{TripId}/PlanItems/$count": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.PlanItems", + "operationId": "Get.Count.Peers-5860", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" } ], "responses": { @@ -2173,26 +10471,23 @@ } } }, - "/Me/Trips/{TripId}/PlanItems/$ref": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { "get": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Get ref of PlanItems from Me", - "operationId": "Me.Trips.ListRefPlanItems", + "summary": "Get ref of Peers from People", + "operationId": "People.BestFriend.ListRefPeers", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" }, { "$ref": "#/components/parameters/top" @@ -2220,16 +10515,28 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -2242,7 +10549,7 @@ "content": { "application/json": { "schema": { - "title": "Collection of links of PlanItem", + "title": "Collection of links of Person", "type": "object", "properties": { "value": { @@ -2264,23 +10571,20 @@ }, "post": { "tags": [ - "Me.Trips.PlanItem" + "People.BestFriend.Person" ], - "summary": "Create new navigation property ref to PlanItems for Me", - "operationId": "Me.Trips.CreateRefPlanItems", + "summary": "Create new navigation property ref to Peers for People", + "operationId": "People.BestFriend.CreateRefPeers", "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" } ], "requestBody": { @@ -2315,17 +10619,82 @@ "x-ms-docs-operation-type": "operation" } }, - "/Me/Trips/$count": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { - "summary": "Get the number of the resource", - "operationId": "Get.Count.Trips", + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-5f08", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], "responses": { "200": { - "description": "The count of the resource", + "description": "Result entities", "content": { - "text/plain": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ODataCountResponse" + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } } } @@ -2336,14 +10705,24 @@ } } }, - "/NewComePeople": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { "get": { "tags": [ - "NewComePeople.Person" + "People.BestFriend.Person" ], - "summary": "Get entities from NewComePeople", - "operationId": "NewComePeople.Person.ListPerson", + "summary": "Get DirectReports from People", + "operationId": "People.BestFriend.ListDirectReports", "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/components/parameters/top" }, @@ -2450,7 +10829,7 @@ ], "responses": { "200": { - "description": "Retrieved entities", + "description": "Retrieved navigation property", "content": { "application/json": { "schema": { @@ -2471,32 +10850,93 @@ "default": { "$ref": "#/components/responses/error" } - } + }, + "x-ms-docs-operation-type": "operation" }, - "post": { + "x-ms-docs-grouped-path": [ + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] + }, + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { + "delete": { "tags": [ - "NewComePeople.Person" + "People.BestFriend.Person" ], - "summary": "Add new entity to NewComePeople", - "operationId": "NewComePeople.Person.CreatePerson", - "requestBody": { - "description": "New entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } + "summary": "Delete ref of navigation property DirectReports for People", + "operationId": "People.BestFriend.DeleteRefDirectReports", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" } }, - "required": true + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "$ref": "#/components/responses/error" + } }, + "x-ms-docs-operation-type": "operation" + } + }, + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-cddc", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], "responses": { - "201": { - "description": "Created entity", + "200": { + "description": "The count of the resource", "content": { - "application/json": { + "text/plain": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "$ref": "#/components/schemas/ODataCountResponse" } } } @@ -2504,17 +10944,16 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}": { + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { "get": { "tags": [ - "NewComePeople.Person" + "People.BestFriend.Person" ], - "summary": "Get entity from NewComePeople by key", - "operationId": "NewComePeople.Person.GetPerson", + "summary": "Get ref of DirectReports from People", + "operationId": "People.BestFriend.ListRefDirectReports", "parameters": [ { "name": "UserName", @@ -2527,9 +10966,24 @@ "x-ms-docs-key-type": "Person" }, { - "name": "$select", + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", "in": "query", - "description": "Select properties to be returned", + "description": "Order items by property values", "style": "form", "explode": false, "schema": { @@ -2538,39 +10992,27 @@ "items": { "enum": [ "UserName", + "UserName desc", "FirstName", + "FirstName desc", "LastName", + "LastName desc", "MiddleName", + "MiddleName desc", "Gender", + "Gender desc", "Age", + "Age desc", "Emails", + "Emails desc", "AddressInfo", + "AddressInfo desc", "HomeAddress", + "HomeAddress desc", "FavoriteFeature", + "FavoriteFeature desc", "Features", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - } - }, - { - "name": "$expand", - "in": "query", - "description": "Expand related entities", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "*", - "Friends", - "BestFriend", - "Trips" + "Features desc" ], "type": "string" } @@ -2579,11 +11021,20 @@ ], "responses": { "200": { - "description": "Retrieved entity", + "description": "Retrieved navigation property links", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } } } } @@ -2594,12 +11045,12 @@ }, "x-ms-docs-operation-type": "operation" }, - "patch": { + "post": { "tags": [ - "NewComePeople.Person" + "People.BestFriend.Person" ], - "summary": "Update entity in NewComePeople", - "operationId": "NewComePeople.Person.UpdatePerson", + "summary": "Create new navigation property ref to DirectReports for People", + "operationId": "People.BestFriend.CreateRefDirectReports", "parameters": [ { "name": "UserName", @@ -2613,32 +11064,44 @@ } ], "requestBody": { - "description": "New property values", + "description": "New navigation property ref value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, "required": true }, "responses": { - "204": { - "description": "Success" + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } }, "default": { "$ref": "#/components/responses/error" } }, "x-ms-docs-operation-type": "operation" - }, - "delete": { + } + }, + "/People/{UserName}/Friends": { + "get": { "tags": [ - "NewComePeople.Person" + "People.Person" ], - "summary": "Delete entity from NewComePeople", - "operationId": "NewComePeople.Person.DeletePerson", + "summary": "Get Friends from People", + "operationId": "People.ListFriends", "parameters": [ { "name": "UserName", @@ -2651,43 +11114,57 @@ "x-ms-docs-key-type": "Person" }, { - "name": "If-Match", - "in": "header", - "description": "ETag", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "Success" + "$ref": "#/components/parameters/top" }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - } - }, - "/NewComePeople/{UserName}/BestFriend": { - "get": { - "tags": [ - "NewComePeople.Person" - ], - "summary": "Get BestFriend from NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.GetBestFriend", - "parameters": [ { - "name": "UserName", - "in": "path", - "description": "key: UserName of Person", - "required": true, + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, "schema": { - "type": "string" - }, - "x-ms-docs-key-type": "Person" + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } }, { "name": "$select", @@ -2746,7 +11223,16 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + } + } } } } @@ -2758,14 +11244,13 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/BestFriend/$ref": { - "get": { + "/People/{UserName}/Friends/{UserName1}/$ref": { + "delete": { "tags": [ - "NewComePeople.Person" + "People.Person" ], - "summary": "Get ref of BestFriend from NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.GetRefBestFriend", + "summary": "Delete ref of navigation property Friends for People", + "operationId": "People.DeleteRefFriends", "parameters": [ { "name": "UserName", @@ -2776,35 +11261,9 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - } - ], - "responses": { - "200": { - "description": "Retrieved navigation property link", - "content": { - "application/json": { - "schema": { - "type": "string" - } - } - } }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - }, - "put": { - "tags": [ - "NewComePeople.Person" - ], - "summary": "Update the ref of navigation property BestFriend in NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.UpdateRefBestFriend", - "parameters": [ { - "name": "UserName", + "name": "UserName1", "in": "path", "description": "key: UserName of Person", "required": true, @@ -2812,22 +11271,24 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - } - ], - "requestBody": { - "description": "New navigation property ref values", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" } }, - "required": true - }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], "responses": { "204": { "description": "Success" @@ -2837,14 +11298,15 @@ } }, "x-ms-docs-operation-type": "operation" - }, - "delete": { + } + }, + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { "tags": [ - "NewComePeople.Person" + "Person.Employee" ], - "summary": "Delete ref of navigation property BestFriend for NewComePeople", - "description": "The best friend.", - "operationId": "NewComePeople.DeleteRefBestFriend", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf", "parameters": [ { "name": "UserName", @@ -2857,32 +11319,90 @@ "x-ms-docs-key-type": "Person" }, { - "name": "If-Match", - "in": "header", - "description": "ETag", + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, "schema": { "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } } ], "responses": { - "204": { - "description": "Success" + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } }, "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}/Friends": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { "get": { "tags": [ - "NewComePeople.Person" + "People.Friends.Person" ], - "summary": "Get Friends from NewComePeople", - "operationId": "NewComePeople.ListFriends", + "summary": "Get Peers from People", + "operationId": "People.Friends.ListPeers", "parameters": [ { "name": "UserName", @@ -2894,6 +11414,16 @@ }, "x-ms-docs-key-type": "Person" }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/components/parameters/top" }, @@ -3023,15 +11553,19 @@ } }, "x-ms-docs-operation-type": "operation" - } + }, + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] }, - "/NewComePeople/{UserName}/Friends/{UserName1}/$ref": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref": { "delete": { "tags": [ - "NewComePeople.Person" + "People.Friends.Person" ], - "summary": "Delete ref of navigation property Friends for NewComePeople", - "operationId": "NewComePeople.DeleteRefFriends", + "summary": "Delete ref of navigation property Peers for People", + "operationId": "People.Friends.DeleteRefPeers", "parameters": [ { "name": "UserName", @@ -3053,6 +11587,16 @@ }, "x-ms-docs-key-type": "Person" }, + { + "name": "UserName2", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, { "name": "If-Match", "in": "header", @@ -3081,10 +11625,10 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Friends/$count": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Friends", + "operationId": "Get.Count.Peers-ff21", "parameters": [ { "name": "UserName", @@ -3095,6 +11639,16 @@ "type": "string" }, "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" } ], "responses": { @@ -3114,13 +11668,13 @@ } } }, - "/NewComePeople/{UserName}/Friends/$ref": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { "get": { "tags": [ - "NewComePeople.Person" + "People.Friends.Person" ], - "summary": "Get ref of Friends from NewComePeople", - "operationId": "NewComePeople.ListRefFriends", + "summary": "Get ref of Peers from People", + "operationId": "People.Friends.ListRefPeers", "parameters": [ { "name": "UserName", @@ -3132,6 +11686,16 @@ }, "x-ms-docs-key-type": "Person" }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/components/parameters/top" }, @@ -3214,10 +11778,10 @@ }, "post": { "tags": [ - "NewComePeople.Person" + "People.Friends.Person" ], - "summary": "Create new navigation property ref to Friends for NewComePeople", - "operationId": "NewComePeople.CreateRefFriends", + "summary": "Create new navigation property ref to Peers for People", + "operationId": "People.Friends.CreateRefPeers", "parameters": [ { "name": "UserName", @@ -3228,6 +11792,16 @@ "type": "string" }, "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" } ], "requestBody": { @@ -3262,13 +11836,13 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "NewComePeople.Functions" + "Person.Manager" ], - "summary": "Invoke function GetFavoriteAirline", - "operationId": "NewComePeople.Person.GetFavoriteAirline", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb", "parameters": [ { "name": "UserName", @@ -3279,20 +11853,75 @@ "type": "string" }, "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } } ], "responses": { "200": { - "description": "Success", + "description": "Result entities", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" - } - ], - "nullable": true + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } } } @@ -3300,17 +11929,16 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { "get": { "tags": [ - "NewComePeople.Functions" + "People.Friends.Person" ], - "summary": "Invoke function GetFriendsTrips", - "operationId": "NewComePeople.Person.GetFriendsTrips", + "summary": "Get DirectReports from People", + "operationId": "People.Friends.ListDirectReports", "parameters": [ { "name": "UserName", @@ -3323,18 +11951,122 @@ "x-ms-docs-key-type": "Person" }, { - "name": "userName", + "name": "UserName1", "in": "path", - "description": "Usage: userName='{userName}'", + "description": "key: UserName of Person", "required": true, "schema": { - "type": "string" + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", + "in": "query", + "description": "Order items by property values", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } } ], "responses": { "200": { - "description": "Success", + "description": "Retrieved navigation property", "content": { "application/json": { "schema": { @@ -3344,12 +12076,7 @@ "value": { "type": "array", "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } - ], - "nullable": true + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -3361,16 +12088,20 @@ "$ref": "#/components/responses/error" } }, - "x-ms-docs-operation-type": "function" - } + "x-ms-docs-operation-type": "operation" + }, + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { - "post": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref": { + "delete": { "tags": [ - "NewComePeople.Actions" + "People.Friends.Person" ], - "summary": "Invoke action GetPeersForTrip", - "operationId": "NewComePeople.Person.GetPeersForTrip", + "summary": "Delete ref of navigation property DirectReports for People", + "operationId": "People.Friends.DeleteRefDirectReports", "parameters": [ { "name": "UserName", @@ -3381,73 +12112,19 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - } - ], - "requestBody": { - "description": "Action parameters", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - } - } - } - } }, - "required": true - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - ], - "nullable": true - } - } - } - } - } - } + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "action" - } - }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip": { - "post": { - "tags": [ - "NewComePeople.Actions" - ], - "summary": "Invoke action ShareTrip", - "description": "Details of the shared trip.", - "operationId": "NewComePeople.Person.ShareTrip", - "parameters": [ { - "name": "UserName", + "name": "UserName2", "in": "path", "description": "key: UserName of Person", "required": true, @@ -3455,30 +12132,24 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - } - ], - "requestBody": { - "description": "Action parameters", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - } - } - } + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" } }, - "required": true - }, + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" + } + } + ], "responses": { "204": { "description": "Success" @@ -3487,16 +12158,13 @@ "$ref": "#/components/responses/error" } }, - "x-ms-docs-operation-type": "action" + "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName='{lastName}')": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { "get": { - "tags": [ - "NewComePeople.Functions" - ], - "summary": "Invoke function UpdatePersonLastName", - "operationId": "NewComePeople.Person.UpdatePersonLastName", + "summary": "Get the number of the resource", + "operationId": "Get.Count.DirectReports-3b03", "parameters": [ { "name": "UserName", @@ -3509,28 +12177,23 @@ "x-ms-docs-key-type": "Person" }, { - "name": "lastName", + "name": "UserName1", "in": "path", - "description": "Usage: lastName='{lastName}'", + "description": "key: UserName of Person", "required": true, "schema": { "type": "string" - } + }, + "x-ms-docs-key-type": "Person" } ], "responses": { "200": { - "description": "Success", + "description": "The count of the resource", "content": { - "application/json": { + "text/plain": { "schema": { - "type": "object", - "properties": { - "value": { - "type": "boolean", - "default": false - } - } + "$ref": "#/components/schemas/ODataCountResponse" } } } @@ -3538,18 +12201,16 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/NewComePeople/{UserName}/Trips": { + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { "get": { "tags": [ - "NewComePeople.Trip" + "People.Friends.Person" ], - "summary": "Get Trips from NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.ListTrips", + "summary": "Get ref of DirectReports from People", + "operationId": "People.Friends.ListRefDirectReports", "parameters": [ { "name": "UserName", @@ -3561,6 +12222,16 @@ }, "x-ms-docs-key-type": "Person" }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/components/parameters/top" }, @@ -3586,66 +12257,29 @@ "uniqueItems": true, "type": "array", "items": { - "enum": [ - "TripId", - "TripId desc", - "ShareId", - "ShareId desc", - "Name", - "Name desc", - "Budget", - "Budget desc", - "Description", - "Description desc", - "Tags", - "Tags desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc" - ], - "type": "string" - } - } - }, - { - "name": "$select", - "in": "query", - "description": "Select properties to be returned", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" - ], - "type": "string" - } - } - }, - { - "name": "$expand", - "in": "query", - "description": "Expand related entities", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "*", - "PlanItems" + "enum": [ + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -3654,17 +12288,17 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "Retrieved navigation property links", "content": { "application/json": { "schema": { - "title": "Collection of Trip", + "title": "Collection of links of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "string" } } } @@ -3680,11 +12314,10 @@ }, "post": { "tags": [ - "NewComePeople.Trip" + "People.Friends.Person" ], - "summary": "Create new navigation property to Trips for NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.CreateTrips", + "summary": "Create new navigation property ref to DirectReports for People", + "operationId": "People.Friends.CreateRefDirectReports", "parameters": [ { "name": "UserName", @@ -3695,14 +12328,27 @@ "type": "string" }, "x-ms-docs-key-type": "Person" + }, + { + "name": "UserName1", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" } ], "requestBody": { - "description": "New navigation property", + "description": "New navigation property ref value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, @@ -3710,11 +12356,11 @@ }, "responses": { "201": { - "description": "Created navigation property.", + "description": "Created navigation property link.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "object" } } } @@ -3726,14 +12372,10 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Trips/{TripId}": { + "/People/{UserName}/Friends/$count": { "get": { - "tags": [ - "NewComePeople.Trip" - ], - "summary": "Get Trips from NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.GetTrips", + "summary": "Get the number of the resource", + "operationId": "Get.Count.Friends-92b9", "parameters": [ { "name": "UserName", @@ -3744,49 +12386,62 @@ "type": "string" }, "x-ms-docs-key-type": "Person" + } + ], + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/People/{UserName}/Friends/$ref": { + "get": { + "tags": [ + "People.Person" + ], + "summary": "Get ref of Friends from People", + "operationId": "People.ListRefFriends", + "parameters": [ { - "name": "TripId", + "name": "UserName", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" + "x-ms-docs-key-type": "Person" }, { - "name": "$select", - "in": "query", - "description": "Select properties to be returned", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "TripId", - "ShareId", - "Name", - "Budget", - "Description", - "Tags", - "StartsAt", - "EndsAt", - "PlanItems" - ], - "type": "string" - } - } + "$ref": "#/components/parameters/top" }, { - "name": "$expand", + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/search" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "name": "$orderby", "in": "query", - "description": "Expand related entities", + "description": "Order items by property values", "style": "form", "explode": false, "schema": { @@ -3794,8 +12449,28 @@ "type": "array", "items": { "enum": [ - "*", - "PlanItems" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" ], "type": "string" } @@ -3804,11 +12479,20 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "Retrieved navigation property links", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "title": "Collection of links of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } } } } @@ -3819,13 +12503,12 @@ }, "x-ms-docs-operation-type": "operation" }, - "patch": { + "post": { "tags": [ - "NewComePeople.Trip" + "People.Person" ], - "summary": "Update the navigation property Trips in NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.UpdateTrips", + "summary": "Create new navigation property ref to Friends for People", + "operationId": "People.CreateRefFriends", "parameters": [ { "name": "UserName", @@ -3836,49 +12519,47 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - }, - { - "name": "TripId", - "in": "path", - "description": "key: TripId of Trip", - "required": true, - "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "Trip" } ], "requestBody": { - "description": "New navigation property values", + "description": "New navigation property ref value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, "required": true }, "responses": { - "204": { - "description": "Success" + "201": { + "description": "Created navigation property link.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } }, "default": { "$ref": "#/components/responses/error" } }, "x-ms-docs-operation-type": "operation" - }, - "delete": { + } + }, + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { "tags": [ - "NewComePeople.Trip" + "Person.Employee" ], - "summary": "Delete navigation property Trips for NewComePeople", - "description": "Collection of trips.", - "operationId": "NewComePeople.DeleteTrips", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf", "parameters": [ { "name": "UserName", @@ -3891,45 +12572,77 @@ "x-ms-docs-key-type": "Person" }, { - "name": "TripId", - "in": "path", - "description": "key: TripId of Trip", - "required": true, + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "Trip" + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } }, { - "name": "If-Match", - "in": "header", - "description": "ETag", + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, "schema": { - "type": "string" + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } } } ], "responses": { - "204": { - "description": "Success" + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } }, "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()": { + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { "get": { - "tags": [ - "NewComePeople.Functions" - ], - "summary": "Invoke function GetInvolvedPeople", - "operationId": "NewComePeople.Person.Trips.Trip.GetInvolvedPeople", + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-a96c", "parameters": [ { "name": "UserName", @@ -3940,42 +12653,15 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - }, - { - "name": "TripId", - "in": "path", - "description": "key: TripId of Trip", - "required": true, - "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "Trip" } ], "responses": { "200": { - "description": "Success", + "description": "The count of the resource", "content": { - "application/json": { + "text/plain": { "schema": { - "title": "Collection of Trip", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - ], - "nullable": true - } - } - } + "$ref": "#/components/schemas/ODataCountResponse" } } } @@ -3983,17 +12669,16 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "function" + } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems": { + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "NewComePeople.Trips.PlanItem" + "Person.Manager" ], - "summary": "Get PlanItems from NewComePeople", - "operationId": "NewComePeople.Trips.ListPlanItems", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb", "parameters": [ { "name": "UserName", @@ -4005,60 +12690,6 @@ }, "x-ms-docs-key-type": "Person" }, - { - "name": "TripId", - "in": "path", - "description": "key: TripId of Trip", - "required": true, - "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "Trip" - }, - { - "$ref": "#/components/parameters/top" - }, - { - "$ref": "#/components/parameters/skip" - }, - { - "$ref": "#/components/parameters/search" - }, - { - "$ref": "#/components/parameters/filter" - }, - { - "$ref": "#/components/parameters/count" - }, - { - "name": "$orderby", - "in": "query", - "description": "Order items by property values", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" - ], - "type": "string" - } - } - }, { "name": "$select", "in": "query", @@ -4070,11 +12701,20 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "ConfirmationCode", - "StartsAt", - "EndsAt", - "Duration" + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -4091,7 +12731,10 @@ "type": "array", "items": { "enum": [ - "*" + "*", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -4100,20 +12743,11 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", + "description": "Result entities", "content": { "application/json": { "schema": { - "title": "Collection of PlanItem", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem" - } - } - } + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } } } @@ -4121,17 +12755,13 @@ "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref": { - "delete": { - "tags": [ - "NewComePeople.Trips.PlanItem" - ], - "summary": "Delete ref of navigation property PlanItems for NewComePeople", - "operationId": "NewComePeople.Trips.DeleteRefPlanItems", + "/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-26b3", "parameters": [ { "name": "UserName", @@ -4142,65 +12772,32 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - }, - { - "name": "TripId", - "in": "path", - "description": "key: TripId of Trip", - "required": true, - "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "Trip" - }, - { - "name": "PlanItemId", - "in": "path", - "description": "key: PlanItemId of PlanItem", - "required": true, - "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "PlanItem" - }, - { - "name": "If-Match", - "in": "header", - "description": "ETag", - "schema": { - "type": "string" - } - }, - { - "name": "@id", - "in": "query", - "description": "Delete Uri", - "schema": { - "type": "string" - } } ], "responses": { - "204": { - "description": "Success" + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } }, "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { "get": { - "summary": "Get the number of the resource", - "operationId": "Get.Count.PlanItems", + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-317b", "parameters": [ { "name": "UserName", @@ -4208,31 +12805,68 @@ "description": "key: UserName of Person", "required": true, "schema": { - "type": "string" - }, - "x-ms-docs-key-type": "Person" + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } }, { - "name": "TripId", - "in": "path", - "description": "key: TripId of Trip", - "required": true, + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "Trip" + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } } ], "responses": { "200": { - "description": "The count of the resource", + "description": "Result entities", "content": { - "text/plain": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ODataCountResponse" + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" } } } @@ -4243,13 +12877,13 @@ } } }, - "/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers": { "get": { "tags": [ - "NewComePeople.Trips.PlanItem" + "People.Person" ], - "summary": "Get ref of PlanItems from NewComePeople", - "operationId": "NewComePeople.Trips.ListRefPlanItems", + "summary": "Get Peers from People", + "operationId": "People.ListPeers", "parameters": [ { "name": "UserName", @@ -4261,19 +12895,6 @@ }, "x-ms-docs-key-type": "Person" }, - { - "name": "TripId", - "in": "path", - "description": "key: TripId of Trip", - "required": true, - "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" - }, - "x-ms-docs-key-type": "Trip" - }, { "$ref": "#/components/parameters/top" }, @@ -4300,16 +12921,78 @@ "type": "array", "items": { "enum": [ - "PlanItemId", - "PlanItemId desc", - "ConfirmationCode", - "ConfirmationCode desc", - "StartsAt", - "StartsAt desc", - "EndsAt", - "EndsAt desc", - "Duration", - "Duration desc" + "UserName", + "UserName desc", + "FirstName", + "FirstName desc", + "LastName", + "LastName desc", + "MiddleName", + "MiddleName desc", + "Gender", + "Gender desc", + "Age", + "Age desc", + "Emails", + "Emails desc", + "AddressInfo", + "AddressInfo desc", + "HomeAddress", + "HomeAddress desc", + "FavoriteFeature", + "FavoriteFeature desc", + "Features", + "Features desc" + ], + "type": "string" + } + } + }, + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" ], "type": "string" } @@ -4318,17 +13001,17 @@ ], "responses": { "200": { - "description": "Retrieved navigation property links", + "description": "Retrieved navigation property", "content": { "application/json": { "schema": { - "title": "Collection of links of PlanItem", + "title": "Collection of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" } } } @@ -4342,12 +13025,18 @@ }, "x-ms-docs-operation-type": "operation" }, - "post": { + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers", + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers" + ] + }, + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref": { + "delete": { "tags": [ - "NewComePeople.Trips.PlanItem" + "People.Person" ], - "summary": "Create new navigation property ref to PlanItems for NewComePeople", - "operationId": "NewComePeople.Trips.CreateRefPlanItems", + "summary": "Delete ref of navigation property Peers for People", + "operationId": "People.DeleteRefPeers", "parameters": [ { "name": "UserName", @@ -4360,43 +13049,35 @@ "x-ms-docs-key-type": "Person" }, { - "name": "TripId", + "name": "UserName1", "in": "path", - "description": "key: TripId of Trip", + "description": "key: UserName of Person", "required": true, "schema": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "type": "string" }, - "x-ms-docs-key-type": "Trip" - } - ], - "requestBody": { - "description": "New navigation property ref value", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { - "type": "object" - } - } + "x-ms-docs-key-type": "Person" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag", + "schema": { + "type": "string" } }, - "required": true - }, - "responses": { - "201": { - "description": "Created navigation property link.", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } + { + "name": "@id", + "in": "query", + "description": "Delete Uri", + "schema": { + "type": "string" } + } + ], + "responses": { + "204": { + "description": "Success" }, "default": { "$ref": "#/components/responses/error" @@ -4405,10 +13086,10 @@ "x-ms-docs-operation-type": "operation" } }, - "/NewComePeople/{UserName}/Trips/$count": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Trips", + "operationId": "Get.Count.Peers-44d2", "parameters": [ { "name": "UserName", @@ -4438,35 +13119,24 @@ } } }, - "/NewComePeople/$count": { - "get": { - "summary": "Get the number of the resource", - "operationId": "Get.Count.NewComePeople", - "responses": { - "200": { - "description": "The count of the resource", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ODataCountResponse" - } - } - } - }, - "default": { - "$ref": "#/components/responses/error" - } - } - } - }, - "/People": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref": { "get": { "tags": [ "People.Person" ], - "summary": "Get entities from People", - "operationId": "People.Person.ListPerson", + "summary": "Get ref of Peers from People", + "operationId": "People.ListRefPeers", "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + }, { "$ref": "#/components/parameters/top" }, @@ -4519,71 +13189,21 @@ "type": "string" } } - }, - { - "name": "$select", - "in": "query", - "description": "Select properties to be returned", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "UserName", - "FirstName", - "LastName", - "MiddleName", - "Gender", - "Age", - "Emails", - "AddressInfo", - "HomeAddress", - "FavoriteFeature", - "Features", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - } - }, - { - "name": "$expand", - "in": "query", - "description": "Expand related entities", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "*", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - } } ], "responses": { "200": { - "description": "Retrieved entities", + "description": "Retrieved navigation property links", "content": { "application/json": { "schema": { - "title": "Collection of Person", + "title": "Collection of links of Person", "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "type": "string" } } } @@ -4594,20 +13214,36 @@ "default": { "$ref": "#/components/responses/error" } - } + }, + "x-ms-docs-operation-type": "operation" }, "post": { "tags": [ "People.Person" ], - "summary": "Add new entity to People", - "operationId": "People.Person.CreatePerson", + "summary": "Create new navigation property ref to Peers for People", + "operationId": "People.CreateRefPeers", + "parameters": [ + { + "name": "UserName", + "in": "path", + "description": "key: UserName of Person", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-docs-key-type": "Person" + } + ], "requestBody": { - "description": "New entity", + "description": "New navigation property ref value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, @@ -4615,11 +13251,11 @@ }, "responses": { "201": { - "description": "Created entity", + "description": "Created navigation property link.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "type": "object" } } } @@ -4631,13 +13267,13 @@ "x-ms-docs-operation-type": "operation" } }, - "/People/{UserName}": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { "get": { "tags": [ - "People.Person" + "People.Functions" ], - "summary": "Get entity from People by key", - "operationId": "People.Person.GetPerson", + "summary": "Invoke function GetFavoriteAirline", + "operationId": "People.Person.GetFavoriteAirline", "parameters": [ { "name": "UserName", @@ -4648,65 +13284,20 @@ "type": "string" }, "x-ms-docs-key-type": "Person" - }, - { - "name": "$select", - "in": "query", - "description": "Select properties to be returned", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "UserName", - "FirstName", - "LastName", - "MiddleName", - "Gender", - "Age", - "Emails", - "AddressInfo", - "HomeAddress", - "FavoriteFeature", - "Features", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - } - }, - { - "name": "$expand", - "in": "query", - "description": "Expand related entities", - "style": "form", - "explode": false, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "enum": [ - "*", - "Friends", - "BestFriend", - "Trips" - ], - "type": "string" - } - } } ], "responses": { "200": { - "description": "Retrieved entity", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" + } + ], + "nullable": true } } } @@ -4715,14 +13306,16 @@ "$ref": "#/components/responses/error" } }, - "x-ms-docs-operation-type": "operation" - }, - "patch": { + "x-ms-docs-operation-type": "function" + } + }, + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { + "get": { "tags": [ - "People.Person" + "People.Functions" ], - "summary": "Update entity in People", - "operationId": "People.Person.UpdatePerson", + "summary": "Invoke function GetFriendsTrips", + "operationId": "People.Person.GetFriendsTrips", "parameters": [ { "name": "UserName", @@ -4733,35 +13326,56 @@ "type": "string" }, "x-ms-docs-key-type": "Person" + }, + { + "name": "userName", + "in": "path", + "description": "Usage: userName='{userName}'", + "required": true, + "schema": { + "type": "string" + } } ], - "requestBody": { - "description": "New property values", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" + } + ], + "nullable": true + } + } + } + } } } }, - "required": true - }, - "responses": { - "204": { - "description": "Success" - }, "default": { "$ref": "#/components/responses/error" } }, - "x-ms-docs-operation-type": "operation" - }, - "delete": { + "x-ms-docs-operation-type": "function" + } + }, + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "post": { "tags": [ - "People.Person" + "People.Actions" ], - "summary": "Delete entity from People", - "operationId": "People.Person.DeletePerson", + "summary": "Invoke action GetPeersForTrip", + "operationId": "People.Person.GetPeersForTrip", "parameters": [ { "name": "UserName", @@ -4772,35 +13386,69 @@ "type": "string" }, "x-ms-docs-key-type": "Person" + } + ], + "requestBody": { + "description": "Action parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userName": { + "type": "string" + }, + "tripId": { + "maximum": 2147483647, + "minimum": -2147483648, + "type": "integer", + "format": "int32" + } + } + } + } }, - { - "name": "If-Match", - "in": "header", - "description": "ETag", - "schema": { - "type": "string" + "required": true + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "title": "Collection of Person", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true + } + } + } + } + } } - } - ], - "responses": { - "204": { - "description": "Success" }, "default": { "$ref": "#/components/responses/error" } }, - "x-ms-docs-operation-type": "operation" + "x-ms-docs-operation-type": "action" } }, - "/People/{UserName}/BestFriend": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { "get": { "tags": [ - "People.Person" + "Person.Manager" ], - "summary": "Get BestFriend from People", - "description": "The best friend.", - "operationId": "People.GetBestFriend", + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d051", "parameters": [ { "name": "UserName", @@ -4865,147 +13513,28 @@ ], "responses": { "200": { - "description": "Retrieved navigation property", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - } - } - }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - } - }, - "/People/{UserName}/BestFriend/$ref": { - "get": { - "tags": [ - "People.Person" - ], - "summary": "Get ref of BestFriend from People", - "description": "The best friend.", - "operationId": "People.GetRefBestFriend", - "parameters": [ - { - "name": "UserName", - "in": "path", - "description": "key: UserName of Person", - "required": true, - "schema": { - "type": "string" - }, - "x-ms-docs-key-type": "Person" - } - ], - "responses": { - "200": { - "description": "Retrieved navigation property link", + "description": "Result entities", "content": { "application/json": { "schema": { - "type": "string" - } - } - } - }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - }, - "put": { - "tags": [ - "People.Person" - ], - "summary": "Update the ref of navigation property BestFriend in People", - "description": "The best friend.", - "operationId": "People.UpdateRefBestFriend", - "parameters": [ - { - "name": "UserName", - "in": "path", - "description": "key: UserName of Person", - "required": true, - "schema": { - "type": "string" - }, - "x-ms-docs-key-type": "Person" - } - ], - "requestBody": { - "description": "New navigation property ref values", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { - "type": "object" + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" } } } }, - "required": true - }, - "responses": { - "204": { - "description": "Success" - }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - }, - "delete": { - "tags": [ - "People.Person" - ], - "summary": "Delete ref of navigation property BestFriend for People", - "description": "The best friend.", - "operationId": "People.DeleteRefBestFriend", - "parameters": [ - { - "name": "UserName", - "in": "path", - "description": "key: UserName of Person", - "required": true, - "schema": { - "type": "string" - }, - "x-ms-docs-key-type": "Person" - }, - { - "name": "If-Match", - "in": "header", - "description": "ETag", - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "Success" - }, "default": { "$ref": "#/components/responses/error" } - }, - "x-ms-docs-operation-type": "operation" + } } }, - "/People/{UserName}/Friends": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports": { "get": { "tags": [ "People.Person" ], - "summary": "Get Friends from People", - "operationId": "People.ListFriends", + "summary": "Get DirectReports from People", + "operationId": "People.ListDirectReports", "parameters": [ { "name": "UserName", @@ -5146,15 +13675,19 @@ } }, "x-ms-docs-operation-type": "operation" - } + }, + "x-ms-docs-grouped-path": [ + "/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports", + "/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports" + ] }, - "/People/{UserName}/Friends/{UserName1}/$ref": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref": { "delete": { "tags": [ "People.Person" ], - "summary": "Delete ref of navigation property Friends for People", - "operationId": "People.DeleteRefFriends", + "summary": "Delete ref of navigation property DirectReports for People", + "operationId": "People.DeleteRefDirectReports", "parameters": [ { "name": "UserName", @@ -5204,10 +13737,10 @@ "x-ms-docs-operation-type": "operation" } }, - "/People/{UserName}/Friends/$count": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Friends", + "operationId": "Get.Count.DirectReports-0ec4", "parameters": [ { "name": "UserName", @@ -5237,13 +13770,13 @@ } } }, - "/People/{UserName}/Friends/$ref": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref": { "get": { "tags": [ "People.Person" ], - "summary": "Get ref of Friends from People", - "operationId": "People.ListRefFriends", + "summary": "Get ref of DirectReports from People", + "operationId": "People.ListRefDirectReports", "parameters": [ { "name": "UserName", @@ -5339,8 +13872,8 @@ "tags": [ "People.Person" ], - "summary": "Create new navigation property ref to Friends for People", - "operationId": "People.CreateRefFriends", + "summary": "Create new navigation property ref to DirectReports for People", + "operationId": "People.CreateRefDirectReports", "parameters": [ { "name": "UserName", @@ -5373,109 +13906,7 @@ "content": { "application/json": { "schema": { - "type": "object" - } - } - } - }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "operation" - } - }, - "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()": { - "get": { - "tags": [ - "People.Functions" - ], - "summary": "Invoke function GetFavoriteAirline", - "operationId": "People.Person.GetFavoriteAirline", - "parameters": [ - { - "name": "UserName", - "in": "path", - "description": "key: UserName of Person", - "required": true, - "schema": { - "type": "string" - }, - "x-ms-docs-key-type": "Person" - } - ], - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline" - } - ], - "nullable": true - } - } - } - }, - "default": { - "$ref": "#/components/responses/error" - } - }, - "x-ms-docs-operation-type": "function" - } - }, - "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName='{userName}')": { - "get": { - "tags": [ - "People.Functions" - ], - "summary": "Invoke function GetFriendsTrips", - "operationId": "People.Person.GetFriendsTrips", - "parameters": [ - { - "name": "UserName", - "in": "path", - "description": "key: UserName of Person", - "required": true, - "schema": { - "type": "string" - }, - "x-ms-docs-key-type": "Person" - }, - { - "name": "userName", - "in": "path", - "description": "Usage: userName='{userName}'", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip" - } - ], - "nullable": true - } - } - } + "type": "object" } } } @@ -5484,16 +13915,17 @@ "$ref": "#/components/responses/error" } }, - "x-ms-docs-operation-type": "function" + "x-ms-docs-operation-type": "operation" } }, - "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip": { + "/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire": { "post": { "tags": [ "People.Actions" ], - "summary": "Invoke action GetPeersForTrip", - "operationId": "People.Person.GetPeersForTrip", + "summary": "Invoke action Hire", + "description": "Hires someone for the company.", + "operationId": "People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire", "parameters": [ { "name": "UserName", @@ -5513,14 +13945,13 @@ "schema": { "type": "object", "properties": { - "userName": { - "type": "string" - }, - "tripId": { - "maximum": 2147483647, - "minimum": -2147483648, - "type": "integer", - "format": "int32" + "hire": { + "anyOf": [ + { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" + } + ], + "nullable": true } } } @@ -5529,29 +13960,8 @@ "required": true }, "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "title": "Collection of Person", - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person" - } - ], - "nullable": true - } - } - } - } - } - } + "204": { + "description": "Success" }, "default": { "$ref": "#/components/responses/error" @@ -6323,7 +14733,7 @@ "/People/{UserName}/Trips/{TripId}/PlanItems/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.PlanItems", + "operationId": "Get.Count.PlanItems-9a27", "parameters": [ { "name": "UserName", @@ -6531,7 +14941,7 @@ "/People/{UserName}/Trips/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.Trips", + "operationId": "Get.Count.Trips-e877", "parameters": [ { "name": "UserName", @@ -6564,7 +14974,201 @@ "/People/$count": { "get": { "summary": "Get the number of the resource", - "operationId": "Get.Count.People", + "operationId": "Get.Count.People-dd8d", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee": { + "get": { + "tags": [ + "Person.Employee" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-013a", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-ef29", + "responses": { + "200": { + "description": "The count of the resource", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ODataCountResponse" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager": { + "get": { + "tags": [ + "Person.Manager" + ], + "summary": "Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager", + "operationId": "Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-3e14", + "parameters": [ + { + "name": "$select", + "in": "query", + "description": "Select properties to be returned", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "UserName", + "FirstName", + "LastName", + "MiddleName", + "Gender", + "Age", + "Emails", + "AddressInfo", + "HomeAddress", + "FavoriteFeature", + "Features", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + }, + { + "name": "$expand", + "in": "query", + "description": "Expand related entities", + "style": "form", + "explode": false, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "*", + "Friends", + "BestFriend", + "Trips" + ], + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Result entities", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager" + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count": { + "get": { + "summary": "Get the number of the resource", + "operationId": "Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-2d48", "responses": { "200": { "description": "The count of the resource", @@ -7600,6 +16204,20 @@ "name": "Me.Person", "x-ms-docs-toc-type": "page" }, + { + "name": "Person.Employee" + }, + { + "name": "Me.BestFriend.Person", + "x-ms-docs-toc-type": "page" + }, + { + "name": "Person.Manager" + }, + { + "name": "Me.Friends.Person", + "x-ms-docs-toc-type": "page" + }, { "name": "Me.Functions", "x-ms-docs-toc-type": "container" @@ -7620,6 +16238,14 @@ "name": "NewComePeople.Person", "x-ms-docs-toc-type": "page" }, + { + "name": "NewComePeople.BestFriend.Person", + "x-ms-docs-toc-type": "page" + }, + { + "name": "NewComePeople.Friends.Person", + "x-ms-docs-toc-type": "page" + }, { "name": "NewComePeople.Functions", "x-ms-docs-toc-type": "container" @@ -7640,6 +16266,14 @@ "name": "People.Person", "x-ms-docs-toc-type": "page" }, + { + "name": "People.BestFriend.Person", + "x-ms-docs-toc-type": "page" + }, + { + "name": "People.Friends.Person", + "x-ms-docs-toc-type": "page" + }, { "name": "People.Functions", "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 cf22387a..43ba7022 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.yaml +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Resources/TripService.OpenApi.yaml @@ -197,7 +197,7 @@ paths: /Airlines/$count: get: summary: Get the number of the resource - operationId: Get.Count.Airlines + operationId: Get.Count.Airlines-27a7 responses: '200': description: The count of the resource @@ -406,7 +406,7 @@ paths: /Airports/$count: get: summary: Get the number of the resource - operationId: Get.Count.Airports + operationId: Get.Count.Airports-60cc responses: '200': description: The count of the resource @@ -667,12 +667,68 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - /Me/Friends: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: get: tags: - - Me.Person - summary: Get Friends from Me - operationId: Me.ListFriends + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-dcf6 + parameters: + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers: + get: + tags: + - Me.BestFriend.Person + summary: Get Peers from Me + operationId: Me.BestFriend.ListPeers parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' @@ -768,12 +824,15 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/Me/Friends/{UserName}/$ref': + x-ms-docs-grouped-path: + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + '/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref': delete: tags: - - Me.Person - summary: Delete ref of navigation property Friends for Me - operationId: Me.DeleteRefFriends + - Me.BestFriend.Person + summary: Delete ref of navigation property Peers for Me + operationId: Me.BestFriend.DeleteRefPeers parameters: - name: UserName in: path @@ -798,10 +857,10 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - /Me/Friends/$count: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count: get: summary: Get the number of the resource - operationId: Get.Count.Friends + operationId: Get.Count.Peers-e850 responses: '200': description: The count of the resource @@ -811,12 +870,12 @@ paths: $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - /Me/Friends/$ref: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref: get: tags: - - Me.Person - summary: Get ref of Friends from Me - operationId: Me.ListRefFriends + - Me.BestFriend.Person + summary: Get ref of Peers from Me + operationId: Me.BestFriend.ListRefPeers parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' @@ -874,9 +933,9 @@ paths: x-ms-docs-operation-type: operation post: tags: - - Me.Person - summary: Create new navigation property ref to Friends for Me - operationId: Me.CreateRefFriends + - Me.BestFriend.Person + summary: Create new navigation property ref to Peers for Me + operationId: Me.BestFriend.CreateRefPeers requestBody: description: New navigation property ref value content: @@ -896,156 +955,68 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline(): - get: - tags: - - Me.Functions - summary: Invoke function GetFavoriteAirline - operationId: Me.GetFavoriteAirline - responses: - '200': - description: Success - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' - nullable: true - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: get: tags: - - Me.Functions - summary: Invoke function GetFriendsTrips - operationId: Me.GetFriendsTrips + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-09a9 parameters: - - name: userName - in: path - description: 'Usage: userName=''{userName}''' - required: true + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false schema: - type: string - responses: - '200': - description: Success - content: - application/json: - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - nullable: true - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip: - post: - tags: - - Me.Actions - summary: Invoke action GetPeersForTrip - operationId: Me.GetPeersForTrip - requestBody: - description: Action parameters - content: - application/json: - schema: - type: object - properties: - userName: - type: string - tripId: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - required: true - responses: - '200': - description: Success - content: - application/json: - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - nullable: true - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: action - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip: - post: - tags: - - Me.Actions - summary: Invoke action ShareTrip - description: Details of the shared trip. - operationId: Me.ShareTrip - requestBody: - description: Action parameters - content: - application/json: - schema: - type: object - properties: - userName: - type: string - tripId: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - required: true - responses: - '204': - description: Success - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: action - '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': - get: - tags: - - Me.Functions - summary: Invoke function UpdatePersonLastName - operationId: Me.UpdatePersonLastName - parameters: - - name: lastName - in: path - description: 'Usage: lastName=''{lastName}''' - required: true + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false schema: - type: string + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: Success + description: Result entities content: application/json: schema: - type: object - properties: - value: - type: boolean - default: false + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - /Me/Trips: + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports: get: tags: - - Me.Trip - summary: Get Trips from Me - description: Collection of trips. - operationId: Me.ListTrips + - Me.BestFriend.Person + summary: Get DirectReports from Me + operationId: Me.BestFriend.ListDirectReports parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' @@ -1062,22 +1033,28 @@ paths: type: array items: enum: - - TripId - - TripId desc - - ShareId - - ShareId desc - - Name - - Name desc - - Budget - - Budget desc - - Description - - Description desc - - Tags - - Tags desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string - name: $select in: query @@ -1089,15 +1066,20 @@ paths: type: array items: enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - name: $expand in: query @@ -1110,7 +1092,9 @@ paths: items: enum: - '*' - - PlanItems + - Friends + - BestFriend + - Trips type: string responses: '200': @@ -1118,57 +1102,192 @@ paths: content: application/json: schema: - title: Collection of Trip + title: Collection of Person type: object properties: value: type: array items: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + '/Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref': + delete: + tags: + - Me.BestFriend.Person + summary: Delete ref of navigation property DirectReports for Me + operationId: Me.BestFriend.DeleteRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-f41f + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref: + get: + tags: + - Me.BestFriend.Person + summary: Get ref of DirectReports from Me + operationId: Me.BestFriend.ListRefDirectReports + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation post: tags: - - Me.Trip - summary: Create new navigation property to Trips for Me - description: Collection of trips. - operationId: Me.CreateTrips + - Me.BestFriend.Person + summary: Create new navigation property ref to DirectReports for Me + operationId: Me.BestFriend.CreateRefDirectReports requestBody: - description: New navigation property + description: New navigation property ref value content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + type: object + additionalProperties: + type: object required: true responses: '201': - description: Created navigation property. + description: Created navigation property link. content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + type: object default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}': + /Me/Friends: get: tags: - - Me.Trip - summary: Get Trips from Me - description: Collection of trips. - operationId: Me.GetTrips + - Me.Person + summary: Get Friends from Me + operationId: Me.ListFriends parameters: - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string - name: $select in: query description: Select properties to be returned @@ -1179,15 +1298,20 @@ paths: type: array items: enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - name: $expand in: query @@ -1200,7 +1324,9 @@ paths: items: enum: - '*' - - PlanItems + - Friends + - BestFriend + - Trips type: string responses: '200': @@ -1208,120 +1334,123 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - patch: + '/Me/Friends/{UserName}/$ref': + delete: tags: - - Me.Trip - summary: Update the navigation property Trips in Me - description: Collection of trips. - operationId: Me.UpdateTrips - parameters: - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - requestBody: - description: New navigation property values - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - required: true - responses: - '204': - description: Success - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - delete: - tags: - - Me.Trip - summary: Delete navigation property Trips for Me - description: Collection of trips. - operationId: Me.DeleteTrips + - Me.Person + summary: Delete ref of navigation property Friends for Me + operationId: Me.DeleteRefFriends parameters: - - name: TripId + - name: UserName in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - name: If-Match in: header description: ETag schema: type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string responses: '204': description: Success default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': get: tags: - - Me.Functions - summary: Invoke function GetInvolvedPeople - operationId: Me.Trips.Trip.GetInvolvedPeople + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-3dc7 parameters: - - name: TripId + - name: UserName in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: Success + description: Result entities content: application/json: schema: - title: Collection of Trip - type: object - properties: - value: - type: array - items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - nullable: true + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/Me/Trips/{TripId}/PlanItems': + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': get: tags: - - Me.Trips.PlanItem - summary: Get PlanItems from Me - operationId: Me.Trips.ListPlanItems + - Me.Friends.Person + summary: Get Peers from Me + operationId: Me.Friends.ListPeers parameters: - - name: TripId + - name: UserName in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' @@ -1337,16 +1466,28 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string - name: $select in: query @@ -1358,11 +1499,20 @@ paths: type: array items: enum: - - PlanItemId - - ConfirmationCode - - StartsAt - - EndsAt - - Duration + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - name: $expand in: query @@ -1375,6 +1525,9 @@ paths: items: enum: - '*' + - Friends + - BestFriend + - Trips type: string responses: '200': @@ -1382,43 +1535,40 @@ paths: content: application/json: schema: - title: Collection of PlanItem + title: Collection of Person type: object properties: value: type: array items: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': delete: tags: - - Me.Trips.PlanItem - summary: Delete ref of navigation property PlanItems for Me - operationId: Me.Trips.DeleteRefPlanItems + - Me.Friends.Person + summary: Delete ref of navigation property Peers for Me + operationId: Me.Friends.DeleteRefPeers parameters: - - name: TripId + - name: UserName in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - - name: PlanItemId + type: string + x-ms-docs-key-type: Person + - name: UserName1 in: path - description: 'key: PlanItemId of PlanItem' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: PlanItem + type: string + x-ms-docs-key-type: Person - name: If-Match in: header description: ETag @@ -1435,21 +1585,18 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/Me/Trips/{TripId}/PlanItems/$count': + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': get: summary: Get the number of the resource - operationId: Get.Count.PlanItems + operationId: Get.Count.Peers-e3cf parameters: - - name: TripId + - name: UserName in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person responses: '200': description: The count of the resource @@ -1459,23 +1606,20 @@ paths: $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - '/Me/Trips/{TripId}/PlanItems/$ref': + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': get: tags: - - Me.Trips.PlanItem - summary: Get ref of PlanItems from Me - operationId: Me.Trips.ListRefPlanItems + - Me.Friends.Person + summary: Get ref of Peers from Me + operationId: Me.Friends.ListRefPeers parameters: - - name: TripId + - name: UserName in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' @@ -1491,24 +1635,36 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc - type: string - responses: - '200': + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': description: Retrieved navigation property links content: application/json: schema: - title: Collection of links of PlanItem + title: Collection of links of Person type: object properties: value: @@ -1520,20 +1676,17 @@ paths: x-ms-docs-operation-type: operation post: tags: - - Me.Trips.PlanItem - summary: Create new navigation property ref to PlanItems for Me - operationId: Me.Trips.CreateRefPlanItems + - Me.Friends.Person + summary: Create new navigation property ref to Peers for Me + operationId: Me.Friends.CreateRefPeers parameters: - - name: TripId + - name: UserName in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip + type: string + x-ms-docs-key-type: Person requestBody: description: New navigation property ref value content: @@ -1553,64 +1706,20 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - /Me/Trips/$count: - get: - summary: Get the number of the resource - operationId: Get.Count.Trips - responses: - '200': - description: The count of the resource - content: - text/plain: - schema: - $ref: '#/components/schemas/ODataCountResponse' - default: - $ref: '#/components/responses/error' - /NewComePeople: + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': get: tags: - - NewComePeople.Person - summary: Get entities from NewComePeople - operationId: NewComePeople.Person.ListPerson + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-ddec parameters: - - $ref: '#/components/parameters/top' - - $ref: '#/components/parameters/skip' - - $ref: '#/components/parameters/search' - - $ref: '#/components/parameters/filter' - - $ref: '#/components/parameters/count' - - name: $orderby - in: query - description: Order items by property values - style: form - explode: false + - name: UserName + in: path + description: 'key: UserName of Person' + required: true schema: - uniqueItems: true - type: array - items: - enum: - - UserName - - UserName desc - - FirstName - - FirstName desc - - LastName - - LastName desc - - MiddleName - - MiddleName desc - - Gender - - Gender desc - - Age - - Age desc - - Emails - - Emails desc - - AddressInfo - - AddressInfo desc - - HomeAddress - - HomeAddress desc - - FavoriteFeature - - FavoriteFeature desc - - Features - - Features desc - type: string + type: string + x-ms-docs-key-type: Person - name: $select in: query description: Select properties to be returned @@ -1653,47 +1762,19 @@ paths: type: string responses: '200': - description: Retrieved entities - content: - application/json: - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - default: - $ref: '#/components/responses/error' - post: - tags: - - NewComePeople.Person - summary: Add new entity to NewComePeople - operationId: NewComePeople.Person.CreatePerson - requestBody: - description: New entity - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - required: true - responses: - '201': - description: Created entity + description: Result entities content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}': + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': get: tags: - - NewComePeople.Person - summary: Get entity from NewComePeople by key - operationId: NewComePeople.Person.GetPerson + - Me.Friends.Person + summary: Get DirectReports from Me + operationId: Me.Friends.ListDirectReports parameters: - name: UserName in: path @@ -1702,6 +1783,44 @@ paths: schema: type: string x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string - name: $select in: query description: Select properties to be returned @@ -1744,19 +1863,29 @@ paths: type: string responses: '200': - description: Retrieved entity + description: Retrieved navigation property content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - patch: + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + - /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': + delete: tags: - - NewComePeople.Person - summary: Update entity in NewComePeople - operationId: NewComePeople.Person.UpdatePerson + - Me.Friends.Person + summary: Delete ref of navigation property DirectReports for Me + operationId: Me.Friends.DeleteRefDirectReports parameters: - name: UserName in: path @@ -1765,26 +1894,7 @@ paths: schema: type: string x-ms-docs-key-type: Person - requestBody: - description: New property values - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - required: true - responses: - '204': - description: Success - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - delete: - tags: - - NewComePeople.Person - summary: Delete entity from NewComePeople - operationId: NewComePeople.Person.DeletePerson - parameters: - - name: UserName + - name: UserName1 in: path description: 'key: UserName of Person' required: true @@ -1796,19 +1906,44 @@ paths: description: ETag schema: type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string responses: '204': description: Success default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/BestFriend': + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-c1d4 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': get: tags: - - NewComePeople.Person - summary: Get BestFriend from NewComePeople - description: The best friend. - operationId: NewComePeople.GetBestFriend + - Me.Friends.Person + summary: Get ref of DirectReports from Me + operationId: Me.Friends.ListRefDirectReports parameters: - name: UserName in: path @@ -1817,9 +1952,14 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: $select + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby in: query - description: Select properties to be returned + description: Order items by property values style: form explode: false schema: @@ -1828,76 +1968,49 @@ paths: items: enum: - UserName + - UserName desc - FirstName + - FirstName desc - LastName + - LastName desc - MiddleName + - MiddleName desc - Gender + - Gender desc - Age + - Age desc - Emails + - Emails desc - AddressInfo + - AddressInfo desc - HomeAddress + - HomeAddress desc - FavoriteFeature + - FavoriteFeature desc - Features - - Friends - - BestFriend - - Trips - type: string - - name: $expand - in: query - description: Expand related entities - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - '*' - - Friends - - BestFriend - - Trips + - Features desc type: string responses: '200': - description: Retrieved navigation property - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/BestFriend/$ref': - get: - tags: - - NewComePeople.Person - summary: Get ref of BestFriend from NewComePeople - description: The best friend. - operationId: NewComePeople.GetRefBestFriend - parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - responses: - '200': - description: Retrieved navigation property link + description: Retrieved navigation property links content: application/json: schema: - type: string + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - put: + post: tags: - - NewComePeople.Person - summary: Update the ref of navigation property BestFriend in NewComePeople - description: The best friend. - operationId: NewComePeople.UpdateRefBestFriend + - Me.Friends.Person + summary: Create new navigation property ref to DirectReports for Me + operationId: Me.Friends.CreateRefDirectReports parameters: - name: UserName in: path @@ -1907,7 +2020,7 @@ paths: type: string x-ms-docs-key-type: Person requestBody: - description: New navigation property ref values + description: New navigation property ref value content: application/json: schema: @@ -1916,50 +2029,35 @@ paths: type: object required: true responses: - '204': - description: Success + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - delete: - tags: - - NewComePeople.Person - summary: Delete ref of navigation property BestFriend for NewComePeople - description: The best friend. - operationId: NewComePeople.DeleteRefBestFriend - parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - - name: If-Match - in: header - description: ETag - schema: - type: string + /Me/Friends/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Friends-182b responses: - '204': - description: Success + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Friends': + /Me/Friends/$ref: get: tags: - - NewComePeople.Person - summary: Get Friends from NewComePeople - operationId: NewComePeople.ListFriends + - Me.Person + summary: Get ref of Friends from Me + operationId: Me.ListRefFriends parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' @@ -1998,6 +2096,53 @@ paths: - Features - Features desc type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Person + summary: Create new navigation property ref to Friends for Me + operationId: Me.CreateRefFriends + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-f4a5 + parameters: - name: $select in: query description: Select properties to be returned @@ -2040,69 +2185,17 @@ paths: type: string responses: '200': - description: Retrieved navigation property + description: Result entities content: application/json: schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Friends/{UserName1}/$ref': - delete: - tags: - - NewComePeople.Person - summary: Delete ref of navigation property Friends for NewComePeople - operationId: NewComePeople.DeleteRefFriends - parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - - name: UserName1 - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - - name: If-Match - in: header - description: ETag - schema: - type: string - - name: '@id' - in: query - description: Delete Uri - schema: - type: string - responses: - '204': - description: Success + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Friends/$count': + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count: get: summary: Get the number of the resource - operationId: Get.Count.Friends - parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-884b responses: '200': description: The count of the resource @@ -2112,28 +2205,16 @@ paths: $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - '/NewComePeople/{UserName}/Friends/$ref': + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: get: tags: - - NewComePeople.Person - summary: Get ref of Friends from NewComePeople - operationId: NewComePeople.ListRefFriends + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-98ae parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - - $ref: '#/components/parameters/top' - - $ref: '#/components/parameters/skip' - - $ref: '#/components/parameters/search' - - $ref: '#/components/parameters/filter' - - $ref: '#/components/parameters/count' - - name: $orderby + - name: $select in: query - description: Order items by property values + description: Select properties to be returned style: form explode: false schema: @@ -2142,49 +2223,5773 @@ paths: items: enum: - UserName - - UserName desc - FirstName - - FirstName desc - LastName - - LastName desc - MiddleName - - MiddleName desc - Gender - - Gender desc - Age - - Age desc - Emails - - Emails desc - AddressInfo - - AddressInfo desc - HomeAddress - - HomeAddress desc - FavoriteFeature - - FavoriteFeature desc - Features - - Features desc + - Friends + - BestFriend + - Trips type: string - responses: - '200': - description: Retrieved navigation property links - content: - application/json: - schema: - title: Collection of links of Person - type: object + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/components/responses/error' + /Me/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-9376 + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-bd18 + parameters: + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers: + get: + tags: + - Me.Person + summary: Get Peers from Me + operationId: Me.ListPeers + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName}/$ref': + delete: + tags: + - Me.Person + summary: Delete ref of navigation property Peers for Me + operationId: Me.DeleteRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-9fc2 + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref: + get: + tags: + - Me.Person + summary: Get ref of Peers from Me + operationId: Me.ListRefPeers + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Person + summary: Create new navigation property ref to Peers for Me + operationId: Me.CreateRefPeers + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline(): + get: + tags: + - Me.Functions + summary: Invoke function GetFavoriteAirline + operationId: Me.GetFavoriteAirline + responses: + '200': + description: Success + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': + get: + tags: + - Me.Functions + summary: Invoke function GetFriendsTrips + operationId: Me.GetFriendsTrips + parameters: + - name: userName + in: path + description: 'Usage: userName=''{userName}''' + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip: + post: + tags: + - Me.Actions + summary: Invoke action GetPeersForTrip + operationId: Me.GetPeersForTrip + requestBody: + description: Action parameters + content: + application/json: + schema: + type: object + properties: + userName: + type: string + tripId: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: action + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-16dc + parameters: + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/components/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports: + get: + tags: + - Me.Person + summary: Get DirectReports from Me + operationId: Me.ListDirectReports + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - /Me/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports + - '/Me/Friends/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName}/$ref': + delete: + tags: + - Me.Person + summary: Delete ref of navigation property DirectReports for Me + operationId: Me.DeleteRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-8b92 + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref: + get: + tags: + - Me.Person + summary: Get ref of DirectReports from Me + operationId: Me.ListRefDirectReports + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Person + summary: Create new navigation property ref to DirectReports for Me + operationId: Me.CreateRefDirectReports + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire: + post: + tags: + - Me.Actions + summary: Invoke action Hire + description: Hires someone for the company. + operationId: Me.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire + requestBody: + description: Action parameters + content: + application/json: + schema: + type: object + properties: + hire: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: action + /Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip: + post: + tags: + - Me.Actions + summary: Invoke action ShareTrip + description: Details of the shared trip. + operationId: Me.ShareTrip + requestBody: + description: Action parameters + content: + application/json: + schema: + type: object + properties: + userName: + type: string + tripId: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: action + '/Me/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': + get: + tags: + - Me.Functions + summary: Invoke function UpdatePersonLastName + operationId: Me.UpdatePersonLastName + parameters: + - name: lastName + in: path + description: 'Usage: lastName=''{lastName}''' + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + value: + type: boolean + default: false + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + /Me/Trips: + get: + tags: + - Me.Trip + summary: Get Trips from Me + description: Collection of trips. + operationId: Me.ListTrips + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - TripId + - TripId desc + - ShareId + - ShareId desc + - Name + - Name desc + - Budget + - Budget desc + - Description + - Description desc + - Tags + - Tags desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Trip + summary: Create new navigation property to Trips for Me + description: Collection of trips. + operationId: Me.CreateTrips + requestBody: + description: New navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + required: true + responses: + '201': + description: Created navigation property. + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}': + get: + tags: + - Me.Trip + summary: Get Trips from Me + description: Collection of trips. + operationId: Me.GetTrips + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - Me.Trip + summary: Update the navigation property Trips in Me + description: Collection of trips. + operationId: Me.UpdateTrips + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + requestBody: + description: New navigation property values + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - Me.Trip + summary: Delete navigation property Trips for Me + description: Collection of trips. + operationId: Me.DeleteTrips + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + get: + tags: + - Me.Functions + summary: Invoke function GetInvolvedPeople + operationId: Me.Trips.Trip.GetInvolvedPeople + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + responses: + '200': + description: Success + content: + application/json: + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + '/Me/Trips/{TripId}/PlanItems': + get: + tags: + - Me.Trips.PlanItem + summary: Get PlanItems from Me + operationId: Me.Trips.ListPlanItems + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - PlanItemId + - ConfirmationCode + - StartsAt + - EndsAt + - Duration + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of PlanItem + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': + delete: + tags: + - Me.Trips.PlanItem + summary: Delete ref of navigation property PlanItems for Me + operationId: Me.Trips.DeleteRefPlanItems + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - name: PlanItemId + in: path + description: 'key: PlanItemId of PlanItem' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: PlanItem + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/Me/Trips/{TripId}/PlanItems/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.PlanItems-c250 + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/Me/Trips/{TripId}/PlanItems/$ref': + get: + tags: + - Me.Trips.PlanItem + summary: Get ref of PlanItems from Me + operationId: Me.Trips.ListRefPlanItems + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of PlanItem + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - Me.Trips.PlanItem + summary: Create new navigation property ref to PlanItems for Me + operationId: Me.Trips.CreateRefPlanItems + parameters: + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + /Me/Trips/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Trips-7b69 + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /NewComePeople: + get: + tags: + - NewComePeople.Person + summary: Get entities from NewComePeople + operationId: NewComePeople.Person.ListPerson + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entities + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + post: + tags: + - NewComePeople.Person + summary: Add new entity to NewComePeople + operationId: NewComePeople.Person.CreatePerson + requestBody: + description: New entity + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + required: true + responses: + '201': + description: Created entity + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}': + get: + tags: + - NewComePeople.Person + summary: Get entity from NewComePeople by key + operationId: NewComePeople.Person.GetPerson + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entity + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - NewComePeople.Person + summary: Update entity in NewComePeople + operationId: NewComePeople.Person.UpdatePerson + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New property values + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - NewComePeople.Person + summary: Delete entity from NewComePeople + operationId: NewComePeople.Person.DeletePerson + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend': + get: + tags: + - NewComePeople.Person + summary: Get BestFriend from NewComePeople + description: The best friend. + operationId: NewComePeople.GetBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/$ref': + get: + tags: + - NewComePeople.Person + summary: Get ref of BestFriend from NewComePeople + description: The best friend. + operationId: NewComePeople.GetRefBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: Retrieved navigation property link + content: + application/json: + schema: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + put: + tags: + - NewComePeople.Person + summary: Update the ref of navigation property BestFriend in NewComePeople + description: The best friend. + operationId: NewComePeople.UpdateRefBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref values + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - NewComePeople.Person + summary: Delete ref of navigation property BestFriend for NewComePeople + description: The best friend. + operationId: NewComePeople.DeleteRefBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7b75 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get Peers from NewComePeople + operationId: NewComePeople.BestFriend.ListPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': + delete: + tags: + - NewComePeople.BestFriend.Person + summary: Delete ref of navigation property Peers for NewComePeople + operationId: NewComePeople.BestFriend.DeleteRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-1269 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get ref of Peers from NewComePeople + operationId: NewComePeople.BestFriend.ListRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.BestFriend.Person + summary: Create new navigation property ref to Peers for NewComePeople + operationId: NewComePeople.BestFriend.CreateRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-61ce + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get DirectReports from NewComePeople + operationId: NewComePeople.BestFriend.ListDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': + delete: + tags: + - NewComePeople.BestFriend.Person + summary: Delete ref of navigation property DirectReports for NewComePeople + operationId: NewComePeople.BestFriend.DeleteRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-c923 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': + get: + tags: + - NewComePeople.BestFriend.Person + summary: Get ref of DirectReports from NewComePeople + operationId: NewComePeople.BestFriend.ListRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.BestFriend.Person + summary: Create new navigation property ref to DirectReports for NewComePeople + operationId: NewComePeople.BestFriend.CreateRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends': + get: + tags: + - NewComePeople.Person + summary: Get Friends from NewComePeople + operationId: NewComePeople.ListFriends + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/$ref': + delete: + tags: + - NewComePeople.Person + summary: Delete ref of navigation property Friends for NewComePeople + operationId: NewComePeople.DeleteRefFriends + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: + tags: + - NewComePeople.Friends.Person + summary: Get Peers from NewComePeople + operationId: NewComePeople.Friends.ListPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref': + delete: + tags: + - NewComePeople.Friends.Person + summary: Delete ref of navigation property Peers for NewComePeople + operationId: NewComePeople.Friends.DeleteRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName2 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-128d + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': + get: + tags: + - NewComePeople.Friends.Person + summary: Get ref of Peers from NewComePeople + operationId: NewComePeople.Friends.ListRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Friends.Person + summary: Create new navigation property ref to Peers for NewComePeople + operationId: NewComePeople.Friends.CreateRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': + get: + tags: + - NewComePeople.Friends.Person + summary: Get DirectReports from NewComePeople + operationId: NewComePeople.Friends.ListDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/NewComePeople/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref': + delete: + tags: + - NewComePeople.Friends.Person + summary: Delete ref of navigation property DirectReports for NewComePeople + operationId: NewComePeople.Friends.DeleteRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName2 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-08c7 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': + get: + tags: + - NewComePeople.Friends.Person + summary: Get ref of DirectReports from NewComePeople + operationId: NewComePeople.Friends.ListRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Friends.Person + summary: Create new navigation property ref to DirectReports for NewComePeople + operationId: NewComePeople.Friends.CreateRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Friends-2ec1 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/$ref': + get: + tags: + - NewComePeople.Person + summary: Get ref of Friends from NewComePeople + operationId: NewComePeople.ListRefFriends + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Person + summary: Create new navigation property ref to Friends for NewComePeople + operationId: NewComePeople.CreateRefFriends + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-2969 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-4069 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-708f + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d1d3 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': + get: + tags: + - NewComePeople.Functions + summary: Invoke function GetFavoriteAirline + operationId: NewComePeople.Person.GetFavoriteAirline + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: Success + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': + get: + tags: + - NewComePeople.Functions + summary: Invoke function GetFriendsTrips + operationId: NewComePeople.Person.GetFriendsTrips + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: userName + in: path + description: 'Usage: userName=''{userName}''' + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': + post: + tags: + - NewComePeople.Actions + summary: Invoke action GetPeersForTrip + operationId: NewComePeople.Person.GetPeersForTrip + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: Action parameters + content: + application/json: + schema: + type: object + properties: + userName: + type: string + tripId: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: action + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire': + post: + tags: + - NewComePeople.Actions + summary: Invoke action Hire + description: Hires someone for the company. + operationId: NewComePeople.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: Action parameters + content: + application/json: + schema: + type: object + properties: + hire: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: action + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip': + post: + tags: + - NewComePeople.Actions + summary: Invoke action ShareTrip + description: Details of the shared trip. + operationId: NewComePeople.Person.ShareTrip + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: Action parameters + content: + application/json: + schema: + type: object + properties: + userName: + type: string + tripId: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: action + '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': + get: + tags: + - NewComePeople.Functions + summary: Invoke function UpdatePersonLastName + operationId: NewComePeople.Person.UpdatePersonLastName + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: lastName + in: path + description: 'Usage: lastName=''{lastName}''' + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + value: + type: boolean + default: false + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Trips': + get: + tags: + - NewComePeople.Trip + summary: Get Trips from NewComePeople + description: Collection of trips. + operationId: NewComePeople.ListTrips + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - TripId + - TripId desc + - ShareId + - ShareId desc + - Name + - Name desc + - Budget + - Budget desc + - Description + - Description desc + - Tags + - Tags desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Trip + summary: Create new navigation property to Trips for NewComePeople + description: Collection of trips. + operationId: NewComePeople.CreateTrips + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + required: true + responses: + '201': + description: Created navigation property. + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}': + get: + tags: + - NewComePeople.Trip + summary: Get Trips from NewComePeople + description: Collection of trips. + operationId: NewComePeople.GetTrips + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - TripId + - ShareId + - Name + - Budget + - Description + - Tags + - StartsAt + - EndsAt + - PlanItems + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - PlanItems + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - NewComePeople.Trip + summary: Update the navigation property Trips in NewComePeople + description: Collection of trips. + operationId: NewComePeople.UpdateTrips + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + requestBody: + description: New navigation property values + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - NewComePeople.Trip + summary: Delete navigation property Trips for NewComePeople + description: Collection of trips. + operationId: NewComePeople.DeleteTrips + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + get: + tags: + - NewComePeople.Functions + summary: Invoke function GetInvolvedPeople + operationId: NewComePeople.Person.Trips.Trip.GetInvolvedPeople + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + responses: + '200': + description: Success + content: + application/json: + schema: + title: Collection of Trip + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: function + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems': + get: + tags: + - NewComePeople.Trips.PlanItem + summary: Get PlanItems from NewComePeople + operationId: NewComePeople.Trips.ListPlanItems + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - PlanItemId + - ConfirmationCode + - StartsAt + - EndsAt + - Duration + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of PlanItem + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': + delete: + tags: + - NewComePeople.Trips.PlanItem + summary: Delete ref of navigation property PlanItems for NewComePeople + operationId: NewComePeople.Trips.DeleteRefPlanItems + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - name: PlanItemId + in: path + description: 'key: PlanItemId of PlanItem' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: PlanItem + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.PlanItems-841f + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref': + get: + tags: + - NewComePeople.Trips.PlanItem + summary: Get ref of PlanItems from NewComePeople + operationId: NewComePeople.Trips.ListRefPlanItems + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - PlanItemId + - PlanItemId desc + - ConfirmationCode + - ConfirmationCode desc + - StartsAt + - StartsAt desc + - EndsAt + - EndsAt desc + - Duration + - Duration desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of PlanItem + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - NewComePeople.Trips.PlanItem + summary: Create new navigation property ref to PlanItems for NewComePeople + operationId: NewComePeople.Trips.CreateRefPlanItems + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: TripId + in: path + description: 'key: TripId of Trip' + required: true + schema: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 + x-ms-docs-key-type: Trip + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/NewComePeople/{UserName}/Trips/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Trips-d155 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /NewComePeople/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.NewComePeople-55d5 + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /People: + get: + tags: + - People.Person + summary: Get entities from People + operationId: People.Person.ListPerson + parameters: + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entities + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + post: + tags: + - People.Person + summary: Add new entity to People + operationId: People.Person.CreatePerson + requestBody: + description: New entity + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + required: true + responses: + '201': + description: Created entity + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}': + get: + tags: + - People.Person + summary: Get entity from People by key + operationId: People.Person.GetPerson + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved entity + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - People.Person + summary: Update entity in People + operationId: People.Person.UpdatePerson + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New property values + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - People.Person + summary: Delete entity from People + operationId: People.Person.DeletePerson + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend': + get: + tags: + - People.Person + summary: Get BestFriend from People + description: The best friend. + operationId: People.GetBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend/$ref': + get: + tags: + - People.Person + summary: Get ref of BestFriend from People + description: The best friend. + operationId: People.GetRefBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: Retrieved navigation property link + content: + application/json: + schema: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + put: + tags: + - People.Person + summary: Update the ref of navigation property BestFriend in People + description: The best friend. + operationId: People.UpdateRefBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref values + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - People.Person + summary: Delete ref of navigation property BestFriend for People + description: The best friend. + operationId: People.DeleteRefBestFriend + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-7188 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: + tags: + - People.BestFriend.Person + summary: Get Peers from People + operationId: People.BestFriend.ListPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': + delete: + tags: + - People.BestFriend.Person + summary: Delete ref of navigation property Peers for People + operationId: People.BestFriend.DeleteRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-5860 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': + get: + tags: + - People.BestFriend.Person + summary: Get ref of Peers from People + operationId: People.BestFriend.ListRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - People.BestFriend.Person + summary: Create new navigation property ref to Peers for People + operationId: People.BestFriend.CreateRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-5f08 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/components/responses/error' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': + get: + tags: + - People.BestFriend.Person + summary: Get DirectReports from People + operationId: People.BestFriend.ListDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': + delete: + tags: + - People.BestFriend.Person + summary: Delete ref of navigation property DirectReports for People + operationId: People.BestFriend.DeleteRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.DirectReports-cddc + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': + get: + tags: + - People.BestFriend.Person + summary: Get ref of DirectReports from People + operationId: People.BestFriend.ListRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + responses: + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + post: + tags: + - People.BestFriend.Person + summary: Create new navigation property ref to DirectReports for People + operationId: People.BestFriend.CreateRefDirectReports + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/Friends': + get: + tags: + - People.Person + summary: Get Friends from People + operationId: People.ListFriends + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/Friends/{UserName1}/$ref': + delete: + tags: + - People.Person + summary: Delete ref of navigation property Friends for People + operationId: People.DeleteRefFriends + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': + get: + tags: + - People.Friends.Person + summary: Get Peers from People + operationId: People.Friends.ListPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of Person + type: object properties: value: type: array items: - type: string + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - post: + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName2}/$ref': + delete: tags: - - NewComePeople.Person - summary: Create new navigation property ref to Friends for NewComePeople - operationId: NewComePeople.CreateRefFriends + - People.Friends.Person + summary: Delete ref of navigation property Peers for People + operationId: People.Friends.DeleteRefPeers parameters: - name: UserName in: path @@ -2193,31 +7998,40 @@ paths: schema: type: string x-ms-docs-key-type: Person - requestBody: - description: New navigation property ref value - content: - application/json: - schema: - type: object - additionalProperties: - type: object - required: true + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName2 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string responses: - '201': - description: Created navigation property link. - content: - application/json: - schema: - type: object + '204': + description: Success default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': get: - tags: - - NewComePeople.Functions - summary: Invoke function GetFavoriteAirline - operationId: NewComePeople.Person.GetFavoriteAirline + summary: Get the number of the resource + operationId: Get.Count.Peers-ff21 parameters: - name: UserName in: path @@ -2226,24 +8040,28 @@ paths: schema: type: string x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person responses: '200': - description: Success + description: The count of the resource content: - application/json: + text/plain: schema: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' - nullable: true + $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': get: tags: - - NewComePeople.Functions - summary: Invoke function GetFriendsTrips - operationId: NewComePeople.Person.GetFriendsTrips + - People.Friends.Person + summary: Get ref of Peers from People + operationId: People.Friends.ListRefPeers parameters: - name: UserName in: path @@ -2252,36 +8070,72 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: userName + - name: UserName1 in: path - description: 'Usage: userName=''{userName}''' + description: 'key: UserName of Person' required: true schema: type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string responses: '200': - description: Success + description: Retrieved navigation property links content: application/json: schema: - title: Collection of Person + title: Collection of links of Person type: object properties: value: type: array items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - nullable: true + type: string default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': + x-ms-docs-operation-type: operation post: tags: - - NewComePeople.Actions - summary: Invoke action GetPeersForTrip - operationId: NewComePeople.Person.GetPeersForTrip + - People.Friends.Person + summary: Create new navigation property ref to Peers for People + operationId: People.Friends.CreateRefPeers parameters: - name: UserName in: path @@ -2290,48 +8144,7 @@ paths: schema: type: string x-ms-docs-key-type: Person - requestBody: - description: Action parameters - content: - application/json: - schema: - type: object - properties: - userName: - type: string - tripId: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - required: true - responses: - '200': - description: Success - content: - application/json: - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - nullable: true - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: action - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.ShareTrip': - post: - tags: - - NewComePeople.Actions - summary: Invoke action ShareTrip - description: Details of the shared trip. - operationId: NewComePeople.Person.ShareTrip - parameters: - - name: UserName + - name: UserName1 in: path description: 'key: UserName of Person' required: true @@ -2339,32 +8152,30 @@ paths: type: string x-ms-docs-key-type: Person requestBody: - description: Action parameters + description: New navigation property ref value content: application/json: schema: type: object - properties: - userName: - type: string - tripId: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 + additionalProperties: + type: object required: true responses: - '204': - description: Success + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: action - '/NewComePeople/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.UpdatePersonLastName(lastName=''{lastName}'')': + x-ms-docs-operation-type: operation + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': get: tags: - - NewComePeople.Functions - summary: Invoke function UpdatePersonLastName - operationId: NewComePeople.Person.UpdatePersonLastName + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb parameters: - name: UserName in: path @@ -2373,33 +8184,68 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: lastName + - name: UserName1 in: path - description: 'Usage: lastName=''{lastName}''' + description: 'key: UserName of Person' required: true schema: type: string + x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: Success + description: Result entities content: application/json: schema: - type: object - properties: - value: - type: boolean - default: false + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Trips': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': get: tags: - - NewComePeople.Trip - summary: Get Trips from NewComePeople - description: Collection of trips. - operationId: NewComePeople.ListTrips + - People.Friends.Person + summary: Get DirectReports from People + operationId: People.Friends.ListDirectReports parameters: - name: UserName in: path @@ -2408,6 +8254,13 @@ paths: schema: type: string x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' @@ -2423,22 +8276,28 @@ paths: type: array items: enum: - - TripId - - TripId desc - - ShareId - - ShareId desc - - Name - - Name desc - - Budget - - Budget desc - - Description - - Description desc - - Tags - - Tags desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string - name: $select in: query @@ -2450,15 +8309,20 @@ paths: type: array items: enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips type: string - name: $expand in: query @@ -2471,7 +8335,9 @@ paths: items: enum: - '*' - - PlanItems + - Friends + - BestFriend + - Trips type: string responses: '200': @@ -2479,22 +8345,25 @@ paths: content: application/json: schema: - title: Collection of Trip + title: Collection of Person type: object properties: value: type: array items: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - post: + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName2}/$ref': + delete: tags: - - NewComePeople.Trip - summary: Create new navigation property to Trips for NewComePeople - description: Collection of trips. - operationId: NewComePeople.CreateTrips + - People.Friends.Person + summary: Delete ref of navigation property DirectReports for People + operationId: People.Friends.DeleteRefDirectReports parameters: - name: UserName in: path @@ -2503,30 +8372,40 @@ paths: schema: type: string x-ms-docs-key-type: Person - requestBody: - description: New navigation property - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - required: true + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName2 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string responses: - '201': - description: Created navigation property. - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + '204': + description: Success default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}': + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': get: - tags: - - NewComePeople.Trip - summary: Get Trips from NewComePeople - description: Collection of trips. - operationId: NewComePeople.GetTrips + summary: Get the number of the resource + operationId: Get.Count.DirectReports-3b03 parameters: - name: UserName in: path @@ -2535,65 +8414,28 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId + - name: UserName1 in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - - name: $select - in: query - description: Select properties to be returned - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - TripId - - ShareId - - Name - - Budget - - Description - - Tags - - StartsAt - - EndsAt - - PlanItems - type: string - - name: $expand - in: query - description: Expand related entities - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - '*' - - PlanItems - type: string + type: string + x-ms-docs-key-type: Person responses: '200': - description: Retrieved navigation property + description: The count of the resource content: - application/json: + text/plain: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - patch: + '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': + get: tags: - - NewComePeople.Trip - summary: Update the navigation property Trips in NewComePeople - description: Collection of trips. - operationId: NewComePeople.UpdateTrips + - People.Friends.Person + summary: Get ref of DirectReports from People + operationId: People.Friends.ListRefDirectReports parameters: - name: UserName in: path @@ -2602,35 +8444,72 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId + - name: UserName1 in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - requestBody: - description: New navigation property values - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - required: true + type: string + x-ms-docs-key-type: Person + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc + type: string responses: - '204': - description: Success + '200': + description: Retrieved navigation property links + content: + application/json: + schema: + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - delete: + post: tags: - - NewComePeople.Trip - summary: Delete navigation property Trips for NewComePeople - description: Collection of trips. - operationId: NewComePeople.DeleteTrips + - People.Friends.Person + summary: Create new navigation property ref to DirectReports for People + operationId: People.Friends.CreateRefDirectReports parameters: - name: UserName in: path @@ -2639,33 +8518,36 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId + - name: UserName1 in: path - description: 'key: TripId of Trip' + description: 'key: UserName of Person' required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - - name: If-Match - in: header - description: ETag schema: type: string + x-ms-docs-key-type: Person + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true responses: - '204': - description: Success + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetInvolvedPeople()': + '/People/{UserName}/Friends/$count': get: - tags: - - NewComePeople.Functions - summary: Invoke function GetInvolvedPeople - operationId: NewComePeople.Person.Trips.Trip.GetInvolvedPeople + summary: Get the number of the resource + operationId: Get.Count.Friends-92b9 parameters: - name: UserName in: path @@ -2674,40 +8556,21 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip responses: '200': - description: Success + description: The count of the resource content: - application/json: + text/plain: schema: - title: Collection of Trip - type: object - properties: - value: - type: array - items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - nullable: true + $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems': + '/People/{UserName}/Friends/$ref': get: tags: - - NewComePeople.Trips.PlanItem - summary: Get PlanItems from NewComePeople - operationId: NewComePeople.Trips.ListPlanItems + - People.Person + summary: Get ref of Friends from People + operationId: People.ListRefFriends parameters: - name: UserName in: path @@ -2716,16 +8579,6 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' @@ -2741,67 +8594,50 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc - type: string - - name: $select - in: query - description: Select properties to be returned - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - PlanItemId - - ConfirmationCode - - StartsAt - - EndsAt - - Duration - type: string - - name: $expand - in: query - description: Expand related entities - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - '*' + - UserName + - UserName desc + - FirstName + - FirstName desc + - LastName + - LastName desc + - MiddleName + - MiddleName desc + - Gender + - Gender desc + - Age + - Age desc + - Emails + - Emails desc + - AddressInfo + - AddressInfo desc + - HomeAddress + - HomeAddress desc + - FavoriteFeature + - FavoriteFeature desc + - Features + - Features desc type: string responses: '200': - description: Retrieved navigation property + description: Retrieved navigation property links content: application/json: schema: - title: Collection of PlanItem + title: Collection of links of Person type: object properties: value: type: array items: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.PlanItem' + type: string default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/{PlanItemId}/$ref': - delete: + post: tags: - - NewComePeople.Trips.PlanItem - summary: Delete ref of navigation property PlanItems for NewComePeople - operationId: NewComePeople.Trips.DeleteRefPlanItems + - People.Person + summary: Create new navigation property ref to Friends for People + operationId: People.CreateRefFriends parameters: - name: UserName in: path @@ -2810,46 +8646,92 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - - name: PlanItemId + requestBody: + description: New navigation property ref value + content: + application/json: + schema: + type: object + additionalProperties: + type: object + required: true + responses: + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-11bf + parameters: + - name: UserName in: path - description: 'key: PlanItemId of PlanItem' + description: 'key: UserName of Person' required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: PlanItem - - name: If-Match - in: header - description: ETag schema: type: string - - name: '@id' + x-ms-docs-key-type: Person + - name: $select in: query - description: Delete Uri + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false schema: - type: string + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: - '204': - description: Success + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$count': + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count': get: summary: Get the number of the resource - operationId: Get.Count.PlanItems + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-a96c parameters: - name: UserName in: path @@ -2858,16 +8740,6 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip responses: '200': description: The count of the resource @@ -2877,12 +8749,12 @@ paths: $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - '/NewComePeople/{UserName}/Trips/{TripId}/PlanItems/$ref': + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': get: tags: - - NewComePeople.Trips.PlanItem - summary: Get ref of PlanItems from NewComePeople - operationId: NewComePeople.Trips.ListRefPlanItems + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-1cfb parameters: - name: UserName in: path @@ -2891,24 +8763,34 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - - $ref: '#/components/parameters/top' - - $ref: '#/components/parameters/skip' - - $ref: '#/components/parameters/search' - - $ref: '#/components/parameters/filter' - - $ref: '#/components/parameters/count' - - name: $orderby + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand in: query - description: Order items by property values + description: Expand related entities style: form explode: false schema: @@ -2916,38 +8798,24 @@ paths: type: array items: enum: - - PlanItemId - - PlanItemId desc - - ConfirmationCode - - ConfirmationCode desc - - StartsAt - - StartsAt desc - - EndsAt - - EndsAt desc - - Duration - - Duration desc + - '*' + - Friends + - BestFriend + - Trips type: string responses: '200': - description: Retrieved navigation property links + description: Result entities content: application/json: schema: - title: Collection of links of PlanItem - type: object - properties: - value: - type: array - items: - type: string + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - post: - tags: - - NewComePeople.Trips.PlanItem - summary: Create new navigation property ref to PlanItems for NewComePeople - operationId: NewComePeople.Trips.CreateRefPlanItems + '/People/{UserName}/Friends/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-26b3 parameters: - name: UserName in: path @@ -2956,39 +8824,21 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: TripId - in: path - description: 'key: TripId of Trip' - required: true - schema: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 - x-ms-docs-key-type: Trip - requestBody: - description: New navigation property ref value - content: - application/json: - schema: - type: object - additionalProperties: - type: object - required: true responses: - '201': - description: Created navigation property link. + '200': + description: The count of the resource content: - application/json: + text/plain: schema: - type: object + $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/NewComePeople/{UserName}/Trips/$count': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee': get: - summary: Get the number of the resource - operationId: Get.Count.Trips + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-317b parameters: - name: UserName in: path @@ -2997,35 +8847,69 @@ paths: schema: type: string x-ms-docs-key-type: Person + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: '200': - description: The count of the resource - content: - text/plain: - schema: - $ref: '#/components/schemas/ODataCountResponse' - default: - $ref: '#/components/responses/error' - /NewComePeople/$count: - get: - summary: Get the number of the resource - operationId: Get.Count.NewComePeople - responses: - '200': - description: The count of the resource + description: Result entities content: - text/plain: + application/json: schema: - $ref: '#/components/schemas/ODataCountResponse' + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' default: $ref: '#/components/responses/error' - /People: + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers': get: tags: - People.Person - summary: Get entities from People - operationId: People.Person.ListPerson + summary: Get Peers from People + operationId: People.ListPeers parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' @@ -3106,7 +8990,7 @@ paths: type: string responses: '200': - description: Retrieved entities + description: Retrieved navigation property content: application/json: schema: @@ -3119,34 +9003,74 @@ paths: $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' default: $ref: '#/components/responses/error' - post: + x-ms-docs-operation-type: operation + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers' + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/{UserName1}/$ref': + delete: tags: - People.Person - summary: Add new entity to People - operationId: People.Person.CreatePerson - requestBody: - description: New entity - content: - application/json: - schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - required: true + summary: Delete ref of navigation property Peers for People + operationId: People.DeleteRefPeers + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: UserName1 + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person + - name: If-Match + in: header + description: ETag + schema: + type: string + - name: '@id' + in: query + description: Delete Uri + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$count': + get: + summary: Get the number of the resource + operationId: Get.Count.Peers-44d2 + parameters: + - name: UserName + in: path + description: 'key: UserName of Person' + required: true + schema: + type: string + x-ms-docs-key-type: Person responses: - '201': - description: Created entity + '200': + description: The count of the resource content: - application/json: + text/plain: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/People/{UserName}': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/Peers/$ref': get: tags: - People.Person - summary: Get entity from People by key - operationId: People.Person.GetPerson + summary: Get ref of Peers from People + operationId: People.ListRefPeers parameters: - name: UserName in: path @@ -3155,9 +9079,14 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: $select + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby in: query - description: Select properties to be returned + description: Order items by property values style: form explode: false schema: @@ -3166,50 +9095,49 @@ paths: items: enum: - UserName + - UserName desc - FirstName + - FirstName desc - LastName + - LastName desc - MiddleName + - MiddleName desc - Gender + - Gender desc - Age + - Age desc - Emails + - Emails desc - AddressInfo + - AddressInfo desc - HomeAddress + - HomeAddress desc - FavoriteFeature + - FavoriteFeature desc - Features - - Friends - - BestFriend - - Trips - type: string - - name: $expand - in: query - description: Expand related entities - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - '*' - - Friends - - BestFriend - - Trips + - Features desc type: string responses: '200': - description: Retrieved entity + description: Retrieved navigation property links content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + title: Collection of links of Person + type: object + properties: + value: + type: array + items: + type: string default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - patch: + post: tags: - People.Person - summary: Update entity in People - operationId: People.Person.UpdatePerson + summary: Create new navigation property ref to Peers for People + operationId: People.CreateRefPeers parameters: - name: UserName in: path @@ -3219,49 +9147,30 @@ paths: type: string x-ms-docs-key-type: Person requestBody: - description: New property values + description: New navigation property ref value content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + type: object + additionalProperties: + type: object required: true responses: - '204': - description: Success - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - delete: - tags: - - People.Person - summary: Delete entity from People - operationId: People.Person.DeletePerson - parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - - name: If-Match - in: header - description: ETag - schema: - type: string - responses: - '204': - description: Success + '201': + description: Created navigation property link. + content: + application/json: + schema: + type: object default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/BestFriend': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': get: tags: - - People.Person - summary: Get BestFriend from People - description: The best friend. - operationId: People.GetBestFriend + - People.Functions + summary: Invoke function GetFavoriteAirline + operationId: People.Person.GetFavoriteAirline parameters: - name: UserName in: path @@ -3270,63 +9179,24 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: $select - in: query - description: Select properties to be returned - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - UserName - - FirstName - - LastName - - MiddleName - - Gender - - Age - - Emails - - AddressInfo - - HomeAddress - - FavoriteFeature - - Features - - Friends - - BestFriend - - Trips - type: string - - name: $expand - in: query - description: Expand related entities - style: form - explode: false - schema: - uniqueItems: true - type: array - items: - enum: - - '*' - - Friends - - BestFriend - - Trips - type: string responses: '200': - description: Retrieved navigation property + description: Success content: application/json: schema: - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' + nullable: true default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/People/{UserName}/BestFriend/$ref': + x-ms-docs-operation-type: function + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': get: tags: - - People.Person - summary: Get ref of BestFriend from People - description: The best friend. - operationId: People.GetRefBestFriend + - People.Functions + summary: Invoke function GetFriendsTrips + operationId: People.Person.GetFriendsTrips parameters: - name: UserName in: path @@ -3335,22 +9205,36 @@ paths: schema: type: string x-ms-docs-key-type: Person + - name: userName + in: path + description: 'Usage: userName=''{userName}''' + required: true + schema: + type: string responses: '200': - description: Retrieved navigation property link + description: Success content: application/json: schema: - type: string + title: Collection of Person + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' + nullable: true default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - put: + x-ms-docs-operation-type: function + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': + post: tags: - - People.Person - summary: Update the ref of navigation property BestFriend in People - description: The best friend. - operationId: People.UpdateRefBestFriend + - People.Actions + summary: Invoke action GetPeersForTrip + operationId: People.Person.GetPeersForTrip parameters: - name: UserName in: path @@ -3360,26 +9244,44 @@ paths: type: string x-ms-docs-key-type: Person requestBody: - description: New navigation property ref values + description: Action parameters content: application/json: schema: type: object - additionalProperties: - type: object + properties: + userName: + type: string + tripId: + maximum: 2147483647 + minimum: -2147483648 + type: integer + format: int32 required: true responses: - '204': + '200': description: Success + content: + application/json: + schema: + title: Collection of Person + type: object + properties: + value: + type: array + items: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - delete: + x-ms-docs-operation-type: action + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager': + get: tags: - - People.Person - summary: Delete ref of navigation property BestFriend for People - description: The best friend. - operationId: People.DeleteRefBestFriend + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-d051 parameters: - name: UserName in: path @@ -3388,23 +9290,61 @@ paths: schema: type: string x-ms-docs-key-type: Person - - name: If-Match - in: header - description: ETag + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false schema: - type: string + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string responses: - '204': - description: Success + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' default: $ref: '#/components/responses/error' - x-ms-docs-operation-type: operation - '/People/{UserName}/Friends': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports': get: tags: - People.Person - summary: Get Friends from People - operationId: People.ListFriends + summary: Get DirectReports from People + operationId: People.ListDirectReports parameters: - name: UserName in: path @@ -3507,12 +9447,15 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/Friends/{UserName1}/$ref': + x-ms-docs-grouped-path: + - '/People/{UserName}/BestFriend/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + - '/People/{UserName}/Friends/{UserName1}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports' + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/{UserName1}/$ref': delete: tags: - People.Person - summary: Delete ref of navigation property Friends for People - operationId: People.DeleteRefFriends + summary: Delete ref of navigation property DirectReports for People + operationId: People.DeleteRefDirectReports parameters: - name: UserName in: path @@ -3544,10 +9487,10 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/Friends/$count': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$count': get: summary: Get the number of the resource - operationId: Get.Count.Friends + operationId: Get.Count.DirectReports-0ec4 parameters: - name: UserName in: path @@ -3565,12 +9508,12 @@ paths: $ref: '#/components/schemas/ODataCountResponse' default: $ref: '#/components/responses/error' - '/People/{UserName}/Friends/$ref': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/DirectReports/$ref': get: tags: - People.Person - summary: Get ref of Friends from People - operationId: People.ListRefFriends + summary: Get ref of DirectReports from People + operationId: People.ListRefDirectReports parameters: - name: UserName in: path @@ -3636,8 +9579,8 @@ paths: post: tags: - People.Person - summary: Create new navigation property ref to Friends for People - operationId: People.CreateRefFriends + summary: Create new navigation property ref to DirectReports for People + operationId: People.CreateRefDirectReports parameters: - name: UserName in: path @@ -3665,76 +9608,13 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFavoriteAirline()': - get: - tags: - - People.Functions - summary: Invoke function GetFavoriteAirline - operationId: People.Person.GetFavoriteAirline - parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - responses: - '200': - description: Success - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Airline' - nullable: true - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetFriendsTrips(userName=''{userName}'')': - get: - tags: - - People.Functions - summary: Invoke function GetFriendsTrips - operationId: People.Person.GetFriendsTrips - parameters: - - name: UserName - in: path - description: 'key: UserName of Person' - required: true - schema: - type: string - x-ms-docs-key-type: Person - - name: userName - in: path - description: 'Usage: userName=''{userName}''' - required: true - schema: - type: string - responses: - '200': - description: Success - content: - application/json: - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip' - nullable: true - default: - $ref: '#/components/responses/error' - x-ms-docs-operation-type: function - '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.GetPeersForTrip': + '/People/{UserName}/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Hire': post: tags: - People.Actions - summary: Invoke action GetPeersForTrip - operationId: People.Person.GetPeersForTrip + summary: Invoke action Hire + description: Hires someone for the company. + operationId: People.Person.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager.Hire parameters: - name: UserName in: path @@ -3750,29 +9630,14 @@ paths: schema: type: object properties: - userName: - type: string - tripId: - maximum: 2147483647 - minimum: -2147483648 - type: integer - format: int32 + hire: + anyOf: + - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' + nullable: true required: true responses: - '200': + '204': description: Success - content: - application/json: - schema: - title: Collection of Person - type: object - properties: - value: - type: array - items: - anyOf: - - $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person' - nullable: true default: $ref: '#/components/responses/error' x-ms-docs-operation-type: action @@ -4302,7 +10167,7 @@ paths: '/People/{UserName}/Trips/{TripId}/PlanItems/$count': get: summary: Get the number of the resource - operationId: Get.Count.PlanItems + operationId: Get.Count.PlanItems-9a27 parameters: - name: UserName in: path @@ -4441,7 +10306,7 @@ paths: '/People/{UserName}/Trips/$count': get: summary: Get the number of the resource - operationId: Get.Count.Trips + operationId: Get.Count.Trips-e877 parameters: - name: UserName in: path @@ -4462,7 +10327,145 @@ paths: /People/$count: get: summary: Get the number of the resource - operationId: Get.Count.People + operationId: Get.Count.People-dd8d + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee: + get: + tags: + - Person.Employee + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-013a + parameters: + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee' + default: + $ref: '#/components/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Employee-ef29 + responses: + '200': + description: The count of the resource + content: + text/plain: + schema: + $ref: '#/components/schemas/ODataCountResponse' + default: + $ref: '#/components/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager: + get: + tags: + - Person.Manager + summary: Get the item of type Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person as Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager + operationId: Get.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person.Item.As.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-3e14 + parameters: + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - UserName + - FirstName + - LastName + - MiddleName + - Gender + - Age + - Emails + - AddressInfo + - HomeAddress + - FavoriteFeature + - Features + - Friends + - BestFriend + - Trips + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + - Friends + - BestFriend + - Trips + type: string + responses: + '200': + description: Result entities + content: + application/json: + schema: + $ref: '#/components/schemas/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager' + default: + $ref: '#/components/responses/error' + /People/Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager/$count: + get: + summary: Get the number of the resource + operationId: Get.Count.Microsoft.OData.Service.Sample.TrippinInMemory.Models.Manager-2d48 responses: '200': description: The count of the resource @@ -5103,6 +11106,12 @@ tags: x-ms-docs-toc-type: container - name: Me.Person x-ms-docs-toc-type: page + - name: Person.Employee + - name: Me.BestFriend.Person + x-ms-docs-toc-type: page + - name: Person.Manager + - name: Me.Friends.Person + x-ms-docs-toc-type: page - name: Me.Functions x-ms-docs-toc-type: container - name: Me.Actions @@ -5113,6 +11122,10 @@ tags: x-ms-docs-toc-type: page - name: NewComePeople.Person x-ms-docs-toc-type: page + - name: NewComePeople.BestFriend.Person + x-ms-docs-toc-type: page + - name: NewComePeople.Friends.Person + x-ms-docs-toc-type: page - name: NewComePeople.Functions x-ms-docs-toc-type: container - name: NewComePeople.Actions @@ -5123,6 +11136,10 @@ tags: x-ms-docs-toc-type: page - name: People.Person x-ms-docs-toc-type: page + - name: People.BestFriend.Person + x-ms-docs-toc-type: page + - name: People.Friends.Person + x-ms-docs-toc-type: page - name: People.Functions x-ms-docs-toc-type: container - name: People.Actions