Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ea14d9208e | |||
| 43055a6a3d |
@@ -24,7 +24,7 @@ jobs:
|
|||||||
docker build \
|
docker build \
|
||||||
-t francesco448/razorpagesmovie:${{ gitea.sha }} \
|
-t francesco448/razorpagesmovie:${{ gitea.sha }} \
|
||||||
-t francesco448/razorpagesmovie:staging \
|
-t francesco448/razorpagesmovie:staging \
|
||||||
-f RazorPagesMovie/Dockerfile \
|
-f BewerbungWebseite/Dockerfile \
|
||||||
.
|
.
|
||||||
|
|
||||||
- name: Push Docker image
|
- name: Push Docker image
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
namespace RazorPagesMovie.Api.V1.Contact;
|
namespace BewerbungsSeite.Api.V1.Contact;
|
||||||
|
|
||||||
public record ContactDto(string? Name, string? Email, string? Phone, string? Subject, string? Message);
|
public record ContactDto(string? Name, string? Email, string? Phone, string? Subject, string? Message);
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<RootNamespace>RazorPagesMovie</RootNamespace>
|
<RootNamespace>BewerbungsSeite</RootNamespace>
|
||||||
<AssemblyName>RazorPagesMovie</AssemblyName>
|
<AssemblyName>BewerbungsSeite</AssemblyName>
|
||||||
<UserSecretsId>02763b00-6256-4663-b3cd-9c520c4b3f91</UserSecretsId>
|
<UserSecretsId>02763b00-6256-4663-b3cd-9c520c4b3f91</UserSecretsId>
|
||||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using RazorPagesMovie.Api.V1.Contact;
|
using BewerbungsSeite.Api.V1.Contact;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
using RazorPagesMovie.Models;
|
using BewerbungsSeite.Models;
|
||||||
using RazorPagesMovie.Services;
|
using BewerbungsSeite.Services;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Controllers.Api.V1;
|
namespace BewerbungsSeite.Controllers.Api.V1;
|
||||||
|
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Route("api/v1/[controller]")]
|
[Route("api/v1/[controller]")]
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Data;
|
namespace BewerbungsSeite.Data;
|
||||||
|
|
||||||
public class RazorPagesMovieContext(DbContextOptions<RazorPagesMovieContext> options) : DbContext(options)
|
public class RazorPagesMovieContext(DbContextOptions<RazorPagesMovieContext> options) : DbContext(options)
|
||||||
{
|
{
|
||||||
public DbSet<RazorPagesMovie.Models.AdminUser> AdminUser { get; set; } = default!;
|
public DbSet<BewerbungsSeite.Models.AdminUser> AdminUser { get; set; } = default!;
|
||||||
public DbSet<RazorPagesMovie.Models.ContactMessage> ContactMessage { get; set; } = default!;
|
public DbSet<BewerbungsSeite.Models.ContactMessage> ContactMessage { get; set; } = default!;
|
||||||
}
|
}
|
||||||
@@ -6,10 +6,10 @@ EXPOSE 8081
|
|||||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||||
ARG BUILD_CONFIGURATION=Release
|
ARG BUILD_CONFIGURATION=Release
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY ["RazorPagesMovie/BewerbungsSeite.csproj", "RazorPagesMovie/"]
|
COPY ["BewerbungWebseite/BewerbungsSeite.csproj", "BewerbungWebseite/"]
|
||||||
RUN dotnet restore "./RazorPagesMovie/BewerbungsSeite.csproj"
|
RUN dotnet restore "./BewerbungWebseite/BewerbungsSeite.csproj"
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR "/src/RazorPagesMovie"
|
WORKDIR "/src/BewerbungWebseite"
|
||||||
RUN dotnet build "./BewerbungsSeite.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
RUN dotnet build "./BewerbungsSeite.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||||
|
|
||||||
FROM build AS publish
|
FROM build AS publish
|
||||||
@@ -19,4 +19,4 @@ RUN dotnet publish "./BewerbungsSeite.csproj" -c $BUILD_CONFIGURATION -o /app/pu
|
|||||||
FROM base AS final
|
FROM base AS final
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=publish /app/publish .
|
COPY --from=publish /app/publish .
|
||||||
ENTRYPOINT ["dotnet", "RazorPagesMovie.dll"]
|
ENTRYPOINT ["dotnet", "BewerbungsSeite.dll"]
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260627202538_InitialCreate")]
|
[Migration("20260627202538_InitialCreate")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.Movie", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class InitialCreate : Migration
|
public partial class InitialCreate : Migration
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260627205340_Rating")]
|
[Migration("20260627205340_Rating")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.Movie", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class Rating : Migration
|
public partial class Rating : Migration
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260627210009_New_DataAnnotations")]
|
[Migration("20260627210009_New_DataAnnotations")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.Movie", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class New_DataAnnotations : Migration
|
public partial class New_DataAnnotations : Migration
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260818121135_AddAdminUserAndContactMessage")]
|
[Migration("20260818121135_AddAdminUserAndContactMessage")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.AdminUser", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -47,7 +47,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("AdminUser");
|
b.ToTable("AdminUser");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.ContactMessage", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -86,7 +86,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("ContactMessage");
|
b.ToTable("ContactMessage");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.Movie", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class AddAdminUserAndContactMessage : Migration
|
public partial class AddAdminUserAndContactMessage : Migration
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260818134749_AddNotificationSentToContactMessage")]
|
[Migration("20260818134749_AddNotificationSentToContactMessage")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.AdminUser", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -47,7 +47,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("AdminUser");
|
b.ToTable("AdminUser");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.ContactMessage", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -89,7 +89,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("ContactMessage");
|
b.ToTable("ContactMessage");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.Movie", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class AddNotificationSentToContactMessage : Migration
|
public partial class AddNotificationSentToContactMessage : Migration
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260819120324_ChangeAdminUserAndContactMessageIdToGuid")]
|
[Migration("20260819120324_ChangeAdminUserAndContactMessageIdToGuid")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.AdminUser", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -45,7 +45,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("AdminUser");
|
b.ToTable("AdminUser");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.ContactMessage", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -85,7 +85,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("ContactMessage");
|
b.ToTable("ContactMessage");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.Movie", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class ChangeAdminUserAndContactMessageIdToGuid : Migration
|
public partial class ChangeAdminUserAndContactMessageIdToGuid : Migration
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260821123359_MakeContactMessageSubjectRequired")]
|
[Migration("20260821123359_MakeContactMessageSubjectRequired")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.AdminUser", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -45,7 +45,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("AdminUser");
|
b.ToTable("AdminUser");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.ContactMessage", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -86,7 +86,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("ContactMessage");
|
b.ToTable("ContactMessage");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.Movie", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class MakeContactMessageSubjectRequired : Migration
|
public partial class MakeContactMessageSubjectRequired : Migration
|
||||||
@@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
|
|||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
[Migration("20260826122916_DropMovieTable")]
|
[Migration("20260826122916_DropMovieTable")]
|
||||||
@@ -25,7 +25,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.AdminUser", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -45,7 +45,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("AdminUser");
|
b.ToTable("AdminUser");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.ContactMessage", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
|
|||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public partial class DropMovieTable : Migration
|
public partial class DropMovieTable : Migration
|
||||||
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
|
|||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
namespace RazorPagesMovie.Migrations
|
namespace BewerbungsSeite.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(RazorPagesMovieContext))]
|
[DbContext(typeof(RazorPagesMovieContext))]
|
||||||
partial class RazorPagesMovieContextModelSnapshot : ModelSnapshot
|
partial class RazorPagesMovieContextModelSnapshot : ModelSnapshot
|
||||||
@@ -22,7 +22,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
|
|
||||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.AdminUser", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -42,7 +42,7 @@ namespace RazorPagesMovie.Migrations
|
|||||||
b.ToTable("AdminUser");
|
b.ToTable("AdminUser");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
|
modelBuilder.Entity("BewerbungsSeite.Models.ContactMessage", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Models;
|
namespace BewerbungsSeite.Models;
|
||||||
|
|
||||||
public class AdminUser
|
public class AdminUser
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Models;
|
namespace BewerbungsSeite.Models;
|
||||||
|
|
||||||
public class ContactMessage
|
public class ContactMessage
|
||||||
{
|
{
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
@page
|
@page
|
||||||
@model RazorPagesMovie.Pages.Admin.IndexModel
|
@model BewerbungsSeite.Pages.Admin.IndexModel
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Admin";
|
ViewData["Title"] = "Admin";
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Authentication.Cookies;
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Pages.Admin;
|
namespace BewerbungsSeite.Pages.Admin;
|
||||||
|
|
||||||
public class IndexModel : PageModel
|
public class IndexModel : PageModel
|
||||||
{
|
{
|
||||||
@@ -2,7 +2,7 @@ using System.Diagnostics;
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Pages
|
namespace BewerbungsSeite.Pages
|
||||||
{
|
{
|
||||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||||
[IgnoreAntiforgeryToken]
|
[IgnoreAntiforgeryToken]
|
||||||
@@ -500,6 +500,34 @@
|
|||||||
margin-top: 22px;
|
margin-top: 22px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#contact .contact-form {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#contact .contact-form button[type="submit"] {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 12px 26px;
|
||||||
|
background: #0c5adb;
|
||||||
|
color: #fff;
|
||||||
|
font-weight: 700;
|
||||||
|
font-family: "Rajdhani";
|
||||||
|
font-size: 15px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: .04em;
|
||||||
|
border: none;
|
||||||
|
border-radius: 2px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#contact .contact-form button[type="submit"] i {
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#contact .contact-form button[type="submit"]:hover {
|
||||||
|
background: #094aab;
|
||||||
|
}
|
||||||
|
|
||||||
.portfolio-footer.footer-middle {
|
.portfolio-footer.footer-middle {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background: #0b0e1a;
|
background: #0b0e1a;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Pages
|
namespace BewerbungsSeite.Pages
|
||||||
{
|
{
|
||||||
public class IndexModel : PageModel
|
public class IndexModel : PageModel
|
||||||
{
|
{
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
@page
|
@page
|
||||||
@model RazorPagesMovie.Pages.LoginModel
|
@model BewerbungsSeite.Pages.LoginModel
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Login";
|
ViewData["Title"] = "Login";
|
||||||
}
|
}
|
||||||
@@ -5,10 +5,10 @@ using Microsoft.AspNetCore.Identity;
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
using RazorPagesMovie.Models;
|
using BewerbungsSeite.Models;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Pages;
|
namespace BewerbungsSeite.Pages;
|
||||||
|
|
||||||
public class LoginModel : PageModel
|
public class LoginModel : PageModel
|
||||||
{
|
{
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
@using BewerbungsSeite
|
||||||
|
@namespace BewerbungsSeite.Pages
|
||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
using RazorPagesMovie.Models;
|
using BewerbungsSeite.Models;
|
||||||
using RazorPagesMovie.Services;
|
using BewerbungsSeite.Services;
|
||||||
using System.Text.Encodings.Web;
|
using System.Text.Encodings.Web;
|
||||||
using System.Text.Unicode;
|
using System.Text.Unicode;
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@ if (builder.Environment.IsDevelopment())
|
|||||||
}
|
}
|
||||||
|
|
||||||
builder.Services.AddDbContext<RazorPagesMovieContext>(options =>
|
builder.Services.AddDbContext<RazorPagesMovieContext>(options =>
|
||||||
options.UseSqlServer(builder.Configuration.GetConnectionString("RazorPagesMovieContext") ?? throw new InvalidOperationException("Connection string 'RazorPagesMovieContext' not found.")));
|
options.UseSqlServer(builder.Configuration.GetConnectionString("BewerbungsSeite") ?? throw new InvalidOperationException("Connection string 'BewerbungsSeite' not found.")));
|
||||||
|
|
||||||
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
|
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
|
||||||
.AddCookie(options =>
|
.AddCookie(options =>
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mssql1": {
|
"mssql1": {
|
||||||
"type": "mssql",
|
"type": "mssql",
|
||||||
"connectionId": "ConnectionStrings:RazorPagesMovieContext"
|
"connectionId": "ConnectionStrings:BewerbungsSeite"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mssql1": {
|
"mssql1": {
|
||||||
"type": "mssql.local",
|
"type": "mssql.local",
|
||||||
"connectionId": "ConnectionStrings:RazorPagesMovieContext"
|
"connectionId": "ConnectionStrings:BewerbungsSeite"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Models;
|
namespace BewerbungsSeite.Models;
|
||||||
|
|
||||||
public static class SeedData
|
public static class SeedData
|
||||||
{
|
{
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
using System.Net.Http.Json;
|
using System.Net.Http.Json;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using RazorPagesMovie.Data;
|
using BewerbungsSeite.Data;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Services;
|
namespace BewerbungsSeite.Services;
|
||||||
|
|
||||||
public class ContactMessageNotificationService : BackgroundService
|
public class ContactMessageNotificationService : BackgroundService
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Threading.Channels;
|
using System.Threading.Channels;
|
||||||
|
|
||||||
namespace RazorPagesMovie.Services;
|
namespace BewerbungsSeite.Services;
|
||||||
|
|
||||||
public interface IContactMessageNotificationQueue
|
public interface IContactMessageNotificationQueue
|
||||||
{
|
{
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"DetailedErrors": true,
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"BewerbungsSeite": "Server=(localdb)\\mssqllocaldb;Database=RazorPagesMovieContext-bc;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=true"
|
||||||
|
},
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Debug",
|
||||||
|
"Microsoft.AspNetCore": "Information"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"BewerbungsSeite": "Server=sqlserver,1433;Database=RazorPagesMovieContext;User Id=sa;Password=YourPassword123!;TrustServerCertificate=True"
|
||||||
|
},
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Warning",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"BewerbungsSeite": "Server=sqlserver,1433;Database=RazorPagesMovieContext;User Id=sa;Password=YourPassword123!;TrustServerCertificate=True"
|
||||||
|
},
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Warning",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 416 KiB After Width: | Height: | Size: 416 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 432 KiB After Width: | Height: | Size: 432 KiB |