dootask/app/Observers/FileUserObserver.php
kuaifan c08323e1ea feat: 迁移至 MVA 权限方案
- 表结构:为 file/project/task_vectors 添加 allowed_users MULTI 字段
- 删除关系表:file_users, project_users, task_users
- 搜索:使用 allowed_users = userid 进行权限过滤
- 同步:sync 时自动计算并写入 allowed_users
- 级联:项目成员变更异步级联 v=1 任务,任务成员变更递归更新子任务
- 覆盖场景:visibility/parent_id/project_id 变更、子任务升级主任务等
2026-01-02 02:03:21 +00:00

55 lines
1.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Observers;
use App\Models\FileUser;
use App\Tasks\ManticoreSyncTask;
/**
* FileUser 观察者MVA 权限方案)
*/
class FileUserObserver extends AbstractObserver
{
/**
* Handle the FileUser "created" event.
*
* @param \App\Models\FileUser $fileUser
* @return void
*/
public function created(FileUser $fileUser)
{
// MVA 方案:更新文件的 allowed_users
self::taskDeliver(new ManticoreSyncTask('update_file_allowed_users', [
'file_id' => $fileUser->file_id,
]));
}
/**
* Handle the FileUser "updated" event.
*
* @param \App\Models\FileUser $fileUser
* @return void
*/
public function updated(FileUser $fileUser)
{
// MVA 方案:更新文件的 allowed_users
self::taskDeliver(new ManticoreSyncTask('update_file_allowed_users', [
'file_id' => $fileUser->file_id,
]));
}
/**
* Handle the FileUser "deleted" event.
*
* @param \App\Models\FileUser $fileUser
* @return void
*/
public function deleted(FileUser $fileUser)
{
// MVA 方案:更新文件的 allowed_users
self::taskDeliver(new ManticoreSyncTask('update_file_allowed_users', [
'file_id' => $fileUser->file_id,
]));
}
}