mirror of https://github.com/Squidex/squidex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
5.1 KiB
145 lines
5.1 KiB
// ==========================================================================
|
|
// AppHistoryEventsCreator.cs
|
|
// Squidex Headless CMS
|
|
// ==========================================================================
|
|
// Copyright (c) Squidex Group
|
|
// All rights reserved.
|
|
// ==========================================================================
|
|
|
|
using System.Threading.Tasks;
|
|
using Squidex.Domain.Apps.Events.Apps;
|
|
using Squidex.Domain.Apps.Read.History;
|
|
using Squidex.Infrastructure;
|
|
using Squidex.Infrastructure.CQRS.Events;
|
|
using Squidex.Infrastructure.Dispatching;
|
|
|
|
namespace Squidex.Domain.Apps.Read.Apps
|
|
{
|
|
public class AppHistoryEventsCreator : HistoryEventsCreatorBase
|
|
{
|
|
public AppHistoryEventsCreator(TypeNameRegistry typeNameRegistry)
|
|
: base(typeNameRegistry)
|
|
{
|
|
AddEventMessage<AppContributorAssigned>(
|
|
"assigned {user:[Contributor]} as [Permission]");
|
|
|
|
AddEventMessage<AppContributorRemoved>(
|
|
"removed {user:[Contributor]} from app");
|
|
|
|
AddEventMessage<AppClientAttached>(
|
|
"added client {[Id]} to app");
|
|
|
|
AddEventMessage<AppClientRevoked>(
|
|
"revoked client {[Id]}");
|
|
|
|
AddEventMessage<AppClientUpdated>(
|
|
"updated client {[Id]}");
|
|
|
|
AddEventMessage<AppClientRenamed>(
|
|
"renamed client {[Id]} to {[Name]}");
|
|
|
|
AddEventMessage<AppLanguageAdded>(
|
|
"added language {[Language]}");
|
|
|
|
AddEventMessage<AppLanguageRemoved>(
|
|
"removed language {[Language]}");
|
|
|
|
AddEventMessage<AppLanguageUpdated>(
|
|
"updated language {[Language]}");
|
|
|
|
AddEventMessage<AppMasterLanguageSet>(
|
|
"changed master language to {[Language]}");
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppContributorRemoved @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.contributors";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Contributor", @event.ContributorId));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppContributorAssigned @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.contributors";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Contributor", @event.ContributorId).AddParameter("Permission", @event.Permission));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppClientAttached @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.clients";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Id", @event.Id));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppClientRevoked @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.clients";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Id", @event.Id));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppClientRenamed @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.clients";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Id", @event.Id).AddParameter("Name", ClientName(@event)));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppLanguageAdded @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.languages";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Language", @event.Language));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppLanguageRemoved @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.languages";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Language", @event.Language));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppLanguageUpdated @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.languages";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Language", @event.Language));
|
|
}
|
|
|
|
protected Task<HistoryEventToStore> On(AppMasterLanguageSet @event, EnvelopeHeaders headers)
|
|
{
|
|
const string channel = "settings.languages";
|
|
|
|
return Task.FromResult(
|
|
ForEvent(@event, channel)
|
|
.AddParameter("Language", @event.Language));
|
|
}
|
|
|
|
protected override Task<HistoryEventToStore> CreateEventCoreAsync(Envelope<IEvent> @event)
|
|
{
|
|
return this.DispatchFuncAsync(@event.Payload, @event.Headers, (HistoryEventToStore)null);
|
|
}
|
|
|
|
private static string ClientName(AppClientRenamed @event)
|
|
{
|
|
return !string.IsNullOrWhiteSpace(@event.Name) ? @event.Name : @event.Id;
|
|
}
|
|
}
|
|
}
|