From ffedf0a992bc657b6e59ced9d72891c6ccbe76c9 Mon Sep 17 00:00:00 2001 From: pxpm Date: Thu, 24 Oct 2024 23:44:18 +0100 Subject: [PATCH] linter warnings regarding usage of any --- .../service/lemmyContentAggregatorService.ts | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/infrastructure/service/lemmyContentAggregatorService.ts b/infrastructure/service/lemmyContentAggregatorService.ts index aaf0f46..bd49927 100644 --- a/infrastructure/service/lemmyContentAggregatorService.ts +++ b/infrastructure/service/lemmyContentAggregatorService.ts @@ -1,21 +1,43 @@ import Post from "../../domain/service/contentAggregatorService/post"; import ContentAggregatorService from "../../domain/service/contentAggregatorService/contentAggregatorService"; +interface LemmyPostAuthor { + display_name: string; + name: string; +} + +interface LemmyPostData { + featured_community: boolean; + featured_local: boolean; + name: string; + ap_id: string; + body: string; + published: string; +} + +interface LemmyPost { + creator: LemmyPostAuthor; + post: LemmyPostData; +} + +interface LemmyApiResponse { + posts: LemmyPost[]; +} + export default class LemmyContentAggregatorService implements ContentAggregatorService { private feedUrl = "https://lemmy.pt/api/v3/post/list?community_name=devpt&limit=10&page=1&sort=New"; async fetchLastPosts(): Promise { - let unpinnedPosts = []; + let unpinnedPosts: Post[] = []; try { const response = await fetch(this.feedUrl); - - const data = await response.json(); + const data: LemmyApiResponse = await response.json(); unpinnedPosts = data.posts - .filter((item: any) => !item.post.featured_community && !item.post.featured_local) + .filter((item: LemmyPost) => !item.post.featured_community && !item.post.featured_local) .map( - (item: any) => + (item: LemmyPost) => new Post({ authorName: item.creator.display_name || item.creator.name, title: item.post.name,