v7.0.0-beta.2 release
This commit is contained in:
+15
-1
@@ -4,6 +4,7 @@ namespace App\Models;
|
||||
|
||||
use App\Enums\ExtensionOwnerType;
|
||||
use App\Enums\MenuPermissionType;
|
||||
use App\Models\Concerns\HasUserOverrides;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
@@ -17,10 +18,23 @@ use Illuminate\Support\Facades\DB;
|
||||
* 메뉴 모델
|
||||
*
|
||||
* 역할 기반 접근 제어를 지원합니다.
|
||||
*
|
||||
* 사용자가 관리자 UI 로 수정한 필드(name/icon/order/url) 는 `HasUserOverrides` trait
|
||||
* 에 의해 `user_overrides` 컬럼에 자동 누적 기록되며, 이후 코어/확장 업데이트의
|
||||
* `syncMenu()` 경로에서 필드 단위로 보존됩니다.
|
||||
*/
|
||||
class Menu extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
use HasFactory, HasUserOverrides;
|
||||
|
||||
/**
|
||||
* `HasUserOverrides` 가 추적할 필드.
|
||||
*
|
||||
* `ExtensionMenuSyncHelper::syncMenu()` L80~107 의 upsert 시 필드 단위 보존 대상과 일치.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected array $trackableFields = ['name', 'icon', 'order', 'url'];
|
||||
|
||||
/** @var array<string, array> 활동 로그 추적 필드 */
|
||||
public static array $activityLogFields = [
|
||||
|
||||
Reference in New Issue
Block a user