Добавить auto-capture ошибок и фильтр source у тикетов. Refs EventHub/EventHubBack#35
CI / test (push) Successful in 5m53s
CI / push-image (push) Successful in 10m1s
CI / ci-done (push) Successful in 0s
CI / deploy-ift (push) Successful in 47s
CI / e2e-ift (push) Successful in 2m49s
CI / deploy-stage (push) Successful in 7m58s
CI / e2e-stage (push) Successful in 1m20s

This commit is contained in:
2026-07-17 00:44:13 +03:00
parent b2cd4b53fc
commit b39a676e1a
10 changed files with 296 additions and 16 deletions
+14 -1
View File
@@ -1,6 +1,15 @@
import apiClient from './client';
import { Ticket, TicketListParams, TicketStats, PaginatedResponse } from '../types/api';
export type TicketSource = 'backend' | 'frontend' | 'manual';
export interface CreateTicketPayload {
error_message: string;
stacktrace?: string;
context?: Record<string, unknown> | string;
source?: TicketSource;
}
export const ticketsApi = {
getTickets: async (params: TicketListParams): Promise<PaginatedResponse<Ticket>> => {
const { data, headers } = await apiClient.get('/v1/admin/tickets', { params });
@@ -11,6 +20,10 @@ export const ticketsApi = {
const { data } = await apiClient.get(`/v1/admin/tickets/${id}`);
return data;
},
createTicket: async (payload: CreateTicketPayload): Promise<Ticket> => {
const { data } = await apiClient.post('/v1/tickets', payload);
return data;
},
updateTicket: async (id: string, payload: Partial<Ticket>): Promise<void> => {
await apiClient.put(`/v1/admin/tickets/${id}`, payload);
},
@@ -21,4 +34,4 @@ export const ticketsApi = {
const { data } = await apiClient.get('/v1/admin/tickets/stats');
return data;
},
};
};