diff --git a/src/Server/Controllers/ResumeController.cs b/src/Server/Controllers/ResumeController.cs new file mode 100644 index 0000000..9e12fc3 --- /dev/null +++ b/src/Server/Controllers/ResumeController.cs @@ -0,0 +1,63 @@ +using Microsoft.AspNetCore.Mvc; +using BoredCareers.Services.DatabaseService; +using BoredCareers.Entities; +using System.Web.Http; + +namespace BoredCareers.Controllers { + [ApiController] + [Route("api/resume/")] + public class ResumeController : MistoxControllerBase { + + public ResumeController(DatabaseService db) : base(db) {} + + [Route("getall")] + [HttpPost] + public async Task GetResumes() { + if (isLoggedIn()) { + int accountID = getLoggedInUserID(); + Resume[] resumes = await _databaseService.GetResumes(accountID); + return Ok(resumes); + } + return NotFound(); + } + + [Route("getfull")] + [HttpPost] + public async Task GetResume([FromForm] int ResumeID) { + Resume? resume = await _databaseService.GetResume(ResumeID); + if (resume == null) { + return Ok(resume); + } + return NotFound(); + } + + [Route("set")] + [HttpPost] + public async Task SetResume([FromBody] Resume resume) { + if (isLoggedIn()) { + int AccountID = getLoggedInUserID(); + if (resume.AccountID == AccountID) { + await _databaseService.SetResume(resume); + return Ok(); + } + } + return NotFound(); + } + + [Route("delete")] + [HttpPost] + public async Task DeleteResume([FromForm] int ResumeID) { + if (isLoggedIn()){ + int accountID = getLoggedInUserID(); + Resume? resume = await _databaseService.GetResume(ResumeID); + if (resume != null && resume.AccountID == accountID) { + await _databaseService.DeleteResume(ResumeID); + return Ok(); + } + } + return NotFound(); + } + + } + +}