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;
|
_database = database;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet("recent")]
|
||||||
|
public async Task<ActionResult<PowerStatus>> GetRecent()
|
||||||
|
{
|
||||||
|
return await _database.GetRecentStatus();
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("history-grouped")]
|
[HttpGet("history-grouped")]
|
||||||
public async Task<ActionResult<List<PowerStatusGrouped>>> GetHistoryGrouped(DateTimeOffset start, DateTimeOffset end, int bucketMinutes = 2)
|
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);
|
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)
|
public async Task<IEnumerable<PowerStatusGrouped>> GetStatusHistoryGrouped(DateTimeOffset start, DateTimeOffset end, int bucketMinutes)
|
||||||
{
|
{
|
||||||
await using var connection = CreateConnection();
|
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\CreateStatus.sql" />
|
||||||
<None Remove="Data\Resources\GetStatusHistoryGrouped.sql" />
|
<None Remove="Data\Resources\GetStatusHistoryGrouped.sql" />
|
||||||
<None Remove="Data\Resources\Schema.sql" />
|
<None Remove="Data\Resources\Schema.sql" />
|
||||||
|
<None Remove="Data\Resources\GetRecentStatus.sql" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="Data\Resources\CreateStatus.sql" />
|
<EmbeddedResource Include="Data\Resources\CreateStatus.sql" />
|
||||||
<EmbeddedResource Include="Data\Resources\GetStatusHistoryGrouped.sql" />
|
<EmbeddedResource Include="Data\Resources\GetStatusHistoryGrouped.sql" />
|
||||||
<EmbeddedResource Include="Data\Resources\Schema.sql" />
|
<EmbeddedResource Include="Data\Resources\Schema.sql" />
|
||||||
|
<EmbeddedResource Include="Data\Resources\GetRecentStatus.sql" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user