Example #1
0
 public Schema GetEdFiEntityExtensionBridgeSchema(ResourceClassBase resource, IOpenApiMetadataResourceContext resourceContext)
 {
     return(resource.Extensions.Any(extension => _documentContext.IsIncludedExtension(extension.ObjectType))
         ? new Schema
     {
         @ref = OpenApiMetadataDocumentHelper.GetDefinitionReference(OpenApiMetadataDocumentHelper.GetEdFiExtensionBridgeName(resource, resourceContext))
     }
         : null);
 }
        public static string GetResourceExtensionDefinitionName(Extension extension, IOpenApiMetadataResourceContext resourceContext = null)
        {
            var name = $"{extension.PropertyName}_{extension.ObjectType.Parent.Name}Extension";

            if (!string.IsNullOrEmpty(resourceContext?.OperationNamingContext))
            {
                name += $"_{resourceContext.OperationNamingContext}";
            }

            return(CamelCaseSegments(name));
        }
        public static string GetEdFiExtensionBridgeName(ResourceClassBase resource, IOpenApiMetadataResourceContext resourceContext = null)
        {
            var name = $"{resource.Name}Extensions";

            if (!string.IsNullOrEmpty(resourceContext?.OperationNamingContext))
            {
                name += $"_{resourceContext.OperationNamingContext}";
            }

            return(CamelCaseSegments(name));
        }
Example #4
0
        public string GetResourceName(Resource resource, IOpenApiMetadataResourceContext resourceContext)
        {
            var schemaPrefix = resource
                               .Entity
                               .DomainModel
                               .SchemaNameMapProvider
                               .GetSchemaMapByPhysicalName(resource.Entity.Schema)
                               .ProperCaseName;

            return(OpenApiMetadataDocumentHelper.CamelCaseSegments($"{schemaPrefix}_{resource.Name}"));
        }
Example #5
0
        public Schema GetEdFiEntityExtensionBridgeSchema(ResourceClassBase resource, IOpenApiMetadataResourceContext resourceContext)
        {
            if (_documentContext.RenderType == RenderType.GeneralizedExtensions)
            {
                return(new Schema
                {
                    type = "object",
                    description = $"Extensions to the {resource.Name} entity.",
                    properties = new SortedDictionary <string, Schema>()
                });
            }

            return(null);
        }
        public string GetResourceName(Resource resource, IOpenApiMetadataResourceContext resourceContext)
        {
            var name = resourceContext.ContextualResource == null
                ? string.Format(
                @"{0}_{1}_{2}",
                resource.SchemaProperCaseName,
                CompositeTermInflector.MakeSingular(resource.Name),
                resourceContext.OperationNamingContext)
                       .ToCamelCase()
                : string.Format(
                @"{0}_{1}_{2}_{3}",
                resource.SchemaProperCaseName,
                CompositeTermInflector.MakeSingular(resource.Name),
                resourceContext.ContextualResource.Name,
                resourceContext.OperationNamingContext);

            return(OpenApiMetadataDocumentHelper.CamelCaseSegments(name));
        }
Example #7
0
 public Schema GetEdFiExtensionBridgeSchema(ResourceClassBase resource, IOpenApiMetadataResourceContext resourceContext)
 {
     //No Extension bridge schema
     return(null);
 }
Example #8
0
        private IDictionary <string, Schema> CreateEdFiExtensionSchemas(ResourceClassBase resourceClassBase, IOpenApiMetadataResourceContext resourceContext)
        {
            var extensions = new Dictionary <string, Schema>();

            //Add the bridge extension object with all extension references.
            var bridgeSchema = _bridgeStrategy.GetEdFiExtensionBridgeSchema(resourceClassBase, resourceContext);

            if (bridgeSchema != null)
            {
                extensions.Add(
                    OpenApiMetadataDocumentHelper.GetEdFiExtensionBridgeName(resourceClassBase, resourceContext),
                    bridgeSchema);
            }

            return(extensions);
        }
        private Schema GetEdFiExtensionBridgeReferenceSchema(ResourceClassBase resource, IOpenApiMetadataResourceContext resourceContext)
        {
            //Handle entity extension bridge.
            if (resource.IsEdFiStandardResource && resource.Entity?.IsLookup != true)
            {
                return(_definitionsFactoryEdFiExtensionBridgeStrategy.GetEdFiEntityExtensionBridgeSchema(
                           resource, resourceContext));
            }

            return(null);
        }
Example #10
0
 public Schema GetEdFiExtensionBridgeSchema(ResourceClassBase resourceClassBase, IOpenApiMetadataResourceContext resourceContext)
 {
     return(new Schema
     {
         type = "object",
         properties = resourceClassBase.ExtensionByName
                      .Where(kvp => _documentContext.IsIncludedExtension(kvp.Value.ObjectType))
                      .ToDictionary(
             pair => pair.Key,
             pair =>
             new Schema
         {
             @ref =
                 OpenApiMetadataDocumentHelper.GetDefinitionReference(
                     OpenApiMetadataDocumentHelper
                     .GetResourceExtensionDefinitionName(
                         pair.Value,
                         resourceContext))
         })
     });
 }
Example #11
0
 public string GetResourceName(Resource resource, IOpenApiMetadataResourceContext resourceContext)
 {
     return(resource.Name.ToCamelCase());
 }