From 4c393cb10a96d89103c6796a25be89ee00e58b37 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Thu, 26 Oct 2017 17:57:55 +0200 Subject: [PATCH 1/3] Closes #154 --- src/Squidex/Controllers/Api/Assets/AssetContentController.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Squidex/Controllers/Api/Assets/AssetContentController.cs b/src/Squidex/Controllers/Api/Assets/AssetContentController.cs index b85f31807..daec1cdd4 100644 --- a/src/Squidex/Controllers/Api/Assets/AssetContentController.cs +++ b/src/Squidex/Controllers/Api/Assets/AssetContentController.cs @@ -23,7 +23,6 @@ namespace Squidex.Controllers.Api.Assets /// /// Uploads and retrieves assets. /// - [ApiAuthorize] [ApiExceptionFilter] [AppApi] [SwaggerTag(nameof(Assets))] From 27f29075ca57d8f4663f3d4c536c381f31677c6c Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Thu, 26 Oct 2017 18:41:36 +0200 Subject: [PATCH 2/3] Some stupid renaming. --- src/Squidex/Pipeline/Swagger/SwaggerHelper.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs b/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs index 4992dbfa6..2a8ad2026 100644 --- a/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs +++ b/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs @@ -84,7 +84,7 @@ namespace Squidex.Pipeline.Swagger var tokenUrl = urlOptions.BuildUrl($"{Constants.IdentityPrefix}/connect/token"); var securityDocs = LoadDocs("security"); - var securityDescription = securityDocs.Replace("", tokenUrl); + var securityText = securityDocs.Replace("", tokenUrl); var result = new SwaggerSecurityScheme @@ -100,7 +100,7 @@ namespace Squidex.Pipeline.Swagger { SquidexRoles.AppReader, "Client (readonly) or App contributor with Editor permission." }, { SquidexRoles.AppDeveloper, "App contributor with Developer permission." } }, - Description = securityDescription + Description = securityText }; return result; From 6f4408a7276159d8dfb1fd06bb691e73e1368ab6 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Fri, 27 Oct 2017 21:31:36 +0200 Subject: [PATCH 3/3] Added interface for user events. #155 --- src/Squidex.Domain.Users/IUserEvents.cs | 17 +++++++++++++ src/Squidex.Domain.Users/NoopUserEvents.cs | 19 ++++++++++++++ src/Squidex/Config/Domain/WriteModule.cs | 25 ++++++++++--------- .../UI/Account/AccountController.cs | 5 ++++ 4 files changed, 54 insertions(+), 12 deletions(-) create mode 100644 src/Squidex.Domain.Users/IUserEvents.cs create mode 100644 src/Squidex.Domain.Users/NoopUserEvents.cs diff --git a/src/Squidex.Domain.Users/IUserEvents.cs b/src/Squidex.Domain.Users/IUserEvents.cs new file mode 100644 index 000000000..27b336825 --- /dev/null +++ b/src/Squidex.Domain.Users/IUserEvents.cs @@ -0,0 +1,17 @@ +// ========================================================================== +// IUserEvents.cs +// Squidex Headless CMS +// ========================================================================== +// Copyright (c) Squidex Group +// All rights reserved. +// ========================================================================== + +using Squidex.Shared.Users; + +namespace Squidex.Domain.Users +{ + public interface IUserEvents + { + void OnUserRegistered(IUser user); + } +} diff --git a/src/Squidex.Domain.Users/NoopUserEvents.cs b/src/Squidex.Domain.Users/NoopUserEvents.cs new file mode 100644 index 000000000..23e44b344 --- /dev/null +++ b/src/Squidex.Domain.Users/NoopUserEvents.cs @@ -0,0 +1,19 @@ +// ========================================================================== +// NoopUserEvents.cs +// Squidex Headless CMS +// ========================================================================== +// Copyright (c) Squidex Group +// All rights reserved. +// ========================================================================== + +using Squidex.Shared.Users; + +namespace Squidex.Domain.Users +{ + public sealed class NoopUserEvents : IUserEvents + { + public void OnUserRegistered(IUser user) + { + } + } +} diff --git a/src/Squidex/Config/Domain/WriteModule.cs b/src/Squidex/Config/Domain/WriteModule.cs index 24389f8e9..c93e5ea55 100644 --- a/src/Squidex/Config/Domain/WriteModule.cs +++ b/src/Squidex/Config/Domain/WriteModule.cs @@ -15,6 +15,7 @@ using Squidex.Domain.Apps.Write.Assets; using Squidex.Domain.Apps.Write.Contents; using Squidex.Domain.Apps.Write.Schemas; using Squidex.Domain.Apps.Write.Webhooks; +using Squidex.Domain.Users; using Squidex.Infrastructure.CQRS.Commands; using Squidex.Pipeline.CommandMiddlewares; @@ -31,6 +32,18 @@ namespace Squidex.Config.Domain protected override void Load(ContainerBuilder builder) { + builder.RegisterType() + .As() + .SingleInstance(); + + builder.RegisterType() + .As() + .SingleInstance(); + + builder.RegisterType() + .As() + .SingleInstance(); + builder.RegisterType() .As() .SingleInstance(); @@ -51,14 +64,6 @@ namespace Squidex.Config.Domain .As() .SingleInstance(); - builder.RegisterType() - .As() - .SingleInstance(); - - builder.RegisterType() - .As() - .SingleInstance(); - builder.RegisterType() .As() .SingleInstance(); @@ -79,10 +84,6 @@ namespace Squidex.Config.Domain .As() .SingleInstance(); - builder.RegisterType() - .As() - .SingleInstance(); - builder.Register>(c => (id => new AppDomainObject(id, -1))) .AsSelf() .SingleInstance(); diff --git a/src/Squidex/Controllers/UI/Account/AccountController.cs b/src/Squidex/Controllers/UI/Account/AccountController.cs index 952c33452..55ff820f6 100644 --- a/src/Squidex/Controllers/UI/Account/AccountController.cs +++ b/src/Squidex/Controllers/UI/Account/AccountController.cs @@ -35,6 +35,7 @@ namespace Squidex.Controllers.UI.Account private readonly SignInManager signInManager; private readonly UserManager userManager; private readonly IUserFactory userFactory; + private readonly IUserEvents userEvents; private readonly IOptions identityOptions; private readonly IOptions urlOptions; private readonly ISemanticLog log; @@ -44,6 +45,7 @@ namespace Squidex.Controllers.UI.Account SignInManager signInManager, UserManager userManager, IUserFactory userFactory, + IUserEvents userEvents, IOptions identityOptions, IOptions urlOptions, ISemanticLog log, @@ -51,6 +53,7 @@ namespace Squidex.Controllers.UI.Account { this.log = log; this.urlOptions = urlOptions; + this.userEvents = userEvents; this.userManager = userManager; this.userFactory = userFactory; this.interactions = interactions; @@ -242,6 +245,8 @@ namespace Squidex.Controllers.UI.Account await LockAsync(user, isFirst) && await LoginAsync(externalLogin); + userEvents.OnUserRegistered(user); + if (user.IsLocked) { return View(nameof(LockedOut));