tiny server.
This commit is contained in:
60
Server/Controller/UserController.cs
Normal file
60
Server/Controller/UserController.cs
Normal file
@ -0,0 +1,60 @@
|
||||
using Blahblah.FlowerStory.Server.Data;
|
||||
using Blahblah.FlowerStory.Server.Data.Model;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Blahblah.FlowerStory.Server.Controller
|
||||
{
|
||||
[ApiController]
|
||||
[Route("users")]
|
||||
public class UserController : ControllerBase
|
||||
{
|
||||
private readonly FlowerDatabase database;
|
||||
private readonly ILogger<UserController> logger;
|
||||
|
||||
public UserController(FlowerDatabase db, ILogger<UserController> logger)
|
||||
{
|
||||
database = db;
|
||||
this.logger = logger;
|
||||
}
|
||||
|
||||
[Route("query")]
|
||||
[HttpGet]
|
||||
public ActionResult<UserItem[]> GetUsers()
|
||||
{
|
||||
//var forecast = Enumerable.Range(1, 5).Select(index =>
|
||||
// new WeatherForecast
|
||||
// {
|
||||
// Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
||||
// TemperatureC = Random.Shared.Next(-20, 55),
|
||||
// Summary = summaries[Random.Shared.Next(summaries.Length)]
|
||||
// })
|
||||
// .ToArray();
|
||||
//return Ok(forecast);
|
||||
return Ok(database.Users.ToArray());
|
||||
}
|
||||
|
||||
[Route("update")]
|
||||
[HttpPost]
|
||||
public ActionResult<int> UpdateUser([FromBody] UserItem item)
|
||||
{
|
||||
if (item.Id > 0)
|
||||
{
|
||||
database.Update(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
database.Add(item);
|
||||
}
|
||||
var count = database.SaveChanges();
|
||||
if (count > 0)
|
||||
{
|
||||
logger.LogInformation("{number} of entries written to database.", count);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.LogWarning("no data written to database.");
|
||||
}
|
||||
return Ok(item.Id);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user