Temporarily add denormalized enums for initial migration
This commit is contained in:
parent
57e27b7835
commit
dc32bf91f0
3 changed files with 32 additions and 10 deletions
|
@ -132,10 +132,10 @@ public class DatabaseContext : DbContext {
|
||||||
dataSourceBuilder.MapEnum<Note.NoteVisibility>();
|
dataSourceBuilder.MapEnum<Note.NoteVisibility>();
|
||||||
dataSourceBuilder.MapEnum<Notification.NotificationType>();
|
dataSourceBuilder.MapEnum<Notification.NotificationType>();
|
||||||
dataSourceBuilder.MapEnum<Page.PageVisibility>();
|
dataSourceBuilder.MapEnum<Page.PageVisibility>();
|
||||||
//dataSourceBuilder.MapEnum<Poll.PollNoteVisibility>(); // FIXME: WHY IS THIS ITS OWN ENUM
|
dataSourceBuilder.MapEnum<Poll.PollNoteVisibility>(); // FIXME: WHY IS THIS ITS OWN ENUM
|
||||||
dataSourceBuilder.MapEnum<Relay.RelayStatus>();
|
dataSourceBuilder.MapEnum<Relay.RelayStatus>();
|
||||||
dataSourceBuilder.MapEnum<UserProfile.UserProfileFFVisibility>();
|
dataSourceBuilder.MapEnum<UserProfile.UserProfileFFVisibility>();
|
||||||
//dataSourceBuilder.MapEnum<UserProfile.MutingNotificationTypes>(); // FIXME: WHY IS THIS ITS OWN ENUM
|
dataSourceBuilder.MapEnum<UserProfile.MutingNotificationType>(); // FIXME: WHY IS THIS ITS OWN ENUM
|
||||||
|
|
||||||
optionsBuilder.UseNpgsql(dataSourceBuilder.Build());
|
optionsBuilder.UseNpgsql(dataSourceBuilder.Build());
|
||||||
}
|
}
|
||||||
|
@ -143,18 +143,14 @@ public class DatabaseContext : DbContext {
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder) {
|
protected override void OnModelCreating(ModelBuilder modelBuilder) {
|
||||||
modelBuilder
|
modelBuilder
|
||||||
.HasPostgresEnum<Antenna.AntennaSource>()
|
.HasPostgresEnum<Antenna.AntennaSource>()
|
||||||
//.HasPostgresEnum("log_level_enum", ["error", "warning", "info", "success", "debug"]) // TODO: not in use, add migration that removes this if it exists
|
.HasPostgresEnum("log_level_enum", ["error", "warning", "info", "success", "debug"]) // TODO: not in use, add migration that removes this if it exists
|
||||||
.HasPostgresEnum<Note.NoteVisibility>()
|
.HasPostgresEnum<Note.NoteVisibility>()
|
||||||
.HasPostgresEnum<Notification.NotificationType>()
|
.HasPostgresEnum<Notification.NotificationType>()
|
||||||
.HasPostgresEnum<Page.PageVisibility>()
|
.HasPostgresEnum<Page.PageVisibility>()
|
||||||
.HasPostgresEnum("poll_notevisibility_enum", ["public", "home", "followers", "specified", "hidden"])
|
.HasPostgresEnum<Poll.PollNoteVisibility>() //TODO: merge with regular notevisibility enum
|
||||||
.HasPostgresEnum<Relay.RelayStatus>()
|
.HasPostgresEnum<Relay.RelayStatus>()
|
||||||
.HasPostgresEnum<UserProfile.UserProfileFFVisibility>()
|
.HasPostgresEnum<UserProfile.UserProfileFFVisibility>()
|
||||||
.HasPostgresEnum("user_profile_mutingnotificationtypes_enum",
|
.HasPostgresEnum<UserProfile.MutingNotificationType>() //TODO: merge with regular notification types enum
|
||||||
[
|
|
||||||
"follow", "mention", "reply", "renote", "quote", "reaction", "pollVote", "pollEnded",
|
|
||||||
"receiveFollowRequest", "followRequestAccepted", "groupInvited", "app"
|
|
||||||
])
|
|
||||||
.HasPostgresExtension("pg_trgm");
|
.HasPostgresExtension("pg_trgm");
|
||||||
|
|
||||||
modelBuilder.Entity<AbuseUserReport>(entity => {
|
modelBuilder.Entity<AbuseUserReport>(entity => {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using NpgsqlTypes;
|
||||||
|
|
||||||
namespace Iceshrimp.Backend.Core.Database.Tables;
|
namespace Iceshrimp.Backend.Core.Database.Tables;
|
||||||
|
|
||||||
|
@ -44,5 +45,14 @@ public class Poll {
|
||||||
/// [Denormalized]
|
/// [Denormalized]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("noteVisibility")]
|
[Column("noteVisibility")]
|
||||||
public Note.NoteVisibility NoteVisibility { get; set; }
|
public PollNoteVisibility NoteVisibility { get; set; }
|
||||||
|
|
||||||
|
[PgName("poll_notevisibility_enum")]
|
||||||
|
public enum PollNoteVisibility {
|
||||||
|
[PgName("public")] Public,
|
||||||
|
[PgName("home")] Home,
|
||||||
|
[PgName("followers")] Followers,
|
||||||
|
[PgName("specified")] Specified,
|
||||||
|
[PgName("hidden")] Hidden
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -168,4 +168,20 @@ public class UserProfile {
|
||||||
[PgName("followers")] Followers,
|
[PgName("followers")] Followers,
|
||||||
[PgName("private")] Private,
|
[PgName("private")] Private,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[PgName("user_profile_mutingnotificationtypes_enum")]
|
||||||
|
public enum MutingNotificationType {
|
||||||
|
[PgName("follow")] Follow,
|
||||||
|
[PgName("mention")] Mention,
|
||||||
|
[PgName("reply")] Reply,
|
||||||
|
[PgName("renote")] Renote,
|
||||||
|
[PgName("quote")] Quote,
|
||||||
|
[PgName("reaction")] Reaction,
|
||||||
|
[PgName("pollVote")] PollVote,
|
||||||
|
[PgName("pollEnded")] PollEnded,
|
||||||
|
[PgName("receiveFollowRequest")] FollowRequestReceived,
|
||||||
|
[PgName("followRequestAccepted")] FollowRequestAccepted,
|
||||||
|
[PgName("groupInvited")] GroupInvited,
|
||||||
|
[PgName("app")] App,
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue