diff --git a/WebApp/Endpoints/AuthEndpoints.cs b/WebApp/Endpoints/AuthEndpoints.cs index d59f684..3c6dc1e 100644 --- a/WebApp/Endpoints/AuthEndpoints.cs +++ b/WebApp/Endpoints/AuthEndpoints.cs @@ -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 } } } -} \ No newline at end of file +} diff --git a/WebApp/Endpoints/EventsEndpoints.cs b/WebApp/Endpoints/EventsEndpoints.cs index 6ece587..87af920 100644 --- a/WebApp/Endpoints/EventsEndpoints.cs +++ b/WebApp/Endpoints/EventsEndpoints.cs @@ -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 SearchResults = []; - List AllEvents = await dbContext.Events.ToListAsync(); if (sort is null || sort.ToUpper() != "ASC") diff --git a/WebApp/Endpoints/SkillsEndpoints.cs b/WebApp/Endpoints/SkillsEndpoints.cs new file mode 100644 index 0000000..a54daaf --- /dev/null +++ b/WebApp/Endpoints/SkillsEndpoints.cs @@ -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; + } +} diff --git a/WebApp/Program.cs b/WebApp/Program.cs index d1fd2dc..e92ad18 100644 --- a/WebApp/Program.cs +++ b/WebApp/Program.cs @@ -53,5 +53,6 @@ app.UseRouting(); // Enables routing to match incoming request to endpoints app.MapEventsEndpoints(); app.MapOrganizationsEndpoints(); app.MapAuthEndpoints(); +app.MapSkillsEndpoints(); app.Run();