[backend/api] Add ManuallyAcceptFollows to settings endpoints

This commit is contained in:
pancakes 2025-03-23 12:23:35 +10:00
parent 2c3a9d49b1
commit 7c39ef2e3d
No known key found for this signature in database
2 changed files with 11 additions and 1 deletions

View file

@ -37,6 +37,10 @@ public class SettingsController(
public async Task<UserSettingsResponse> GetSettings() public async Task<UserSettingsResponse> GetSettings()
{ {
var settings = await GetOrInitUserSettings(); 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 return new UserSettingsResponse
{ {
FilterInaccessible = settings.FilterInaccessible, FilterInaccessible = settings.FilterInaccessible,
@ -45,7 +49,8 @@ public class SettingsController(
AutoAcceptFollowed = settings.AutoAcceptFollowed, AutoAcceptFollowed = settings.AutoAcceptFollowed,
DefaultNoteVisibility = (NoteVisibility)settings.DefaultNoteVisibility, DefaultNoteVisibility = (NoteVisibility)settings.DefaultNoteVisibility,
DefaultRenoteVisibility = (NoteVisibility)settings.DefaultNoteVisibility, DefaultRenoteVisibility = (NoteVisibility)settings.DefaultNoteVisibility,
TwoFactorEnrolled = settings.TwoFactorEnabled TwoFactorEnrolled = settings.TwoFactorEnabled,
ManuallyAcceptFollows = isLocked
}; };
} }
@ -66,6 +71,10 @@ public class SettingsController(
settings.DefaultNoteVisibility = (Note.NoteVisibility)newSettings.DefaultNoteVisibility; settings.DefaultNoteVisibility = (Note.NoteVisibility)newSettings.DefaultNoteVisibility;
settings.DefaultRenoteVisibility = (Note.NoteVisibility)newSettings.DefaultRenoteVisibility; 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;
await db.SaveChangesAsync(); await db.SaveChangesAsync();
} }

View file

@ -13,4 +13,5 @@ public class UserSettingsRequest
public bool FilterInaccessible { get; set; } public bool FilterInaccessible { get; set; }
public bool AutoAcceptFollowed { get; set; } public bool AutoAcceptFollowed { get; set; }
public bool AlwaysMarkSensitive { get; set; } public bool AlwaysMarkSensitive { get; set; }
public bool ManuallyAcceptFollows { get; set; }
} }