Headless CMS and Content Managment Hub
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.
 
 
 
 
 

38 lines
1.3 KiB

// ==========================================================================
// RuleTriggerDtoFactory.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using System.Linq;
using Squidex.Controllers.Api.Rules.Models.Triggers;
using Squidex.Domain.Apps.Core.Rules;
using Squidex.Domain.Apps.Core.Rules.Triggers;
using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Rules.Models.Converters
{
public sealed class RuleTriggerDtoFactory : IRuleTriggerVisitor<RuleTriggerDto>
{
private static readonly RuleTriggerDtoFactory Instance = new RuleTriggerDtoFactory();
private RuleTriggerDtoFactory()
{
}
public static RuleTriggerDto Create(RuleTrigger properties)
{
return properties.Accept(Instance);
}
public RuleTriggerDto Visit(ContentChangedTrigger trigger)
{
return new ContentChangedTriggerDto
{
Schemas = trigger.Schemas.Select(x => SimpleMapper.Map(x, new ContentChangedTriggerSchemaDto())).ToList()
};
}
}
}