From df20e0fac61c9f9933d8313af64b121aced54ab6 Mon Sep 17 00:00:00 2001 From: nk Date: Wed, 3 Jun 2026 10:51:49 +0300 Subject: [PATCH] =?UTF-8?q?feat(now-playing):=20REST=20GET=20/now-playing?= =?UTF-8?q?=20(=D0=BA=D0=BB=D1=8E=D1=87=20=E2=80=94=20id=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D1=86=D0=B8=D0=B8=20=D0=BA=D0=B0=D1=82=D0=B0=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Клиенту нужен now-playing с правильным маппингом id (Record now-эндпоинт использует id now-слотов, не каталога). Отдаём текущие треки по станциям с stationId = catalog id, чтобы клиент сопоставлял по station.id. --- src/now-playing/now-playing.controller.ts | 22 ++++++++++++++++++++++ src/now-playing/now-playing.module.ts | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 src/now-playing/now-playing.controller.ts diff --git a/src/now-playing/now-playing.controller.ts b/src/now-playing/now-playing.controller.ts new file mode 100644 index 0000000..169039d --- /dev/null +++ b/src/now-playing/now-playing.controller.ts @@ -0,0 +1,22 @@ +import { Controller, Get } from '@nestjs/common'; +import { ApiTags, ApiOperation } from '@nestjs/swagger'; +import { NowPlayingService } from './now-playing.service'; + +@ApiTags('now-playing') +@Controller('now-playing') +export class NowPlayingController { + constructor(private readonly nowPlayingService: NowPlayingService) {} + + // Текущие треки по всем станциям, ключ — числовой id станции (как в каталоге). + @Get() + @ApiOperation({ summary: 'Текущие треки по всем станциям' }) + async getAll() { + const list = await this.nowPlayingService.getAllNowPlaying(); + return list.map((np) => ({ + stationId: np.station.stationId, + song: np.song, + artist: np.artist, + coverUrl: np.coverUrl, + })); + } +} diff --git a/src/now-playing/now-playing.module.ts b/src/now-playing/now-playing.module.ts index 434e4f1..789d03c 100644 --- a/src/now-playing/now-playing.module.ts +++ b/src/now-playing/now-playing.module.ts @@ -1,5 +1,6 @@ import { Module, forwardRef } from '@nestjs/common'; import { NowPlayingGateway } from './now-playing.gateway'; +import { NowPlayingController } from './now-playing.controller'; import { NowPlayingService } from './now-playing.service'; import { RecordStationSyncService } from './record-station-sync.service'; import { IcyNowPlayingService } from './icy-now-playing.service'; @@ -7,6 +8,7 @@ import { ChartsModule } from '../charts/charts.module'; @Module({ imports: [forwardRef(() => ChartsModule)], + controllers: [NowPlayingController], providers: [ NowPlayingGateway, NowPlayingService,