// src/Webshop.Api/Controllers/Public/PaymentMethodsController.cs using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.Threading.Tasks; using Webshop.Application.DTOs.Payments; using Webshop.Application.Services.Public; namespace Webshop.Api.Controllers.Public { [ApiController] [Route("api/v1/public/[controller]")] [AllowAnonymous] public class PaymentMethodsController : ControllerBase { private readonly IPaymentMethodService _paymentMethodService; public PaymentMethodsController(IPaymentMethodService paymentMethodService) { _paymentMethodService = paymentMethodService; } [HttpGet] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] public async Task GetActivePaymentMethods() { var result = await _paymentMethodService.GetAllActiveAsync(); // Ein GetAll sollte im Normalfall immer erfolgreich sein (und ggf. eine leere Liste zurückgeben). // Daher können wir hier direkt auf den Wert zugreifen. return Ok(result.Value); } } }