refactor: match db change from INT to UUID for pkeys

This commit is contained in:
Oliver Booth 2023-08-11 14:09:13 +01:00
parent c2deccafae
commit 0ecef1a547
Signed by: oliverbooth
GPG Key ID: 725DB725A0D9EE61
7 changed files with 14 additions and 14 deletions

View File

@ -1,4 +1,4 @@
@page "/blog/{year:int}/{month:int}/{day:int}/{slug}" @page "/blog/{year:int}/{month:int}/{day:int}/{slug}"
@using Humanizer @using Humanizer
@using OliverBooth.Data.Blog @using OliverBooth.Data.Blog
@using OliverBooth.Services @using OliverBooth.Services
@ -64,7 +64,7 @@
this.page.url = "@post.GetDisqusUrl()"; this.page.url = "@post.GetDisqusUrl()";
this.page.identifier = "@post.GetDisqusIdentifier()"; this.page.identifier = "@post.GetDisqusIdentifier()";
this.page.title = "@post.Title"; this.page.title = "@post.Title";
this.page.postId = "@(post.WordPressId ?? post.Id)"; this.page.postId = "@(post.WordPressId?.ToString() ?? post.Id.ToString())";
}; };
(function() { (function() {

View File

@ -1,4 +1,4 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.RazorPages;
using OliverBooth.Data.Blog; using OliverBooth.Data.Blog;
using OliverBooth.Services; using OliverBooth.Services;
@ -14,7 +14,7 @@ public class Index : PageModel
_blogService = blogService; _blogService = blogService;
} }
public IActionResult OnGet([FromQuery(Name = "pid")] int? postId = null, public IActionResult OnGet([FromQuery(Name = "pid")] Guid? postId = null,
[FromQuery(Name = "p")] int? wpPostId = null) [FromQuery(Name = "p")] int? wpPostId = null)
{ {
if (postId.HasValue == wpPostId.HasValue) if (postId.HasValue == wpPostId.HasValue)
@ -25,7 +25,7 @@ public class Index : PageModel
return postId.HasValue ? HandleNewRoute(postId.Value) : HandleWordPressRoute(wpPostId!.Value); return postId.HasValue ? HandleNewRoute(postId.Value) : HandleWordPressRoute(wpPostId!.Value);
} }
private IActionResult HandleNewRoute(int postId) private IActionResult HandleNewRoute(Guid postId)
{ {
return _blogService.TryGetBlogPost(postId, out BlogPost? post) ? RedirectToPost(post) : NotFound(); return _blogService.TryGetBlogPost(postId, out BlogPost? post) ? RedirectToPost(post) : NotFound();
} }

View File

@ -52,8 +52,8 @@ public sealed class BlogApiController : ControllerBase
})); }));
} }
[HttpGet("author/{id:int}")] [HttpGet("author/{id:guid}")]
public IActionResult GetAuthor(int id) public IActionResult GetAuthor(Guid id)
{ {
if (!ValidateReferer()) return NotFound(); if (!ValidateReferer()) return NotFound();
if (!_blogService.TryGetAuthor(id, out Author? author)) return NotFound(); if (!_blogService.TryGetAuthor(id, out Author? author)) return NotFound();

View File

@ -48,7 +48,7 @@ public sealed class Author : IEquatable<Author>
/// Gets the ID of the author. /// Gets the ID of the author.
/// </summary> /// </summary>
/// <value>The ID.</value> /// <value>The ID.</value>
public int Id { get; private set; } public Guid Id { get; private set; }
/// <summary> /// <summary>
/// Gets or sets the name of the author. /// Gets or sets the name of the author.
@ -70,6 +70,6 @@ public sealed class Author : IEquatable<Author>
public override int GetHashCode() public override int GetHashCode()
{ {
return Id; return Id.GetHashCode();
} }
} }

View File

@ -11,7 +11,7 @@ public sealed class BlogPost : IEquatable<BlogPost>
/// Gets the ID of the author. /// Gets the ID of the author.
/// </summary> /// </summary>
/// <value>The author ID.</value> /// <value>The author ID.</value>
public int AuthorId { get; private set; } public Guid AuthorId { get; private set; }
/// <summary> /// <summary>
/// Gets or sets the body of the blog post. /// Gets or sets the body of the blog post.
@ -47,7 +47,7 @@ public sealed class BlogPost : IEquatable<BlogPost>
/// Gets the ID of the blog post. /// Gets the ID of the blog post.
/// </summary> /// </summary>
/// <value>The ID.</value> /// <value>The ID.</value>
public int Id { get; private set; } public Guid Id { get; private set; }
/// <summary> /// <summary>
/// Gets or sets a value indicating whether the blog post is a redirect. /// Gets or sets a value indicating whether the blog post is a redirect.
@ -181,6 +181,6 @@ public sealed class BlogPost : IEquatable<BlogPost>
public override int GetHashCode() public override int GetHashCode()
{ {
// ReSharper disable once NonReadonlyMemberInGetHashCode // ReSharper disable once NonReadonlyMemberInGetHashCode
return Id; return Id.GetHashCode();
} }
} }

View File

@ -14,7 +14,7 @@ internal sealed class AuthorConfiguration : IEntityTypeConfiguration<Author>
builder.ToTable("Author"); builder.ToTable("Author");
builder.HasKey(e => e.Id); builder.HasKey(e => e.Id);
builder.Property(e => e.Id).ValueGeneratedOnAdd(); builder.Property(e => e.Id);
builder.Property(e => e.Name).HasMaxLength(100).IsRequired(); builder.Property(e => e.Name).HasMaxLength(100).IsRequired();
builder.Property(e => e.EmailAddress).HasMaxLength(255).IsRequired(false); builder.Property(e => e.EmailAddress).HasMaxLength(255).IsRequired(false);
} }

View File

@ -14,7 +14,7 @@ internal sealed class BlogPostConfiguration : IEntityTypeConfiguration<BlogPost>
builder.ToTable("BlogPost"); builder.ToTable("BlogPost");
builder.HasKey(e => e.Id); builder.HasKey(e => e.Id);
builder.Property(e => e.Id).ValueGeneratedOnAdd(); builder.Property(e => e.Id);
builder.Property(e => e.WordPressId).IsRequired(false); builder.Property(e => e.WordPressId).IsRequired(false);
builder.Property(e => e.Slug).HasMaxLength(100).IsRequired(); builder.Property(e => e.Slug).HasMaxLength(100).IsRequired();
builder.Property(e => e.AuthorId).IsRequired(); builder.Property(e => e.AuthorId).IsRequired();