fixes
This commit is contained in:
parent
a06991a318
commit
7b7998f408
@ -44,7 +44,7 @@ namespace InternshipSystem.Api.Controllers
|
||||
|
||||
[HttpGet("loginEdition")]
|
||||
[Authorize]
|
||||
public async Task<ActionResult> LoginIntoEdition(Guid editionId, User user, CancellationToken token)
|
||||
public async Task<ActionResult> LoginIntoEdition(Guid editionId, [FromServices] User user, CancellationToken token)
|
||||
{
|
||||
var edition = await _context.Editions.FindAsync(editionId);
|
||||
|
||||
|
@ -35,7 +35,8 @@ namespace InternshipSystem.Api.Controllers
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[Authorize(Policy = Policies.RegisteredOnly)]
|
||||
public async Task<ActionResult> AddDocumentToInternship([FromBody] DocumentPublishRequest documentRequest, CancellationToken cancellationToken)
|
||||
public async Task<ActionResult> AddDocumentToInternship([FromBody] DocumentPublishRequest documentRequest,
|
||||
[FromServices] User user, CancellationToken cancellationToken)
|
||||
{
|
||||
var validator = new DocumentPublishRequest.Validator();
|
||||
var validationResult = await validator.ValidateAsync(documentRequest, cancellationToken);
|
||||
@ -45,9 +46,7 @@ namespace InternshipSystem.Api.Controllers
|
||||
return BadRequest(validationResult.ToString());
|
||||
}
|
||||
|
||||
var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value);
|
||||
|
||||
return await _internshipService.AddDocumentToInternship(documentRequest, personNumber, cancellationToken);
|
||||
return await _internshipService.AddDocumentToInternship(documentRequest, user.PersonNumber, cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
@ -38,15 +38,13 @@ namespace InternshipSystem.Api.Controllers
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<IList<EditionResult>>> GetAvailableEditions(CancellationToken token)
|
||||
public async Task<ActionResult<IList<EditionResult>>> GetAvailableEditions([FromServices] User user, CancellationToken token)
|
||||
{
|
||||
var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value);
|
||||
|
||||
var editions =
|
||||
await Context.Editions
|
||||
.Where(edition =>
|
||||
edition.Internships
|
||||
.Any(internship => internship.Student.Id == personNumber))
|
||||
.Any(internship => internship.Student.Id == user.PersonNumber))
|
||||
.ProjectTo<EditionResult>(Mapper.ConfigurationProvider)
|
||||
.ToListAsync(token);
|
||||
|
||||
@ -74,7 +72,7 @@ namespace InternshipSystem.Api.Controllers
|
||||
var edition =
|
||||
await Context.Editions
|
||||
.Include(e => e.AvailableSubjects)
|
||||
.Where(e => e.Id == id)
|
||||
.Where(e => e.Id.Equals(id))
|
||||
.ProjectTo<EditionConfigurationResult>(Mapper.ConfigurationProvider)
|
||||
.FirstOrDefaultAsync(token);
|
||||
|
||||
|
@ -31,8 +31,8 @@ namespace InternshipSystem.Api.Controllers
|
||||
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[Authorize]
|
||||
public async Task<ActionResult> SubmitRegistrationForm([FromBody] RegistrationFormQuery registrationQuery,
|
||||
CancellationToken cancellationToken)
|
||||
public async Task<ActionResult> SubmitRegistrationForm([FromBody] RegistrationFormQuery registrationQuery,
|
||||
[FromServices] User user, CancellationToken cancellationToken)
|
||||
{
|
||||
var validator = new RegistrationFormQuery.Validator();
|
||||
var validationResult = await validator.ValidateAsync(registrationQuery, cancellationToken);
|
||||
@ -41,10 +41,8 @@ namespace InternshipSystem.Api.Controllers
|
||||
{
|
||||
return BadRequest(validationResult.ToString());
|
||||
}
|
||||
|
||||
var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value);
|
||||
|
||||
return await _internshipService.SubmitRegistration(registrationQuery, personNumber, cancellationToken);
|
||||
return await _internshipService.SubmitRegistration(registrationQuery, user.PersonNumber, cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
@ -41,7 +42,7 @@ namespace InternshipSystem.Api.Controllers
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[Authorize]
|
||||
[Authorize(Policy = Policies.RegisteredOnly)]
|
||||
public async Task<ActionResult<IList<InternshipType>>> GetInternshipTypesForEdition([FromServices] User user, CancellationToken cancellationToken)
|
||||
{
|
||||
var edition =
|
||||
|
@ -33,7 +33,7 @@ namespace InternshipSystem.Api.Controllers
|
||||
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[Authorize]
|
||||
public async Task<IActionResult> RegisterStudentForEdition([FromBody] Guid registrationCode, CancellationToken token)
|
||||
public async Task<IActionResult> RegisterStudentForEdition([FromBody] Guid registrationCode, [FromServices] User user, CancellationToken token)
|
||||
{
|
||||
var edition = await _context.Editions.FindAsync(registrationCode, token);
|
||||
|
||||
@ -41,10 +41,8 @@ namespace InternshipSystem.Api.Controllers
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
var personNumber = long.Parse(User.FindFirst(InternshipClaims.PersonNumber).Value);
|
||||
|
||||
var student = await _context.Students.FindAsync(personNumber, token);
|
||||
|
||||
var student = await _context.Students.FindAsync(user.PersonNumber, token);
|
||||
|
||||
edition.RegisterInternship(student);
|
||||
await _context.SaveChangesAsync(token);
|
||||
|
@ -22,12 +22,19 @@ namespace InternshipSystem.Api.ModelBinders
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
Guid? editionGuid = null;
|
||||
if (principal.FindFirst(InternshipClaims.Edition) != null
|
||||
&& Guid.TryParse(principal.FindFirst(InternshipClaims.Edition).Value, out var edition))
|
||||
{
|
||||
editionGuid = edition;
|
||||
}
|
||||
|
||||
var user = new User
|
||||
{
|
||||
Name = principal.FindFirst(ClaimTypes.Name).Value,
|
||||
PersonNumber = long.Parse(principal.FindFirst(InternshipClaims.PersonNumber).Value),
|
||||
EditionId = Guid.TryParse(principal.FindFirst(InternshipClaims.Edition).Value, out var edition) ? edition : (Guid?) null
|
||||
EditionId = editionGuid
|
||||
};
|
||||
|
||||
bindingContext.Result = ModelBindingResult.Success(user);
|
||||
|
Loading…
Reference in New Issue
Block a user