refactor(data): rename email-api-data to email-data for consistent naming

- Rename project folder Apis/email-api-data → Apis/email-data
- Rename csproj file: email-api-data.csproj → email-data.csproj
- Update csproj properties: AssemblyName and RootNamespace (email-data, Email.Data)
- Update C# namespaces: EmailApi.Data → Email.Data across all email-data files
- Update project references in api.csproj and email-api.csproj
- Update migration assembly references in api/Program.cs and email-api/Program.cs
- Update cv-search-job references to use email-data project and Email.Data namespace
- Update solution file to reference new email-data project path
- Remove hardcoded schema name from SmtpEmailDispatcher, use template service instead

This maintains consistency with other data project naming convention (no service-type suffix).
All tests passing, build succeeds.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 09:51:03 +03:00
parent 33d92551da
commit ea9bc87981
23 changed files with 49 additions and 45 deletions
+5 -5
View File
@@ -1,10 +1,10 @@
using System.Reflection;
using Api.Services;
using Api.Services.Contracts;
using EmailApi.Data;
using EmailApi.Data.Repositories;
using EmailApi.Data.Repositories.Contracts;
using EmailApi.Data.Services;
using Email.Data;
using Email.Data.Repositories;
using Email.Data.Repositories.Contracts;
using Email.Data.Services;
using EmailApi.Models.Clients;
using EmailApi.Models.Settings;
using Microsoft.EntityFrameworkCore;
@@ -57,7 +57,7 @@ try
options.UseSqlServer(connectionString, sql =>
{
sql.MigrationsHistoryTable(EmailApiDbContext.MigrationTableName, EmailApiDbContext.SchemaName);
sql.MigrationsAssembly("email-api-data");
sql.MigrationsAssembly("email-data");
});
});
+1 -1
View File
@@ -1,6 +1,6 @@
using Api.Services.Contracts;
using CvMatcher.Models.Responses;
using EmailApi.Data.Services;
using Email.Data.Services;
using EmailApi.Models.Clients;
using EmailApi.Models.Requests;
using Microsoft.Extensions.Options;
+1 -1
View File
@@ -36,7 +36,7 @@
<ItemGroup>
<ProjectReference Include="..\api-models\api-models.csproj" />
<ProjectReference Include="..\email-api-data\email-api-data.csproj" />
<ProjectReference Include="..\email-data\email-data.csproj" />
<ProjectReference Include="..\email-api-models\email-api-models.csproj" />
<ProjectReference Include="..\cv-matcher-api-models\cv-matcher-api-models.csproj" />
<ProjectReference Include="..\common\common.csproj" />
+5 -5
View File
@@ -1,8 +1,8 @@
using System.Reflection;
using EmailApi.Data;
using EmailApi.Data.Repositories;
using EmailApi.Data.Repositories.Contracts;
using EmailApi.Data.Services;
using Email.Data;
using Email.Data.Repositories;
using Email.Data.Repositories.Contracts;
using Email.Data.Services;
using EmailApi.Services;
using Microsoft.EntityFrameworkCore;
using Models.Settings;
@@ -35,7 +35,7 @@ try
options.UseSqlServer(connectionString, sql =>
{
sql.MigrationsHistoryTable(EmailApiDbContext.MigrationTableName, EmailApiDbContext.SchemaName);
sql.MigrationsAssembly("email-api-data");
sql.MigrationsAssembly("email-data");
});
});
@@ -1,4 +1,4 @@
using EmailApi.Data.Services;
using Email.Data.Services;
using EmailApi.Models.Requests;
using MailKit.Net.Smtp;
using MailKit.Security;
+1 -1
View File
@@ -23,7 +23,7 @@
<ProjectReference Include="..\..\Helpers\startup-helpers\startup-helpers.csproj" />
<ProjectReference Include="..\api-models\api-models.csproj" />
<ProjectReference Include="..\common\common.csproj" />
<ProjectReference Include="..\email-api-data\email-api-data.csproj" />
<ProjectReference Include="..\email-data\email-data.csproj" />
<ProjectReference Include="..\email-api-models\email-api-models.csproj" />
</ItemGroup>
</Project>
@@ -1,7 +1,7 @@
using EmailApi.Data.Entities;
using Email.Data.Entities;
using Microsoft.EntityFrameworkCore;
namespace EmailApi.Data;
namespace Email.Data;
public sealed class EmailApiDbContext : DbContext
{
@@ -1,4 +1,4 @@
namespace EmailApi.Data.Entities;
namespace Email.Data.Entities;
// composite PK (Key + Language) — BaseEntity not applicable
public sealed class EmailTemplateEntity
@@ -1,4 +1,4 @@
namespace EmailApi.Data;
namespace Email.Data;
/// <summary>
/// Schema constants used by EmailApiDbContext and migrations.
@@ -1,6 +1,6 @@
// <auto-generated />
using System;
using EmailApi.Data;
using Email.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
@@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace EmailApi.Data.Migrations
namespace Email.Data.Migrations
{
[DbContext(typeof(EmailApiDbContext))]
[Migration("20260528100000_CreateEmailTemplates")]
@@ -1,10 +1,10 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
using EmailApi.Data;
using Email.Data;
#nullable disable
namespace EmailApi.Data.Migrations
namespace Email.Data.Migrations
{
/// <inheritdoc />
public partial class CreateEmailTemplates : Migration
@@ -1,6 +1,6 @@
// <auto-generated />
using System;
using EmailApi.Data;
using Email.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
@@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace EmailApi.Data.Migrations
namespace Email.Data.Migrations
{
[DbContext(typeof(EmailApiDbContext))]
[Migration("20260528130652_SeedEmailTemplates")]
@@ -1,9 +1,9 @@
using Microsoft.EntityFrameworkCore.Migrations;
using EmailApi.Data;
using Email.Data;
#nullable disable
namespace EmailApi.Data.Migrations
namespace Email.Data.Migrations
{
/// <inheritdoc />
public partial class SeedEmailTemplates : Migration
@@ -1,6 +1,6 @@
// <auto-generated />
using System;
using EmailApi.Data;
using Email.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
@@ -8,7 +8,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace EmailApi.Data.Migrations
namespace Email.Data.Migrations
{
[DbContext(typeof(EmailApiDbContext))]
partial class EmailApiDbContextModelSnapshot : ModelSnapshot
@@ -1,6 +1,6 @@
using EmailApi.Data.Entities;
using Email.Data.Entities;
namespace EmailApi.Data.Repositories.Contracts;
namespace Email.Data.Repositories.Contracts;
public interface IEmailTemplateRepository
{
@@ -1,8 +1,8 @@
using EmailApi.Data.Entities;
using EmailApi.Data.Repositories.Contracts;
using Email.Data.Entities;
using Email.Data.Repositories.Contracts;
using Microsoft.EntityFrameworkCore;
namespace EmailApi.Data.Repositories;
namespace Email.Data.Repositories;
public sealed class EfEmailTemplateRepository : IEmailTemplateRepository
{
@@ -1,9 +1,9 @@
using System.Collections.Concurrent;
using EmailApi.Data.Repositories.Contracts;
using Email.Data.Repositories.Contracts;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace EmailApi.Data.Services;
namespace Email.Data.Services;
/// <summary>
/// Singleton implementation of <see cref="IEmailTemplateService"/> that caches all email templates
@@ -1,4 +1,4 @@
namespace EmailApi.Data.Services;
namespace Email.Data.Services;
/// <summary>
/// Provides access to localised email templates stored in the <c>emailApi.EmailTemplates</c> table.
@@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<AssemblyName>email-api-data</AssemblyName>
<RootNamespace>EmailApi.Data</RootNamespace>
<AssemblyName>email-data</AssemblyName>
<RootNamespace>Email.Data</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
@@ -13,4 +13,8 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\shared-data\shared-data.csproj" />
<ProjectReference Include="..\email-api-models\email-api-models.csproj" />
</ItemGroup>
</Project>
+4 -4
View File
@@ -3,10 +3,10 @@ using CvMatcher.Models.Settings;
using CvSearch.Data;
using CvSearchJob.Clients;
using CvSearchJob.Services;
using EmailApi.Data;
using EmailApi.Data.Repositories;
using EmailApi.Data.Repositories.Contracts;
using EmailApi.Data.Services;
using Email.Data;
using Email.Data.Repositories;
using Email.Data.Repositories.Contracts;
using Email.Data.Services;
using EmailApi.Models.Clients;
using CvSearchJob.Tasks;
using JobScheduler.Scheduling;
@@ -1,6 +1,6 @@
using CvMatcher.Models.Responses;
using CvSearch.Data.Entities;
using EmailApi.Data.Services;
using Email.Data.Services;
using EmailApi.Models.Clients;
using EmailApi.Models.Requests;
using Microsoft.Extensions.Logging;
+1 -1
View File
@@ -21,7 +21,7 @@
<ItemGroup>
<ProjectReference Include="..\..\Apis\cv-matcher-api-models\cv-matcher-api-models.csproj" />
<ProjectReference Include="..\..\Apis\email-api-data\email-api-data.csproj" />
<ProjectReference Include="..\..\Apis\email-data\email-data.csproj" />
<ProjectReference Include="..\..\Apis\email-api-models\email-api-models.csproj" />
<ProjectReference Include="..\..\Apis\cv-search-data\cv-search-data.csproj" />
<ProjectReference Include="..\..\Apis\common\common.csproj" />
+1 -1
View File
@@ -61,7 +61,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "email-api-models", "Apis\em
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "email-api", "Apis\email-api\email-api.csproj", "{434119EA-2FFC-4433-9B8E-1E6D94006413}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "email-api-data", "Apis\email-api-data\email-api-data.csproj", "{C1D2E3F4-A5B6-4789-CDEF-012345678ABC}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "email-data", "Apis\email-data\email-data.csproj", "{C1D2E3F4-A5B6-4789-CDEF-012345678ABC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution