Newsbot.Collector/Newsbot.Collector.Domain/Models/DatabaseModel.cs
James Tombleson 17e97b4e09
Features/table clients (#5)
* inital table clients are almost ready

* adding new repo interfaces

* adding MS DI to the tables

* adding tables and MS DI to jobs

* updated how the config builder works and pass Iconfig to jobs

* Updated how articles interface returns a value

* updated constructors to support DI and removed static call

* added source consts and model notes

* updated sources.type to contain the value to link what job collects it

* added RssWatcherJob to hangfire

* DI and hangfire jobs wont work.  Defering to options classes

* Services updated to have options exposed over DI

* Tests have been updated.. more to come
2023-02-19 21:39:03 -08:00

79 lines
2.2 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 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 DiscordWebHook
{
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 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 deinfe 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 class SubscriptionModel
{
public Guid ID { get; set; }
public Guid DiscordWebHookID { get; set; }
public Guid SourceID { get; set; }
}