diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-11-15 05:05:05 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-11-15 05:05:05 +0100 |
| commit | add94527050dc311c4ad117e25dd5e4517b3b887 (patch) | |
| tree | 137306ea8c7c63b6287bd77c6deaf09e1319833e /src/Models | |
| download | lettnytt-add94527050dc311c4ad117e25dd5e4517b3b887.tar.xz lettnytt-add94527050dc311c4ad117e25dd5e4517b3b887.zip | |
feat: Initial commit
Diffstat (limited to 'src/Models')
| -rw-r--r-- | src/Models/AppPath.cs | 24 | ||||
| -rw-r--r-- | src/Models/NewsArticle.cs | 20 | ||||
| -rw-r--r-- | src/Models/NewsSource.cs | 10 |
3 files changed, 54 insertions, 0 deletions
diff --git a/src/Models/AppPath.cs b/src/Models/AppPath.cs new file mode 100644 index 0000000..2133f20 --- /dev/null +++ b/src/Models/AppPath.cs @@ -0,0 +1,24 @@ +namespace I2R.LightNews.Models; + +public sealed record AppPath +{ + public string HostPath { get; init; } + public string WebPath { get; init; } + + + public string GetHostPathForFilename(string filename, string fallback = "") { + if (filename.IsNullOrWhiteSpace()) { + return fallback; + } + + return Path.Combine(HostPath, filename); + } + + public string GetWebPathForFilename(string filename, string fallback = "") { + if (filename.IsNullOrWhiteSpace()) { + return fallback; + } + + return Path.Combine(WebPath, filename); + } +}
\ No newline at end of file diff --git a/src/Models/NewsArticle.cs b/src/Models/NewsArticle.cs new file mode 100644 index 0000000..957dee4 --- /dev/null +++ b/src/Models/NewsArticle.cs @@ -0,0 +1,20 @@ +namespace I2R.LightNews.Models; + +public class NewsArticle +{ + public string Title { get; set; } + public string Subtitle { get; set; } + public string Href { get; set; } + public string Content { get; set; } + public List<Author> Authors { get; set; } + public DateTimeOffset CachedAt { get; set; } + public DateTime PublishedAt { get; set; } + public DateTime UpdatedAt { get; set; } + + public class Author + { + public string Name { get; set; } + public string Contact { get; set; } + public string Title { get; set; } + } +}
\ No newline at end of file diff --git a/src/Models/NewsSource.cs b/src/Models/NewsSource.cs new file mode 100644 index 0000000..5eadad0 --- /dev/null +++ b/src/Models/NewsSource.cs @@ -0,0 +1,10 @@ +namespace I2R.LightNews.Models; + +public class NewsSource +{ + public string Name { get; set; } + public string CanonicalUrl { get; set; } + public string Attribution { get; set; } + public DateTime Created { get; set; } + public List<NewsArticle> Articles { get; set; } +}
\ No newline at end of file |
