private static GraphIdentifier CreateGraphIdentifier(GraphVersion version, IEdmModel model, IEdmSchemaElement element) { return(new GraphIdentifier { Version = version, Name = element.Name, Description = model.GetDescriptionAnnotation(element), Namespace = element.Namespace, Kind = ((IEdmType)element).TypeKind.ToString() }); }
private static GraphIdentifier CreateIdentifier(GraphVersion version, IEdmModel model, IEdmStructuralProperty property) { return(new GraphIdentifier() { Version = version, Name = property.Name, Description = model.GetDescriptionAnnotation(property), Kind = $"Property ({property.Type.ShortQualifiedName()})", Type = property.DeclaringType.ToString() }); }
public async Task <IEnumerable <GraphIdentifier> > GetVocab(GraphVersion version = GraphVersion.V1) { Uri csdlurl = null; switch (version) { case GraphVersion.Beta: csdlurl = new Uri("https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/clean_beta_metadata/cleanMetadataWithDescriptionsbeta.xml"); break; case GraphVersion.V1: default: csdlurl = new Uri("https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/clean_v10_metadata/cleanMetadataWithDescriptionsv1.0.xml"); break; } var identifiers = new List <GraphIdentifier>(); var model = await GetEdmModel(csdlurl); foreach (var element in model.SchemaElements) { if (element.SchemaElementKind == EdmSchemaElementKind.TypeDefinition) { IEdmType edmType = (IEdmType)element; switch (edmType.TypeKind) { case EdmTypeKind.Complex: identifiers.Add(CreateGraphIdentifier(version, model, element)); break; case EdmTypeKind.Entity: identifiers.Add(CreateGraphIdentifier(version, model, element)); var edmStructuredType = edmType as IEdmStructuredType; foreach (var property in edmStructuredType.DeclaredStructuralProperties()) { identifiers.Add(CreateIdentifier(version, model, property)); } break; case EdmTypeKind.Enum: // enum type identifiers.Add(CreateGraphIdentifier(version, model, element)); break; //case EdmTypeKind.TypeDefinition: // type definition // return context.CreateSchemaTypeDefinitionSchema((IEdmTypeDefinition)edmType); case EdmTypeKind.None: default: break; } } } return(identifiers); }
public GraphExplorerSnippetsController(IOptions <GraphVersion> settings) { this.GraphVersion = settings.Value; }