29 lines
911 B
C#
29 lines
911 B
C#
using Iceshrimp.Backend.Controllers.Mastodon.Attributes;
|
|
using Iceshrimp.Backend.Controllers.Mastodon.Schemas.Entities;
|
|
using Iceshrimp.Backend.Core.Database.Tables;
|
|
using Iceshrimp.Backend.Core.Middleware;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Iceshrimp.Backend.Controllers.Mastodon;
|
|
|
|
[Route("/api/v1/preferences")]
|
|
[Authenticate]
|
|
[MastodonApiController]
|
|
public class PreferencesController : ControllerBase
|
|
{
|
|
[Authorize("read:accounts")]
|
|
[HttpGet]
|
|
public PreferencesEntity GetPreferences()
|
|
{
|
|
var settings = HttpContext.GetUserOrFail().UserSettings;
|
|
var visibility = StatusEntity.EncodeVisibility(settings?.DefaultNoteVisibility ?? Note.NoteVisibility.Public);
|
|
|
|
return new PreferencesEntity
|
|
{
|
|
PostingDefaultVisibility = visibility,
|
|
PostingDefaultSensitive = settings?.AlwaysMarkSensitive ?? false,
|
|
ReadingExpandMedia = "default",
|
|
ReadingExpandSpoilers = false
|
|
};
|
|
}
|
|
}
|