From 99d715f19016957c4d675b96dd6f9a569b5af68a Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sat, 22 Aug 2020 09:11:37 -0500 Subject: [PATCH] =?UTF-8?q?feat(directory):=20=E2=9C=A8=20init=20query=20e?= =?UTF-8?q?ntities=20(no=20relationships=20yet)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ilterLists.Directory.Infrastructure.csproj | 4 ++++ .../Entities/Contracts/ISurrogateKey.cs | 7 ++++++ .../Queries/Entities/FilterList.cs | 22 +++++++++++++++++++ .../Persistence/Queries/Entities/Language.cs | 8 +++++++ .../Persistence/Queries/Entities/License.cs | 13 +++++++++++ .../Queries/Entities/Maintainer.cs | 14 ++++++++++++ .../Persistence/Queries/Entities/Software.cs | 15 +++++++++++++ .../Persistence/Queries/Entities/Syntax.cs | 13 +++++++++++ .../Persistence/Queries/Entities/Tag.cs | 11 ++++++++++ 9 files changed, 107 insertions(+) create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Contracts/ISurrogateKey.cs create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs create mode 100644 directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs diff --git a/directory/src/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj b/directory/src/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj index 9f5c4f4ab..a02de8e18 100644 --- a/directory/src/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj +++ b/directory/src/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj @@ -4,4 +4,8 @@ netstandard2.0 + + + + diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Contracts/ISurrogateKey.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Contracts/ISurrogateKey.cs new file mode 100644 index 000000000..891bf5e04 --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Contracts/ISurrogateKey.cs @@ -0,0 +1,7 @@ +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts +{ + public interface ISurrogateKey + { + long Id { get; set; } + } +} \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs new file mode 100644 index 000000000..7e3491eb1 --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/FilterList.cs @@ -0,0 +1,22 @@ +using System; +using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts; + +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities +{ + public class FilterList : ISurrogateKey + { + public long Id { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public Uri ViewUrl { get; set; } + public Uri HomeUrl { get; set; } + public Uri OnionUrl { get; set; } + public Uri PolicyUrl { get; set; } + public Uri SubmissionUrl { get; set; } + public Uri IssuesUrl { get; set; } + public Uri ForumUrl { get; set; } + public Uri ChatUrl { get; set; } + public string EmailAddress { get; set; } + public Uri DonateUrl { get; set; } + } +} \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs new file mode 100644 index 000000000..92fc8e630 --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Language.cs @@ -0,0 +1,8 @@ +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities +{ + public class Language + { + public string Iso6391 { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs new file mode 100644 index 000000000..0e09b3278 --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/License.cs @@ -0,0 +1,13 @@ +using System; +using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts; + +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities +{ + public class License: ISurrogateKey + { + public long Id { get; set; } + public string GitHubKey { get; set; } + public string Name { get; set; } + public Uri Url { get; set; } + } +} \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs new file mode 100644 index 000000000..c91512791 --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Maintainer.cs @@ -0,0 +1,14 @@ +using System; +using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts; + +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities +{ + public class Maintainer : ISurrogateKey + { + public long Id { get; set; } + public string Name { get; set; } + public Uri Url { get; set; } + public string EmailAddress { get; set; } + public string TwitterHandle { get; set; } + } +} \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs new file mode 100644 index 000000000..ea170894d --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Software.cs @@ -0,0 +1,15 @@ +using System; +using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts; + +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities +{ + public class Software : ISurrogateKey + { + public long Id { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public Uri HomeUrl { get; set; } + public Uri DownloadUrl { get; set; } + public bool SupportsAbpUrlScheme { get; set; } + } +} \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs new file mode 100644 index 000000000..ca489045b --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Syntax.cs @@ -0,0 +1,13 @@ +using System; +using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts; + +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities +{ + public class Syntax : ISurrogateKey + { + public long Id { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public Uri Url { get; set; } + } +} \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs new file mode 100644 index 000000000..b6092ae44 --- /dev/null +++ b/directory/src/FilterLists.Directory.Infrastructure/Persistence/Queries/Entities/Tag.cs @@ -0,0 +1,11 @@ +using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts; + +namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities +{ + public class Tag : ISurrogateKey + { + public long Id { get; set; } + public string Name { get; set; } + public string Description { get; set; } + } +} \ No newline at end of file