Skip to content

Commit e3a5d86

Browse files
authored
feat: updated Dashboard Implementation
2 parents d8aca75 + 83b7d2f commit e3a5d86

File tree

9 files changed

+848
-289
lines changed

9 files changed

+848
-289
lines changed

ThingConnect.Pulse.Server/Controllers/StatusController.cs

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,36 +24,21 @@ public StatusController(IStatusService statusService, ILogger<StatusController>
2424
/// </summary>
2525
/// <param name="group">Optional group ID filter</param>
2626
/// <param name="search">Optional search string (matches name or host)</param>
27-
/// <param name="page">Page number (1-based)</param>
28-
/// <param name="pageSize">Number of items per page</param>
2927
/// <returns>Paged list of endpoint status with sparkline data</returns>
3028
[HttpGet("live")]
31-
public async Task<ActionResult<PagedLiveDto>> GetLiveStatusAsync(
29+
public async Task<ActionResult<LiveStatusItemDto>> GetLiveStatusAsync(
3230
[FromQuery] string? group = null,
33-
[FromQuery] string? search = null,
34-
[FromQuery] int page = 1,
35-
[FromQuery] int pageSize = 50)
31+
[FromQuery] string? search = null)
3632
{
3733
try
3834
{
39-
// Validate pagination parameters
40-
if (page < 1)
41-
{
42-
return BadRequest(new { message = "Page must be >= 1" });
43-
}
44-
45-
if (pageSize < 1 || pageSize > 500)
46-
{
47-
return BadRequest(new { message = "PageSize must be between 1 and 500" });
48-
}
49-
5035
_logger.LogInformation("Getting live status - group: {Group}, search: {Search}, page: {Page}, pageSize: {PageSize}",
51-
group, search, page, pageSize);
52-
53-
PagedLiveDto result = await _statusService.GetLiveStatusAsync(group, search, page, pageSize);
36+
group, search);
5437

55-
return Ok(result);
56-
}
38+
var result = await _statusService.GetLiveStatusAsync(group, search);
39+
40+
return Ok(new { items = result });
41+
}
5742
catch (Exception ex)
5843
{
5944
_logger.LogError(ex, "Error getting live status");

ThingConnect.Pulse.Server/Services/StatusService.cs

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace ThingConnect.Pulse.Server.Services;
88

99
public interface IStatusService
1010
{
11-
Task<PagedLiveDto> GetLiveStatusAsync(string? group, string? search, int page, int pageSize);
11+
Task<List<LiveStatusItemDto>> GetLiveStatusAsync(string? group, string? search);
1212
}
1313

1414
public sealed class StatusService : IStatusService
@@ -24,10 +24,9 @@ public StatusService(PulseDbContext context, ILogger<StatusService> logger, IMem
2424
_cache = cache;
2525
}
2626

27-
public async Task<PagedLiveDto> GetLiveStatusAsync(string? group, string? search, int page, int pageSize)
27+
public async Task<List<LiveStatusItemDto>> GetLiveStatusAsync(string? group, string? search)
2828
{
29-
_logger.LogDebug("Getting live status with filters: group={Group}, search={Search}, page={Page}, pageSize={PageSize}",
30-
group, search, page, pageSize);
29+
_logger.LogDebug("Getting live status with filters: group={Group}, search={Search}", group, search);
3130

3231
// Build base query for enabled endpoints
3332
IQueryable<Data.Endpoint> query = _context.Endpoints
@@ -56,11 +55,10 @@ public async Task<PagedLiveDto> GetLiveStatusAsync(string? group, string? search
5655

5756
// Apply pagination
5857
List<Data.Endpoint> endpoints = await query
59-
.OrderBy(e => e.GroupId)
60-
.ThenBy(e => e.Name)
61-
.Skip((page - 1) * pageSize)
62-
.Take(pageSize)
63-
.ToListAsync();
58+
.OrderBy(e => e.GroupId)
59+
.ThenBy(e => e.Name)
60+
.ToListAsync();
61+
6462

6563
// Get live status for each endpoint
6664
var items = new List<LiveStatusItemDto>();
@@ -100,16 +98,7 @@ public async Task<PagedLiveDto> GetLiveStatusAsync(string? group, string? search
10098
});
10199
}
102100

103-
return new PagedLiveDto
104-
{
105-
Meta = new PageMetaDto
106-
{
107-
Page = page,
108-
PageSize = pageSize,
109-
Total = totalCount
110-
},
111-
Items = items
112-
};
101+
return items;
113102
}
114103

115104
/// <summary>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(git add:*)"
5+
],
6+
"deny": [],
7+
"ask": []
8+
}
9+
}

thingconnect.pulse.client/src/api/services/status.service.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,6 @@ export class StatusService {
1313
searchParams.append('search', params.search);
1414
}
1515

16-
if (params.page) {
17-
searchParams.append('page', params.page.toString());
18-
}
19-
20-
if (params.pageSize) {
21-
searchParams.append('pageSize', params.pageSize.toString());
22-
}
23-
2416
const queryString = searchParams.toString();
2517
const url = `/api/status/live${queryString ? `?${queryString}` : ''}`;
2618

0 commit comments

Comments
 (0)