mirror of
https://github.com/GCMatters/hermes.git
synced 2026-02-04 05:30:13 +01:00
feat: skills endpoint, stylistic changes
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using WebApp.Data;
|
using WebApp.Data;
|
||||||
@@ -18,6 +18,7 @@ namespace WebApp.Endpoints
|
|||||||
var group = app.MapGroup("api/auth")
|
var group = app.MapGroup("api/auth")
|
||||||
.WithParameterValidation();
|
.WithParameterValidation();
|
||||||
|
|
||||||
|
// POST /api/auth/login
|
||||||
group.MapPost("/login", async (LoginDto dto, ApplicationDbContext context, GeneralUseHelpers guh) =>
|
group.MapPost("/login", async (LoginDto dto, ApplicationDbContext context, GeneralUseHelpers guh) =>
|
||||||
{
|
{
|
||||||
var user = await context.WebUsers.FirstOrDefaultAsync(u => u.Email == dto.Email);
|
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) =>
|
group.MapPost("/logout", async (HttpContext httpContext, GeneralUseHelpers guh) =>
|
||||||
{
|
{
|
||||||
var token = await guh.GetTokenFromHTTPContext(httpContext);
|
var token = await guh.GetTokenFromHTTPContext(httpContext);
|
||||||
@@ -54,6 +56,7 @@ namespace WebApp.Endpoints
|
|||||||
return Results.Ok(new { success = true });
|
return Results.Ok(new { success = true });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// GET /api/auth/my_account
|
||||||
group.MapGet("/my_account", async (HttpContext httpContext, GeneralUseHelpers guh) =>
|
group.MapGet("/my_account", async (HttpContext httpContext, GeneralUseHelpers guh) =>
|
||||||
{
|
{
|
||||||
var token = await guh.GetTokenFromHTTPContext(httpContext);
|
var token = await guh.GetTokenFromHTTPContext(httpContext);
|
||||||
@@ -77,6 +80,7 @@ namespace WebApp.Endpoints
|
|||||||
})
|
})
|
||||||
.WithName(GetUserEndpointName);
|
.WithName(GetUserEndpointName);
|
||||||
|
|
||||||
|
// GET /api/auth/my_events
|
||||||
group.MapGet("/my_events", async (HttpContext httpContext, GeneralUseHelpers guh, ApplicationDbContext context) =>
|
group.MapGet("/my_events", async (HttpContext httpContext, GeneralUseHelpers guh, ApplicationDbContext context) =>
|
||||||
{
|
{
|
||||||
var token = await guh.GetTokenFromHTTPContext(httpContext);
|
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) =>
|
group.MapPost("/add_skill", async (SingleSkillDto dto, HttpContext httpContext, ApplicationDbContext context, GeneralUseHelpers guh) =>
|
||||||
{
|
{
|
||||||
// Uzyskaj użytkownika z tokenu
|
// Uzyskaj użytkownika z tokenu
|
||||||
@@ -158,7 +163,7 @@ namespace WebApp.Endpoints
|
|||||||
return Results.Json(new { message = "Skill added successfully!" }, statusCode: 201);
|
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) =>
|
group.MapPost("/remove_skill", async (SingleSkillDto dto, HttpContext httpContext, ApplicationDbContext context, GeneralUseHelpers guh) =>
|
||||||
{
|
{
|
||||||
// Uzyskaj użytkownika z tokenu
|
// Uzyskaj użytkownika z tokenu
|
||||||
@@ -199,7 +204,8 @@ namespace WebApp.Endpoints
|
|||||||
return Results.Json(new { message = "Skill deleted successfully!" }, statusCode: 201);
|
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
|
// Uzyskaj użytkownika z tokenu
|
||||||
Token? token = await guh.GetTokenFromHTTPContext(httpContext);
|
Token? token = await guh.GetTokenFromHTTPContext(httpContext);
|
||||||
@@ -240,4 +246,4 @@ namespace WebApp.Endpoints
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using WebApp.Data;
|
using WebApp.Data;
|
||||||
using WebApp.DTOs;
|
using WebApp.DTOs;
|
||||||
@@ -134,7 +134,7 @@ namespace WebApp.Endpoints
|
|||||||
// Uzyskaj organizację z tokenu
|
// Uzyskaj organizację z tokenu
|
||||||
Token? token = await guhf.GetTokenFromHTTPContext(httpContext);
|
Token? token = await guhf.GetTokenFromHTTPContext(httpContext);
|
||||||
Organisation? org = await guhf.GetOrganisationFromToken(token);
|
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
|
// Sprawdź, czy organizacja ma prawo
|
||||||
// do usunięcia tego (EventId = id) eventu.
|
// do usunięcia tego (EventId = id) eventu.
|
||||||
@@ -160,7 +160,6 @@ namespace WebApp.Endpoints
|
|||||||
Organisation? org = await guhf.GetOrganisationFromToken(token);
|
Organisation? org = await guhf.GetOrganisationFromToken(token);
|
||||||
List<EventSummaryDto> SearchResults = [];
|
List<EventSummaryDto> SearchResults = [];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<Event> AllEvents = await dbContext.Events.ToListAsync();
|
List<Event> AllEvents = await dbContext.Events.ToListAsync();
|
||||||
if (sort is null || sort.ToUpper() != "ASC")
|
if (sort is null || sort.ToUpper() != "ASC")
|
||||||
|
|||||||
26
WebApp/Endpoints/SkillsEndpoints.cs
Normal file
26
WebApp/Endpoints/SkillsEndpoints.cs
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -53,5 +53,6 @@ app.UseRouting(); // Enables routing to match incoming request to endpoints
|
|||||||
app.MapEventsEndpoints();
|
app.MapEventsEndpoints();
|
||||||
app.MapOrganizationsEndpoints();
|
app.MapOrganizationsEndpoints();
|
||||||
app.MapAuthEndpoints();
|
app.MapAuthEndpoints();
|
||||||
|
app.MapSkillsEndpoints();
|
||||||
|
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|||||||
Reference in New Issue
Block a user