// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System.ComponentModel.DataAnnotations; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; using Squidex.Infrastructure.Validation; namespace Squidex.Extensions.Actions.Algolia { [RuleAction( Title = "Algolia", IconImage = "", IconColor = "#0d9bf9", Display = "Populate Algolia index", Description = "Populate a full text search index in Algolia.", ReadMore = "https://www.algolia.com/")] public sealed record AlgoliaAction : RuleAction { [LocalizedRequired] [Display(Name = "Application Id", Description = "The application ID.")] [DataType(DataType.Text)] [Formattable] public string AppId { get; set; } [LocalizedRequired] [Display(Name = "Api Key", Description = "The API key to grant access to Squidex.")] [DataType(DataType.Text)] [Formattable] public string ApiKey { get; set; } [LocalizedRequired] [Display(Name = "Index Name", Description = "The name of the index.")] [DataType(DataType.Text)] [Formattable] public string IndexName { get; set; } [Display(Name = "Document", Description = "The optional custom document.")] [DataType(DataType.MultilineText)] [Formattable] public string Document { get; set; } [Display(Name = "Deletion", Description = "The condition when to delete the entry.")] [DataType(DataType.Text)] public string Delete { get; set; } } }