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