feat(backend): limit total members per user

This commit is contained in:
sam 2024-09-30 21:44:41 +02:00
parent 80ac16694c
commit 4002893323
Signed by: sam
GPG key ID: B4EF20DDE721CAA1
3 changed files with 21 additions and 4 deletions

View file

@ -1,3 +1,4 @@
using Foxnouns.Backend.Utils;
using Microsoft.AspNetCore.Mvc;
namespace Foxnouns.Backend.Controllers;
@ -18,14 +19,22 @@ public class MetaController : ApiControllerBase
(int)FoxnounsMetrics.UsersActiveMonthCount.Value,
(int)FoxnounsMetrics.UsersActiveWeekCount.Value,
(int)FoxnounsMetrics.UsersActiveDayCount.Value
))
),
new Limits(
MemberCount: MembersController.MaxMemberCount,
BioLength: ValidationUtils.MaxBioLength))
);
}
[HttpGet("/api/v2/coffee")]
public IActionResult BrewCoffee() => Problem("Sorry, I'm a teapot!", statusCode: StatusCodes.Status418ImATeapot);
private record MetaResponse(string Repository, string Version, string Hash, int Members, UserInfo Users);
private record MetaResponse(string Repository, string Version, string Hash, int Members, UserInfo Users, Limits Limits);
private record UserInfo(int Total, int ActiveMonth, int ActiveWeek, int ActiveDay);
// All limits that the frontend should know about (for UI purposes)
private record Limits(
int MemberCount,
int BioLength);
}