feat: skills endpoint, stylistic changes

This commit is contained in:
2025-06-01 02:15:20 +02:00
parent 4be57c27d9
commit 72fbfe982f
4 changed files with 39 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
using System.Security.Cryptography;
using System.Security.Cryptography;
using System.Text;
using Microsoft.EntityFrameworkCore;
using WebApp.Data;
@@ -18,6 +18,7 @@ namespace WebApp.Endpoints
var group = app.MapGroup("api/auth")
.WithParameterValidation();
// POST /api/auth/login
group.MapPost("/login", async (LoginDto dto, ApplicationDbContext context, GeneralUseHelpers guh) =>
{
var user = await context.WebUsers.FirstOrDefaultAsync(u => u.Email == dto.Email);
@@ -38,6 +39,7 @@ namespace WebApp.Endpoints
});
});
// POST /api/auth/logout
group.MapPost("/logout", async (HttpContext httpContext, GeneralUseHelpers guh) =>
{
var token = await guh.GetTokenFromHTTPContext(httpContext);
@@ -54,6 +56,7 @@ namespace WebApp.Endpoints
return Results.Ok(new { success = true });
});
// GET /api/auth/my_account
group.MapGet("/my_account", async (HttpContext httpContext, GeneralUseHelpers guh) =>
{
var token = await guh.GetTokenFromHTTPContext(httpContext);
@@ -77,6 +80,7 @@ namespace WebApp.Endpoints
})
.WithName(GetUserEndpointName);
// GET /api/auth/my_events
group.MapGet("/my_events", async (HttpContext httpContext, GeneralUseHelpers guh, ApplicationDbContext context) =>
{
var token = await guh.GetTokenFromHTTPContext(httpContext);
@@ -122,6 +126,7 @@ namespace WebApp.Endpoints
});
// POST /api/auth/add_skill
group.MapPost("/add_skill", async (SingleSkillDto dto, HttpContext httpContext, ApplicationDbContext context, GeneralUseHelpers guh) =>
{
// Uzyskaj użytkownika z tokenu
@@ -158,7 +163,7 @@ namespace WebApp.Endpoints
return Results.Json(new { message = "Skill added successfully!" }, statusCode: 201);
});
// POST /api/auth/remove_skill
group.MapPost("/remove_skill", async (SingleSkillDto dto, HttpContext httpContext, ApplicationDbContext context, GeneralUseHelpers guh) =>
{
// Uzyskaj użytkownika z tokenu
@@ -199,7 +204,8 @@ namespace WebApp.Endpoints
return Results.Json(new { message = "Skill deleted successfully!" }, statusCode: 201);
});
group.MapGet("/get_skills", async (HttpContext httpContext, ApplicationDbContext context, GeneralUseHelpers guh) =>
// GET /api/auth/skills
group.MapGet("/skills", async (HttpContext httpContext, ApplicationDbContext context, GeneralUseHelpers guh) =>
{
// Uzyskaj użytkownika z tokenu
Token? token = await guh.GetTokenFromHTTPContext(httpContext);
@@ -240,4 +246,4 @@ namespace WebApp.Endpoints
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using WebApp.Data;
using WebApp.DTOs;
@@ -134,7 +134,7 @@ namespace WebApp.Endpoints
// Uzyskaj organizację z tokenu
Token? token = await guhf.GetTokenFromHTTPContext(httpContext);
Organisation? org = await guhf.GetOrganisationFromToken(token);
if (org is null) return Results.StatusCode(403);
if (org is null) return Results.Unauthorized();
// Sprawdź, czy organizacja ma prawo
// do usunięcia tego (EventId = id) eventu.
@@ -160,7 +160,6 @@ namespace WebApp.Endpoints
Organisation? org = await guhf.GetOrganisationFromToken(token);
List<EventSummaryDto> SearchResults = [];
List<Event> AllEvents = await dbContext.Events.ToListAsync();
if (sort is null || sort.ToUpper() != "ASC")

View File

@@ -0,0 +1,26 @@
using Microsoft.EntityFrameworkCore;
using WebApp.Data;
using WebApp.Mapping;
namespace WebApp.Endpoints;
public static class SkillsEndpoints
{
const string GetSkillEndpointName = "GetSkill";
public static RouteGroupBuilder MapSkillsEndpoints(this WebApplication app)
{
var group = app.MapGroup("api/skills").WithParameterValidation();
// GET /skills
group.MapGet("/",
async (ApplicationDbContext dbContext) =>
await dbContext.Skills
.OrderBy(Sk => Sk.SkillId)
.Select(Sk => Sk.ToSkillSummaryDto()) // SkillSummaryDto
.AsNoTracking()
.ToListAsync());
return group;
}
}