source: resTools_backend/backend/Controllers/UsersController.cs@ cc4db18

Last change on this file since cc4db18 was d76b7ee, checked in by Danilo <danilo.najkov@…>, 2 years ago

prototype final

  • Property mode set to 100644
File size: 1.3 KB
RevLine 
[b66b3ac]1namespace backend.Controllers;
2
[057037b]3using backend.DTOs;
[d76b7ee]4using backend.Entities;
[b66b3ac]5using backend.Helpers;
6using backend.Models;
7using backend.Services;
8using Microsoft.AspNetCore.Mvc;
9
10[ApiController]
11[Route("[controller]")]
12public class UsersController : ControllerBase
13{
[057037b]14 private readonly IUserService _userService = null;
[b66b3ac]15
16 public UsersController(IUserService userService)
17 {
18 _userService = userService;
19 }
20
[057037b]21 [HttpPost("login")]
22 public async Task<AuthenticateResponse> Authenticate(AuthenticateRequest model)
[b66b3ac]23 {
[057037b]24 var response = await _userService.Authenticate(model);
[b66b3ac]25
26 if (response == null)
[057037b]27 throw new Exception("Email or password is incorrect");
[b66b3ac]28
[057037b]29 return response;
[b66b3ac]30 }
31
[d76b7ee]32 [HttpGet("authed")]
33 public async Task<AuthenticateResponse> IsAuthed()
34 {
35 int userId = 0;
36 try
37 {
38 userId = (int)this.HttpContext.Items["User"];
39 }catch (Exception ex){ return null; }
40 User user = await _userService.GetById(userId);
41 return new AuthenticateResponse() { Email=user.Email, Id = user.Id};
42 }
43
[057037b]44 [HttpPost("register")]
45 public async Task<AuthenticateResponse> Register(CreateUserRequest req)
[b66b3ac]46 {
[057037b]47 var response = await _userService.Register(req);
48 return response;
[b66b3ac]49 }
50}
Note: See TracBrowser for help on using the repository browser.