@@ -22,14 +22,14 @@ class AgentApiService {
|
|||||||
|
|
||||||
async getAgents(): Promise<AgentInfo[]> {
|
async getAgents(): Promise<AgentInfo[]> {
|
||||||
const response = await apiClient.get<AgentInfo[]>(this.basePath);
|
const response = await apiClient.get<AgentInfo[]>(this.basePath);
|
||||||
return response.data;
|
return Array.isArray(response.data) ? response.data : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
async getUsers(): Promise<TokenUser[]> {
|
async getUsers(): Promise<TokenUser[]> {
|
||||||
const response = await apiClient.get<TokenUser[]>(
|
const response = await apiClient.get<TokenUser[]>(
|
||||||
`${this.authBasePath}/tokens`,
|
`${this.authBasePath}/tokens`,
|
||||||
);
|
);
|
||||||
return response.data;
|
return Array.isArray(response.data) ? response.data : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
async createUser(data: TokenCreate): Promise<void> {
|
async createUser(data: TokenCreate): Promise<void> {
|
||||||
@@ -47,15 +47,25 @@ class AgentApiService {
|
|||||||
async searchLogs(filters?: LogFilters): Promise<LogEntry[]> {
|
async searchLogs(filters?: LogFilters): Promise<LogEntry[]> {
|
||||||
const response = await apiClient.get<LogEntry[]>(this.logsBasePath, {
|
const response = await apiClient.get<LogEntry[]>(this.logsBasePath, {
|
||||||
params: {
|
params: {
|
||||||
level: filters?.level,
|
level: filters?.level || undefined,
|
||||||
service: filters?.service,
|
service: filters?.service || undefined,
|
||||||
agent: filters?.agent,
|
agent: filters?.agent || undefined,
|
||||||
date_from: filters?.date_from,
|
date_from: filters?.date_from || undefined,
|
||||||
date_to: filters?.date_to,
|
date_to: filters?.date_to || undefined,
|
||||||
limit: filters?.limit ?? 100,
|
limit: filters?.limit ?? 100,
|
||||||
offset: filters?.offset ?? 0,
|
offset: filters?.offset ?? 0,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!Array.isArray(response.data)) {
|
||||||
|
console.error(
|
||||||
|
"[Logs] Unexpected response format:",
|
||||||
|
typeof response.data,
|
||||||
|
response.data,
|
||||||
|
);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
return response.data;
|
return response.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,21 +81,21 @@ class AgentApiService {
|
|||||||
const response = await apiClient.get<string[]>(
|
const response = await apiClient.get<string[]>(
|
||||||
`${this.logsBasePath}/agents`,
|
`${this.logsBasePath}/agents`,
|
||||||
);
|
);
|
||||||
return response.data;
|
return Array.isArray(response.data) ? response.data : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
async getDistinctLevels(): Promise<string[]> {
|
async getDistinctLevels(): Promise<string[]> {
|
||||||
const response = await apiClient.get<string[]>(
|
const response = await apiClient.get<string[]>(
|
||||||
`${this.logsBasePath}/levels`,
|
`${this.logsBasePath}/levels`,
|
||||||
);
|
);
|
||||||
return response.data;
|
return Array.isArray(response.data) ? response.data : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
async getDistinctServices(): Promise<string[]> {
|
async getDistinctServices(): Promise<string[]> {
|
||||||
const response = await apiClient.get<string[]>(
|
const response = await apiClient.get<string[]>(
|
||||||
`${this.logsBasePath}/services`,
|
`${this.logsBasePath}/services`,
|
||||||
);
|
);
|
||||||
return response.data;
|
return Array.isArray(response.data) ? response.data : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// User management methods
|
// User management methods
|
||||||
@@ -93,6 +103,9 @@ class AgentApiService {
|
|||||||
const response = await apiClient.get<TokenUser>(
|
const response = await apiClient.get<TokenUser>(
|
||||||
`${this.authBasePath}/users/${login}`,
|
`${this.authBasePath}/users/${login}`,
|
||||||
);
|
);
|
||||||
|
if (!response.data || typeof response.data !== "object") {
|
||||||
|
throw new Error(`User not found: ${login}`);
|
||||||
|
}
|
||||||
return response.data;
|
return response.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,7 +113,7 @@ class AgentApiService {
|
|||||||
const response = await apiClient.get<TokenUser[]>(
|
const response = await apiClient.get<TokenUser[]>(
|
||||||
`${this.authBasePath}/users/inactive`,
|
`${this.authBasePath}/users/inactive`,
|
||||||
);
|
);
|
||||||
return response.data;
|
return Array.isArray(response.data) ? response.data : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
async updateUser(login: string, data: TokenUpdate): Promise<void> {
|
async updateUser(login: string, data: TokenUpdate): Promise<void> {
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class ApiClient {
|
|||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
},
|
},
|
||||||
validateStatus: (status) => {
|
validateStatus: (status) => {
|
||||||
return status >= 200 && status < 500;
|
return status >= 200 && status < 400;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user