Compare commits

...

3 Commits

Author SHA1 Message Date
Jeas0001
1d4e17dcef Merge branch 'master' of git.reim.ar:ReiMerc/temperature-alarm 2025-03-20 09:48:08 +01:00
Jeas0001
743b3d6941 Removed api/ from route 2025-03-20 09:46:15 +01:00
Jeas0001
928c4e7a42 Authorize sat op og lavet en healthcontroller 2025-03-20 09:35:38 +01:00
5 changed files with 36 additions and 4 deletions

View File

@ -1,11 +1,12 @@
using Microsoft.AspNetCore.Mvc;
using Api.Models;
using Api.DBAccess;
using Microsoft.AspNetCore.Authorization;
namespace Api.Controllers
{
[ApiController]
[Route("api/[controller]")]
[Route("[controller]")]
public class DeviceController : Controller
{
private readonly DBContext _context;
@ -15,7 +16,7 @@ namespace Api.Controllers
_context = context;
}
// For at få json webtokens til at virke skriv [Authorize] over de endpoints
[Authorize]
[HttpGet]
public async Task<IActionResult> GetDevices(int userId)
{
@ -25,6 +26,7 @@ namespace Api.Controllers
return Ok(devices);
}
[Authorize]
[HttpPost("adddevice/{userId}")]
public async Task<IActionResult> AddDevice([FromBody] Device device, int userId)
{
@ -34,6 +36,7 @@ namespace Api.Controllers
return Ok();
}
[Authorize]
[HttpGet("logs/{deviceId}")]
public async Task<IActionResult> GetLogs(int deviceId)
{
@ -43,6 +46,7 @@ namespace Api.Controllers
return Ok(logs);
}
[Authorize]
[HttpPut("Edit/{deviceId}")]
public async Task<IActionResult> EditDevice([FromBody] Device device, int deviceId)
{

View File

@ -0,0 +1,12 @@
using Microsoft.AspNetCore.Mvc;
namespace Api.Controllers
{
[ApiController]
[Route("[controller]")]
public class HealthController : Controller
{
[HttpGet]
public async Task<IActionResult> Health() { return Ok(); }
}
}

View File

@ -5,11 +5,12 @@ using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;
using Microsoft.AspNetCore.Authorization;
namespace Api.Controllers
{
[ApiController]
[Route("api/[controller]")]
[Route("[controller]")]
public class UserController : Controller
{
private readonly DBContext _context;
@ -40,6 +41,7 @@ namespace Api.Controllers
return Ok();
}
[Authorize]
[HttpPut("Edit/{userId}")]
public async Task<IActionResult> EditUser([FromBody] User user, int userId)
{
@ -49,6 +51,7 @@ namespace Api.Controllers
return Ok();
}
[Authorize]
[HttpDelete("Delete/{userId}")]
public async Task<IActionResult> DeleteUser(int userId)
{

View File

@ -44,7 +44,11 @@ namespace Api.DBAccess
public async Task<User> Login(User user)
{
var profile = await _context.Users.FirstAsync(u => u.UserName == user.UserName);
if (profile == null)
{
profile = await _context.Users.FirstAsync(u => u.Email == user.Email);
}
string hashedPassword = ComputeHash(user.Password, SHA256.Create(), profile.Salt);
if (hashedPassword == user.Password)

View File

@ -0,0 +1,9 @@
namespace Api.Models
{
public class Login
{
public string Login { get; set; }
public string Password { get; set; }
}
}