mirror of
https://github.com/GCMatters/hermes.git
synced 2026-02-04 13:40:13 +01:00
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using WebApp.Data;
|
|
using WebApp.Entities;
|
|
using WebApp.Mapping;
|
|
|
|
|
|
namespace WebApp.Endpoints;
|
|
|
|
public static class OrganizationsEndpoints
|
|
{
|
|
const string GetOrganizationEndpointName = "GetOrganization";
|
|
|
|
public static RouteGroupBuilder MapOrganizationsEndpoints(this WebApplication app)
|
|
{
|
|
var group = app.MapGroup("api/organizations")
|
|
.WithParameterValidation();
|
|
|
|
// GET /organizations
|
|
group.MapGet("/",
|
|
async (ApplicationDbContext dbContext, HttpContext httpContext) =>
|
|
await dbContext.Organisations
|
|
//.Include(Eve => Eve.Organisation)
|
|
.OrderByDescending(Org => Org.OrganisationId)
|
|
.Select(Org => Org.ToOrgSummaryDto()) //OrgSummaryDto
|
|
.AsNoTracking()
|
|
.ToListAsync());
|
|
|
|
// GET /organizations/1
|
|
group.MapGet("/{id}",
|
|
async (int id, ApplicationDbContext dbContext, HttpContext httpContext, GeneralUseHelpers guhf) =>
|
|
{
|
|
Organisation? Org = await dbContext.Organisations.FindAsync(id);
|
|
|
|
if (Org is null) return Results.NotFound();
|
|
|
|
return Results.Ok(Org.ToOrgSummaryDto()); //OrgSummaryDto
|
|
})
|
|
.WithName(GetOrganizationEndpointName);
|
|
|
|
return group;
|
|
}
|
|
}
|