[backend/database] Migrate references to Note.ThreadId ?? Note.Id to Note.ThreadIdOrId
This commit is contained in:
parent
6b6bb53668
commit
1e8f1cb964
8 changed files with 14 additions and 14 deletions
|
@ -42,10 +42,10 @@ public class ConversationsController(
|
|||
.IncludeCommonProperties()
|
||||
.FilterHiddenConversations(user, db)
|
||||
.FilterMutedThreads(user, db)
|
||||
.Paginate(p => p.ThreadId ?? p.Id, pq, ControllerContext)
|
||||
.Paginate(p => p.ThreadIdOrId, pq, ControllerContext)
|
||||
.Select(p => new Conversation
|
||||
{
|
||||
Id = p.ThreadId ?? p.Id,
|
||||
Id = p.ThreadIdOrId,
|
||||
LastNote = p,
|
||||
UserIds = p.VisibleUserIds,
|
||||
Unread = db.Notifications.Any(n => n.Note == p &&
|
||||
|
@ -96,10 +96,10 @@ public class ConversationsController(
|
|||
var user = HttpContext.GetUserOrFail();
|
||||
var conversation = await db.Conversations(user)
|
||||
.IncludeCommonProperties()
|
||||
.Where(p => (p.ThreadId ?? p.Id) == id)
|
||||
.Where(p => (p.ThreadIdOrId) == id)
|
||||
.Select(p => new Conversation
|
||||
{
|
||||
Id = p.ThreadId ?? p.Id,
|
||||
Id = p.ThreadIdOrId,
|
||||
LastNote = p,
|
||||
UserIds = p.VisibleUserIds,
|
||||
Unread = db.Notifications.Any(n => n.Note == p &&
|
||||
|
|
|
@ -627,7 +627,7 @@ public class StatusController(
|
|||
var user = HttpContext.GetUserOrFail();
|
||||
var target = await db.Notes.Where(p => p.Id == id)
|
||||
.EnsureVisibleFor(user)
|
||||
.Select(p => p.ThreadId ?? p.Id)
|
||||
.Select(p => p.ThreadIdOrId)
|
||||
.FirstOrDefaultAsync() ??
|
||||
throw GracefulException.RecordNotFound();
|
||||
|
||||
|
@ -652,7 +652,7 @@ public class StatusController(
|
|||
var user = HttpContext.GetUserOrFail();
|
||||
var target = await db.Notes.Where(p => p.Id == id)
|
||||
.EnsureVisibleFor(user)
|
||||
.Select(p => p.ThreadId ?? p.Id)
|
||||
.Select(p => p.ThreadIdOrId)
|
||||
.FirstOrDefaultAsync() ??
|
||||
throw GracefulException.RecordNotFound();
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ public class DirectChannel(WebSocketConnection connection) : IChannel
|
|||
return new ConversationEntity
|
||||
{
|
||||
Accounts = accounts.ToList(),
|
||||
Id = note.ThreadId ?? note.Id,
|
||||
Id = note.ThreadIdOrId,
|
||||
LastStatus = rendered,
|
||||
Unread = true
|
||||
};
|
||||
|
|
|
@ -28,7 +28,7 @@ public class MiscController(DatabaseContext db, NoteRenderer noteRenderer) : Con
|
|||
{
|
||||
var user = HttpContext.GetUserOrFail();
|
||||
var notes = await db.Notes.IncludeCommonProperties()
|
||||
.Where(p => db.NoteThreadMutings.Any(m => m.ThreadId == (p.ThreadId ?? p.Id)))
|
||||
.Where(p => db.NoteThreadMutings.Any(m => m.ThreadId == p.ThreadIdOrId))
|
||||
.EnsureVisibleFor(user)
|
||||
.FilterHidden(user, db, false, false)
|
||||
.Paginate(pq, ControllerContext)
|
||||
|
|
|
@ -347,7 +347,7 @@ public class NoteController(
|
|||
var user = HttpContext.GetUserOrFail();
|
||||
var target = await db.Notes.Where(p => p.Id == id)
|
||||
.EnsureVisibleFor(user)
|
||||
.Select(p => p.ThreadId ?? p.Id)
|
||||
.Select(p => p.ThreadIdOrId)
|
||||
.FirstOrDefaultAsync() ??
|
||||
throw GracefulException.NotFound("Note not found");
|
||||
|
||||
|
@ -373,7 +373,7 @@ public class NoteController(
|
|||
var user = HttpContext.GetUserOrFail();
|
||||
var target = await db.Notes.Where(p => p.Id == id)
|
||||
.EnsureVisibleFor(user)
|
||||
.Select(p => p.ThreadId ?? p.Id)
|
||||
.Select(p => p.ThreadIdOrId)
|
||||
.FirstOrDefaultAsync() ??
|
||||
throw GracefulException.NotFound("Note not found");
|
||||
|
||||
|
|
|
@ -201,7 +201,7 @@ public class Note : IEntity
|
|||
[StringLength(256)]
|
||||
public string? ThreadId { get; set; }
|
||||
|
||||
[NotMapped] public string ThreadIdOrId => ThreadId ?? Id;
|
||||
[Projectable] [NotMapped] public string ThreadIdOrId => ThreadId ?? Id;
|
||||
|
||||
/// <summary>
|
||||
/// The updated date of the Note.
|
||||
|
|
|
@ -353,7 +353,7 @@ public static class QueryableExtensions
|
|||
|
||||
public static IQueryable<Note> FilterMutedThreads(this IQueryable<Note> query, User user, DatabaseContext db)
|
||||
{
|
||||
return query.Where(p => !db.NoteThreadMutings.Any(m => m.User == user && m.ThreadId == (p.ThreadId ?? p.Id)));
|
||||
return query.Where(p => !db.NoteThreadMutings.Any(m => m.User == user && m.ThreadId == p.ThreadIdOrId));
|
||||
}
|
||||
|
||||
public static IQueryable<Notification> FilterMutedThreads(
|
||||
|
@ -361,7 +361,7 @@ public static class QueryableExtensions
|
|||
)
|
||||
{
|
||||
return query.Where(p => p.Note == null ||
|
||||
!db.NoteThreadMutings.Any(m => m.User == user && m.ThreadId == (p.Note.ThreadId ?? p.Note.Id)));
|
||||
!db.NoteThreadMutings.Any(m => m.User == user && m.ThreadId == p.Note.ThreadIdOrId));
|
||||
}
|
||||
|
||||
private static (IQueryable<string> hidden, IQueryable<string>? mentionsHidden) FilterHiddenInternal(
|
||||
|
|
|
@ -214,7 +214,7 @@ public class NoteService(
|
|||
Mentions = mentionedUserIds,
|
||||
VisibleUserIds = visibleUserIds,
|
||||
MentionedRemoteUsers = remoteMentions,
|
||||
ThreadId = reply?.ThreadId ?? reply?.Id,
|
||||
ThreadId = reply?.ThreadIdOrId,
|
||||
Tags = tags,
|
||||
LocalOnly = localOnly,
|
||||
Emojis = emoji ?? [],
|
||||
|
|
Loading…
Add table
Reference in a new issue