| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace App\Controllers\Api;
- use CodeIgniter\HTTP\ResponseInterface;
- class BasicController extends BaseApiController
- {
- /**
- * Get site info
- */
- public function getSiteInfo()
- {
- $auth = $this->requireAuth();
- if ($auth instanceof ResponseInterface) {
- return $auth;
- }
- $builder = $this->getDB()->table('site_info');
- $siteInfo = $builder->get()->getRow();
- if (!$siteInfo) {
- // Return default structure if no data
- return $this->respondSuccess([
- 'site_name' => '',
- 'site_url' => '',
- 'ceo_name' => '',
- 'ceo_email' => '',
- 'phone' => '',
- 'fax' => '',
- 'address' => '',
- 'sms_sender_numbers' => [],
- 'sms_receiver_number' => ''
- ]);
- }
- // Parse JSON field
- $siteInfo->sms_sender_numbers = json_decode($siteInfo->sms_sender_numbers ?? '[]');
- return $this->respondSuccess($siteInfo);
- }
- /**
- * Update site info
- */
- public function updateSiteInfo()
- {
- $auth = $this->requireAuth();
- if ($auth instanceof ResponseInterface) {
- return $auth;
- }
- $json = $this->request->getJSON();
- $data = [
- 'site_name' => $json->site_name ?? '',
- 'site_url' => $json->site_url ?? '',
- 'ceo_name' => $json->ceo_name ?? '',
- 'ceo_email' => $json->ceo_email ?? '',
- 'phone' => $json->phone ?? '',
- 'fax' => $json->fax ?? '',
- 'address' => $json->address ?? '',
- 'sms_sender_numbers' => json_encode($json->sms_sender_numbers ?? []),
- 'sms_receiver_number' => $json->sms_receiver_number ?? '',
- 'updated_at' => date('Y-m-d H:i:s')
- ];
- $builder = $this->getDB()->table('site_info');
- $existing = $builder->get()->getRow();
- if ($existing) {
- $builder->where('id', $existing->id)->update($data);
- $siteInfoId = $existing->id;
- } else {
- $data['created_at'] = date('Y-m-d H:i:s');
- $builder->insert($data);
- $siteInfoId = $this->getDB()->insertID();
- }
- // 저장된 데이터 조회하여 반환
- $savedData = $builder->where('id', $siteInfoId)->get()->getRow();
- $savedData->sms_sender_numbers = json_decode($savedData->sms_sender_numbers ?? '[]');
- return $this->respondSuccess($savedData, '사이트 정보가 수정되었습니다.');
- }
- }
|