diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-04-17 13:31:45 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-04-17 13:31:45 +0900 |
| commit | a671f9102d5d3e212d1e621a435dd6a147c4e191 (patch) | |
| tree | 382c2c87fa6d126be563a50d33b54f7e26d83a7f /packages/backend/src/server/api/endpoints/admin | |
| parent | refactor: fix type (diff) | |
| download | sharkey-a671f9102d5d3e212d1e621a435dd6a147c4e191.tar.gz sharkey-a671f9102d5d3e212d1e621a435dd6a147c4e191.tar.bz2 sharkey-a671f9102d5d3e212d1e621a435dd6a147c4e191.zip | |
refactor: fix type
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/announcements/list.ts | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/announcements/list.ts b/packages/backend/src/server/api/endpoints/admin/announcements/list.ts index 1d8eb1d618..7a5758d75b 100644 --- a/packages/backend/src/server/api/endpoints/admin/announcements/list.ts +++ b/packages/backend/src/server/api/endpoints/admin/announcements/list.ts @@ -1,5 +1,6 @@ -import define from '../../../define.js'; import { Announcements, AnnouncementReads } from '@/models/index.js'; +import { Announcement } from '@/models/entities/announcement.js'; +import define from '../../../define.js'; import { makePaginationQuery } from '../../../common/make-pagination-query.js'; export const meta = { @@ -68,11 +69,21 @@ export default define(meta, paramDef, async (ps) => { const announcements = await query.take(ps.limit).getMany(); + const reads = new Map<Announcement, number>(); + for (const announcement of announcements) { - (announcement as any).reads = await AnnouncementReads.countBy({ + reads.set(announcement, await AnnouncementReads.countBy({ announcementId: announcement.id, - }); + })); } - return announcements; + return announcements.map(announcement => ({ + id: announcement.id, + createdAt: announcement.createdAt.toISOString(), + updatedAt: announcement.updatedAt?.toISOString() ?? null, + title: announcement.title, + text: announcement.text, + imageUrl: announcement.imageUrl, + reads: reads.get(announcement)!, + })); }); |