Changeset 99c1e45 for ChapterX.API/Controllers/StoriesController.cs
- Timestamp:
- 06/24/26 16:28:50 (11 days ago)
- Branches:
- main
- Children:
- a8f4a2d
- Parents:
- 0b502c2
- File:
-
- 1 edited
-
ChapterX.API/Controllers/StoriesController.cs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ChapterX.API/Controllers/StoriesController.cs
r0b502c2 r99c1e45 29 29 _logger.LogInformation("Fetching all stories"); 30 30 var response = await _mediator.Send(request); 31 return Ok(response); 31 var stories = response.Stories.Select(s => new 32 { 33 id = s.Id, 34 userId = s.UserId, 35 title = s.Title, 36 shortDescription = s.ShortDescription, 37 image = s.Image, 38 content = s.Content, 39 matureContent = s.MatureContent, 40 createdAt = s.CreatedAt, 41 updatedAt = s.UpdatedAt, 42 writer = s.Writer == null ? null : new { user = s.Writer.User == null ? null : new { username = s.Writer.User.Username } }, 43 hasGenres = s.HasGenres.Select(hg => new { genre = new { name = hg.Genre?.Name ?? "" } }), 44 likes = s.Likes.Select(l => new { userId = l.UserId }), 45 comments = s.Comments.Select(c => new { id = c.Id }), 46 chapters = s.Chapters.Select(c => new { id = c.Id, viewCount = c.ViewCount }), 47 }); 48 return Ok(new { stories }); 32 49 } 33 50 … … 39 56 _logger.LogInformation("Fetching story with ID: {StoryId}", id); 40 57 var response = await _mediator.Send(new GetRequest(id)); 41 return Ok(response); 58 if (response.Story == null) return NotFound(); 59 var s = response.Story; 60 return Ok(new 61 { 62 id = s.Id, 63 userId = s.UserId, 64 title = s.Title, 65 shortDescription = s.ShortDescription, 66 image = s.Image, 67 content = s.Content, 68 matureContent = s.MatureContent, 69 createdAt = s.CreatedAt, 70 updatedAt = s.UpdatedAt, 71 writer = s.Writer == null ? null : new { user = s.Writer.User == null ? null : new { username = s.Writer.User.Username } }, 72 hasGenres = s.HasGenres.Select(hg => new { genre = new { name = hg.Genre?.Name ?? "" } }), 73 likes = s.Likes.Select(l => new { userId = l.UserId }), 74 comments = s.Comments.Select(c => new { id = c.Id }), 75 chapters = s.Chapters.Select(c => new { id = c.Id, viewCount = c.ViewCount }), 76 }); 42 77 } 43 78 … … 76 111 _logger.LogInformation("Deleting story with ID: {StoryId}", id); 77 112 var callerId = int.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier)!); 78 var response = await _mediator.Send(new DeleteRequest(id, callerId)); 113 var isAdmin = User.IsInRole("Admin"); 114 var response = await _mediator.Send(new DeleteRequest(id, callerId, isAdmin)); 79 115 return Ok(response); 80 116 }
Note:
See TracChangeset
for help on using the changeset viewer.
