💥 Update activity data format

This commit is contained in:
LittleSheep 2025-06-26 22:28:18 +08:00
parent c63d6e0fbc
commit b7263b9804
2 changed files with 31 additions and 29 deletions

View File

@ -1,4 +1,3 @@
using DysonNetwork.Sphere.Account;
using DysonNetwork.Sphere.Discovery;
using DysonNetwork.Sphere.Post;
@ -12,9 +11,14 @@ using System.Threading.Tasks;
namespace DysonNetwork.Sphere.Activity;
public class ActivityService(AppDatabase db, PublisherService pub, RelationshipService rels, PostService ps, DiscoveryService ds)
public class ActivityService(
AppDatabase db,
PublisherService pub,
RelationshipService rels,
PostService ps,
DiscoveryService ds)
{
private double CalculateHotRank(Post.Post post, Instant now)
private static double CalculateHotRank(Post.Post post, Instant now)
{
var score = post.Upvotes - post.Downvotes;
var postTime = post.PublishedAt ?? post.CreatedAt;
@ -32,7 +36,9 @@ public class ActivityService(AppDatabase db, PublisherService pub, RelationshipS
var realms = await ds.GetPublicRealmsAsync(null, null, 5, 0, true);
if (realms.Count > 0)
{
activities.Add(new DiscoveryActivity("Explore Realms", realms.Cast<object>().ToList()).ToActivity());
activities.Add(new DiscoveryActivity(
realms.Select(x => new DiscoveryItem("realm", x)).ToList()
).ToActivity());
}
}
@ -92,7 +98,9 @@ public class ActivityService(AppDatabase db, PublisherService pub, RelationshipS
var realms = await ds.GetPublicRealmsAsync(null, null, 5, 0, true);
if (realms.Count > 0)
{
activities.Add(new DiscoveryActivity("Explore Realms", realms.Cast<object>().ToList()).ToActivity());
activities.Add(new DiscoveryActivity(
realms.Select(x => new DiscoveryItem("realm", x)).ToList()
).ToActivity());
}
}

View File

@ -2,18 +2,11 @@ using System;
using System.Collections.Generic;
using NodaTime;
namespace DysonNetwork.Sphere.Activity
{
public class DiscoveryActivity : IActivity
{
public string Title { get; set; }
public List<object> Items { get; set; }
namespace DysonNetwork.Sphere.Activity;
public DiscoveryActivity(string title, List<object> items)
public class DiscoveryActivity(List<DiscoveryItem> items) : IActivity
{
Title = title;
Items = items;
}
public List<DiscoveryItem> Items { get; set; } = items;
public Activity ToActivity()
{
@ -29,4 +22,5 @@ namespace DysonNetwork.Sphere.Activity
};
}
}
}
public record DiscoveryItem(string Type, object Data);