CircleAuthorizationToFile EF migration
All checks were successful
Dotnet build and test / build (pull_request) Successful in 6m15s

This commit is contained in:
Paul Schneider 2026-09-07 11:02:41 +01:00
commit 38bc659a58
Signed by: notazof
GPG key ID: 1DD5D838E5343B06
7 changed files with 4950 additions and 11 deletions

View file

@ -2,7 +2,7 @@
namespace Yavsc.Models.Access
{
using System.ComponentModel.DataAnnotations.Schema;
using Yavsc.Abstract.Identity.Security;
using System.Text.Json.Serialization;
using Models.Relationship;
using Yavsc.Services;
@ -10,14 +10,15 @@ namespace Yavsc.Models.Access
{
public FileAccessRight Access { get; set; }
}
public class FileAccessControlRulePayload : CircleAuthorization
{
public virtual string FileId { get; set; }
[JsonIgnore]
[ForeignKey("CircleId")]
public virtual Circle Allowed { get; set; }
public string OwnerId { get; set; }
[JsonIgnore]
[ForeignKey("OwnerId")]
public virtual ApplicationUser Owner { get; set; }
}
}

View file

@ -96,12 +96,19 @@ namespace Yavsc.Models
builder.Entity<UserActivity>().HasKey(u => new { u.DoesCode, u.UserId });
builder.Entity<Instrumentation>().HasKey(u => new { u.InstrumentId, u.UserId });
builder.Entity<CircleAuthorizationToBlogPost>().HasKey(a => new { a.CircleId, a.BlogPostId });
builder.Entity<CircleAuthorizationToFile>().HasKey(a => new { a.CircleId, a.FileId });
builder.Entity<CircleAuthorizationToFile>().HasKey(a => new { a.CircleId, a.Path, a.OwnerId });
builder.Entity<CircleAuthorizationToFile>()
.HasOne(a => a.Allowed)
.WithMany()
.HasForeignKey(a => a.CircleId)
.OnDelete(DeleteBehavior.Cascade);
.OnDelete(DeleteBehavior.Cascade)
;
builder.Entity<CircleAuthorizationToFile>()
.HasOne(a => a.Owner)
.WithMany()
.HasForeignKey(a => a.OwnerId)
.OnDelete(DeleteBehavior.Cascade)
;
builder.Entity<CircleAuthorizationToFile>()
.Property(a => a.Access)
.HasConversion<byte>();