7a316b4a45
The job-search status page HTML wrapper was baked into a static helper
method in CvMatcherController. Extracted to a new template key
html.job-search.shell (*) with {{title}} and {{message}} placeholders.
Added to AddTemplates seed and a new AddHtmlJobSearchShell migration
for existing DBs. Controller now calls _templates.Render() for all paths.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
1.7 KiB
C#
38 lines
1.7 KiB
C#
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using MyAi.Data;
|
|
|
|
#nullable disable
|
|
|
|
namespace MyAi.Data.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class AddHtmlJobSearchShell : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.InsertData(
|
|
table: "Templates",
|
|
columns: ["Key", "Language", "Value", "Description"],
|
|
values: new object[]
|
|
{
|
|
"html.job-search.shell",
|
|
"*",
|
|
"<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><title>{{title}} - MyAi.ro</title><style>body{font-family:sans-serif;display:flex;align-items:center;justify-content:center;height:100vh;margin:0;background:#f5f5f5}.card{background:#fff;padding:2rem 3rem;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1);text-align:center;max-width:480px}h1{font-size:1.4rem;margin-bottom:.5rem;color:#2c5282}p{color:#555}</style></head><body><div class=\"card\"><h1>{{title}}</h1><p>{{message}}</p></div></body></html>",
|
|
"Full HTML shell for job-search status pages. Placeholders: {{title}}, {{message}}."
|
|
},
|
|
schema: MigrationConstants.SchemaName);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DeleteData(
|
|
table: "Templates",
|
|
keyColumns: ["Key", "Language"],
|
|
keyValues: new object[] { "html.job-search.shell", "*" },
|
|
schema: MigrationConstants.SchemaName);
|
|
}
|
|
}
|
|
}
|