public async Task <IActionResult> PutSkinToneLinks(ulong id, [FromBody] SkinToneLinks skinToneLinks) { if (!_authorizationService.ValidateJWTCookie(Request)) { return(Unauthorized(new { errors = new { Token = new string[] { "Invalid token" } }, status = 401 })); } if (id != skinToneLinks.Id) { return(BadRequest(new { errors = new { Id = new string[] { "ID sent does not match the one in the endpoint" } }, status = 400 })); } var correspondingSkinTone = await _context.SkinTones.FirstOrDefaultAsync(h => h.Id == skinToneLinks.SkinToneId); if (correspondingSkinTone == null) { return(NotFound(new { errors = new { SkinToneId = new string[] { "No matching skin tone entry was found" } }, status = 404 })); } _context.Entry(skinToneLinks).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SkinToneLinksExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <SkinToneLinks> > PostSkinToneLinks(SkinToneLinks skinToneLinks) { if (!_authorizationService.ValidateJWTCookie(Request)) { return(Unauthorized(new { errors = new { Token = new string[] { "Invalid token" } }, status = 401 })); } var correspondingSkinTone = await _context.SkinTones.FirstOrDefaultAsync(h => h.Id == skinToneLinks.SkinToneId); if (correspondingSkinTone == null) { return(NotFound(new { errors = new { SkinToneId = new string[] { "No matching skin tone entry was found" } }, status = 404 })); } if (skinToneLinks.Id != null) { skinToneLinks.Id = null; } _context.SkinToneLinks.Add(skinToneLinks); await _context.SaveChangesAsync(); return(CreatedAtAction("GetSkinToneLinks", new { id = skinToneLinks.Id }, skinToneLinks)); }