import 'package:dio/dio.dart';
import 'package:payment_plugin/domain/models/payment_method.dart';
import 'package:payment_plugin/data/remote/models/stored_payment_methods_response.dart';
import 'package:payment_plugin/utils/json.dart';
import 'package:retrofit/retrofit.dart';
part '../../../_generated/data/remote/api/api_client.g.dart';
@RestApi()
abstract class ApiClient {
factory ApiClient(Dio dio) = _ApiClient;
@GET("/Payment/v1/stored-payment-methods")
Future<StoredPaymentsResponse> getPaymentMethods();
@POST("/Payment/v1/CreateAdyenSessionForBooking")
Future<dynamic> createAdyenSession(@Body() String data);
@POST("/Payment/v1/CreateAdyenSessionForConcierge")
Future<dynamic> createAdyenSessionForConcierge(@Body() Json data);
@POST("/Payment/v1/CreatePaymentSessionForAddingCards")
Future<dynamic> createAdyenSessionForCards(@Body() String data);
@GET("/Payment/v1/list-available-payment-methods")
Future<dynamic> listAvailablePaymentMethods();
@POST("/Payment/v1/stored-payment-methods")
Future<dynamic> storePaymentMethod(@Body() PaymentMethod storedPaymentMethod);
@DELETE("/Payment/v1/stored-payment-methods/{cardId}")
Future<dynamic> removePaymentMethod(@Path("cardId") String cardId);
@POST("https://checkout-test.adyen.com/v71/payments")
Future<dynamic> submitPayment(
@Query("data") Map<String, dynamic> data,
@Header("X-API-KEY") String apiKey,
@Header("Content-Type") String contentType,
);
@POST("/Payment/v1/post-payments-details")
Future<dynamic> postPaymentsDetails(
@Body() Map<String, dynamic> data,
@Header("Content-Type") String contentType,
@Header("X-API-KEY") String apiKey,
);
}