fix: Remove /api/ prefix from all API endpoints

- Fixed double /api/api/ issue in production
- Updated all API files to remove /api/ prefix since baseURL already includes it
- Files fixed: platform.ts, oauth.ts, customDomains.ts, domains.ts, business.ts, sandbox.ts
- Production build will need to be rebuilt after pulling these changes
This commit is contained in:
poduck
2025-11-30 16:04:20 -05:00
parent 4cd6610f2a
commit 2b28fc49c9
6 changed files with 40 additions and 40 deletions

View File

@@ -9,7 +9,7 @@ import { User, Resource, BusinessOAuthSettings, BusinessOAuthSettingsResponse, B
* Get all resources for the current business
*/
export const getResources = async (): Promise<Resource[]> => {
const response = await apiClient.get<Resource[]>('/api/resources/');
const response = await apiClient.get<Resource[]>('/resources/');
return response.data;
};
@@ -17,7 +17,7 @@ export const getResources = async (): Promise<Resource[]> => {
* Get all users for the current business
*/
export const getBusinessUsers = async (): Promise<User[]> => {
const response = await apiClient.get<User[]>('/api/business/users/');
const response = await apiClient.get<User[]>('/business/users/');
return response.data;
};
@@ -38,7 +38,7 @@ export const getBusinessOAuthSettings = async (): Promise<BusinessOAuthSettingsR
icon: string;
description: string;
}>;
}>('/api/business/oauth-settings/');
}>('/business/oauth-settings/');
// Transform snake_case to camelCase
return {
@@ -87,7 +87,7 @@ export const updateBusinessOAuthSettings = async (
icon: string;
description: string;
}>;
}>('/api/business/oauth-settings/', backendData);
}>('/business/oauth-settings/', backendData);
// Transform snake_case to camelCase
return {
@@ -112,7 +112,7 @@ export const getBusinessOAuthCredentials = async (): Promise<BusinessOAuthCreden
has_secret: boolean;
}>;
use_custom_credentials: boolean;
}>('/api/business/oauth-credentials/');
}>('/business/oauth-credentials/');
return {
credentials: response.data.credentials || {},
@@ -145,7 +145,7 @@ export const updateBusinessOAuthCredentials = async (
has_secret: boolean;
}>;
use_custom_credentials: boolean;
}>('/api/business/oauth-credentials/', backendData);
}>('/business/oauth-credentials/', backendData);
return {
credentials: response.data.credentials || {},

View File

@@ -9,7 +9,7 @@ import { CustomDomain } from '../types';
* Get all custom domains for the current business
*/
export const getCustomDomains = async (): Promise<CustomDomain[]> => {
const response = await apiClient.get<CustomDomain[]>('/api/business/domains/');
const response = await apiClient.get<CustomDomain[]>('/business/domains/');
return response.data;
};
@@ -17,7 +17,7 @@ export const getCustomDomains = async (): Promise<CustomDomain[]> => {
* Add a new custom domain
*/
export const addCustomDomain = async (domain: string): Promise<CustomDomain> => {
const response = await apiClient.post<CustomDomain>('/api/business/domains/', {
const response = await apiClient.post<CustomDomain>('/business/domains/', {
domain: domain.toLowerCase().trim(),
});
return response.data;
@@ -27,7 +27,7 @@ export const addCustomDomain = async (domain: string): Promise<CustomDomain> =>
* Delete a custom domain
*/
export const deleteCustomDomain = async (domainId: number): Promise<void> => {
await apiClient.delete(`/api/business/domains/${domainId}/`);
await apiClient.delete(`/business/domains/${domainId}/`);
};
/**
@@ -35,7 +35,7 @@ export const deleteCustomDomain = async (domainId: number): Promise<void> => {
*/
export const verifyCustomDomain = async (domainId: number): Promise<{ verified: boolean; message: string }> => {
const response = await apiClient.post<{ verified: boolean; message: string }>(
`/api/business/domains/${domainId}/verify/`
`/business/domains/${domainId}/verify/`
);
return response.data;
};
@@ -45,7 +45,7 @@ export const verifyCustomDomain = async (domainId: number): Promise<{ verified:
*/
export const setPrimaryDomain = async (domainId: number): Promise<CustomDomain> => {
const response = await apiClient.post<CustomDomain>(
`/api/business/domains/${domainId}/set-primary/`
`/business/domains/${domainId}/set-primary/`
);
return response.data;
};

View File

@@ -79,7 +79,7 @@ export const searchDomains = async (
query: string,
tlds: string[] = ['.com', '.net', '.org']
): Promise<DomainAvailability[]> => {
const response = await apiClient.post<DomainAvailability[]>('/api/domains/search/search/', {
const response = await apiClient.post<DomainAvailability[]>('/domains/search/search/', {
query,
tlds,
});
@@ -90,7 +90,7 @@ export const searchDomains = async (
* Get TLD pricing
*/
export const getDomainPrices = async (): Promise<DomainPrice[]> => {
const response = await apiClient.get<DomainPrice[]>('/api/domains/search/prices/');
const response = await apiClient.get<DomainPrice[]>('/domains/search/prices/');
return response.data;
};
@@ -100,7 +100,7 @@ export const getDomainPrices = async (): Promise<DomainPrice[]> => {
export const registerDomain = async (
data: DomainRegisterRequest
): Promise<DomainRegistration> => {
const response = await apiClient.post<DomainRegistration>('/api/domains/search/register/', data);
const response = await apiClient.post<DomainRegistration>('/domains/search/register/', data);
return response.data;
};
@@ -108,7 +108,7 @@ export const registerDomain = async (
* Get all registered domains for current business
*/
export const getRegisteredDomains = async (): Promise<DomainRegistration[]> => {
const response = await apiClient.get<DomainRegistration[]>('/api/domains/registrations/');
const response = await apiClient.get<DomainRegistration[]>('/domains/registrations/');
return response.data;
};
@@ -116,7 +116,7 @@ export const getRegisteredDomains = async (): Promise<DomainRegistration[]> => {
* Get a single domain registration
*/
export const getDomainRegistration = async (id: number): Promise<DomainRegistration> => {
const response = await apiClient.get<DomainRegistration>(`/api/domains/registrations/${id}/`);
const response = await apiClient.get<DomainRegistration>(`/domains/registrations/${id}/`);
return response.data;
};
@@ -128,7 +128,7 @@ export const updateNameservers = async (
nameservers: string[]
): Promise<DomainRegistration> => {
const response = await apiClient.post<DomainRegistration>(
`/api/domains/registrations/${id}/update_nameservers/`,
`/domains/registrations/${id}/update_nameservers/`,
{ nameservers }
);
return response.data;
@@ -142,7 +142,7 @@ export const toggleAutoRenew = async (
autoRenew: boolean
): Promise<DomainRegistration> => {
const response = await apiClient.post<DomainRegistration>(
`/api/domains/registrations/${id}/toggle_auto_renew/`,
`/domains/registrations/${id}/toggle_auto_renew/`,
{ auto_renew: autoRenew }
);
return response.data;
@@ -156,7 +156,7 @@ export const renewDomain = async (
years: number = 1
): Promise<DomainRegistration> => {
const response = await apiClient.post<DomainRegistration>(
`/api/domains/registrations/${id}/renew/`,
`/domains/registrations/${id}/renew/`,
{ years }
);
return response.data;
@@ -167,7 +167,7 @@ export const renewDomain = async (
*/
export const syncDomain = async (id: number): Promise<DomainRegistration> => {
const response = await apiClient.post<DomainRegistration>(
`/api/domains/registrations/${id}/sync/`
`/domains/registrations/${id}/sync/`
);
return response.data;
};
@@ -176,6 +176,6 @@ export const syncDomain = async (id: number): Promise<DomainRegistration> => {
* Get domain search history
*/
export const getSearchHistory = async (): Promise<DomainSearchHistory[]> => {
const response = await apiClient.get<DomainSearchHistory[]>('/api/domains/history/');
const response = await apiClient.get<DomainSearchHistory[]>('/domains/history/');
return response.data;
};

View File

@@ -45,7 +45,7 @@ export interface OAuthConnection {
* Get list of enabled OAuth providers
*/
export const getOAuthProviders = async (): Promise<OAuthProvider[]> => {
const response = await apiClient.get<{ providers: OAuthProvider[] }>('/api/auth/oauth/providers/');
const response = await apiClient.get<{ providers: OAuthProvider[] }>('/auth/oauth/providers/');
return response.data.providers;
};
@@ -54,7 +54,7 @@ export const getOAuthProviders = async (): Promise<OAuthProvider[]> => {
*/
export const initiateOAuth = async (provider: string): Promise<OAuthAuthorizationResponse> => {
const response = await apiClient.get<OAuthAuthorizationResponse>(
`/api/auth/oauth/${provider}/authorize/`
`/auth/oauth/${provider}/authorize/`
);
return response.data;
};
@@ -68,7 +68,7 @@ export const handleOAuthCallback = async (
state: string
): Promise<OAuthTokenResponse> => {
const response = await apiClient.post<OAuthTokenResponse>(
`/api/auth/oauth/${provider}/callback/`,
`/auth/oauth/${provider}/callback/`,
{
code,
state,
@@ -81,7 +81,7 @@ export const handleOAuthCallback = async (
* Get user's connected OAuth accounts
*/
export const getOAuthConnections = async (): Promise<OAuthConnection[]> => {
const response = await apiClient.get<{ connections: OAuthConnection[] }>('/api/auth/oauth/connections/');
const response = await apiClient.get<{ connections: OAuthConnection[] }>('/auth/oauth/connections/');
return response.data.connections;
};
@@ -89,5 +89,5 @@ export const getOAuthConnections = async (): Promise<OAuthConnection[]> => {
* Disconnect an OAuth account
*/
export const disconnectOAuth = async (provider: string): Promise<void> => {
await apiClient.delete(`/api/auth/oauth/connections/${provider}/`);
await apiClient.delete(`/auth/oauth/connections/${provider}/`);
};

View File

@@ -83,7 +83,7 @@ export interface PlatformUser {
* Get all businesses (platform admin only)
*/
export const getBusinesses = async (): Promise<PlatformBusiness[]> => {
const response = await apiClient.get<PlatformBusiness[]>('/api/platform/businesses/');
const response = await apiClient.get<PlatformBusiness[]>('/platform/businesses/');
return response.data;
};
@@ -95,7 +95,7 @@ export const updateBusiness = async (
data: PlatformBusinessUpdate
): Promise<PlatformBusiness> => {
const response = await apiClient.patch<PlatformBusiness>(
`/api/platform/businesses/${businessId}/`,
`/platform/businesses/${businessId}/`,
data
);
return response.data;
@@ -108,7 +108,7 @@ export const createBusiness = async (
data: PlatformBusinessCreate
): Promise<PlatformBusiness> => {
const response = await apiClient.post<PlatformBusiness>(
'/api/platform/businesses/',
'/platform/businesses/',
data
);
return response.data;
@@ -118,7 +118,7 @@ export const createBusiness = async (
* Get all users (platform admin only)
*/
export const getUsers = async (): Promise<PlatformUser[]> => {
const response = await apiClient.get<PlatformUser[]>('/api/platform/users/');
const response = await apiClient.get<PlatformUser[]>('/platform/users/');
return response.data;
};
@@ -126,7 +126,7 @@ export const getUsers = async (): Promise<PlatformUser[]> => {
* Get users for a specific business
*/
export const getBusinessUsers = async (businessId: number): Promise<PlatformUser[]> => {
const response = await apiClient.get<PlatformUser[]>(`/api/platform/users/?business=${businessId}`);
const response = await apiClient.get<PlatformUser[]>(`/platform/users/?business=${businessId}`);
return response.data;
};
@@ -209,7 +209,7 @@ export interface TenantInvitationAccept {
* Get all tenant invitations (platform admin only)
*/
export const getTenantInvitations = async (): Promise<TenantInvitation[]> => {
const response = await apiClient.get<TenantInvitation[]>('/api/platform/tenant-invitations/');
const response = await apiClient.get<TenantInvitation[]>('/platform/tenant-invitations/');
return response.data;
};
@@ -220,7 +220,7 @@ export const createTenantInvitation = async (
data: TenantInvitationCreate
): Promise<TenantInvitation> => {
const response = await apiClient.post<TenantInvitation>(
'/api/platform/tenant-invitations/',
'/platform/tenant-invitations/',
data
);
return response.data;
@@ -230,14 +230,14 @@ export const createTenantInvitation = async (
* Resend a tenant invitation (platform admin only)
*/
export const resendTenantInvitation = async (invitationId: number): Promise<void> => {
await apiClient.post(`/api/platform/tenant-invitations/${invitationId}/resend/`);
await apiClient.post(`/platform/tenant-invitations/${invitationId}/resend/`);
};
/**
* Cancel a tenant invitation (platform admin only)
*/
export const cancelTenantInvitation = async (invitationId: number): Promise<void> => {
await apiClient.post(`/api/platform/tenant-invitations/${invitationId}/cancel/`);
await apiClient.post(`/platform/tenant-invitations/${invitationId}/cancel/`);
};
/**
@@ -245,7 +245,7 @@ export const cancelTenantInvitation = async (invitationId: number): Promise<void
*/
export const getInvitationByToken = async (token: string): Promise<TenantInvitationDetail> => {
const response = await apiClient.get<TenantInvitationDetail>(
`/api/platform/tenant-invitations/token/${token}/`
`/platform/tenant-invitations/token/${token}/`
);
return response.data;
};
@@ -258,7 +258,7 @@ export const acceptInvitation = async (
data: TenantInvitationAccept
): Promise<{ detail: string }> => {
const response = await apiClient.post<{ detail: string }>(
`/api/platform/tenant-invitations/token/${token}/accept/`,
`/platform/tenant-invitations/token/${token}/accept/`,
data
);
return response.data;

View File

@@ -25,7 +25,7 @@ export interface SandboxResetResponse {
* Get current sandbox mode status
*/
export const getSandboxStatus = async (): Promise<SandboxStatus> => {
const response = await apiClient.get<SandboxStatus>('/api/sandbox/status/');
const response = await apiClient.get<SandboxStatus>('/sandbox/status/');
return response.data;
};
@@ -33,7 +33,7 @@ export const getSandboxStatus = async (): Promise<SandboxStatus> => {
* Toggle between live and sandbox mode
*/
export const toggleSandboxMode = async (enableSandbox: boolean): Promise<SandboxToggleResponse> => {
const response = await apiClient.post<SandboxToggleResponse>('/api/sandbox/toggle/', {
const response = await apiClient.post<SandboxToggleResponse>('/sandbox/toggle/', {
sandbox: enableSandbox,
});
return response.data;
@@ -43,6 +43,6 @@ export const toggleSandboxMode = async (enableSandbox: boolean): Promise<Sandbox
* Reset sandbox data to initial state
*/
export const resetSandboxData = async (): Promise<SandboxResetResponse> => {
const response = await apiClient.post<SandboxResetResponse>('/api/sandbox/reset/');
const response = await apiClient.post<SandboxResetResponse>('/sandbox/reset/');
return response.data;
};