feat: add polling endpoints to AgrarmonitorController

GET  /api/agrarmonitor/polling-config
PUT  /api/agrarmonitor/polling-config
POST /api/agrarmonitor/run-polling

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 14:58:31 +02:00
parent f3df38610c
commit f3e3df3724
@@ -1,11 +1,15 @@
import { Body, Controller, Get, HttpCode, Post } from '@nestjs/common';
import { Body, Controller, Get, HttpCode, Post, Put } from '@nestjs/common';
import { AgrarmonitorService } from './agrarmonitor.service';
import { AgrarmonitorPollingService } from './agrarmonitor-polling.service';
import { RequirePermissions } from '../auth/permissions.decorator';
import { Permission } from '../auth/permissions.enum';
@Controller('api/agrarmonitor')
export class AgrarmonitorController {
constructor(private readonly service: AgrarmonitorService) {}
constructor(
private readonly service: AgrarmonitorService,
private readonly pollingService: AgrarmonitorPollingService,
) {}
@Get('status')
@RequirePermissions(Permission.MANAGE_SETTINGS)
@@ -19,4 +23,23 @@ export class AgrarmonitorController {
async registerDevice(@Body() body: { pcName: string; agrarmonitorId: string }) {
return this.service.registerDevice(body.pcName, body.agrarmonitorId);
}
@Get('polling-config')
@RequirePermissions(Permission.MANAGE_SETTINGS)
async getPollingConfig() {
return this.pollingService.getPollingConfig();
}
@Put('polling-config')
@RequirePermissions(Permission.MANAGE_SETTINGS)
async updatePollingConfig(@Body() body: { tagFertig: string; tagVerbucht: string }) {
return this.pollingService.updatePollingConfig(body.tagFertig, body.tagVerbucht);
}
@Post('run-polling')
@HttpCode(200)
@RequirePermissions(Permission.MANAGE_SETTINGS)
async runPolling() {
return this.pollingService.runPolling();
}
}