feat(backend): limit total members per user
This commit is contained in:
parent
80ac16694c
commit
4002893323
3 changed files with 21 additions and 4 deletions
|
@ -41,6 +41,8 @@ public class MembersController(
|
|||
return Ok(memberRenderer.RenderMember(member, CurrentToken));
|
||||
}
|
||||
|
||||
public const int MaxMemberCount = 500;
|
||||
|
||||
[HttpPost("/api/v2/users/@me/members")]
|
||||
[ProducesResponseType<MemberRendererService.MemberResponse>(StatusCodes.Status200OK)]
|
||||
[Authorize("member.create")]
|
||||
|
@ -58,6 +60,10 @@ public class MembersController(
|
|||
.. ValidationUtils.ValidateLinks(req.Links)
|
||||
]);
|
||||
|
||||
var memberCount = await db.Members.CountAsync(m => m.UserId == CurrentUser.Id, ct);
|
||||
if (memberCount >= MaxMemberCount)
|
||||
throw new ApiError.BadRequest("Maximum number of members reached");
|
||||
|
||||
var member = new Member
|
||||
{
|
||||
Id = snowflakeGenerator.GenerateSnowflake(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue