添加项目文件。

This commit is contained in:
2026-05-09 17:06:30 +08:00
parent c60f5fe117
commit 720ef957d4
378 changed files with 14843 additions and 0 deletions
@@ -0,0 +1,56 @@
using IdentityService.Infrastructure;
using IdentityService.WebApi.Applications.Dtos.Common;
using IdentityService.WebApi.Applications.User;
using IM.ASPNETCore;
using IM.Commons;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
namespace IdentityService.WebApi.Controllers.User
{
[Authorize]
[UnitOfWork(typeof(UserDbContext))]
[Route("api/[controller]/[action]")]
[ApiController]
public class UserController : ControllerBase
{
private readonly UserService userService;
public UserController(UserService userService)
{
this.userService = userService;
}
[HttpGet]
[ProducesDefaultResponseType(typeof(Result<UserResponse?>))]
public async Task<IActionResult> Me()
{
var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
var res = await userService.GetUserInfoAsync(Guid.Parse(userId));
return Ok(res);
}
[HttpGet]
[ProducesDefaultResponseType(typeof(Result<UserResponse?>))]
public async Task<IActionResult> Find(Guid userId)
{
return Ok(await userService.GetUserInfoAsync(userId));
}
[HttpPost]
[ProducesDefaultResponseType(typeof(Result<UserResponse>))]
public async Task<IActionResult> Update([FromBody] UserUpdateRequest request)
{
var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
var res = await userService.UpdateAsync(new UserUpdateCommand(Guid.Parse(userId), request.NickName, request.Region, request.Avatar, request.Description));
return Ok(res);
}
[HttpPost]
[ProducesDefaultResponseType(typeof(Result<List<UserResponse>>))]
public async Task<IActionResult> GetUsersByIds([FromBody] List<Guid> ids)
{
return Ok(await userService.GetUsersByIdsAsync(ids));
}
}
}
@@ -0,0 +1,19 @@
using FluentValidation;
namespace IdentityService.WebApi.Controllers.User
{
public class UserUpdateRequest
{
public string? NickName { get; set; }
public string? Region { get; set; }
public string? Avatar { get; set; }
public string? Description { get; set; }
}
public class UserUpdateRequestValidator : AbstractValidator<UserUpdateRequest>
{
public UserUpdateRequestValidator()
{
}
}
}