xiangning 2181f7dd49 feat(platform): 完善平台功能与权限管理
- 在菜单系统中新增 RenderType、FormDefinitionId 和 RuntimeViewMode 字段
- 实现自定义表单菜单类型的组件映射和验证逻辑
- 为分片上传相关端点添加 file:upload 权限控制
- 为桶和文件夹操作添加 bucket:write 和 file:write 权限控制
- 为文件共享功能添加 file-share:write 权限控制
- 为文件读取操作添加 file:read 权限控制
- 扩展 AI 模型提供商枚举,支持更多模型供应商
- 在 AI 模型创建和更新时添加枚举值验证
- 重构工作流按钮权限检查逻辑,使用统一的权限码查询方式
- 为 JSON 格式文档添加提取器支持
- 增强表单数据派生服务,支持自定义表单关联解析
- 为表单数据添加按表单定义 ID 的索引优化
- 添加聊天消息搜索和上下文获取的集成测试
- 修正删除菜单端点的 ID 类型从 Guid 改为 long
2026-07-04 19:38:43 +08:00

27 lines
822 B
C#

using File.Application.Features.Multipart.Commands;
using File.Application.Features.Multipart.DTOs;
using MediatR;
namespace BuildFlow.Host.Endpoints.File.Multipart;
/// <summary>初始化分片上传端点。POST /api/files/multipart/init。</summary>
[Authorize]
/// <summary>
/// undefined
/// </summary>
public class InitMultipartEndpoint(IMediator mediator) : Endpoint<InitMultipartRequest, InitMultipartResult>
{
public override void Configure()
{
Post("/files/multipart/init");
Permissions("file:upload");
}
public override async Task HandleAsync(InitMultipartRequest req, CancellationToken ct)
{
var result = await mediator.Send(new InitMultipartCommand(req.ObjectKey, req.ContentHash, req.TotalParts, req.Size), ct);
await Send.OkAsync(result, ct);
}
}