Browse Source

Better exceptions for OData errors.

pull/118/head
Sebastian Stehle 9 years ago
parent
commit
3034e8437e
  1. 22
      src/Squidex.Domain.Apps.Read.MongoDb/Contents/Visitors/FilterBuilder.cs
  2. 2
      src/Squidex/app/features/schemas/pages/schema/schema-page.component.html

22
src/Squidex.Domain.Apps.Read.MongoDb/Contents/Visitors/FilterBuilder.cs

@ -6,9 +6,11 @@
// All rights reserved.
// ==========================================================================
using Microsoft.OData;
using Microsoft.OData.UriParser;
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Read.MongoDb.Contents.Visitors
{
@ -18,14 +20,30 @@ namespace Squidex.Domain.Apps.Read.MongoDb.Contents.Visitors
public static FilterDefinition<MongoContentEntity> Build(ODataUriParser query, Schema schema)
{
var search = query.ParseSearch();
SearchClause search;
try
{
search = query.ParseSearch();
}
catch (ODataException ex)
{
throw new ValidationException("Query $search clause not valid", new ValidationError(ex.Message));
}
if (search != null)
{
return Filter.Text(SearchTermVisitor.Visit(search.Expression).ToString());
}
var filter = query.ParseFilter();
FilterClause filter;
try
{
filter = query.ParseFilter();
}
catch (ODataException ex)
{
throw new ValidationException("Query $filter clause not valid", new ValidationError(ex.Message));
}
if (filter != null)
{

2
src/Squidex/app/features/schemas/pages/schema/schema-page.component.html

@ -45,7 +45,7 @@
<div class="panel-main">
<div class="panel-content panel-content-scroll" dnd-sortable-container [sortableData]="schema.fields">
<div *ngFor="let field of schema.fields; let i = index" dnd-sortable [sortableIndex]="i" (sqxSorted)="sortFields($event)">
<sqx-field [field]="field" [schemas]="schemas"
<sqx-field [field]="field" [schemas]="schemas.values"
(disabling)="disableField(field)"
(deleting)="deleteField(field)"
(enabling)="enableField(field)"

Loading…
Cancel
Save