using Iceshrimp.Frontend.Core.Miscellaneous; using Iceshrimp.Frontend.Core.Services; using Iceshrimp.Shared.Schemas.Web; namespace Iceshrimp.Frontend.Core.ControllerModels; internal class TimelineControllerModel(ApiClient api) { [LinkPagination(20, 80)] public Task> GetHomeTimelineAsync(PaginationQuery pq) => api.CallAsync>(HttpMethod.Get, "/timelines/home", pq); [LinkPagination(20, 80)] public Task> GetLocalTimelineAsync(PaginationQuery pq) => api.CallAsync>(HttpMethod.Get, "/timelines/local", pq); [LinkPagination(20, 80)] public Task> GetSocialTimelineAsync(PaginationQuery pq) => api.CallAsync>(HttpMethod.Get, "/timelines/social", pq); [LinkPagination(20, 80)] public Task> GetBubbleTimelineAsync(PaginationQuery pq) => api.CallAsync>(HttpMethod.Get, "/timelines/bubble", pq); [LinkPagination(20, 80)] public Task> GetGlobalTimelineAsync(PaginationQuery pq) => api.CallAsync>(HttpMethod.Get, "/timelines/global", pq); [LinkPagination(20, 80)] public Task> GetRemoteTimelineAsync(string instance, PaginationQuery pq) => api.CallAsync>(HttpMethod.Get, $"/timelines/remote/{instance}", pq); }