Index: ChapterX.Application/Story/Commands/AddHandler.cs
===================================================================
--- ChapterX.Application/Story/Commands/AddHandler.cs	(revision b373fea3e2c9d404606002f8e7ba265a82d68187)
+++ ChapterX.Application/Story/Commands/AddHandler.cs	(revision a8f4a2de5e875427a864aef1aa2ca9b7905549cc)
@@ -31,4 +31,5 @@
                 {
                     MatureContent = request.MatureContent,
+                    Title = request.Title,
                     ShortDescription = request.ShortDescription,
                     Image = request.Image,
Index: ChapterX.Application/Story/Commands/AddRequest.cs
===================================================================
--- ChapterX.Application/Story/Commands/AddRequest.cs	(revision b373fea3e2c9d404606002f8e7ba265a82d68187)
+++ ChapterX.Application/Story/Commands/AddRequest.cs	(revision a8f4a2de5e875427a864aef1aa2ca9b7905549cc)
@@ -6,4 +6,5 @@
     public record AddRequest(
         bool MatureContent,
+        [Required][MaxLength(200)] string Title,
         [Required][MaxLength(500)] string ShortDescription,
         [MaxLength(2048)] string? Image,
Index: ChapterX.Application/Story/Commands/DeleteHandler.cs
===================================================================
--- ChapterX.Application/Story/Commands/DeleteHandler.cs	(revision b373fea3e2c9d404606002f8e7ba265a82d68187)
+++ ChapterX.Application/Story/Commands/DeleteHandler.cs	(revision a8f4a2de5e875427a864aef1aa2ca9b7905549cc)
@@ -22,5 +22,5 @@
                 return new DeleteResponse(false);
 
-            if (story.UserId != request.CallerId)
+            if (!request.IsAdmin && story.UserId != request.CallerId)
                 throw new UnauthorizedAccessException("You do not own this story.");
 
Index: ChapterX.Application/Story/Commands/DeleteRequest.cs
===================================================================
--- ChapterX.Application/Story/Commands/DeleteRequest.cs	(revision b373fea3e2c9d404606002f8e7ba265a82d68187)
+++ ChapterX.Application/Story/Commands/DeleteRequest.cs	(revision a8f4a2de5e875427a864aef1aa2ca9b7905549cc)
@@ -3,4 +3,4 @@
 namespace ChapterX.Application.Story.Commands
 {
-    public record DeleteRequest(int Id, int CallerId) : IRequest<DeleteResponse>;
+    public record DeleteRequest(int Id, int CallerId, bool IsAdmin = false) : IRequest<DeleteResponse>;
 }
Index: ChapterX.Application/Story/Commands/UpdateHandler.cs
===================================================================
--- ChapterX.Application/Story/Commands/UpdateHandler.cs	(revision b373fea3e2c9d404606002f8e7ba265a82d68187)
+++ ChapterX.Application/Story/Commands/UpdateHandler.cs	(revision a8f4a2de5e875427a864aef1aa2ca9b7905549cc)
@@ -26,4 +26,5 @@
 
             story.MatureContent = request.MatureContent;
+            story.Title = request.Title;
             story.ShortDescription = request.ShortDescription;
             story.Image = request.Image;
Index: ChapterX.Application/Story/Commands/UpdateRequest.cs
===================================================================
--- ChapterX.Application/Story/Commands/UpdateRequest.cs	(revision b373fea3e2c9d404606002f8e7ba265a82d68187)
+++ ChapterX.Application/Story/Commands/UpdateRequest.cs	(revision a8f4a2de5e875427a864aef1aa2ca9b7905549cc)
@@ -3,4 +3,4 @@
 namespace ChapterX.Application.Story.Commands
 {
-    public record UpdateRequest(int Id, bool MatureContent, string ShortDescription, string? Image, string Content, int CallerId = 0) : IRequest<UpdateResponse>;
+    public record UpdateRequest(int Id, bool MatureContent, string Title, string ShortDescription, string? Image, string Content, int CallerId = 0) : IRequest<UpdateResponse>;
 }
