All files / src/api sandbox.ts

33.33% Statements 3/9
100% Branches 0/0
0% Functions 0/3
33.33% Lines 3/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49                                                    1x               1x                   1x        
/**
 * Sandbox Mode API
 * Manage live/test mode switching for isolated test data
 */
 
import apiClient from './client';
 
export interface SandboxStatus {
  sandbox_mode: boolean;
  sandbox_enabled: boolean;
  sandbox_schema: string | null;
}
 
export interface SandboxToggleResponse {
  sandbox_mode: boolean;
  message: string;
}
 
export interface SandboxResetResponse {
  message: string;
  sandbox_schema: string;
}
 
/**
 * Get current sandbox mode status
 */
export const getSandboxStatus = async (): Promise<SandboxStatus> => {
  const response = await apiClient.get<SandboxStatus>('/sandbox/status/');
  return response.data;
};
 
/**
 * Toggle between live and sandbox mode
 */
export const toggleSandboxMode = async (enableSandbox: boolean): Promise<SandboxToggleResponse> => {
  const response = await apiClient.post<SandboxToggleResponse>('/sandbox/toggle/', {
    sandbox: enableSandbox,
  });
  return response.data;
};
 
/**
 * Reset sandbox data to initial state
 */
export const resetSandboxData = async (): Promise<SandboxResetResponse> => {
  const response = await apiClient.post<SandboxResetResponse>('/sandbox/reset/');
  return response.data;
};