Add API for recent power

This commit is contained in:
2019-10-22 19:46:46 -04:00
parent 4b6a46a5ea
commit 39a56f2773
4 changed files with 23 additions and 0 deletions

View File

@@ -19,6 +19,12 @@ namespace ChrisKaczor.HomeMonitor.Power.Service.Controllers
_database = database;
}
[HttpGet("recent")]
public async Task<ActionResult<PowerStatus>> GetRecent()
{
return await _database.GetRecentStatus();
}
[HttpGet("history-grouped")]
public async Task<ActionResult<List<PowerStatusGrouped>>> GetHistoryGrouped(DateTimeOffset start, DateTimeOffset end, int bucketMinutes = 2)
{

View File

@@ -79,6 +79,15 @@ namespace ChrisKaczor.HomeMonitor.Power.Service.Data
connection.Query(query, powerStatus);
}
public async Task<PowerStatus> GetRecentStatus()
{
await using var connection = CreateConnection();
var query = ResourceReader.GetString("ChrisKaczor.HomeMonitor.Power.Service.Data.Resources.GetRecentStatus.sql");
return await connection.QueryFirstOrDefaultAsync<PowerStatus>(query);
}
public async Task<IEnumerable<PowerStatusGrouped>> GetStatusHistoryGrouped(DateTimeOffset start, DateTimeOffset end, int bucketMinutes)
{
await using var connection = CreateConnection();

View File

@@ -0,0 +1,6 @@
SELECT TOP 1
Timestamp,
Generation,
Consumption
FROM Status
ORDER BY Timestamp DESC

View File

@@ -11,12 +11,14 @@
<None Remove="Data\Resources\CreateStatus.sql" />
<None Remove="Data\Resources\GetStatusHistoryGrouped.sql" />
<None Remove="Data\Resources\Schema.sql" />
<None Remove="Data\Resources\GetRecentStatus.sql" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Data\Resources\CreateStatus.sql" />
<EmbeddedResource Include="Data\Resources\GetStatusHistoryGrouped.sql" />
<EmbeddedResource Include="Data\Resources\Schema.sql" />
<EmbeddedResource Include="Data\Resources\GetRecentStatus.sql" />
</ItemGroup>
<ItemGroup>