This commit is contained in:
qwsdcvghyu89
2025-09-27 13:37:40 +10:00
parent db9bdecea6
commit 13c6fbaf5f
23 changed files with 45 additions and 1295 deletions
+27
View File
@@ -0,0 +1,27 @@
using aeqw89.DataKeys;
using aeqw89.PersistentData;
using Beam.Abstractions;
namespace Beam.Models;
public class ResourceDefinition {
public required DataKey<ResourceDefinition> Key { get; init; }
public required MetaData Meta { get; init; }
/// <summary>Map of element name to extraction config. Keys must match ^[A-Za-z0-9_-]+$</summary>
public required Table<IDataProvider> Elements { get; init; }
/// <summary>Minimum 1 item; polymorphic segments discriminated by "type".</summary>
public required ILinkBuilder Url { get; init; }
/// <summary>Keys must match ^[A-Za-z0-9_-]+$</summary>
public required Table<ResourceRelation> Relations { get; init; }
public class MetaData {
public required string Name { get; init; }
public required string Author { get; init; }
public string? Description { get; init; }
public string? ProjectUrl { get; init; }
}
}