use tauri::{AppHandle, command, Runtime};
use crate::models::*;
use crate::Result;
use crate::SumupExt;
#[command]
pub(crate) async fn init_sumup_sdk<R: Runtime>(
app: AppHandle<R>,
payload: InitSdkRequest,
) -> Result<bool> {
app.sumup().init_sumup_sdk(payload)
}
#[command]
pub(crate) async fn is_logged_in<R: Runtime>(
app: AppHandle<R>,
) -> Result<bool> {
app.sumup().is_logged_in()
}
#[command]
pub(crate) async fn logout<R: Runtime>(
app: AppHandle<R>,
) -> Result<EmptyResponse> {
app.sumup().logout()
}
#[command]
pub(crate) async fn login_with_token<R: Runtime>(
app: AppHandle<R>,
payload: LoginRequest,
) -> Result<bool> {
app.sumup().login_with_token(payload)
}
#[command]
pub(crate) async fn get_merchant<R: Runtime>(
app: AppHandle<R>,
) -> Result<MerchantInfo> {
app.sumup().get_merchant()
}
#[command]
pub(crate) async fn prepare_for_checkout<R: Runtime>(
app: AppHandle<R>,
) -> Result<EmptyResponse> {
app.sumup().prepare_for_checkout()
}
#[command]
pub(crate) async fn present_card_reader_selection<R: Runtime>(
app: AppHandle<R>,
) -> Result<EmptyResponse> {
app.sumup().present_card_reader_selection()
}
#[command]
pub(crate) async fn checkout<R: Runtime>(
app: AppHandle<R>,
payload: CheckoutRequest,
) -> Result<CheckoutResult> {
app.sumup().checkout(payload)
}