Ejemplo n.º 1
0
        public void ConfigureOpenApiMetadataRoutes(HttpConfiguration config, bool useSchoolYear)
        {
            Preconditions.ThrowIfNull(config, nameof(config));

            config.Routes.MapHttpRoute(
                name: "OpenApiMetadataIdentity",
                routeTemplate: "metadata/{otherName}/v{identityVersion}/" + RouteConfigurationHelper.CreateSchoolYearSegment(useSchoolYear) +
                "swagger.json",
                defaults: RouteConfigurationHelper.CreateOpenApiMetadataDefaults(),
                constraints: RouteConfigurationHelper.CreateSchoolYearConstraint(useSchoolYear)
                )
            .SetDataTokenRouteName(MetadataRouteConstants.Identity);
        }
        public void ConfigureOpenApiMetadataRoutes(HttpConfiguration config, bool useSchoolYear)
        {
            Preconditions.ThrowIfNull(config, nameof(config));

            var    schoolYearConstraint = RouteConfigurationHelper.CreateSchoolYearConstraint(useSchoolYear);
            var    apiDefaults          = RouteConfigurationHelper.CreateOpenApiMetadataDefaults();
            string schoolYearSegment    = RouteConfigurationHelper.CreateSchoolYearSegment(useSchoolYear);

            config.Routes.MapHttpRoute(
                name: MetadataRouteConstants.Profiles,
                routeTemplate: "metadata/data/v{apiVersion}/" + schoolYearSegment + "profiles/{profileName}/swagger.json",
                defaults: RouteConfigurationHelper.CreateOpenApiMetadataDefaults(),
                constraints: schoolYearConstraint
                )
            .SetDataTokenRouteName(MetadataRouteConstants.Profiles);
        }
        public void ConfigureOpenApiMetadataRoutes(HttpConfiguration config, bool useSchoolYear)
        {
            Preconditions.ThrowIfNull(config, nameof(config));

            // Set up Open API metadata routes
            var apiDefaults = new
            {
                controller = "openapimetadata", compositeVersion = CompositesConstants.FeatureVersion, action = "get"
            };

            var schoolYearConstraint = RouteConfigurationHelper.CreateSchoolYearConstraint(useSchoolYear);

            string schoolYearRoute = RouteConfigurationHelper.CreateSchoolYearSegment(useSchoolYear);

            config.Routes.MapHttpRoute(
                name: MetadataRouteConstants.Composites,
                routeTemplate: "metadata/composites/v{compositeVersion}/" + schoolYearRoute
                + "{organizationCode}/{compositeCategoryName}/swagger.json",
                defaults: apiDefaults,
                constraints: schoolYearConstraint
                ).SetDataTokenRouteName(MetadataRouteConstants.Composites);
        }
Ejemplo n.º 4
0
        public void ConfigureOpenApiMetadataRoutes(HttpConfiguration config, bool useSchoolYear)
        {
            Preconditions.ThrowIfNull(config, nameof(config));

            var schemas = _schemaNameMapProvider.GetSchemaNameMaps()
                          .Select(x => x.UriSegment.ToLowerInvariant())
                          .ToList();

            string schemaNameConstraints = string.Join("|", schemas);

            var    schoolYearConstraint    = RouteConfigurationHelper.CreateSchoolYearConstraint(useSchoolYear);
            var    resourceTypesConstraint = RouteConfigurationHelper.CreateResourceTypesConstraints(useSchoolYear);
            var    apiDefaults             = RouteConfigurationHelper.CreateOpenApiMetadataDefaults();
            string schoolYearRoute         = RouteConfigurationHelper.CreateSchoolYearSegment(useSchoolYear);

            ConfigureResourceTypeMetadataRoutes(config, apiDefaults, resourceTypesConstraint, schoolYearRoute);
            ConfigureComprehensiveMetadataRoute(config, apiDefaults, schoolYearConstraint, schoolYearRoute);
            ConfigureDependencyMetadataRoute(config, schoolYearConstraint, schoolYearRoute);

            ConfigureSchemaSpecificMetadataRoute(
                config,
                RouteConfigurationHelper.CreateSchemaNameConstraint(useSchoolYear, schemaNameConstraints),
                schoolYearRoute);
        }