summaryrefslogtreecommitdiff
path: root/Controllers/AuthorsController.cs
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-09-15 20:55:44 -0500
committerHombreLaser <sebastian-440@live.com>2022-09-15 20:55:44 -0500
commit2c9c2cc3b414115bca9b6c63ca7b20d49a8a8ec1 (patch)
tree0344372eca04eab992ece36c4e07511f6f0214c6 /Controllers/AuthorsController.cs
parent3381c633fcd73e5159ae4a607835167ebdbb12ee (diff)
Agregar autor
Diffstat (limited to 'Controllers/AuthorsController.cs')
-rw-r--r--Controllers/AuthorsController.cs69
1 files changed, 69 insertions, 0 deletions
diff --git a/Controllers/AuthorsController.cs b/Controllers/AuthorsController.cs
new file mode 100644
index 0000000..845708b
--- /dev/null
+++ b/Controllers/AuthorsController.cs
@@ -0,0 +1,69 @@
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using LibraryAPI.Models;
+
+namespace LibraryAPI.Controllers {
+ [Route("api/authors")]
+ [ApiController]
+ public class AuthorsController : ControllerBase {
+ private readonly LibraryContext _context;
+
+ public AuthorsController(LibraryContext context) {
+ _context = context;
+ }
+
+ [HttpGet]
+ public async Task<ActionResult<IEnumerable<Author>>> getAuthors() {
+ if(_context.Authors == null) {
+ return NotFound();
+ }
+
+ return await _context.Authors.ToListAsync();
+ }
+
+ [HttpGet("{id}")]
+ public async Task<ActionResult<Author>> GetAuthor(long id) {
+ if(_context.Authors == null)
+ return NotFound();
+
+ var author = await _context.Authors.FindAsync(id);
+
+ if(author == null)
+ return NotFound();
+
+ return author;
+ }
+
+ [HttpPut("{id}")]
+ public async Task<ActionResult> PutAuthor(long id, Author author) {
+ if(id != author.Id)
+ return BadRequest("Attempted to modify a different resource");
+
+ _context.Update(author);
+ await _context.SaveChangesAsync();
+
+ return Ok();
+ }
+
+ [HttpPost]
+ public async Task<ActionResult<Author>> PostAuthor(Author author) {
+ _context.Authors.Add(author);
+ await _context.SaveChangesAsync();
+
+ return Ok();
+ }
+
+ [HttpDelete("{id}")]
+ public async Task<ActionResult> DeleteAuthor(long id) {
+ var author = await _context.Authors.FindAsync(id);
+
+ if(author == null)
+ return NotFound();
+
+ _context.Authors.Remove(author);
+ await _context.SaveChangesAsync();
+
+ return Ok();
+ }
+ }
+} \ No newline at end of file