- 마이그레이션: barobill_settings, tax_invoices 테이블 생성 - 모델: BarobillSetting (인증서 암호화), TaxInvoice (상태/유형 상수) - 서비스: BarobillService (API 연동), TaxInvoiceService (CRUD, 발행/취소) - 컨트롤러: BarobillSettingController, TaxInvoiceController - FormRequest: 6개 요청 검증 클래스 - Swagger: API 문서 완성 (BarobillSettingApi, TaxInvoiceApi)
55 lines
1.2 KiB
PHP
55 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
use App\Helpers\ApiResponse;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\BarobillSetting\SaveBarobillSettingRequest;
|
|
use App\Services\BarobillService;
|
|
|
|
class BarobillSettingController extends Controller
|
|
{
|
|
public function __construct(
|
|
private BarobillService $barobillService
|
|
) {}
|
|
|
|
/**
|
|
* 바로빌 설정 조회
|
|
*/
|
|
public function show()
|
|
{
|
|
$setting = $this->barobillService->getSetting();
|
|
|
|
return ApiResponse::handle(
|
|
data: $setting,
|
|
message: __('message.fetched')
|
|
);
|
|
}
|
|
|
|
/**
|
|
* 바로빌 설정 저장
|
|
*/
|
|
public function save(SaveBarobillSettingRequest $request)
|
|
{
|
|
$setting = $this->barobillService->saveSetting($request->validated());
|
|
|
|
return ApiResponse::handle(
|
|
data: $setting,
|
|
message: __('message.saved')
|
|
);
|
|
}
|
|
|
|
/**
|
|
* 연동 테스트
|
|
*/
|
|
public function testConnection()
|
|
{
|
|
$result = $this->barobillService->testConnection();
|
|
|
|
return ApiResponse::handle(
|
|
data: $result,
|
|
message: __('message.barobill.connection_success')
|
|
);
|
|
}
|
|
}
|