feat: [boards] 게시판 API 시스템 구현
- BoardController, PostController 추가 - Board, BoardSetting 모델 수정 - BoardService 추가 - FormRequest 클래스 추가 - Swagger 문서 추가 (BoardApi, PostApi) - 게시판 시스템 필드 마이그레이션 추가
This commit is contained in:
@@ -5,6 +5,17 @@
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* 게시판 필드 설정 (EAV 스키마 정의)
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $board_id
|
||||
* @property string $name 필드명
|
||||
* @property string $field_key 필드 키
|
||||
* @property string $field_type 필드 타입 (text, number, select, date 등)
|
||||
* @property array|null $field_meta 필드 메타 (옵션, 유효성 등)
|
||||
* @property bool $is_required 필수 여부
|
||||
* @property int $sort_order 정렬 순서
|
||||
*
|
||||
* @mixin IdeHelperBoardSetting
|
||||
*/
|
||||
class BoardSetting extends Model
|
||||
@@ -12,11 +23,38 @@ class BoardSetting extends Model
|
||||
protected $table = 'board_settings';
|
||||
|
||||
protected $fillable = [
|
||||
'board_id', 'name', 'field_key', 'field_type', 'field_meta', 'is_required', 'sort_order',
|
||||
'board_id',
|
||||
'name',
|
||||
'field_key',
|
||||
'field_type',
|
||||
'field_meta',
|
||||
'is_required',
|
||||
'sort_order',
|
||||
'created_by',
|
||||
'updated_by',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'field_meta' => 'array',
|
||||
'is_required' => 'boolean',
|
||||
'sort_order' => 'integer',
|
||||
];
|
||||
|
||||
protected $attributes = [
|
||||
'is_required' => false,
|
||||
'sort_order' => 0,
|
||||
];
|
||||
|
||||
public function board()
|
||||
{
|
||||
return $this->belongsTo(Board::class, 'board_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* field_meta에서 특정 키 값 가져오기
|
||||
*/
|
||||
public function getMeta(string $key, $default = null)
|
||||
{
|
||||
return data_get($this->field_meta, $key, $default);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user