A post given a latitude and longitude becomes LocalGeo: its position is rounded to two decimals (about a kilometre) and stored as a 2dsphere point, its radius clamped to 1-50 km, and it is local only - no Create, no delivery, no outbox, never in the Mastodon API or on a profile page. /clientapi/post/nearby takes the viewer's position for the query only (it is neither stored nor logged), runs $geoNear and keeps posts within each post's own radius, minus authors the viewer blocks or mutes. A located post cannot be direct or in a group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
31 lines
931 B
C#
31 lines
931 B
C#
namespace PrivaPub.ClientModels.Post
|
|
{
|
|
public class ViewPost
|
|
{
|
|
public string Id { get; set; }
|
|
public string ObjectURI { get; set; }
|
|
public string AuthorAvatarId { get; set; }
|
|
public string AuthorActorURI { get; set; }
|
|
public string GroupId { get; set; }
|
|
public string DmGroupId { get; set; }
|
|
public string Visibility { get; set; }
|
|
public string AnsweringToPostId { get; set; }
|
|
public string Title { get; set; }
|
|
public string Text { get; set; }
|
|
public string ContentHtml { get; set; }
|
|
public bool HasContentWarning { get; set; }
|
|
public bool IsFederatedCopy { get; set; }
|
|
public DateTime CreationDate { get; set; }
|
|
public ViewPost ReblogOf { get; set; }
|
|
public double? RangeKm { get; set; }
|
|
public double? DistanceKm { get; set; }
|
|
}
|
|
|
|
public class ViewDmGroup
|
|
{
|
|
public string Id { get; set; }
|
|
public List<string> Members { get; set; } = new();
|
|
public DateTime UpdatedAt { get; set; }
|
|
}
|
|
}
|