diff --git a/LiquidCode/Domain/Services/Missions/MissionService.cs b/LiquidCode/Domain/Services/Missions/MissionService.cs index 8a6a952..7a9b5cd 100644 --- a/LiquidCode/Domain/Services/Missions/MissionService.cs +++ b/LiquidCode/Domain/Services/Missions/MissionService.cs @@ -17,6 +17,7 @@ namespace LiquidCode.Domain.Services.Missions; public class MissionService : IMissionService { private readonly IMissionRepository _missionRepository; + private readonly IUserRepository _userRepository; private readonly IS3BucketClient _s3Client; private readonly ILogger _logger; @@ -28,10 +29,12 @@ public class MissionService : IMissionService public MissionService( IMissionRepository missionRepository, + IUserRepository userRepository, IS3BucketClient s3Client, ILogger logger) { _missionRepository = missionRepository; + _userRepository = userRepository; _s3Client = s3Client; _logger = logger; } @@ -73,9 +76,16 @@ public class MissionService : IMissionService var privateKey = await _s3Client.UploadFileWithRandomKey(S3BucketKeys.PrivateProblems, packageZipPath); // Создать миссию в базе данных + var existingUser = await _userRepository.FindByIdAsync(userId, cancellationToken); + if (existingUser == null) + { + _logger.LogError("User not found: {UserId}", userId); + return null; + } + var dbMission = new DbMission { - Author = new DbUser { Id = userId }, + Author = existingUser, Name = form.Name, S3PrivateKey = privateKey, Difficulty = form.Difficulty, diff --git a/LiquidCode/appsettings.Development.json b/LiquidCode/appsettings.Development.json index 2877e1b..4337a50 100644 --- a/LiquidCode/appsettings.Development.json +++ b/LiquidCode/appsettings.Development.json @@ -12,7 +12,6 @@ "PG_URI": "postgresql://postgres:qwef@localhost:5432/dev-db", "S3_ACCESS_KEY": "access", "S3_SECRET_KEY": "key", - "S3_PUBLIC_BUCKET": "liquid-code-public", "S3_PRIVATE_BUCKET": "liquid-code", "S3_ENDPOINT": "https://storage.yandexcloud.net", "TESTING_MODULE_URL": "http://localhost:8080/"