diff --git a/src/Squidex.Store.MongoDb/History/Messages.cs b/src/Squidex.Store.MongoDb/History/Messages.cs deleted file mode 100644 index 9ffd1165a..000000000 --- a/src/Squidex.Store.MongoDb/History/Messages.cs +++ /dev/null @@ -1,17 +0,0 @@ -// ========================================================================== -// Messages.cs -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex Group -// All rights reserved. -// ========================================================================== - -namespace Squidex.Store.MongoDb.History -{ - public static class Messages - { - public const string AppCreated = "AppCreated"; - - public const string AppContributor = "SchemaDeleted"; - } -} diff --git a/src/Squidex.Store.MongoDb/History/MessagesEN.cs b/src/Squidex.Store.MongoDb/History/MessagesEN.cs index bdc3f93b8..0e90aed42 100644 --- a/src/Squidex.Store.MongoDb/History/MessagesEN.cs +++ b/src/Squidex.Store.MongoDb/History/MessagesEN.cs @@ -19,11 +19,35 @@ namespace Squidex.Store.MongoDb.History { { TypeNameRegistry.GetName(), - "assigned {user:[Contributor]} to app with permission [Permission]" + "assigned {user:[Contributor]} as [Permission]" }, { TypeNameRegistry.GetName(), "removed {user:[Contributor]} from app" + }, + { + TypeNameRegistry.GetName(), + "added client {[Id]} to app" + }, + { + TypeNameRegistry.GetName(), + "revoked client {[Id]}" + }, + { + TypeNameRegistry.GetName(), + "renamed client {[Id]} to {[Name]}" + }, + { + TypeNameRegistry.GetName(), + "added language {[Language]}" + }, + { + TypeNameRegistry.GetName(), + "removed language {[Language]}" + }, + { + TypeNameRegistry.GetName(), + "changed master language to {[Language]}" } }; } diff --git a/src/Squidex.Store.MongoDb/History/MongoHistoryEventRepository.cs b/src/Squidex.Store.MongoDb/History/MongoHistoryEventRepository.cs index 20b300afb..1226d512c 100644 --- a/src/Squidex.Store.MongoDb/History/MongoHistoryEventRepository.cs +++ b/src/Squidex.Store.MongoDb/History/MongoHistoryEventRepository.cs @@ -72,6 +72,73 @@ namespace Squidex.Store.MongoDb.History }, false); } + protected Task On(AppClientRenamed @event, EnvelopeHeaders headers) + { + return Collection.CreateAsync(headers, x => + { + const string channel = "settings.clients"; + + x.Setup(headers, channel) + .AddParameter("Id", @event.Id) + .AddParameter("Name", !string.IsNullOrWhiteSpace(@event.Name) ? @event.Name : @event.Id); + }, false); + } + + protected Task On(AppClientAttached @event, EnvelopeHeaders headers) + { + return Collection.CreateAsync(headers, x => + { + const string channel = "settings.clients"; + + x.Setup(headers, channel) + .AddParameter("Id", @event.Id); + }, false); + } + + protected Task On(AppClientRevoked @event, EnvelopeHeaders headers) + { + return Collection.CreateAsync(headers, x => + { + const string channel = "settings.clients"; + + x.Setup(headers, channel) + .AddParameter("Id", @event.Id); + }, false); + } + + protected Task On(AppLanguageAdded @event, EnvelopeHeaders headers) + { + return Collection.CreateAsync(headers, x => + { + const string channel = "settings.languages"; + + x.Setup(headers, channel) + .AddParameter("Language", @event.Language.EnglishName); + }, false); + } + + protected Task On(AppLanguageRemoved @event, EnvelopeHeaders headers) + { + return Collection.CreateAsync(headers, x => + { + const string channel = "settings.languages"; + + x.Setup(headers, channel) + .AddParameter("Language", @event.Language.EnglishName); + }, false); + } + + protected Task On(AppMasterLanguageSet @event, EnvelopeHeaders headers) + { + return Collection.CreateAsync(headers, x => + { + const string channel = "settings.languages"; + + x.Setup(headers, channel) + .AddParameter("Language", @event.Language.EnglishName); + }, false); + } + public Task On(Envelope @event) { return this.DispatchActionAsync(@event.Payload, @event.Headers); diff --git a/src/Squidex.Write/Apps/ClientKeyGenerator.cs b/src/Squidex.Write/Apps/ClientKeyGenerator.cs index 7237da034..876d3fe67 100644 --- a/src/Squidex.Write/Apps/ClientKeyGenerator.cs +++ b/src/Squidex.Write/Apps/ClientKeyGenerator.cs @@ -26,7 +26,7 @@ namespace Squidex.Write.Apps var bytes = Encoding.UTF8.GetBytes(input); var hash = sha.ComputeHash(bytes); - return Convert.ToBase64String(hash); + return Convert.ToBase64String(hash).Replace("+", "x"); } } } diff --git a/src/Squidex/app/features/settings/pages/clients/client.component.html b/src/Squidex/app/features/settings/pages/clients/client.component.html index 0cd164fd6..ffc4215b4 100644 --- a/src/Squidex/app/features/settings/pages/clients/client.component.html +++ b/src/Squidex/app/features/settings/pages/clients/client.component.html @@ -26,14 +26,14 @@

- {{client.name}} + {{client.name}}

Expires: {{client.expiresUtc}}
- diff --git a/src/Squidex/app/features/settings/pages/clients/client.component.scss b/src/Squidex/app/features/settings/pages/clients/client.component.scss index fcd6b9f69..63cb80371 100644 --- a/src/Squidex/app/features/settings/pages/clients/client.component.scss +++ b/src/Squidex/app/features/settings/pages/clients/client.component.scss @@ -38,10 +38,6 @@ h3 { font-size: 1.6rem; } - - .form-control { - width: 250px; - } } } diff --git a/src/Squidex/app/features/settings/pages/clients/client.component.ts b/src/Squidex/app/features/settings/pages/clients/client.component.ts index 5a8eb3f51..bcdfdd4d0 100644 --- a/src/Squidex/app/features/settings/pages/clients/client.component.ts +++ b/src/Squidex/app/features/settings/pages/clients/client.component.ts @@ -36,6 +36,9 @@ export class ClientComponent { @Output() public renamed = new EventEmitter(); + @Output() + public revoked = new EventEmitter(); + @Input() public client: AppClientDto; @@ -93,7 +96,7 @@ export class ClientComponent { const newName = this.renameForm.controls['name'].value; if (newName !== this.clientName) { - this.renamed.emit(); + this.renamed.emit(newName); } } finally { this.isRenaming = false; diff --git a/src/Squidex/app/features/settings/pages/clients/clients-page.component.html b/src/Squidex/app/features/settings/pages/clients/clients-page.component.html index 2e2453574..fea45164a 100644 --- a/src/Squidex/app/features/settings/pages/clients/clients-page.component.html +++ b/src/Squidex/app/features/settings/pages/clients/clients-page.component.html @@ -16,7 +16,7 @@
- +