[backend/api] Improve IsLocked queries

This commit is contained in:
pancakes 2025-03-23 21:34:08 +10:00
parent 7f6791506d
commit 5cdb21a47f
No known key found for this signature in database

View file

@ -37,9 +37,7 @@ public class SettingsController(
public async Task<UserSettingsResponse> GetSettings()
{
var settings = await GetOrInitUserSettings();
var user = HttpContext.GetUserOrFail();
var isLocked = await db.Users.Where(p => p.Id == user.Id).Select(p => p.IsLocked).FirstAsync();
return new UserSettingsResponse
{
@ -50,7 +48,7 @@ public class SettingsController(
DefaultNoteVisibility = (NoteVisibility)settings.DefaultNoteVisibility,
DefaultRenoteVisibility = (NoteVisibility)settings.DefaultNoteVisibility,
TwoFactorEnrolled = settings.TwoFactorEnabled,
ManuallyAcceptFollows = isLocked
ManuallyAcceptFollows = user.IsLocked
};
}
@ -72,8 +70,9 @@ public class SettingsController(
settings.DefaultRenoteVisibility = (Note.NoteVisibility)newSettings.DefaultRenoteVisibility;
var user = HttpContext.GetUserOrFail();
var dbUser = await db.Users.FirstAsync(p => p.Id == user.Id);
dbUser.IsLocked = newSettings.ManuallyAcceptFollows || newSettings.PrivateMode;
await db.Users.Where(p => p.Id == user.Id)
.ExecuteUpdateAsync(p => p.SetProperty(u => u.IsLocked,
newSettings.ManuallyAcceptFollows || newSettings.PrivateMode));
await db.SaveChangesAsync();
}