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 -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,9 +0,0 @@
namespace Api.Models.Requests
{
public class CaptchaVerifyRequest
{
public string? Token { get; set; }
public string? ExpectedAction { get; set; }
}
}
-23
View File
@@ -1,23 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Api.Models.Requests
{
public sealed class ContactRequest
{
[Required, StringLength(100)]
public string Name { get; set; } = "";
[Required, EmailAddress, StringLength(200)]
public string Email { get; set; } = "";
[Required, StringLength(200)]
public string Subject { get; set; } = "";
[Required, StringLength(5000)]
public string Message { get; set; } = "";
// Token returned by the captcha widget
[Required]
public string CaptchaToken { get; set; } = "";
}
}
-10
View File
@@ -1,10 +0,0 @@
namespace Api.Models.Requests;
public sealed class JobMatchRequest
{
public string? CvDocumentId { get; set; }
public string? JobUrl { get; set; }
public string? JobDescription { get; set; }
public bool GdprConsent { get; set; }
public string? CaptchaToken { get; set; }
}
-15
View File
@@ -1,15 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Api.Models.Requests
{
public sealed class SubscribeRequest
{
[Required, EmailAddress, StringLength(200)]
public string Email { get; set; } = "";
// Token returned by the captcha widget
[Required]
public string CaptchaToken { get; set; } = "";
}
}
-13
View File
@@ -1,13 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Api.Models.Requests
{
public sealed class UploadCvRequest
{
[Required]
public IFormFile Cv { get; set; } = default!;
public bool GdprConsent { get; set; }
public string? CaptchaToken { get; set; }
}
}
-17
View File
@@ -1,17 +0,0 @@
namespace Api.Models.Settings
{
public sealed class CaptchaSettings
{
// "Recaptcha" for now (easy to extend later)
public string Provider { get; set; } = "Recaptcha";
public string SecretKey { get; set; } = "";
public string PublicKey { get; set; } = "";
// Only relevant for reCAPTCHA v3 (score-based)
public double MinimumScore { get; set; } = 0.5;
// Optional but recommended for v3: enforce expected action and/or hostname
public string? ExpectedAction { get; set; }
public string? ExpectedHostname { get; set; }
}
}
-8
View File
@@ -1,8 +0,0 @@
namespace Api.Models.Settings
{
public sealed class ContactSettings
{
public string ToEmail { get; set; } = "";
public string SubjectPrefix { get; set; } = "[Contact]";
}
}
@@ -1,10 +0,0 @@
namespace Api.Models.Settings
{
public sealed class FileStorageSettings
{
public string Path { get; set; } = "Files";
public string DefaultFileName { get; set; } = "";
public string ToEmail { get; set; } = "";
public string SubjectPrefix { get; set; } = "[File Download]";
}
}
-8
View File
@@ -1,8 +0,0 @@
namespace Api.Models.Settings
{
public sealed class GoogleSettings
{
public string TagManagerId { get; set; } = "";
public string MapKey { get; set; } = "";
}
}
-8
View File
@@ -1,8 +0,0 @@
namespace Api.Models.Settings
{
public sealed class KeyVaultSettings
{
public string VaultUri { get; set; } = "";
public bool Enabled { get; set; } = false;
}
}
-11
View File
@@ -1,11 +0,0 @@
namespace Api.Models.Settings
{
public class SmtpSettings
{
public string Host { get; set; } = "";
public int Port { get; set; } = 587;
public string Username { get; set; } = "";
public string Password { get; set; } = "";
public bool UseStartTls { get; set; } = true;
}
}
-8
View File
@@ -1,8 +0,0 @@
namespace Api.Models.Settings
{
public sealed class SubscribeSettings
{
public string ToEmail { get; set; } = "";
public string SubjectPrefix { get; set; } = "[Subscribe]";
}
}
+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>