Adds Blazor Web App standard login
This commit is contained in:
23
WatchLog/Data/DatabaseModels/Global/Genre.cs
Normal file
23
WatchLog/Data/DatabaseModels/Global/Genre.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace WatchLog.Data
|
||||
{
|
||||
public class Genre
|
||||
{
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[MaxLength(50)]
|
||||
public required string Name { get; set; }
|
||||
|
||||
[Required]
|
||||
public required DateTime CreationTime { get; set; }
|
||||
|
||||
public DateTime? LastChange { get; set; }
|
||||
|
||||
|
||||
// --- Navigation Properties ---
|
||||
public virtual ICollection<LinkTableGlobalGenre> LinkTableGlobalGenres { get; set; } = new List<LinkTableGlobalGenre>();
|
||||
}
|
||||
}
|
||||
45
WatchLog/Data/DatabaseModels/Global/GlobalEntity.cs
Normal file
45
WatchLog/Data/DatabaseModels/Global/GlobalEntity.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace WatchLog.Data
|
||||
{
|
||||
public class GlobalEntity
|
||||
{
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[MaxLength(200)]
|
||||
public required string Title { get; set; }
|
||||
|
||||
[MaxLength(500)]
|
||||
public string? PicturePath { get; set; }
|
||||
|
||||
[Required]
|
||||
public required DateTime CreationTime { get; set; }
|
||||
|
||||
public DateTime? LastChange { get; set; }
|
||||
|
||||
|
||||
// --- Foreign Keys ---
|
||||
[Required]
|
||||
public required int TypeId { get; set; }
|
||||
|
||||
[Required]
|
||||
public required string CreatorId { get; set; }
|
||||
|
||||
|
||||
// --- Navigation Properties ---
|
||||
[ForeignKey(nameof(TypeId))]
|
||||
public virtual MediaType MediaType { get; set; } = null!;
|
||||
|
||||
[ForeignKey(nameof(CreatorId))]
|
||||
public virtual ApplicationUser User { get; set; } = null!;
|
||||
|
||||
public virtual ICollection<LinkTableGlobalGenre> LinkTableGlobalGenres { get; set; } = new List<LinkTableGlobalGenre>();
|
||||
|
||||
public virtual ICollection<PrivateEntity> PrivateEntities { get; set; } = new List<PrivateEntity>();
|
||||
|
||||
public virtual ICollection<SharedListEntity> SharedListEntities { get; set; } = new List<SharedListEntity>();
|
||||
}
|
||||
}
|
||||
24
WatchLog/Data/DatabaseModels/Global/LinkTableGlobalGenre.cs
Normal file
24
WatchLog/Data/DatabaseModels/Global/LinkTableGlobalGenre.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace WatchLog.Data
|
||||
{
|
||||
[PrimaryKey(nameof(GlobalEntityId), nameof(GenreId))]
|
||||
public class LinkTableGlobalGenre
|
||||
{
|
||||
// --- Foreign Keys ---
|
||||
[Column(Order = 0)]
|
||||
public int GlobalEntityId { get; set; }
|
||||
|
||||
[Column(Order = 1)]
|
||||
public int GenreId { get; set; }
|
||||
|
||||
|
||||
// --- Navigation Properties ---
|
||||
[ForeignKey(nameof(GlobalEntityId))]
|
||||
public virtual GlobalEntity GlobalEntity { get; set; } = null!;
|
||||
|
||||
[ForeignKey(nameof(GenreId))]
|
||||
public virtual Genre Genre { get; set; } = null!;
|
||||
}
|
||||
}
|
||||
18
WatchLog/Data/DatabaseModels/Global/MediaType.cs
Normal file
18
WatchLog/Data/DatabaseModels/Global/MediaType.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace WatchLog.Data
|
||||
{
|
||||
public class MediaType
|
||||
{
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[MaxLength(50)]
|
||||
public required string Name { get; set; }
|
||||
|
||||
|
||||
// --- Navigation Property ---
|
||||
public virtual ICollection<GlobalEntity> GlobalEntities { get; set; } = new List<GlobalEntity>();
|
||||
}
|
||||
}
|
||||
22
WatchLog/Data/DatabaseModels/Global/StreamingPlatform.cs
Normal file
22
WatchLog/Data/DatabaseModels/Global/StreamingPlatform.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace WatchLog.Data
|
||||
{
|
||||
public class StreamingPlatform
|
||||
{
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[MaxLength(100)]
|
||||
public required string Name { get; set; }
|
||||
|
||||
[Required]
|
||||
public string? PicturePath { get; set; }
|
||||
|
||||
[Required]
|
||||
public required DateTime CreationTime { get; set; }
|
||||
|
||||
public DateTime? LastChange { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user