public override object Handle(JObject param, string token, InternalUser?me) { var userId = GetRequired <string>(param, "userId"); var offset = GetOptionalValue <int>(param, "offset") ?? 0; var limit = GetOptionalValue <int>(param, "limit") ?? 100; IEnumerable <User> followings = Followings.GetFollowings(userId, offset, limit) .Select(id => Users.Show(id: id)) .Select(u => u?.Pack(me)) .OfType <User>(); return(followings); }
public override object Handle(JObject p, string token, InternalUser?user) { //hack 続きを読めるようにもっとまともな実装にする var u = user !; var posts = Posts.GetAllBy(u.Id); foreach (var uid in Followings.GetFollowings(u.Id)) { posts = posts.Concat(Posts.GetAllBy(uid, u.Id)); } posts = posts.OrderByDescending(p => p.CreatedAt.Ticks).Take(100); return(posts); }