import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../../../wayfinder'
/**
* @see \App\Http\Controllers\WebhookController::handlePaystack
* @see app/Http/Controllers/WebhookController.php:16
* @route 'https://bidora.com.ng/api/webhooks/paystack'
*/
export const handlePaystack = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: handlePaystack.url(options),
    method: 'post',
})

handlePaystack.definition = {
    methods: ["post"],
    url: 'https://bidora.com.ng/api/webhooks/paystack',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\WebhookController::handlePaystack
* @see app/Http/Controllers/WebhookController.php:16
* @route 'https://bidora.com.ng/api/webhooks/paystack'
*/
handlePaystack.url = (options?: RouteQueryOptions) => {
    return handlePaystack.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\WebhookController::handlePaystack
* @see app/Http/Controllers/WebhookController.php:16
* @route 'https://bidora.com.ng/api/webhooks/paystack'
*/
handlePaystack.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: handlePaystack.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\WebhookController::handlePaystack
* @see app/Http/Controllers/WebhookController.php:16
* @route 'https://bidora.com.ng/api/webhooks/paystack'
*/
const handlePaystackForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: handlePaystack.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\WebhookController::handlePaystack
* @see app/Http/Controllers/WebhookController.php:16
* @route 'https://bidora.com.ng/api/webhooks/paystack'
*/
handlePaystackForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: handlePaystack.url(options),
    method: 'post',
})

handlePaystack.form = handlePaystackForm

const WebhookController = { handlePaystack }

export default WebhookController