26 lines
896 B
C#
26 lines
896 B
C#
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; }
|
|
public required Table<IDataProvider> Elements { get; init; }
|
|
public required UrlLocation Location { get; init; }
|
|
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; }
|
|
}
|
|
|
|
public class UrlLocation {
|
|
public ILinkBuilder Segments { get; init; }
|
|
public List<ImmutableState> States { get; init; }
|
|
public IStateChangerFactory StateChanger { get; init; }
|
|
}
|
|
} |