diff --git a/src/Squidex.Domain.Apps.Core.Model/Apps/AppClient.cs b/src/Squidex.Domain.Apps.Core.Model/Apps/AppClient.cs index 649926b55..fd670011f 100644 --- a/src/Squidex.Domain.Apps.Core.Model/Apps/AppClient.cs +++ b/src/Squidex.Domain.Apps.Core.Model/Apps/AppClient.cs @@ -10,36 +10,21 @@ using Squidex.Infrastructure; namespace Squidex.Domain.Apps.Core.Apps { - public sealed class AppClient + public sealed class AppClient : Named { - private readonly string name; - private readonly string secret; - private readonly string role; + public string Role { get; } - public string Name - { - get { return name; } - } - - public string Secret - { - get { return secret; } - } - - public string Role - { - get { return role; } - } + public string Secret { get; } public AppClient(string name, string secret, string role) + : base(name) { - Guard.NotNullOrEmpty(name, nameof(name)); Guard.NotNullOrEmpty(secret, nameof(secret)); Guard.NotNullOrEmpty(role, nameof(role)); + + Role = role; - this.name = name; - this.role = role; - this.secret = secret; + Secret = secret; } [Pure] @@ -47,7 +32,7 @@ namespace Squidex.Domain.Apps.Core.Apps { Guard.NotNullOrEmpty(newRole, nameof(newRole)); - return new AppClient(name, secret, newRole); + return new AppClient(Name, Secret, newRole); } [Pure] @@ -55,7 +40,7 @@ namespace Squidex.Domain.Apps.Core.Apps { Guard.NotNullOrEmpty(newName, nameof(newName)); - return new AppClient(newName, secret, role); + return new AppClient(newName, Secret, Role); } } } diff --git a/src/Squidex.Domain.Apps.Core.Model/Apps/AppPattern.cs b/src/Squidex.Domain.Apps.Core.Model/Apps/AppPattern.cs index 254f5c736..15ed0a51c 100644 --- a/src/Squidex.Domain.Apps.Core.Model/Apps/AppPattern.cs +++ b/src/Squidex.Domain.Apps.Core.Model/Apps/AppPattern.cs @@ -10,41 +10,26 @@ using Squidex.Infrastructure; namespace Squidex.Domain.Apps.Core.Apps { - public sealed class AppPattern + public sealed class AppPattern : Named { - private readonly string name; - private readonly string pattern; - private readonly string message; + public string Pattern { get; } - public string Name - { - get { return name; } - } - - public string Pattern - { - get { return pattern; } - } - - public string Message - { - get { return message; } - } + public string Message { get; } public AppPattern(string name, string pattern, string message = null) + : base(name) { - Guard.NotNullOrEmpty(name, nameof(name)); Guard.NotNullOrEmpty(pattern, nameof(pattern)); + + Pattern = pattern; - this.name = name; - this.pattern = pattern; - this.message = message; + Message = message; } [Pure] - public AppPattern Update(string name, string pattern, string message) + public AppPattern Update(string newName, string newPattern, string newMessage) { - return new AppPattern(name, pattern, message); + return new AppPattern(newName, newPattern, newMessage); } } } diff --git a/src/Squidex.Domain.Apps.Core.Model/Apps/LanguageConfig.cs b/src/Squidex.Domain.Apps.Core.Model/Apps/LanguageConfig.cs index 2bdb52ee3..94406d644 100644 --- a/src/Squidex.Domain.Apps.Core.Model/Apps/LanguageConfig.cs +++ b/src/Squidex.Domain.Apps.Core.Model/Apps/LanguageConfig.cs @@ -13,14 +13,12 @@ namespace Squidex.Domain.Apps.Core.Apps { public sealed class LanguageConfig : IFieldPartitionItem { + private static readonly Language[] DefaultFallback = new Language[0]; private readonly Language language; private readonly Language[] languageFallbacks; private readonly bool isOptional; - public bool IsOptional - { - get { return isOptional; } - } + public bool IsOptional { get; } public Language Language { @@ -56,10 +54,10 @@ namespace Squidex.Domain.Apps.Core.Apps { Guard.NotNull(language, nameof(language)); - this.isOptional = isOptional; + IsOptional = isOptional; this.language = language; - this.languageFallbacks = fallback ?? new Language[0]; + this.languageFallbacks = fallback ?? DefaultFallback; } } } diff --git a/src/Squidex.Domain.Apps.Core.Model/Apps/Named.cs b/src/Squidex.Domain.Apps.Core.Model/Apps/Named.cs new file mode 100644 index 000000000..69ba9a3c1 --- /dev/null +++ b/src/Squidex.Domain.Apps.Core.Model/Apps/Named.cs @@ -0,0 +1,23 @@ +// ========================================================================== +// Squidex Headless CMS +// ========================================================================== +// Copyright (c) Squidex UG (haftungsbeschränkt) +// All rights reserved. Licensed under the MIT license. +// ========================================================================== + +using Squidex.Infrastructure; + +namespace Squidex.Domain.Apps.Core.Apps +{ + public abstract class Named + { + public string Name { get; } + + protected Named(string name) + { + Guard.NotNullOrEmpty(name, nameof(name)); + + Name = name; + } + } +} diff --git a/src/Squidex.Domain.Apps.Core.Model/Apps/Role.cs b/src/Squidex.Domain.Apps.Core.Model/Apps/Role.cs index 5ddec819f..c279ec196 100644 --- a/src/Squidex.Domain.Apps.Core.Model/Apps/Role.cs +++ b/src/Squidex.Domain.Apps.Core.Model/Apps/Role.cs @@ -12,7 +12,7 @@ using P = Squidex.Shared.Permissions; namespace Squidex.Domain.Apps.Core.Apps { - public sealed class Role + public sealed class Role : Named { public const string Editor = "Editor"; public const string Developer = "Developer"; @@ -27,17 +27,13 @@ namespace Squidex.Domain.Apps.Core.Apps Reader }; - public string Name { get; } - public PermissionSet Permissions { get; } public Role(string name, PermissionSet permissions) + : base(name) { - Guard.NotNullOrEmpty(name, nameof(name)); Guard.NotNull(permissions, nameof(permissions)); - Name = name; - Permissions = permissions; } @@ -60,9 +56,9 @@ namespace Squidex.Domain.Apps.Core.Apps public static Role CreateEditor(string app) { return new Role(Editor, + P.ForApp(P.AppAssets, app), P.ForApp(P.AppCommon, app), - P.ForApp(P.AppContents, app), - P.ForApp(P.AppAssets, app)); + P.ForApp(P.AppContents, app)); } public static Role CreateReader(string app) diff --git a/src/Squidex.Domain.Apps.Core.Model/Comments/Comment.cs b/src/Squidex.Domain.Apps.Core.Model/Comments/Comment.cs index 8ca0229ea..a9b2bb7cb 100644 --- a/src/Squidex.Domain.Apps.Core.Model/Comments/Comment.cs +++ b/src/Squidex.Domain.Apps.Core.Model/Comments/Comment.cs @@ -23,6 +23,10 @@ namespace Squidex.Domain.Apps.Core.Comments public Comment(Guid id, Instant time, RefToken user, string text) { + Guard.NotEmpty(id, nameof(id)); + Guard.NotNull(user, nameof(user)); + Guard.NotNull(text, nameof(text)); + Id = id; Time = time; diff --git a/src/Squidex.Infrastructure/Commands/CommandContext.cs b/src/Squidex.Infrastructure/Commands/CommandContext.cs index 49fee10e8..22cea0840 100644 --- a/src/Squidex.Infrastructure/Commands/CommandContext.cs +++ b/src/Squidex.Infrastructure/Commands/CommandContext.cs @@ -11,25 +11,13 @@ namespace Squidex.Infrastructure.Commands { public sealed class CommandContext { - private readonly ICommand command; - private readonly ICommandBus commandBus; - private readonly Guid contextId = Guid.NewGuid(); private Tuple result; - public ICommand Command - { - get { return command; } - } + public Guid ContextId { get; } = Guid.NewGuid(); - public ICommandBus CommandBus - { - get { return commandBus; } - } + public ICommand Command { get; } - public Guid ContextId - { - get { return contextId; } - } + public ICommandBus CommandBus { get; } public bool IsCompleted { @@ -41,8 +29,8 @@ namespace Squidex.Infrastructure.Commands Guard.NotNull(command, nameof(command)); Guard.NotNull(commandBus, nameof(commandBus)); - this.command = command; - this.commandBus = commandBus; + Command = command; + CommandBus = commandBus; } public CommandContext Complete(object resultValue = null) diff --git a/src/Squidex.Infrastructure/Language.cs b/src/Squidex.Infrastructure/Language.cs index e18268e7b..c3c6afb71 100644 --- a/src/Squidex.Infrastructure/Language.cs +++ b/src/Squidex.Infrastructure/Language.cs @@ -15,8 +15,6 @@ namespace Squidex.Infrastructure { private static readonly Regex CultureRegex = new Regex("^([a-z]{2})(\\-[a-z]{2})?$", RegexOptions.IgnoreCase); private static readonly Dictionary AllLanguagesField = new Dictionary(StringComparer.OrdinalIgnoreCase); - private readonly string iso2Code; - private readonly string englishName; private static Language AddLanguage(string iso2Code, string englishName) { @@ -42,21 +40,15 @@ namespace Squidex.Infrastructure get { return AllLanguagesField.Values; } } - public string EnglishName - { - get { return englishName; } - } + public string EnglishName { get; } - public string Iso2Code - { - get { return iso2Code; } - } + public string Iso2Code { get; } private Language(string iso2Code, string englishName) { - this.iso2Code = iso2Code; + Iso2Code = iso2Code; - this.englishName = englishName; + EnglishName = englishName; } public static bool IsValidLanguage(string iso2Code) diff --git a/src/Squidex.Infrastructure/Queries/FilterValue.cs b/src/Squidex.Infrastructure/Queries/FilterValue.cs index 239a4ef5f..d340a4c88 100644 --- a/src/Squidex.Infrastructure/Queries/FilterValue.cs +++ b/src/Squidex.Infrastructure/Queries/FilterValue.cs @@ -20,6 +20,7 @@ namespace Squidex.Infrastructure.Queries public object Value { get; } public FilterValueType ValueType { get; } + public bool IsList { get; } public FilterValue(Guid value) diff --git a/src/Squidex/Pipeline/FileCallbackResult.cs b/src/Squidex/Pipeline/FileCallbackResult.cs index 9061f8f6d..d292fcfda 100644 --- a/src/Squidex/Pipeline/FileCallbackResult.cs +++ b/src/Squidex/Pipeline/FileCallbackResult.cs @@ -15,19 +15,14 @@ namespace Squidex.Pipeline { public class FileCallbackResult : FileResult { - private readonly Func callback; - - public Func Callback - { - get { return callback; } - } + public Func Callback { get; } public FileCallbackResult(string contentType, string name, Func callback) : base(contentType) { FileDownloadName = name; - this.callback = callback; + Callback = callback; } public override Task ExecuteResultAsync(ActionContext context)