diff --git a/src/Yavsc.Abstract/Blogspot/PostAccessControlRulePayload.cs b/src/Yavsc.Abstract/Blogspot/PostAccessControlRulePayload.cs new file mode 100644 index 00000000..c58fca48 --- /dev/null +++ b/src/Yavsc.Abstract/Blogspot/PostAccessControlRulePayload.cs @@ -0,0 +1,10 @@ + +using Yavsc.Abstract.Identity.Security; + +namespace Yavsc.Abstract.BlogSpot; + +public class PostAccessControlRulePayload : ICircleAuthorization +{ + public long CircleId { get; set; } + public long BlogPostId { get; set; } +} diff --git a/src/Yavsc.Blogs/Controllers/BlogAclApiController.cs b/src/Yavsc.Blogs/Controllers/BlogAclApiController.cs index 94821932..7bedbcfc 100644 --- a/src/Yavsc.Blogs/Controllers/BlogAclApiController.cs +++ b/src/Yavsc.Blogs/Controllers/BlogAclApiController.cs @@ -2,6 +2,7 @@ using System.Security.Claims; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Yavsc.Abstract.BlogSpot; using Yavsc.Models; using Yavsc.Models.Access; using Yavsc.Server.Helpers; @@ -103,7 +104,8 @@ namespace Yavsc.Blogs.Controllers } // POST: api/BlogAclApi [HttpPost] - public async Task PostCircleAuthorizationToBlogPost([FromBody] CircleAuthorizationToBlogPost circleAuthorizationToBlogPost) + public async Task PostCircleAuthorizationToBlogPost( + [FromBody] PostAccessControlRulePayload circleAuthorizationToBlogPost) { if (!ModelState.IsValid) { @@ -113,7 +115,12 @@ namespace Yavsc.Blogs.Controllers { return new ChallengeResult(); } - _context.CircleAuthorizationToBlogPost.Add(circleAuthorizationToBlogPost); + CircleAuthorizationToBlogPost entity = new CircleAuthorizationToBlogPost + { + BlogPostId = circleAuthorizationToBlogPost.BlogPostId, + CircleId = circleAuthorizationToBlogPost.CircleId + }; + _context.CircleAuthorizationToBlogPost.Add(entity); try { await _context.SaveChangesAsync(User.GetUserId()); diff --git a/src/Yavsc.Server/Models/Access/CircleAuthorizationToBlogPost.cs b/src/Yavsc.Server/Models/Access/CircleAuthorizationToBlogPost.cs index 9fbc8017..7976395b 100644 --- a/src/Yavsc.Server/Models/Access/CircleAuthorizationToBlogPost.cs +++ b/src/Yavsc.Server/Models/Access/CircleAuthorizationToBlogPost.cs @@ -5,12 +5,10 @@ namespace Yavsc.Models.Access using Newtonsoft.Json; using Blog; using Yavsc.Abstract.Identity.Security; + using Yavsc.Abstract.BlogSpot; - public class CircleAuthorizationToBlogPost : ICircleAuthorization + public class CircleAuthorizationToBlogPost : PostAccessControlRulePayload { - public long CircleId { get; set; } - public long BlogPostId { get; set; } - [JsonIgnore] [ForeignKey("BlogPostId")] public virtual BlogPost Target { get; set; }