Newsbot.Collector/Newsbot.Collector.Domain/Models/DatabaseModel.cs
James Tombleson 117653c001
Features/add code projects watcher (#26)
* Migration added to update Articles to define if Release or Commit

* CodeProjectWatcher Job was created from GithubWatcher as this will target services like gitlab and also gitea.

* article model was updated to reflect migration changes

* Added CodeProjects to startup

* Seed was updated with CodeProjects and some new defaults

* Added Delete call for Sources

* Added a route to cleanup all records based on SourceId

* Added CodeProject const values to load from config

* minor changes to the rss controller

* Added codeprojects to the routes to trigger the job
2023-04-10 22:59:13 -07:00

83 lines
2.4 KiB
C#

namespace Newsbot.Collector.Domain.Models;
public class ArticlesModel
{
public Guid ID { get; set; }
public Guid SourceID { get; set; }
public string Tags { get; set; } = "";
public string Title { get; set; } = "";
public string? URL { get; set; }
public DateTime PubDate { get; set; } = DateTime.Now;
public string Video { get; set; } = "";
public int VideoHeight { get; set; } = 0;
public int VideoWidth { get; set; } = 0;
public string Thumbnail { get; set; } = "";
public string Description { get; set; } = "";
public string AuthorName { get; set; } = "";
public string? AuthorImage { get; set; }
public bool CodeIsRelease { get; set; }
public bool CodeIsCommit { get; set; }
}
public class AuthorModel
{
public Guid ID { get; set; }
public Guid SourceID { get; set; }
public string Name { get; set; } = "";
public string Image { get; set; } = "";
}
public class DiscordQueueModel
{
public Guid ID { get; set; }
public Guid ArticleID { get; set; }
}
public class DiscordWebHookModel
{
public Guid ID { get; set; }
public string Url { get; set; } = "";
public string Server { get; set; } = "";
public string Channel { get; set; } = "";
public bool Enabled { get; set; }
}
public class IconModel
{
public Guid Id { get; set; }
public string FileName { get; set; } = "";
public string Site { get; set; } = "";
public Guid SourceId { get; set; }
}
public class SettingModel
{
public Guid ID { get; set; }
public string Key { get; set; } = "";
public string Value { get; set; } = "";
public string Options { get; set; } = "";
}
public class SourceModel
{
public Guid ID { get; set; }
public string Site { get; set; } = "";
public string Name { get; set; } = "";
// Source use to define the worker to query with but moving to Type as it was not used really.
public string Source { get; set; } = "";
public string Type { get; set; } = "";
public string Value { get; set; } = "";
public bool Enabled { get; set; }
public string Url { get; set; } = "";
public string Tags { get; set; } = "";
public bool Deleted { get; set; }
public string YoutubeId { get; set; } = "";
}
public class SubscriptionModel
{
public Guid ID { get; set; }
public Guid DiscordWebHookID { get; set; }
public Guid SourceID { get; set; }
}