feat(directory): init query entities (no relationships yet)

This commit is contained in:
Collin M. Barrett 2020-08-22 09:11:37 -05:00
parent 6f694cf8af
commit 99d715f190
9 changed files with 107 additions and 0 deletions

View file

@ -4,4 +4,8 @@
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="Persistence\Queries\Mappings\" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,7 @@
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities.Contracts
{
public interface ISurrogateKey
{
long Id { get; set; }
}
}

View file

@ -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; }
}
}

View file

@ -0,0 +1,8 @@
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities
{
public class Language
{
public string Iso6391 { get; set; }
public string Name { get; set; }
}
}

View file

@ -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; }
}
}

View file

@ -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; }
}
}

View file

@ -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; }
}
}

View file

@ -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; }
}
}

View file

@ -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; }
}
}