Browse Source

Fix schema.

pull/662/head
Sebastian 5 years ago
parent
commit
d3f407290c
  1. 4
      backend/src/Squidex/Areas/Api/Config/OpenApi/OpenApiServices.cs
  2. 64
      backend/src/Squidex/Areas/Api/Config/OpenApi/QueryExtensions.cs

4
backend/src/Squidex/Areas/Api/Config/OpenApi/OpenApiServices.cs

@ -107,9 +107,9 @@ namespace Squidex.Areas.Api.Config.OpenApi
{ {
CreateStringMap<DomainId>(), CreateStringMap<DomainId>(),
CreateStringMap<Instant>(JsonFormatStrings.DateTime), CreateStringMap<Instant>(JsonFormatStrings.DateTime),
CreateStringMap<Language>(),
CreateStringMap<LocalDate>(JsonFormatStrings.Date), CreateStringMap<LocalDate>(JsonFormatStrings.Date),
CreateStringMap<LocalDateTime>(JsonFormatStrings.DateTime), CreateStringMap<LocalDateTime>(JsonFormatStrings.DateTime),
CreateStringMap<Language>(),
CreateStringMap<NamedId<DomainId>>(), CreateStringMap<NamedId<DomainId>>(),
CreateStringMap<NamedId<Guid>>(), CreateStringMap<NamedId<Guid>>(),
CreateStringMap<NamedId<string>>(), CreateStringMap<NamedId<string>>(),
@ -120,7 +120,7 @@ namespace Squidex.Areas.Api.Config.OpenApi
CreateObjectMap<AssetMetadata>() CreateObjectMap<AssetMetadata>()
}; };
settings.FlattenInheritanceHierarchy = true; settings.FlattenInheritanceHierarchy = flatten;
} }
private static ITypeMapper CreateObjectMap<T>() private static ITypeMapper CreateObjectMap<T>()

64
backend/src/Squidex/Areas/Api/Config/OpenApi/QueryExtensions.cs

@ -14,74 +14,74 @@ namespace Squidex.Areas.Api.Config.OpenApi
{ {
public static void AddQuery(this OpenApiOperation operation, bool supportSearch) public static void AddQuery(this OpenApiOperation operation, bool supportSearch)
{ {
var @string = new JsonSchema var stringSchema = new JsonSchema
{ {
Type = JsonObjectType.String Type = JsonObjectType.String
}; };
var number = new JsonSchema var numberSchema = new JsonSchema
{ {
Type = JsonObjectType.String Type = JsonObjectType.Number
}; };
void AddQuery(OpenApiParameter parameter)
{
parameter.Kind = OpenApiParameterKind.Query;
operation.Parameters.Add(parameter);
}
if (supportSearch) if (supportSearch)
{ {
operation.Parameters.Add(new OpenApiParameter AddQuery(new OpenApiParameter
{ {
Schema = @string, Schema = stringSchema,
Name = "$search", Name = "$search",
Description = "Optional OData full text search.", Description = "Optional OData full text search."
Kind = OpenApiParameterKind.Query
}); });
} }
operation.Parameters.Add(new OpenApiParameter AddQuery(new OpenApiParameter
{ {
Schema = number, Schema = numberSchema,
Name = "$top", Name = "$top",
Description = "Optional OData parameter to define the number of items to retrieve.", Description = "Optional OData parameter to define the number of items to retrieve."
Kind = OpenApiParameterKind.Query
}); });
operation.Parameters.Add(new OpenApiParameter AddQuery(new OpenApiParameter
{ {
Schema = number, Schema = numberSchema,
Name = "$skip", Name = "$skip",
Description = "Optional OData parameter to skip items.", Description = "Optional OData parameter to skip items."
Kind = OpenApiParameterKind.Query
}); });
operation.Parameters.Add(new OpenApiParameter AddQuery(new OpenApiParameter
{ {
Schema = @string, Schema = stringSchema,
Name = "$orderby", Name = "$orderby",
Description = "Optional OData order definition to sort the result set.", Description = "Optional OData order definition to sort the result set."
Kind = OpenApiParameterKind.Query
}); });
operation.Parameters.Add(new OpenApiParameter AddQuery(new OpenApiParameter
{ {
Schema = @string, Schema = stringSchema,
Name = "$filter", Name = "$filter",
Description = "Optional OData order definition to filter the result set.", Description = "Optional OData order definition to filter the result set."
Kind = OpenApiParameterKind.Query
}); });
operation.Parameters.Add(new OpenApiParameter AddQuery(new OpenApiParameter
{ {
Schema = @string, Schema = stringSchema,
Name = "q", Name = "q",
Description = "JSON query as well formatted json string. Overrides all other query parameters, except 'ids'.", Description = "JSON query as well formatted json string. Overrides all other query parameters, except 'ids'."
Kind = OpenApiParameterKind.Query
}); });
operation.Parameters.Add(new OpenApiParameter AddQuery(new OpenApiParameter
{ {
Schema = @string, Schema = stringSchema,
Name = "ids", Name = "ids",
Description = "Comma separated list of content items. Overrides all other query parameters.", Description = "Comma separated list of content items. Overrides all other query parameters."
Kind = OpenApiParameterKind.Query
}); });
} }
} }
} }
Loading…
Cancel
Save