package suiteclient

import (
	v1 "github.com/AlchemyTelcoSolutions/callisto-so-bff/api/v1"
	"github.com/AlchemyTelcoSolutions/callisto-so-bff/internal/domain/model"
	"github.com/stretchr/testify/require"
)

func (c *Client) SaleOrderCreate(apiCase string) *v1.PostSaleOrdersRestResponse {
	res, err := c.client.PostCreateSaleOrder(apiCase)
	require.NotNil(c.t, res)
	require.Nil(c.t, err)
	return res
}

func (c *Client) SaleOrderCreateFromAuction(bidID string) *v1.PostSaleOrdersRestResponse {
	res, err := c.client.PatchCreateSaleOrderFromAuction(bidID)
	require.NotNil(c.t, res)
	require.Nil(c.t, err)
	return res
}

func (c *Client) PostSaleOrderLegacy(apiCase string) *v1.PostUpdateSaleOrdersRestResponse {
	res, err := c.client.PostSaleOrderLegacy(apiCase)
	require.NotNil(c.t, res)
	require.Nil(c.t, err)
	return res
}

func (c *Client) ForwardProxy(fromPath string) *model.ProxyResponse {
	res := c.client.ForwardRequest(fromPath)
	require.NotNil(c.t, res)
	return res
}

func (c *Client) GetSOSummary(apiCase string) *v1.Response {
	res, err := c.client.GetSOSummary(apiCase)
	require.NotNil(c.t, res)
	require.Nil(c.t, err)
	return res
}

func (c *Client) ExportASNToFile(orderRef v1.OrderReference, params v1.ExportASNToFileParams) *model.ProxyResponse {
	res, err := c.client.ExportASNToFile(orderRef, params)
	require.NotNil(c.t, res)
	require.Nil(c.t, err)
	return res
}
