mirror of https://github.com/Squidex/squidex.git
Browse Source
# Conflicts: # backend/src/Squidex.Domain.Apps.Core.Model/Contents/Status.cs # backend/src/Squidex.Domain.Apps.Entities/Contents/BulkUpdateCommandMiddleware.cs # backend/src/Squidex.Domain.Apps.Entities/Contents/Commands/BulkUpdateContents.cs # backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ResolveAssets.cs # backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ResolveReferences.cs # backend/src/Squidex.Domain.Apps.Entities/Schemas/Commands/IUpsertCommand.cs # backend/src/Squidex.Domain.Apps.Entities/Schemas/Indexes/SchemasIndex.cs # backend/src/Squidex.Infrastructure.MongoDb/Assets/MongoGridFsAssetStore.cs # backend/src/Squidex.Infrastructure.MongoDb/MongoDb/MongoExtensions.cs # backend/src/Squidex.Infrastructure/Translations/ResourcesLocalizer.cs # backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppDto.cs # backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs # backend/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs # backend/src/Squidex/Areas/Api/Controllers/QueryDto.cs # backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/ReferencesValidatorTests.cs # backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/UniqueValidatorTests.cs # backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/DefaultAppLogStoreTests.cs # backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Guard/GuardContentTests.cs # backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/MongoDb/ContentsQueryFixture.cs # backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveReferencesTests.cs # backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/ReferenceFluidExtensionTests.cs # backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/CachingTextIndexerStateTests.cs # backend/tests/Squidex.Infrastructure.Tests/UsageTracking/BackgroundUsageTrackerTests.cspull/590/head
156 changed files with 1232 additions and 497 deletions
@ -0,0 +1,21 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
using Newtonsoft.Json; |
|||
using Squidex.Infrastructure.Json.Objects; |
|||
|
|||
namespace Squidex.Domain.Apps.Core.Apps.Json |
|||
{ |
|||
public sealed class JsonRole |
|||
{ |
|||
[JsonProperty] |
|||
public string[] Permissions { get; set; } |
|||
|
|||
[JsonProperty] |
|||
public JsonObject Properties { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,72 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
using System; |
|||
using Newtonsoft.Json; |
|||
using Squidex.Infrastructure.Json.Newtonsoft; |
|||
using Squidex.Infrastructure.Json.Objects; |
|||
|
|||
namespace Squidex.Domain.Apps.Core.Apps.Json |
|||
{ |
|||
public sealed class RoleConverter : JsonClassConverter<JsonRole> |
|||
{ |
|||
protected override void WriteValue(JsonWriter writer, JsonRole value, JsonSerializer serializer) |
|||
{ |
|||
writer.WriteStartObject(); |
|||
|
|||
writer.WritePropertyName("permissions"); |
|||
serializer.Serialize(writer, value.Permissions); |
|||
|
|||
writer.WritePropertyName("properties"); |
|||
serializer.Serialize(writer, value.Properties); |
|||
|
|||
writer.WriteEndObject(); |
|||
} |
|||
|
|||
protected override JsonRole ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer) |
|||
{ |
|||
var permissions = Array.Empty<string>(); |
|||
var properties = (JsonObject?)null; |
|||
|
|||
if (reader.TokenType == JsonToken.StartArray) |
|||
{ |
|||
permissions = serializer.Deserialize<string[]>(reader)!; |
|||
} |
|||
else |
|||
{ |
|||
while (reader.Read() && reader.TokenType != JsonToken.EndObject) |
|||
{ |
|||
if (reader.TokenType == JsonToken.PropertyName) |
|||
{ |
|||
var propertyName = reader.Value!.ToString()!; |
|||
|
|||
if (!reader.Read()) |
|||
{ |
|||
throw new JsonSerializationException("Unexpected end when reading role."); |
|||
} |
|||
|
|||
switch (propertyName.ToLowerInvariant()) |
|||
{ |
|||
case "permissions": |
|||
permissions = serializer.Deserialize<string[]>(reader)!; |
|||
break; |
|||
case "properties": |
|||
properties = serializer.Deserialize<JsonObject>(reader)!; |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
return new JsonRole |
|||
{ |
|||
Permissions = permissions, |
|||
Properties = properties ?? JsonValue.Object() |
|||
}; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
// ==========================================================================
|
|||
// Squidex Headless CMS
|
|||
// ==========================================================================
|
|||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|||
// All rights reserved. Licensed under the MIT license.
|
|||
// ==========================================================================
|
|||
|
|||
namespace Squidex.Infrastructure.Assets |
|||
{ |
|||
public enum ImageFormat |
|||
{ |
|||
Auto, |
|||
PNG, |
|||
JPEG, |
|||
TGA, |
|||
GIF |
|||
} |
|||
} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue