✨ Able to filter out the fediverse posts
This commit is contained in:
@@ -1,20 +1,10 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.Globalization;
|
|
||||||
using DysonNetwork.Shared.Auth;
|
|
||||||
using DysonNetwork.Shared.Data;
|
|
||||||
using DysonNetwork.Shared.Models;
|
using DysonNetwork.Shared.Models;
|
||||||
using DysonNetwork.Shared.Proto;
|
using DysonNetwork.Shared.Proto;
|
||||||
using DysonNetwork.Shared.Registry;
|
using DysonNetwork.Shared.Registry;
|
||||||
using DysonNetwork.Sphere.Poll;
|
|
||||||
using DysonNetwork.Sphere.Wallet;
|
|
||||||
using DysonNetwork.Sphere.WebReader;
|
|
||||||
using Grpc.Core;
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using NodaTime;
|
using NodaTime;
|
||||||
using Swashbuckle.AspNetCore.Annotations;
|
using Swashbuckle.AspNetCore.Annotations;
|
||||||
using PublisherMemberRole = DysonNetwork.Shared.Models.PublisherMemberRole;
|
|
||||||
using PublisherService = DysonNetwork.Sphere.Publisher.PublisherService;
|
using PublisherService = DysonNetwork.Sphere.Publisher.PublisherService;
|
||||||
|
|
||||||
namespace DysonNetwork.Sphere.Post;
|
namespace DysonNetwork.Sphere.Post;
|
||||||
@@ -72,7 +62,8 @@ public class PostController(
|
|||||||
[FromQuery(Name = "order")] string? order = null,
|
[FromQuery(Name = "order")] string? order = null,
|
||||||
[FromQuery(Name = "orderDesc")] bool orderDesc = true,
|
[FromQuery(Name = "orderDesc")] bool orderDesc = true,
|
||||||
[FromQuery(Name = "periodStart")] int? periodStartTime = null,
|
[FromQuery(Name = "periodStart")] int? periodStartTime = null,
|
||||||
[FromQuery(Name = "periodEnd")] int? periodEndTime = null
|
[FromQuery(Name = "periodEnd")] int? periodEndTime = null,
|
||||||
|
[FromQuery] bool showFediverse = false
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
HttpContext.Items.TryGetValue("CurrentUser", out var currentUserValue);
|
HttpContext.Items.TryGetValue("CurrentUser", out var currentUserValue);
|
||||||
@@ -124,6 +115,8 @@ public class PostController(
|
|||||||
query = query.Where(p => p.Tags.Any(c => tags.Contains(c.Slug)));
|
query = query.Where(p => p.Tags.Any(c => tags.Contains(c.Slug)));
|
||||||
if (onlyMedia)
|
if (onlyMedia)
|
||||||
query = query.Where(e => e.Attachments.Count > 0);
|
query = query.Where(e => e.Attachments.Count > 0);
|
||||||
|
if (!showFediverse)
|
||||||
|
query = query.Where(p => p.FediverseUri == null);
|
||||||
|
|
||||||
if (realm != null)
|
if (realm != null)
|
||||||
query = query.Where(p => p.RealmId == realm.Id);
|
query = query.Where(p => p.RealmId == realm.Id);
|
||||||
@@ -255,9 +248,9 @@ public class PostController(
|
|||||||
? []
|
? []
|
||||||
: await pub.GetUserPublishers(Guid.Parse(currentUser.Id));
|
: await pub.GetUserPublishers(Guid.Parse(currentUser.Id));
|
||||||
|
|
||||||
var post = await db
|
var post = await db.Posts
|
||||||
.Posts.Include(e => e.Publisher)
|
.Include(e => e.Publisher)
|
||||||
.Where(e => e.Slug == slug && e.Publisher.Name == publisherName)
|
.Where(e => e.Slug == slug && e.Publisher != null && e.Publisher.Name == publisherName)
|
||||||
.Include(e => e.Tags)
|
.Include(e => e.Tags)
|
||||||
.Include(e => e.Categories)
|
.Include(e => e.Categories)
|
||||||
.Include(e => e.RepliedPost)
|
.Include(e => e.RepliedPost)
|
||||||
|
|||||||
Reference in New Issue
Block a user