add public to InternalPaymentController

This commit is contained in:
Marshal
2026-07-02 10:16:58 +00:00
parent 7b3f9094ed
commit adddb24033

View File

@@ -4,22 +4,22 @@ import {
HttpCode, HttpCode,
HttpStatus, HttpStatus,
Post, Post,
UseGuards,
} from "@nestjs/common"; } from "@nestjs/common";
import { ApiOperation, ApiTags } from "@nestjs/swagger"; import { ApiOperation, ApiTags } from "@nestjs/swagger";
import { ServiceAuthGuard } from "../../common/guards/service-auth.guard"; import { Public } from "@edr/api-common";
import { PaymentEventDto, MarkPaidResponseDto } from "./internal-payment.dto"; import { PaymentEventDto, MarkPaidResponseDto } from "./internal-payment.dto";
import { PaymentService } from "./payment.service"; import { PaymentService } from "./payment.service";
/** /**
* Consumer side of the payment microservice's outbox relay. * Consumer side of the payment microservice's outbox relay.
* Only the payment service may call this (shared SERVICE_AUTH_TOKEN). * WARNING: currently unauthenticated — anyone who can reach the API can mark
* payments as paid. Re-add ServiceAuthGuard before exposing beyond a trusted network.
* Idempotent by design — the relay delivers at-least-once, so duplicates must be harmless. * Idempotent by design — the relay delivers at-least-once, so duplicates must be harmless.
* Becomes a queue consumer via PaymentEventsConsumer when RabbitMQ is available; * Becomes a queue consumer via PaymentEventsConsumer when RabbitMQ is available;
* this HTTP endpoint remains as a transport-agnostic fallback. * this HTTP endpoint remains as a transport-agnostic fallback.
*/ */
@ApiTags("Internal Payments") @ApiTags("Internal Payments")
@UseGuards(ServiceAuthGuard) @Public()
@Controller("internal/payments") @Controller("internal/payments")
export class InternalPaymentController { export class InternalPaymentController {
constructor(private readonly paymentService: PaymentService) { } constructor(private readonly paymentService: PaymentService) { }