mirror of
https://github.com/ckaczor/HomeMonitor.git
synced 2026-01-13 17:22:54 -05:00
Add API for recent power
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
6
Power/Service/Data/Resources/GetRecentStatus.sql
Normal file
6
Power/Service/Data/Resources/GetRecentStatus.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
SELECT TOP 1
|
||||
Timestamp,
|
||||
Generation,
|
||||
Consumption
|
||||
FROM Status
|
||||
ORDER BY Timestamp DESC
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user