using BuildFlow.Platform.Application.Menus.Commands; using BuildFlow.Platform.Application.Menus.DTOs; using MediatR; namespace BuildFlow.Host.Endpoints.Platform.Menus; /// /// 创建菜单端点。 /// public class CreateMenuEndpoint(IMediator mediator) : Endpoint { public override void Configure() { Post("/menus"); Permissions("menu:create"); } public override async Task HandleAsync(CreateMenuRequest req, CancellationToken ct) { var result = await mediator.Send(new CreateMenuCommand { ParentId = req.ParentId, Name = req.Name, Path = req.Path, Component = req.Component, Redirect = req.Redirect, Title = req.Title, Code = req.Code, Icon = req.Icon, ActiveIcon = req.ActiveIcon, Order = req.Order, HideInMenu = req.HideInMenu, KeepAlive = req.KeepAlive, AffixTab = req.AffixTab, Link = req.Link, NoBasicLayout = req.NoBasicLayout, MenuVisibleWithForbidden = req.MenuVisibleWithForbidden, Authority = req.Authority, }, ct); await Send.ResponseAsync(result, 201, ct); } }