Move models in separate projects
Build and Push Docker Images / build (push) Failing after 27s

This commit is contained in:
2026-05-06 17:11:44 +03:00
parent c02cf1c754
commit 64b0219038
80 changed files with 166 additions and 89 deletions
@@ -1,4 +1,4 @@
namespace Api.Models.Requests
namespace Models.Requests
{
public class CaptchaVerifyRequest
{
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace Api.Models.Requests
namespace Models.Requests
{
public sealed class ContactRequest
{
@@ -1,4 +1,4 @@
namespace Api.Models.Requests;
namespace Models.Requests;
public sealed class JobMatchRequest
{
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace Api.Models.Requests
namespace Models.Requests
{
public sealed class SubscribeRequest
{
@@ -1,6 +1,7 @@
using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Http;
using System.ComponentModel.DataAnnotations;
namespace Api.Models.Requests
namespace Models.Requests
{
public sealed class UploadCvRequest
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings
namespace Models.Settings
{
public sealed class CaptchaSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings
namespace Models.Settings
{
public sealed class ContactSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings
namespace Models.Settings
{
public sealed class FileStorageSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings
namespace Models.Settings
{
public sealed class GoogleSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings
namespace Models.Settings
{
public sealed class KeyVaultSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings
namespace Models.Settings
{
public class SmtpSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings
namespace Models.Settings
{
public sealed class SubscribeSettings
{
+14
View File
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace>Models</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="5.0.17" />
</ItemGroup>
</Project>
+1 -1
View File
@@ -1,5 +1,5 @@
using Refit;
using Api.Models.Requests;
using Models.Requests;
namespace Api.Clients.Api.Contracts;
+2 -2
View File
@@ -1,9 +1,9 @@
using Api.Services.Contracts;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Api.Models.Settings;
using Models.Settings;
using Swashbuckle.AspNetCore.Annotations;
using Api.Models.Requests;
using Models.Requests;
namespace Api.Controllers
{
+2 -2
View File
@@ -4,8 +4,8 @@ using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.RateLimiting;
using Microsoft.Extensions.Options;
using Api.Models.Settings;
using Api.Models.Requests;
using Models.Settings;
using Models.Requests;
namespace Api.Controllers
{
+1 -1
View File
@@ -1,5 +1,5 @@
using Api.Clients.Api.Contracts;
using Api.Models.Requests;
using Models.Requests;
using Api.Services.Contracts;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.RateLimiting;
+1 -1
View File
@@ -1,4 +1,4 @@
using Api.Models.Settings;
using Models.Settings;
using Api.Services.Contracts;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
+1 -1
View File
@@ -1,4 +1,4 @@
using Api.Models.Settings;
using Models.Settings;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
+1 -1
View File
@@ -1,4 +1,4 @@
using Api.Models.Settings;
using Models.Settings;
using Api.Services;
using Api.Services.Contracts;
using Azure.Identity;
+1 -1
View File
@@ -1,4 +1,4 @@
using Api.Models.Requests;
using Models.Requests;
namespace Api.Services.Contracts
{
+1 -1
View File
@@ -1,7 +1,7 @@
using Api.Services.Contracts.Models;
using Api.Services.Contracts;
using Microsoft.Extensions.Options;
using Api.Models.Settings;
using Models.Settings;
namespace Api.Services
{
+2 -2
View File
@@ -3,8 +3,8 @@ using Microsoft.Extensions.Options;
using MailKit.Net.Smtp;
using MailKit.Security;
using MimeKit;
using Api.Models.Settings;
using Api.Models.Requests;
using Models.Settings;
using Models.Requests;
namespace Api.Services
{
+4
View File
@@ -34,4 +34,8 @@
<Folder Include="logs\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\api-models\api-models.csproj" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
namespace Api.Models.Requests
namespace CvMatcher.Models.Requests
{
public sealed class FindJobsRequest
{
@@ -1,4 +1,4 @@
namespace Api.Models.Requests
namespace CvMatcher.Models.Requests
{
public sealed class MatchJobRequest
{
@@ -1,4 +1,4 @@
namespace Api.Models.Requests
namespace CvMatcher.Models.Requests
{
public sealed class RagSearchRequest
{
@@ -1,4 +1,4 @@
namespace Api.Models.Responses
namespace CvMatcher.Models.Responses
{
public sealed class CvUploadResponse
{
@@ -1,4 +1,4 @@
namespace Api.Models.Responses
namespace CvMatcher.Models.Responses
{
public sealed class FindJobsResponse
{
@@ -1,4 +1,4 @@
namespace Api.Models.Responses
namespace CvMatcher.Models.Responses
{
public sealed class JobMatchResponse
{
@@ -1,4 +1,4 @@
namespace Api.Models.Responses
namespace CvMatcher.Models.Responses
{
public sealed class RagIndexResponse
{
@@ -1,4 +1,4 @@
namespace Api.Models.Responses
namespace CvMatcher.Models.Responses
{
public sealed class RagSearchResponse
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace CvMatcher.Models.Settings;
public sealed class AiSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace CvMatcher.Models.Settings;
public sealed class InternalApiSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace CvMatcher.Models.Settings;
public sealed class MatcherSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace CvMatcher.Models.Settings;
public sealed class OllamaSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace CvMatcher.Models.Settings;
public sealed class OpenAiSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace CvMatcher.Models.Settings;
public sealed class RagApiSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace CvMatcher.Models.Settings;
public sealed class SmtpSettings
{
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace>CvMatcher.Models</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
+1 -1
View File
@@ -4,7 +4,7 @@ using System.Text.Json;
using System.Text.Json.Serialization;
using Api.Clients.Ai.Contracts;
using Api.Data.Repositories.Contracts;
using Api.Models.Settings;
using CvMatcher.Models.Settings;
using Microsoft.Extensions.Options;
namespace Api.Clients.Ai;
@@ -1,5 +1,5 @@
using Api.Models.Requests;
using Api.Models.Responses;
using CvMatcher.Models.Requests;
using CvMatcher.Models.Responses;
namespace Api.Clients.Api.Contracts;
@@ -1,6 +1,6 @@
using Refit;
using Api.Models.Responses;
using Api.Models.Requests;
using CvMatcher.Models.Responses;
using CvMatcher.Models.Requests;
namespace Api.Clients.Api.Contracts;
+3 -3
View File
@@ -2,9 +2,9 @@ using System.Net;
using Refit;
using Microsoft.Extensions.Options;
using Api.Clients.Api.Contracts;
using Api.Models.Responses;
using Api.Models.Settings;
using Api.Models.Requests;
using CvMatcher.Models.Responses;
using CvMatcher.Models.Settings;
using CvMatcher.Models.Requests;
namespace Api.Clients.Api;
+1 -1
View File
@@ -1,4 +1,4 @@
using Api.Models.Requests;
using CvMatcher.Models.Requests;
using Api.Services.Contracts;
using Microsoft.AspNetCore.Mvc;
@@ -1,4 +1,4 @@
using Api.Models.Responses;
using CvMatcher.Models.Responses;
namespace Api.Data.Repositories.Contracts;
@@ -2,7 +2,7 @@ using System.Text.Json;
using Api.Data;
using Api.Data.Entities;
using Api.Data.Repositories.Contracts;
using Api.Models.Responses;
using CvMatcher.Models.Responses;
using Microsoft.EntityFrameworkCore;
namespace Api.Data.Repositories;
+1 -1
View File
@@ -15,7 +15,7 @@ using Api.Clients.Api;
using Api.Clients.Api.Contracts;
using Api.Clients.Ai;
using Api.Clients.Ai.Contracts;
using Api.Models.Settings;
using CvMatcher.Models.Settings;
DotNetEnv.Env.Load();
@@ -1,5 +1,5 @@
using Api.Models.Requests;
using Api.Models.Responses;
using CvMatcher.Models.Requests;
using CvMatcher.Models.Responses;
namespace Api.Services.Contracts;
+3 -3
View File
@@ -2,9 +2,9 @@ using System.Text.Json;
using Api.Clients.Ai.Contracts;
using Api.Clients.Api.Contracts;
using Api.Data.Repositories.Contracts;
using Api.Models.Requests;
using Api.Models.Responses;
using Api.Models.Settings;
using CvMatcher.Models.Requests;
using CvMatcher.Models.Responses;
using CvMatcher.Models.Settings;
using Api.Services.Contracts;
using Microsoft.Extensions.Options;
+1 -1
View File
@@ -1,4 +1,4 @@
using Api.Models.Settings;
using CvMatcher.Models.Settings;
using Api.Services.Contracts;
using MailKit.Net.Smtp;
using MailKit.Security;
+1 -1
View File
@@ -1,6 +1,6 @@
using System.Net;
using System.Text.RegularExpressions;
using Api.Models.Settings;
using CvMatcher.Models.Settings;
using Api.Services.Contracts;
using Microsoft.Extensions.Options;
+4
View File
@@ -75,4 +75,8 @@
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="10.1.7" />
<PackageReference Include="Refit.HttpClientFactory" Version="10.1.6" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\cv-matcher-api-models\cv-matcher-api-models.csproj" />
</ItemGroup>
</Project>
+30
View File
@@ -12,6 +12,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cv-matcher-api", "cv-matche
EndProject
Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose\docker-compose.dcproj", "{81DDED9D-158B-E303-5F62-77A2896D2A5A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Apis", "Apis", "{0FE6558F-2157-47F2-A835-558416CE0E2B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Models", "Models", "{E08A1D43-24A3-4F93-B66A-4230FD8261BA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cv-matcher-api-models", "cv-matcher-api-models\cv-matcher-api-models.csproj", "{D09DA1C2-3DC5-48E7-9F5B-739CA41174F1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "api-models", "api-models\api-models.csproj", "{FB5EAA9E-1B83-41E4-A3BC-F4B7D1AA0769}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "rag-api-models", "rag-api-models\rag-api-models.csproj", "{6A1ADA81-28E9-4A64-A32D-0755876D5EB7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -38,10 +48,30 @@ Global
{81DDED9D-158B-E303-5F62-77A2896D2A5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81DDED9D-158B-E303-5F62-77A2896D2A5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81DDED9D-158B-E303-5F62-77A2896D2A5A}.Release|Any CPU.Build.0 = Release|Any CPU
{D09DA1C2-3DC5-48E7-9F5B-739CA41174F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D09DA1C2-3DC5-48E7-9F5B-739CA41174F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D09DA1C2-3DC5-48E7-9F5B-739CA41174F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D09DA1C2-3DC5-48E7-9F5B-739CA41174F1}.Release|Any CPU.Build.0 = Release|Any CPU
{FB5EAA9E-1B83-41E4-A3BC-F4B7D1AA0769}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FB5EAA9E-1B83-41E4-A3BC-F4B7D1AA0769}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB5EAA9E-1B83-41E4-A3BC-F4B7D1AA0769}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB5EAA9E-1B83-41E4-A3BC-F4B7D1AA0769}.Release|Any CPU.Build.0 = Release|Any CPU
{6A1ADA81-28E9-4A64-A32D-0755876D5EB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A1ADA81-28E9-4A64-A32D-0755876D5EB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A1ADA81-28E9-4A64-A32D-0755876D5EB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A1ADA81-28E9-4A64-A32D-0755876D5EB7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{16F8CA9D-341F-47B8-8E34-F4C5B3E72F3C} = {0FE6558F-2157-47F2-A835-558416CE0E2B}
{A63E1C1A-4A78-49F4-9F5C-D43783294861} = {0FE6558F-2157-47F2-A835-558416CE0E2B}
{C40F5025-B0A6-4B25-B4A2-7EA568E06C40} = {0FE6558F-2157-47F2-A835-558416CE0E2B}
{D09DA1C2-3DC5-48E7-9F5B-739CA41174F1} = {E08A1D43-24A3-4F93-B66A-4230FD8261BA}
{FB5EAA9E-1B83-41E4-A3BC-F4B7D1AA0769} = {E08A1D43-24A3-4F93-B66A-4230FD8261BA}
{6A1ADA81-28E9-4A64-A32D-0755876D5EB7} = {E08A1D43-24A3-4F93-B66A-4230FD8261BA}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6246A67B-299E-4E64-8DBE-1A66771E7C67}
EndGlobalSection
@@ -1,4 +1,4 @@
namespace Api.Models
namespace Rag.Models
{
public sealed class DocumentClassification
{
@@ -1,4 +1,4 @@
namespace Api.Models
namespace Rag.Models
{
public sealed class RagChunkRecord
{
@@ -1,4 +1,4 @@
namespace Api.Models
namespace Rag.Models
{
public sealed class RagDocumentDetails
{
@@ -1,4 +1,4 @@
namespace Api.Models
namespace Rag.Models
{
public sealed class RagDocumentRecord
{
@@ -1,4 +1,4 @@
namespace Api.Models.Requests
namespace Rag.Models.Requests
{
public sealed class IndexDocumentRequest
{
@@ -1,4 +1,4 @@
namespace Api.Models.Requests
namespace Rag.Models.Requests
{
public sealed class SearchRequest
{
@@ -1,4 +1,4 @@
namespace Api.Models.Responses
namespace Rag.Models.Responses
{
public sealed class IndexDocumentResponse
{
@@ -1,4 +1,4 @@
namespace Api.Models.Responses
namespace Rag.Models.Responses
{
public sealed class SearchResponse
{
@@ -1,4 +1,4 @@
namespace Api.Models
namespace Rag.Models
{
public sealed class SearchCandidateChunk
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace Rag.Models.Settings;
public sealed class AiSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace Rag.Models.Settings;
public sealed class InternalApiSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace Rag.Models.Settings;
public sealed class OllamaProviderSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace Rag.Models.Settings;
public sealed class OpenAiProviderSettings
{
@@ -1,4 +1,4 @@
namespace Api.Models.Settings;
namespace Rag.Models.Settings;
public sealed class RagSettings
{
+10
View File
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace>Rag.Models</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
+1 -1
View File
@@ -1,5 +1,5 @@
using Microsoft.Extensions.Options;
using Api.Models.Settings;
using Rag.Models.Settings;
using Api.Data.Repositories.Contracts;
using Api.Clients.Ai.Contracts;
+1 -1
View File
@@ -3,7 +3,7 @@ using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Options;
using Api.Models.Settings;
using Rag.Models.Settings;
using Api.Clients.Ai.Contracts;
namespace Api.Clients.Ai;
+1 -1
View File
@@ -1,6 +1,6 @@
using Microsoft.AspNetCore.Mvc;
using Api.Services.Contracts;
using Api.Models.Requests;
using Rag.Models.Requests;
namespace Api.Controllers;
@@ -1,4 +1,4 @@
using Api.Models;
using Rag.Models;
namespace Api.Data.Repositories.Contracts;
+1 -1
View File
@@ -2,7 +2,7 @@ using Api.Data;
using Api.Data.Entities;
using Microsoft.EntityFrameworkCore;
using Api.Data.Repositories.Contracts;
using Api.Models;
using Rag.Models;
namespace Api.Data.Repositories;
+1 -1
View File
@@ -6,7 +6,7 @@ using Api.Services.Contracts;
using Serilog;
using System.Reflection;
using Microsoft.EntityFrameworkCore;
using Api.Models.Settings;
using Rag.Models.Settings;
using Api.Data.Repositories.Contracts;
using Api.Data.Repositories;
using Api.Clients.Ai.Contracts;
@@ -1,4 +1,4 @@
using Api.Models;
using Rag.Models;
namespace Api.Services.Contracts;
+3 -3
View File
@@ -1,6 +1,6 @@
using Api.Models;
using Api.Models.Requests;
using Api.Models.Responses;
using Rag.Models;
using Rag.Models.Requests;
using Rag.Models.Responses;
namespace Api.Services.Contracts;
+1 -1
View File
@@ -1,6 +1,6 @@
using System.Text.RegularExpressions;
using Api.Services.Contracts;
using Api.Models;
using Rag.Models;
namespace Api.Services;
+4 -4
View File
@@ -1,13 +1,13 @@
using System.Text.Json;
using Microsoft.Extensions.Options;
using Api.Services.Contracts;
using Api.Models.Requests;
using Api.Models.Responses;
using Api.Models.Settings;
using Rag.Models.Requests;
using Rag.Models.Responses;
using Rag.Models.Settings;
using Api.Data.Repositories.Contracts;
using Api.Clients.Ai.Contracts;
using Api.Clients.Ai;
using Api.Models;
using Rag.Models;
namespace Api.Services;
+4
View File
@@ -75,4 +75,8 @@
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="10.1.7" />
<PackageReference Include="Refit.HttpClientFactory" Version="10.1.6" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\rag-api-models\rag-api-models.csproj" />
</ItemGroup>
</Project>