Compare commits
15 Commits
7ac20ef86a
...
v0.0.1-alp
| Author | SHA1 | Date | |
|---|---|---|---|
| 4121a98ffd | |||
| d5b56efdd7 | |||
| 4c9c001d62 | |||
| d0d9fcc304 | |||
| 1a25de254f | |||
| 7eaf8e88d8 | |||
| a6e3f78f43 | |||
| 059c0603d4 | |||
| 1fab4a4d7c | |||
| 3086f71b62 | |||
| 216937c6ad | |||
| 86678c7b37 | |||
| ef2a395a5a | |||
| d5a443c994 | |||
| 0bb4db8928 |
@@ -3,7 +3,6 @@ run-name: Release-Docker-Linux-ARM64
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main"]
|
||||
tags: [ "v*" ]
|
||||
|
||||
jobs:
|
||||
@@ -21,13 +20,7 @@ jobs:
|
||||
- name: Get Version
|
||||
id: get_version
|
||||
run: |
|
||||
# Wenn ein Tag vorhanden ist (z.B. v1.0.2), nimm diesen.
|
||||
# Sonst generiere eine Version aus dem Datum + Kurz-Hash.
|
||||
if [[ $GITHUB_REF == refs/tags/* ]]; then
|
||||
VERSION=${GITHUB_REF#refs/tags/}
|
||||
else
|
||||
VERSION="latest-$(date +%Y%m%d)-$(git rev-parse --short HEAD)"
|
||||
fi
|
||||
VERSION=${GITHUB_REF#refs/tags/}
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
echo "REPO_LC=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV
|
||||
|
||||
@@ -45,9 +38,6 @@ jobs:
|
||||
|
||||
- name: Build Linux ARM64 Docker Image
|
||||
run: |
|
||||
# Wir bauen das Image mit ZWEI Tags:
|
||||
# 1. Der spezifischen Version (z.B. v1.0.2)
|
||||
# 2. Dem 'latest' Tag (damit das aktuellste Image immer 'latest' ist)
|
||||
docker build \
|
||||
-t gitea.penry.de/${{ env.REPO_LC }}:${{ env.VERSION }} \
|
||||
-t gitea.penry.de/${{ env.REPO_LC }}:latest \
|
||||
@@ -61,7 +51,6 @@ jobs:
|
||||
|
||||
- name: Make Tar from image
|
||||
run: |
|
||||
# Wir nutzen die Version auch im Dateinamen vom Tar
|
||||
docker save -o couchlog-linux-arm64-${{ env.VERSION }}.tar gitea.penry.de/${{ env.REPO_LC }}:${{ env.VERSION }}
|
||||
|
||||
- name: Release
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
@page "/AdminSettings"
|
||||
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
|
||||
<h3>Index</h3>
|
||||
|
||||
@code {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
@using Microsoft.AspNetCore.Identity
|
||||
@using Microsoft.EntityFrameworkCore
|
||||
@using Microsoft.AspNetCore.Components.QuickGrid
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@inject ApplicationDbContext CouchLogDB
|
||||
@inject UserManager<ApplicationUser> UserManager
|
||||
@@ -12,6 +13,8 @@
|
||||
@inject AuthenticationStateProvider AuthenticationStateProvider
|
||||
@inject NavigationManager NavigationManager
|
||||
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<h3 class="mb-0">UserManagement</h3>
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
@inherits LayoutComponentBase
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@inherits LayoutComponentBase
|
||||
@layout CouchLog.Components.Layout.MainLayout
|
||||
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
|
||||
<h1>Manage CouchLog</h1>
|
||||
|
||||
<div>
|
||||
|
||||
@@ -56,6 +56,9 @@
|
||||
<button class="btn-primary btn me-2" value="@Genre.Id" type="button" @onclick="() => AddGenreToList(Genre.Id)">@Genre.Name</button>
|
||||
}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<InputCheckbox DisplayName="isPrivate" @bind-Value="isPrivate" ></InputCheckbox>
|
||||
</div>
|
||||
<button type="submit" class="btn-success btn">Create new Global Entity</button>
|
||||
</EditForm>
|
||||
</div>
|
||||
@@ -66,65 +69,68 @@
|
||||
<div class="row">
|
||||
@foreach (var Entity in GlobalEntities)
|
||||
{
|
||||
<div name="Enity-Container" class="col-12 col-md-6 col-lg-3 mb-4 Entity-Container">
|
||||
<div name="Entity-Container-Card" class="Entity-Container-Card">
|
||||
if (!Entity.IsPrivate || (Entity.IsPrivate && (Entity.CreatorId == AppUser.Id)))
|
||||
{
|
||||
<div name="Enity-Container" class="col-12 col-md-6 col-lg-3 mb-4 Entity-Container">
|
||||
<div name="Entity-Container-Card" class="Entity-Container-Card">
|
||||
|
||||
<div class="Entity-Container-Menu-Button dropdown ms-1">
|
||||
<button type="button" class="Entity-Container-Menu-Button btn menu-btn" data-bs-toggle="modal" data-bs-target="#modal-@Entity.Id">⋮</button>
|
||||
</div>
|
||||
<div class="Entity-Container-Menu-Button dropdown ms-1">
|
||||
<button type="button" class="Entity-Container-Menu-Button btn menu-btn" data-bs-toggle="modal" data-bs-target="#modal-@Entity.Id">⋮</button>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="@Entity.Id" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="staticBackdropLabel">Modal title</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This is a vertically centered modal.
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-primary">Understood</button>
|
||||
<div class="modal fade" id="@Entity.Id" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="staticBackdropLabel">Modal title</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
This is a vertically centered modal.
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-primary">Understood</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div name="Enity-Container-Image" class="">
|
||||
<a href="javascript:void(0)" class="Entity-Container-Image">
|
||||
<img src="@Entity.PicturePath" alt="" class="Entity-Container-Image" />
|
||||
</a>
|
||||
</div>
|
||||
<div name="Entity-Container-Data" class="">
|
||||
<h3 class="">@Entity.Title</h3>
|
||||
</div>
|
||||
<div name="Entity-Container-Button" class="d-flex Entity-Container-Button" style="gap: 10px;">
|
||||
<button class="btn btn-info" type="button" @onclick="() => AddToPrivateList(Entity)">
|
||||
@(IsInPrivateList(Entity.Id) ? "Added" : "Add to Private List")
|
||||
</button>
|
||||
<button class="btn btn-info" type="button" @onclick="() => throw new NotImplementedException()">Add to Shared List</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modal-@Entity.Id" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Optionen</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
<div name="Enity-Container-Image" class="">
|
||||
<a href="javascript:void(0)" class="Entity-Container-Image">
|
||||
<img src="/@Entity.PicturePath" alt="" class="Entity-Container-Image" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn btn-danger" type="button" @onclick="() => DeleteEntity(Entity)">Delete Entity</button>
|
||||
<div name="Entity-Container-Data" class="">
|
||||
<h3 class="">@Entity.Title</h3>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Schließen</button>
|
||||
<div name="Entity-Container-Button" class="d-flex Entity-Container-Button" style="gap: 10px;">
|
||||
<button class="btn btn-info" type="button" @onclick="() => AddToPrivateList(Entity)">
|
||||
@(IsInPrivateList(Entity.Id) ? "Added" : "Add to Private List")
|
||||
</button>
|
||||
<button class="btn btn-info" type="button" @onclick="() => throw new NotImplementedException()">Add to Shared List</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modal-@Entity.Id" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Optionen</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<button class="btn btn-danger" type="button" @onclick="() => DeleteEntity(Entity)">Delete Entity</button>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Schließen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<!-- #endregion -->
|
||||
@@ -144,6 +150,7 @@
|
||||
private GlobalEntity GlobalEntity = new();
|
||||
private bool isCollapseNewGlobalEntityOpen = false;
|
||||
private int SelectedMediaTypeId;
|
||||
private bool isPrivate = false;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
@@ -217,7 +224,7 @@
|
||||
}
|
||||
|
||||
//Save Picture and Name it
|
||||
string NewFileName = $"{GlobalEntity.Title.Replace(" ", "_")}_{Guid.NewGuid()}{Path.GetExtension(Picture.Name)}";
|
||||
string NewFileName = $"{GlobalEntity.Title.Replace(" ", "-")}-{Guid.NewGuid()}{Path.GetExtension(Picture.Name)}";
|
||||
string PicturePath = Path.Combine("wwwroot", "Pictures", NewFileName);
|
||||
using FileStream FileStream = File.Create(PicturePath);
|
||||
await Picture.OpenReadStream().CopyToAsync(FileStream);
|
||||
@@ -227,6 +234,7 @@
|
||||
GlobalEntity.CreatorId = AppUser.Id;
|
||||
GlobalEntity.TypeId = SelectedMediaTypeId;
|
||||
GlobalEntity.CreationTime = DateTime.Now;
|
||||
GlobalEntity.IsPrivate = isPrivate;
|
||||
|
||||
CouchLogDB.Add(GlobalEntity);
|
||||
await CouchLogDB.SaveChangesAsync();
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<div class="col-auto img-wrapper">
|
||||
@if (!string.IsNullOrEmpty(Entity.GlobalEntity?.PicturePath))
|
||||
{
|
||||
<img src="@Entity.GlobalEntity.PicturePath"
|
||||
<img src="/@Entity.GlobalEntity.PicturePath"
|
||||
class="entity-img"
|
||||
alt="@Entity.GlobalEntity.Title">
|
||||
}
|
||||
|
||||
@@ -22,6 +22,9 @@ namespace CouchLog.Data
|
||||
|
||||
public DateTime? LastChange { get; set; }
|
||||
|
||||
[Required]
|
||||
public bool IsPrivate { get; set; }
|
||||
|
||||
|
||||
// --- Foreign Keys ---
|
||||
[Required]
|
||||
|
||||
961
CouchLog/Migrations/20251222140730_PrivateGlobalEntitys.Designer.cs
generated
Normal file
961
CouchLog/Migrations/20251222140730_PrivateGlobalEntitys.Designer.cs
generated
Normal file
@@ -0,0 +1,961 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using CouchLog.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CouchLog.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
[Migration("20251222140730_PrivateGlobalEntitys")]
|
||||
partial class PrivateGlobalEntitys
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder.HasAnnotation("ProductVersion", "10.0.1");
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.ApplicationUser", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int>("AccessFailedCount")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("ConcurrencyStamp")
|
||||
.IsConcurrencyToken()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Email")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<bool>("EmailConfirmed")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<bool>("LockoutEnabled")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTimeOffset?>("LockoutEnd")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("NormalizedEmail")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("NormalizedUserName")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("PasswordHash")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("PhoneNumber")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<bool>("PhoneNumberConfirmed")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("SecurityStamp")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<bool>("TwoFactorEnabled")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("UserName")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("NormalizedEmail")
|
||||
.HasDatabaseName("EmailIndex");
|
||||
|
||||
b.HasIndex("NormalizedUserName")
|
||||
.IsUnique()
|
||||
.HasDatabaseName("UserNameIndex");
|
||||
|
||||
b.ToTable("AspNetUsers", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.Genre", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Genres");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.GlobalEntity", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("CreatorId")
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<bool>("IsPrivate")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("PicturePath")
|
||||
.HasMaxLength(500)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Title")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int>("TypeId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("CreatorId");
|
||||
|
||||
b.HasIndex("TypeId");
|
||||
|
||||
b.ToTable("GlobalEntities");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.Label", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("CreatorId")
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("CreatorId");
|
||||
|
||||
b.ToTable("Labels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTableGlobalGenre", b =>
|
||||
{
|
||||
b.Property<int>("GlobalEntityId")
|
||||
.HasColumnType("INTEGER")
|
||||
.HasColumnOrder(0);
|
||||
|
||||
b.Property<int>("GenreId")
|
||||
.HasColumnType("INTEGER")
|
||||
.HasColumnOrder(1);
|
||||
|
||||
b.HasKey("GlobalEntityId", "GenreId");
|
||||
|
||||
b.HasIndex("GenreId");
|
||||
|
||||
b.ToTable("LinkTableGlobalGenre");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTablePrivateLabel", b =>
|
||||
{
|
||||
b.Property<int>("PrivateEntityId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("LabelId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("PrivateEntityId", "LabelId");
|
||||
|
||||
b.HasIndex("LabelId");
|
||||
|
||||
b.ToTable("LinkTablePrivateLabel");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTablePrivateStreamingPlatform", b =>
|
||||
{
|
||||
b.Property<int>("PrivateEntityId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("StreamingPlatformId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int?>("SharedListEntityId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("PrivateEntityId", "StreamingPlatformId");
|
||||
|
||||
b.HasIndex("SharedListEntityId");
|
||||
|
||||
b.HasIndex("StreamingPlatformId");
|
||||
|
||||
b.ToTable("LinkTablePrivateStreamingPlatform");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTableSharedLabel", b =>
|
||||
{
|
||||
b.Property<int>("SharedListLabelId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("SharedListEntityId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("SharedListLabelId", "SharedListEntityId");
|
||||
|
||||
b.HasIndex("SharedListEntityId");
|
||||
|
||||
b.ToTable("LinkTableSharedLabel");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTableSharedUser", b =>
|
||||
{
|
||||
b.Property<int>("SharedListId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("SharedListId", "UserId");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("LinkTableSharedUser");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.MediaType", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("MediaType");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.PrivateEntity", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasMaxLength(1000)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("Episode")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<bool>("Favorite")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("GlobalEntityId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("Rating")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int?>("Season")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("UserWatchStatusId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("GlobalEntityId");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.HasIndex("UserWatchStatusId");
|
||||
|
||||
b.ToTable("PrivateEntities");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedList", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(150)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("SharedLists");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedListEntity", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasMaxLength(1000)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("Episode")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<bool>("Favorite")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("GlobalEntityId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("Season")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("SharedListId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int?>("SharedWatchStatusId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("GlobalEntityId");
|
||||
|
||||
b.HasIndex("SharedListId");
|
||||
|
||||
b.HasIndex("SharedWatchStatusId");
|
||||
|
||||
b.ToTable("SharedListEntities");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedListLabel", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int>("SharedListId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SharedListId");
|
||||
|
||||
b.ToTable("SharedListLabels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedWatchStatus", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("ColorCode")
|
||||
.HasMaxLength(7)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasMaxLength(255)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int>("SharedListId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SharedListId");
|
||||
|
||||
b.ToTable("SharedWatchStatuses");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.StreamingPlatform", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("PicturePath")
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("StreamingPlatforms");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.UserWatchStatus", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("ColorCode")
|
||||
.HasMaxLength(7)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasMaxLength(255)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("UserWatchStatuses");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("ConcurrencyStamp")
|
||||
.IsConcurrencyToken()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("NormalizedName")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("NormalizedName")
|
||||
.IsUnique()
|
||||
.HasDatabaseName("RoleNameIndex");
|
||||
|
||||
b.ToTable("AspNetRoles", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("ClaimType")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("ClaimValue")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("RoleId")
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("RoleId");
|
||||
|
||||
b.ToTable("AspNetRoleClaims", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("ClaimType")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("ClaimValue")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("AspNetUserClaims", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
|
||||
{
|
||||
b.Property<string>("LoginProvider")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("ProviderKey")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("ProviderDisplayName")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("LoginProvider", "ProviderKey");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("AspNetUserLogins", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
|
||||
{
|
||||
b.Property<string>("UserId")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("RoleId")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("UserId", "RoleId");
|
||||
|
||||
b.HasIndex("RoleId");
|
||||
|
||||
b.ToTable("AspNetUserRoles", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
|
||||
{
|
||||
b.Property<string>("UserId")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("LoginProvider")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Value")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.HasKey("UserId", "LoginProvider", "Name");
|
||||
|
||||
b.ToTable("AspNetUserTokens", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.GlobalEntity", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", "User")
|
||||
.WithMany("CreatedGlobalEntities")
|
||||
.HasForeignKey("CreatorId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.MediaType", "MediaType")
|
||||
.WithMany("GlobalEntities")
|
||||
.HasForeignKey("TypeId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("MediaType");
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.Label", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", "User")
|
||||
.WithMany("CreatedLabels")
|
||||
.HasForeignKey("CreatorId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTableGlobalGenre", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.Genre", "Genre")
|
||||
.WithMany("LinkTableGlobalGenres")
|
||||
.HasForeignKey("GenreId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.GlobalEntity", "GlobalEntity")
|
||||
.WithMany("LinkTableGlobalGenres")
|
||||
.HasForeignKey("GlobalEntityId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Genre");
|
||||
|
||||
b.Navigation("GlobalEntity");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTablePrivateLabel", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.Label", "Label")
|
||||
.WithMany("LinkTablePrivateLabels")
|
||||
.HasForeignKey("LabelId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.PrivateEntity", "PrivateEntity")
|
||||
.WithMany("PrivateEntityLabels")
|
||||
.HasForeignKey("PrivateEntityId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Label");
|
||||
|
||||
b.Navigation("PrivateEntity");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTablePrivateStreamingPlatform", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.PrivateEntity", "PrivateEntity")
|
||||
.WithMany("PrivateStreamingPlatforms")
|
||||
.HasForeignKey("PrivateEntityId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.SharedListEntity", null)
|
||||
.WithMany("LinkTablePrivateStreamingPlatforms")
|
||||
.HasForeignKey("SharedListEntityId");
|
||||
|
||||
b.HasOne("CouchLog.Data.StreamingPlatform", "StreamingPlatform")
|
||||
.WithMany()
|
||||
.HasForeignKey("StreamingPlatformId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("PrivateEntity");
|
||||
|
||||
b.Navigation("StreamingPlatform");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTableSharedLabel", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.SharedListEntity", "SharedListEntity")
|
||||
.WithMany("LinkTableSharedLabels")
|
||||
.HasForeignKey("SharedListEntityId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.SharedListLabel", "SharedListLabel")
|
||||
.WithMany("LinkTableSharedLabels")
|
||||
.HasForeignKey("SharedListLabelId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SharedListEntity");
|
||||
|
||||
b.Navigation("SharedListLabel");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.LinkTableSharedUser", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.SharedList", "SharedList")
|
||||
.WithMany("SharedListUsers")
|
||||
.HasForeignKey("SharedListId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", "User")
|
||||
.WithMany("LinkTableSharedUsers")
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SharedList");
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.PrivateEntity", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.GlobalEntity", "GlobalEntity")
|
||||
.WithMany("PrivateEntities")
|
||||
.HasForeignKey("GlobalEntityId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", "User")
|
||||
.WithMany("PrivateEntities")
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.UserWatchStatus", "UserWatchStatus")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserWatchStatusId");
|
||||
|
||||
b.Navigation("GlobalEntity");
|
||||
|
||||
b.Navigation("User");
|
||||
|
||||
b.Navigation("UserWatchStatus");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedListEntity", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.GlobalEntity", "GlobalEntity")
|
||||
.WithMany("SharedListEntities")
|
||||
.HasForeignKey("GlobalEntityId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.SharedList", "SharedList")
|
||||
.WithMany("SharedListEntities")
|
||||
.HasForeignKey("SharedListId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.SharedWatchStatus", "SharedWatchStatus")
|
||||
.WithMany("SharedListEntities")
|
||||
.HasForeignKey("SharedWatchStatusId");
|
||||
|
||||
b.Navigation("GlobalEntity");
|
||||
|
||||
b.Navigation("SharedList");
|
||||
|
||||
b.Navigation("SharedWatchStatus");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedListLabel", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.SharedList", "SharedList")
|
||||
.WithMany("SharedListLabels")
|
||||
.HasForeignKey("SharedListId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SharedList");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedWatchStatus", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.SharedList", "SharedList")
|
||||
.WithMany("SharedWatchStatuses")
|
||||
.HasForeignKey("SharedListId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SharedList");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
|
||||
{
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("RoleId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
|
||||
{
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("RoleId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
|
||||
{
|
||||
b.HasOne("CouchLog.Data.ApplicationUser", null)
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.ApplicationUser", b =>
|
||||
{
|
||||
b.Navigation("CreatedGlobalEntities");
|
||||
|
||||
b.Navigation("CreatedLabels");
|
||||
|
||||
b.Navigation("LinkTableSharedUsers");
|
||||
|
||||
b.Navigation("PrivateEntities");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.Genre", b =>
|
||||
{
|
||||
b.Navigation("LinkTableGlobalGenres");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.GlobalEntity", b =>
|
||||
{
|
||||
b.Navigation("LinkTableGlobalGenres");
|
||||
|
||||
b.Navigation("PrivateEntities");
|
||||
|
||||
b.Navigation("SharedListEntities");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.Label", b =>
|
||||
{
|
||||
b.Navigation("LinkTablePrivateLabels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.MediaType", b =>
|
||||
{
|
||||
b.Navigation("GlobalEntities");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.PrivateEntity", b =>
|
||||
{
|
||||
b.Navigation("PrivateEntityLabels");
|
||||
|
||||
b.Navigation("PrivateStreamingPlatforms");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedList", b =>
|
||||
{
|
||||
b.Navigation("SharedListEntities");
|
||||
|
||||
b.Navigation("SharedListLabels");
|
||||
|
||||
b.Navigation("SharedListUsers");
|
||||
|
||||
b.Navigation("SharedWatchStatuses");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedListEntity", b =>
|
||||
{
|
||||
b.Navigation("LinkTablePrivateStreamingPlatforms");
|
||||
|
||||
b.Navigation("LinkTableSharedLabels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedListLabel", b =>
|
||||
{
|
||||
b.Navigation("LinkTableSharedLabels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.SharedWatchStatus", b =>
|
||||
{
|
||||
b.Navigation("SharedListEntities");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
29
CouchLog/Migrations/20251222140730_PrivateGlobalEntitys.cs
Normal file
29
CouchLog/Migrations/20251222140730_PrivateGlobalEntitys.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CouchLog.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class PrivateGlobalEntitys : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsPrivate",
|
||||
table: "GlobalEntities",
|
||||
type: "INTEGER",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsPrivate",
|
||||
table: "GlobalEntities");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ namespace CouchLog.Migrations
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder.HasAnnotation("ProductVersion", "10.0.0");
|
||||
modelBuilder.HasAnnotation("ProductVersion", "10.0.1");
|
||||
|
||||
modelBuilder.Entity("CouchLog.Data.ApplicationUser", b =>
|
||||
{
|
||||
@@ -116,6 +116,9 @@ namespace CouchLog.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<bool>("IsPrivate")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<DateTime?>("LastChange")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ else
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
app.UseStaticFiles();
|
||||
|
||||
app.UseAntiforgery();
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"ConnectionStrings": {
|
||||
"CouchLogDB": "Data Source=Data\\CouchLog.db"
|
||||
"CouchLogDB": "Data Source=Data/CouchLog.db"
|
||||
},
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
|
||||
Reference in New Issue
Block a user