From 7a494f0d9d3150eb377218e5f642743b7c79cbcc Mon Sep 17 00:00:00 2001 From: "Tizian.Breuch" Date: Thu, 31 Jul 2025 14:49:15 +0200 Subject: [PATCH] supplier --- .../SupplierExampleOperationFilter.cs | 97 +++++-------------- 1 file changed, 23 insertions(+), 74 deletions(-) diff --git a/Webshop.Api/SwaggerFilters/SupplierExampleOperationFilter.cs b/Webshop.Api/SwaggerFilters/SupplierExampleOperationFilter.cs index c9e08bb..0b5eceb 100644 --- a/Webshop.Api/SwaggerFilters/SupplierExampleOperationFilter.cs +++ b/Webshop.Api/SwaggerFilters/SupplierExampleOperationFilter.cs @@ -1,20 +1,19 @@ -// src/Webshop.Api/SwaggerFilters/PaymentMethodExampleOperationFilter.cs +// src/Webshop.Api/SwaggerFilters/SupplierExampleOperationFilter.cs using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; using Microsoft.OpenApi.Any; -using Webshop.Domain.Enums; using System.Net.Mime; // Für MediaTypeNames using System.Collections.Generic; // Für Dictionary namespace Webshop.Api.SwaggerFilters { - public class PaymentMethodExampleOperationFilter : IOperationFilter + public class SupplierExampleOperationFilter : IOperationFilter { public void Apply(OpenApiOperation operation, OperationFilterContext context) { - // Überprüfe, ob dies die "CreatePaymentMethod"-Methode im "AdminPaymentMethodsController" ist - if (context.MethodInfo.DeclaringType == typeof(Controllers.Admin.AdminPaymentMethodsController) && - context.MethodInfo.Name == "CreatePaymentMethod") + // Überprüfe, ob dies die "CreateSupplier"-Methode im "AdminSuppliersController" ist + if (context.MethodInfo.DeclaringType == typeof(Controllers.Admin.AdminSuppliersController) && + context.MethodInfo.Name == "CreateSupplier") { if (operation.RequestBody == null || !operation.RequestBody.Content.TryGetValue(MediaTypeNames.Application.Json, out var mediaType)) @@ -28,83 +27,33 @@ namespace Webshop.Api.SwaggerFilters } mediaType.Examples.Clear(); - // Beispiel 1: Banküberweisung - mediaType.Examples["BankTransfer"] = new OpenApiExample + // Beispiel 1: Lokaler Lieferant + mediaType.Examples["LocalSupplier"] = new OpenApiExample { - Summary = "Beispiel: Banküberweisung", + Summary = "Beispiel: Lokaler Lieferant", Value = new OpenApiObject { - ["name"] = new OpenApiString("Banküberweisung (Vorkasse)"), - ["description"] = new OpenApiString("Bitte überweisen Sie den Betrag auf unser Konto."), - ["isActive"] = new OpenApiBoolean(true), - ["paymentGatewayType"] = new OpenApiString(PaymentGatewayType.BankTransfer.ToString()), - // << KORREKTUR: Configuration als OpenApiObject >> - ["configuration"] = new OpenApiObject - { - ["IBAN"] = new OpenApiString("DE89370400440532013000"), - ["BIC"] = new OpenApiString("COBADEFFXXX"), - ["BankName"] = new OpenApiString("Beispielbank AG") - }, - ["processingFee"] = new OpenApiDouble(0) + ["name"] = new OpenApiString("Lokale Manufaktur GmbH"), + ["contactPerson"] = new OpenApiString("Hans Meier"), + ["email"] = new OpenApiString("hans.meier@manufaktur-lokal.de"), + ["phoneNumber"] = new OpenApiString("+49 89 1234567"), + ["addressId"] = new OpenApiNull(), + ["notes"] = new OpenApiString("Handgefertigte Produkte, kurze Lieferzeiten.") } }; - // Beispiel 2: Stripe - mediaType.Examples["Stripe"] = new OpenApiExample + // Beispiel 2: Internationaler Großhändler + mediaType.Examples["InternationalSupplier"] = new OpenApiExample { - Summary = "Beispiel: Kreditkarte (Stripe)", + Summary = "Beispiel: Internationaler Großhändler", Value = new OpenApiObject { - ["name"] = new OpenApiString("Kreditkarte (via Stripe)"), - ["description"] = new OpenApiString("Sichere Zahlung mit Ihrer Kreditkarte."), - ["isActive"] = new OpenApiBoolean(true), - ["paymentGatewayType"] = new OpenApiString(PaymentGatewayType.Stripe.ToString()), - // << KORREKTUR: Configuration als OpenApiObject >> - ["configuration"] = new OpenApiObject - { - ["PublicKey"] = new OpenApiString("pk_test_YOUR_KEY"), - ["SecretKey"] = new OpenApiString("sk_test_YOUR_SECRET") - }, - ["processingFee"] = new OpenApiDouble(1.5) - } - }; - - // Beispiel 3: PayPal - mediaType.Examples["PayPal"] = new OpenApiExample - { - Summary = "Beispiel: PayPal", - Value = new OpenApiObject - { - ["name"] = new OpenApiString("PayPal"), - ["description"] = new OpenApiString("Zahlen Sie schnell und sicher mit PayPal."), - ["isActive"] = new OpenApiBoolean(true), - ["paymentGatewayType"] = new OpenApiString(PaymentGatewayType.PayPal.ToString()), - // << KORREKTUR: Configuration als OpenApiObject >> - ["configuration"] = new OpenApiObject - { - ["ClientId"] = new OpenApiString("YOUR_PAYPAL_CLIENT_ID"), - ["ClientSecret"] = new OpenApiString("YOUR_PAYPAL_SECRET") - }, - ["processingFee"] = new OpenApiDouble(2.5) - } - }; - - // Beispiel 4: Rechnung - mediaType.Examples["Invoice"] = new OpenApiExample - { - Summary = "Beispiel: Kauf auf Rechnung", - Value = new OpenApiObject - { - ["name"] = new OpenApiString("Kauf auf Rechnung"), - ["description"] = new OpenApiString("Nur für registrierte Geschäftskunden."), - ["isActive"] = new OpenApiBoolean(true), - ["paymentGatewayType"] = new OpenApiString(PaymentGatewayType.Invoice.ToString()), - // << KORREKTUR: Configuration als OpenApiObject (kann auch leer sein) >> - ["configuration"] = new OpenApiObject - { - ["PaymentTerms"] = new OpenApiString("14 Tage netto") - }, - ["processingFee"] = new OpenApiDouble(0) + ["name"] = new OpenApiString("Global Imports Inc."), + ["contactPerson"] = new OpenApiString("John Smith"), + ["email"] = new OpenApiString("john.smith@global-imports.com"), + ["phoneNumber"] = new OpenApiString("+1 555 987 6543"), + ["addressId"] = new OpenApiNull(), + ["notes"] = new OpenApiString("Container-Lieferungen, 4-6 Wochen Vorlaufzeit.") } }; }