Merge branch 'frontend' of gitea.d3m0k1d.ru:d3m0k1d/HellreigN into HEAD
ci-front / build (push) Successful in 1m54s

This commit is contained in:
nikita
2026-04-04 21:42:45 +03:00
3 changed files with 82 additions and 31 deletions
@@ -22,14 +22,14 @@ class AgentApiService {
async getAgents(): Promise<AgentInfo[]> {
const response = await apiClient.get<AgentInfo[]>(this.basePath);
return response.data;
return Array.isArray(response.data) ? response.data : [];
}
async getUsers(): Promise<TokenUser[]> {
const response = await apiClient.get<TokenUser[]>(
`${this.authBasePath}/tokens`,
);
return response.data;
return Array.isArray(response.data) ? response.data : [];
}
async createUser(data: TokenCreate): Promise<void> {
@@ -45,20 +45,27 @@ class AgentApiService {
}
async searchLogs(filters?: LogFilters): Promise<LogEntry[]> {
const response = await apiClient.get<LogEntry[]>(
`${this.logsBasePath}/mock`,
{
params: {
level: filters?.level,
service: filters?.service,
agent: filters?.agent,
date_from: filters?.date_from,
date_to: filters?.date_to,
limit: filters?.limit ?? 100,
offset: filters?.offset ?? 0,
},
const response = await apiClient.get<LogEntry[]>(this.logsBasePath, {
params: {
level: filters?.level || undefined,
service: filters?.service || undefined,
agent: filters?.agent || undefined,
date_from: filters?.date_from || undefined,
date_to: filters?.date_to || undefined,
limit: filters?.limit ?? 100,
offset: filters?.offset ?? 0,
},
);
});
if (!Array.isArray(response.data)) {
console.error(
"[Logs] Unexpected response format:",
typeof response.data,
response.data,
);
return [];
}
return response.data;
}
@@ -74,21 +81,21 @@ class AgentApiService {
const response = await apiClient.get<string[]>(
`${this.logsBasePath}/agents`,
);
return response.data;
return Array.isArray(response.data) ? response.data : [];
}
async getDistinctLevels(): Promise<string[]> {
const response = await apiClient.get<string[]>(
`${this.logsBasePath}/levels`,
);
return response.data;
return Array.isArray(response.data) ? response.data : [];
}
async getDistinctServices(): Promise<string[]> {
const response = await apiClient.get<string[]>(
`${this.logsBasePath}/services`,
);
return response.data;
return Array.isArray(response.data) ? response.data : [];
}
// User management methods
@@ -96,6 +103,9 @@ class AgentApiService {
const response = await apiClient.get<TokenUser>(
`${this.authBasePath}/users/${login}`,
);
if (!response.data || typeof response.data !== "object") {
throw new Error(`User not found: ${login}`);
}
return response.data;
}
@@ -103,7 +113,7 @@ class AgentApiService {
const response = await apiClient.get<TokenUser[]>(
`${this.authBasePath}/users/inactive`,
);
return response.data;
return Array.isArray(response.data) ? response.data : [];
}
async updateUser(login: string, data: TokenUpdate): Promise<void> {