Fix double /api/ prefix in API endpoint calls

When VITE_API_URL=/api, axios baseURL is already set to /api. However, all endpoint calls included the /api/ prefix, creating double paths like /api/api/auth/login/.

Removed /api/ prefix from 81 API endpoint calls across 22 files:
- src/api/auth.ts - Fixed login, logout, me, refresh, hijack endpoints
- src/api/client.ts - Fixed token refresh endpoint
- src/api/profile.ts - Fixed all profile, email, password, MFA, sessions endpoints
- src/hooks/*.ts - Fixed all remaining API calls (users, appointments, resources, etc)
- src/pages/*.tsx - Fixed signup and email verification endpoints

This ensures API requests use the correct path: /api/auth/login/ instead of /api/api/auth/login/

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
poduck
2025-11-30 15:27:57 -05:00
parent f1d4dac9d2
commit 4cd6610f2a
53 changed files with 476 additions and 687 deletions

View File

@@ -17,52 +17,52 @@ export const getTickets = async (filters?: TicketFilters): Promise<Ticket[]> =>
if (filters?.ticketType) params.append('ticket_type', filters.ticketType);
if (filters?.assignee) params.append('assignee', filters.assignee);
const response = await apiClient.get(`/api/tickets/${params.toString() ? `?${params.toString()}` : ''}`);
const response = await apiClient.get(`/tickets/${params.toString() ? `?${params.toString()}` : ''}`);
return response.data;
};
export const getTicket = async (id: string): Promise<Ticket> => {
const response = await apiClient.get(`/api/tickets/${id}/`);
const response = await apiClient.get(`/tickets/${id}/`);
return response.data;
};
export const createTicket = async (data: Partial<Ticket>): Promise<Ticket> => {
const response = await apiClient.post('/api/tickets/', data);
const response = await apiClient.post('/tickets/', data);
return response.data;
};
export const updateTicket = async (id: string, data: Partial<Ticket>): Promise<Ticket> => {
const response = await apiClient.patch(`/api/tickets/${id}/`, data);
const response = await apiClient.patch(`/tickets/${id}/`, data);
return response.data;
};
export const deleteTicket = async (id: string): Promise<void> => {
await apiClient.delete(`/api/tickets/${id}/`);
await apiClient.delete(`/tickets/${id}/`);
};
export const getTicketComments = async (ticketId: string): Promise<TicketComment[]> => {
const response = await apiClient.get(`/api/tickets/${ticketId}/comments/`);
const response = await apiClient.get(`/tickets/${ticketId}/comments/`);
return response.data;
};
export const createTicketComment = async (ticketId: string, data: Partial<TicketComment>): Promise<TicketComment> => {
const response = await apiClient.post(`/api/tickets/${ticketId}/comments/`, data);
const response = await apiClient.post(`/tickets/${ticketId}/comments/`, data);
return response.data;
};
// Ticket Templates
export const getTicketTemplates = async (): Promise<TicketTemplate[]> => {
const response = await apiClient.get('/api/tickets/templates/');
const response = await apiClient.get('/tickets/templates/');
return response.data;
};
export const getTicketTemplate = async (id: string): Promise<TicketTemplate> => {
const response = await apiClient.get(`/api/tickets/templates/${id}/`);
const response = await apiClient.get(`/tickets/templates/${id}/`);
return response.data;
};
// Canned Responses
export const getCannedResponses = async (): Promise<CannedResponse[]> => {
const response = await apiClient.get('/api/tickets/canned-responses/');
const response = await apiClient.get('/tickets/canned-responses/');
return response.data;
};