fix: 401
ci-front / build (push) Successful in 1m57s

This commit is contained in:
2026-04-04 21:38:25 +03:00
parent 400ceab47c
commit bcca8fa298
2 changed files with 25 additions and 12 deletions
@@ -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> {
+1 -1
View File
@@ -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;
}, },
}); });