Refactor fluent download pipelines

This commit is contained in:
qwsdcvghyu89
2025-09-27 15:38:58 +10:00
parent 13c6fbaf5f
commit 94b6c0645c
33 changed files with 518 additions and 451 deletions
+1 -1
View File
@@ -11,7 +11,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="aeqw89.PersistentData" Version="1.3.3" />
<PackageReference Include="aeqw89.PersistentData" Version="1.4.5" />
<PackageReference Include="EntityFramework" Version="6.5.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.8">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+7 -8
View File
@@ -6,16 +6,9 @@ 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 UrlLocation Location { get; init; }
public required Table<ResourceRelation> Relations { get; init; }
public class MetaData {
@@ -24,4 +17,10 @@ public class ResourceDefinition {
public string? Description { get; init; }
public string? ProjectUrl { get; init; }
}
public class UrlLocation {
public ILinkBuilder Segments { get; init; }
public List<ImmutableState> States { get; init; }
public IStateChangerFactory StateChanger { get; init; }
}
}