Обновил прием данных из mqtt-ingest на поэлементный. Убрал batch сохранение. Скорректировал update в таблицу current.

This commit is contained in:
Первов Артем
2026-06-22 02:50:24 +03:00
parent ce493f8fb6
commit 05c13f36a4
3 changed files with 36 additions and 62 deletions

View File

@@ -1,4 +1,4 @@
import { Body, Controller, Param, ParseArrayPipe, Post, UseGuards } from '@nestjs/common';
import { Body, Controller, Param, Post, UseGuards } from '@nestjs/common';
import { IngestApiKeyGuard } from '../common/ingest-api-key.guard';
import { IngestEdgeValuesDto } from './dto/ingest-edge-values.dto';
import { IngestPointDto } from './dto/ingest-point.dto';
@@ -9,16 +9,13 @@ import { IngestService } from './ingest.service';
export class IngestController {
constructor(private readonly ingest: IngestService) {}
/** Принимает массив сырых точек и сохраняет их как записи истории. */
/** Принимает одну сырую точку и сохраняет ее как запись истории/current. */
@Post()
ingestPoints(
@Body(new ParseArrayPipe({ items: IngestPointDto }))
points: IngestPointDto[],
) {
return this.ingest.ingestPoints(points);
ingestPoint(@Body() point: IngestPointDto) {
return this.ingest.ingestPoint(point);
}
/** Принимает компактное тело запроса по edge и разворачивает каждое значение в точку истории. */
/** Принимает компактное тело запроса по edge и сохраняет каждое значение построчно. */
@Post(':edge')
ingestEdgeValues(@Param('edge') edge: string, @Body() body: IngestEdgeValuesDto) {
const points = Object.entries(body.values).map(([tag, value]) => ({