Index: ChapterX.Application/Story/Commands/AddHandler.cs
===================================================================
--- ChapterX.Application/Story/Commands/AddHandler.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/Story/Commands/AddHandler.cs	(revision 73b69b22fa1e9888b8530a66db4a150efb8f52bc)
@@ -8,9 +8,13 @@
     {
         private readonly IStoryRepository _storyRepository;
+        private readonly IGenreRepository _genreRepository;
+        private readonly IHasGenreRepository _hasGenreRepository;
         private readonly ILogger<AddHandler> _logger;
 
-        public AddHandler(IStoryRepository storyRepository, ILogger<AddHandler> logger)
+        public AddHandler(IStoryRepository storyRepository, IGenreRepository genreRepository, IHasGenreRepository hasGenreRepository, ILogger<AddHandler> logger)
         {
             _storyRepository = storyRepository;
+            _genreRepository = genreRepository;
+            _hasGenreRepository = hasGenreRepository;
             _logger = logger;
         }
@@ -31,4 +35,11 @@
             await _storyRepository.AddAsync(story, cancellationToken);
 
+            foreach (var genreName in request.Genres ?? [])
+            {
+                var genre = await _genreRepository.GetByNameAsync(genreName, cancellationToken);
+                if (genre == null) continue;
+                await _hasGenreRepository.AddAsync(new Domain.Entities.HasGenre { StoryId = story.Id, GenreId = genre.Id }, cancellationToken);
+            }
+
             return new AddResponse(story.Id);
         }
Index: ChapterX.Application/Story/Commands/AddRequest.cs
===================================================================
--- ChapterX.Application/Story/Commands/AddRequest.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/Story/Commands/AddRequest.cs	(revision 73b69b22fa1e9888b8530a66db4a150efb8f52bc)
@@ -3,4 +3,4 @@
 namespace ChapterX.Application.Story.Commands
 {
-    public record AddRequest(bool MatureContent, string ShortDescription, string? Image, string Content, int UserId) : IRequest<AddResponse>;
+    public record AddRequest(bool MatureContent, string ShortDescription, string? Image, string Content, int UserId, List<string> Genres) : IRequest<AddResponse>;
 }
