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) {} [HttpGet] public async Task GetResume(int? ResumeID) { if (ResumeID != null) { Resume? resume = await _databaseService.GetResume(ResumeID.Value); if (resume != null) { return Ok(resume); } return NotFound("Unable to find resume"); } else { if (isLoggedIn()) { int accountID = getLoggedInUserID(); Resume[] resumes = await _databaseService.GetResumes(accountID); return Ok(resumes); } return NotFound("Not logged in"); } } [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("Resume doesn't exist or you are not the owner"); } return NotFound("Not logged in"); } [HttpDelete] public async Task DeleteResume(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("Resume doesn't exist or you are not the owner"); } return NotFound("Not logged in"); } } }