31 lines
987 B
PHP
31 lines
987 B
PHP
<?php
|
|
|
|
namespace App\Domains\Admin\Controllers;
|
|
|
|
use App\Domains\Admin\Actions\UpdateTenantTax\UpdateTenantTaxAction;
|
|
use App\Domains\Admin\Actions\UpdateTenantTax\UpdateTenantTaxRequest;
|
|
use App\Scopes\CommonController;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class TenantTaxUpdateController extends CommonController
|
|
{
|
|
public function __invoke(Request $request): JsonResponse
|
|
{
|
|
$action = new UpdateTenantTaxAction(new UpdateTenantTaxRequest(
|
|
tenant: $this->tenant,
|
|
taxLiable: $request->boolean('tax_liable'),
|
|
vatRate: (int)$request->input('vat_rate', 0),
|
|
exemptionReason: $request->input('tax_exemption_reason'),
|
|
exemptionNote: $request->input('tax_exemption_note'),
|
|
));
|
|
|
|
$response = $action->execute();
|
|
|
|
return response()->json([
|
|
'status' => $response->success ? 'success' : 'error',
|
|
'message' => $response->message,
|
|
]);
|
|
}
|
|
}
|