@@ -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> {
|
||||
@@ -47,15 +47,25 @@ class AgentApiService {
|
||||
async searchLogs(filters?: LogFilters): Promise<LogEntry[]> {
|
||||
const response = await apiClient.get<LogEntry[]>(this.logsBasePath, {
|
||||
params: {
|
||||
level: filters?.level,
|
||||
service: filters?.service,
|
||||
agent: filters?.agent,
|
||||
date_from: filters?.date_from,
|
||||
date_to: filters?.date_to,
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -71,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
|
||||
@@ -93,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;
|
||||
}
|
||||
|
||||
@@ -100,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> {
|
||||
|
||||
@@ -22,7 +22,7 @@ class ApiClient {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
validateStatus: (status) => {
|
||||
return status >= 200 && status < 500;
|
||||
return status >= 200 && status < 400;
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user