Adds Blazor Web App standard login

This commit is contained in:
2025-09-24 21:28:15 +02:00
parent 1152bc4f7e
commit 8ec615496e
141 changed files with 62726 additions and 1354 deletions

View File

@@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace WatchLog.Data
{
[PrimaryKey(nameof(SharedListLabelId), nameof(SharedListEntityId))]
public class LinkTableSharedLabel
{
// --- Foreign Keys ---
public int SharedListLabelId { get; set; }
public int SharedListEntityId { get; set; }
// --- Navigation Properties ---
[ForeignKey(nameof(SharedListLabelId))]
public virtual SharedListLabel SharedListLabel { get; set; } = null!;
[ForeignKey(nameof(SharedListEntityId))]
public virtual SharedListEntity SharedListEntity { get; set; } = null!;
}
}

View File

@@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace WatchLog.Data
{
[PrimaryKey(nameof(SharedListEnityId), nameof(StreamingPlatformId))]
public class LinkTableSharedStreamingPlatform
{
// --- Foreign Keys ---
public int SharedListEnityId { get; set; }
public int StreamingPlatformId { get; set; }
// --- Navigation Properties ---
[ForeignKey(nameof(SharedListEnityId))]
public virtual SharedListEntity SharedListEntity { get; set; } = null!;
[ForeignKey(nameof(StreamingPlatformId))]
public virtual StreamingPlatform StreamingPlatform { get; set; } = null!;
}
}

View File

@@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace WatchLog.Data
{
[PrimaryKey(nameof(SharedListId), nameof(UserId))]
public class LinkTableSharedUser
{
// --- Foreign Keys ---
public int SharedListId { get; set; }
public string? UserId { get; set; }
// --- Navigation Properties ---
[ForeignKey(nameof(SharedListId))]
public virtual SharedList SharedList { get; set; } = null!;
[ForeignKey(nameof(UserId))]
public virtual ApplicationUser User { get; set; } = null!;
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.ComponentModel.DataAnnotations;
namespace WatchLog.Data
{
public class SharedList
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(150)]
public required string Name { get; set; }
[Required]
public required DateTime CreationTime { get; set; }
public DateTime? LastChange { get; set; }
// --- Navigation Properties ---
public virtual ICollection<LinkTableSharedUser> SharedListUsers { get; set; } = new List<LinkTableSharedUser>();
public virtual ICollection<SharedListEntity> SharedListEntities { get; set; } = new List<SharedListEntity>();
public virtual ICollection<SharedWatchStatus> SharedWatchStatuses { get; set; } = new List<SharedWatchStatus>();
public virtual ICollection<SharedListLabel> SharedListLabels { get; set; } = new List<SharedListLabel>();
}
}

View File

@@ -0,0 +1,49 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace WatchLog.Data
{
public class SharedListEntity
{
[Key]
public int Id { get; set; }
public bool Favorite { get; set; } = false;
[MaxLength(1000)]
public string? Description { get; set; }
public int? Season { get; set; }
public int? Episode { get; set; }
[Required]
public required DateTime CreationTime { get; set; }
public DateTime? LastChange { get; set; }
// --- Foreign Keys ---
public int SharedListId { get; set; }
public int GlobalEntityId { get; set; }
public int? SharedWatchStatusId { get; set; }
// --- Navigation Properties ---
[ForeignKey(nameof(SharedListId))]
public virtual SharedList SharedList { get; set; } = null!;
[ForeignKey(nameof(GlobalEntityId))]
public virtual GlobalEntity GlobalEntity { get; set; } = null!;
[ForeignKey(nameof(SharedWatchStatusId))]
public virtual SharedWatchStatus? SharedWatchStatus { get; set; }
public virtual ICollection<LinkTableSharedLabel> LinkTableSharedLabels { get; set; } = new List<LinkTableSharedLabel>();
public virtual ICollection<LinkTablePrivateStreamingPlatform> LinkTablePrivateStreamingPlatforms { get; set; } = new List<LinkTablePrivateStreamingPlatform>();
}
}

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace WatchLog.Data
{
public class SharedListLabel
{
[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; }
// --- Foreign Key ---
[Required]
public int SharedListId { get; set; }
// --- Navigation Properties ---
[ForeignKey(nameof(SharedListId))]
public virtual SharedList SharedList { get; set; } = null!;
public virtual ICollection<LinkTableSharedLabel> LinkTableSharedLabels { get; set; } = new List<LinkTableSharedLabel>();
}
}

View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace WatchLog.Data
{
public class SharedWatchStatus
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(50)]
public required string Name { get; set; }
[MaxLength(255)]
public string? Description { get; set; }
[MaxLength(7)]
public string? ColorCode { get; set; }
[Required]
public required DateTime CreationTime { get; set; }
public DateTime? LastChange { get; set; }
// --- Foreign Key ---
[Required]
public int SharedListId { get; set; }
// --- Navigation Properties ---
[ForeignKey(nameof(SharedListId))]
public virtual SharedList SharedList { get; set; } = null!;
public virtual ICollection<SharedListEntity> SharedListEntities { get; set; } = new List<SharedListEntity>();
}
}