update flow and auth model
This commit is contained in:
146
src/config/index.ts
Normal file
146
src/config/index.ts
Normal file
@@ -0,0 +1,146 @@
|
||||
/**
|
||||
* Application Configuration
|
||||
*
|
||||
* This file contains all configuration settings for the frontend application.
|
||||
* Centralized configuration makes it easier to manage environment-specific settings.
|
||||
*/
|
||||
|
||||
// =============================================================================
|
||||
// Environment Configuration
|
||||
// =============================================================================
|
||||
|
||||
/**
|
||||
* Set to true to use mock data instead of real backend calls.
|
||||
* Useful for development and testing without a running backend.
|
||||
*/
|
||||
export const NO_BACKEND_MODE = false;
|
||||
|
||||
/**
|
||||
* Enable debug logging for API calls
|
||||
*/
|
||||
export const DEBUG_MODE = true;
|
||||
|
||||
// =============================================================================
|
||||
// API Configuration
|
||||
// =============================================================================
|
||||
|
||||
/**
|
||||
* Base URL for the backend API server
|
||||
*/
|
||||
export const API_BASE_URL = 'http://localhost:8000';
|
||||
|
||||
/**
|
||||
* API request timeout in milliseconds
|
||||
*/
|
||||
export const API_TIMEOUT = 30000;
|
||||
|
||||
/**
|
||||
* API Endpoints
|
||||
* All backend API routes are defined here for easy reference and maintenance.
|
||||
*/
|
||||
export const API_ENDPOINTS = {
|
||||
// Authentication
|
||||
AUTH: {
|
||||
LOGIN: '/login',
|
||||
REGISTER: '/register',
|
||||
},
|
||||
|
||||
// Assets Management
|
||||
ASSETS: {
|
||||
GET: '/assets/get',
|
||||
CREATE: '/assets/create',
|
||||
CLAIM: '/assets/claim',
|
||||
ASSIGN: '/assets/assign',
|
||||
},
|
||||
|
||||
// AI Services
|
||||
AI: {
|
||||
PROXY: '/ai/proxy',
|
||||
},
|
||||
|
||||
// Admin Operations
|
||||
ADMIN: {
|
||||
DECLARE_GUALE: '/admin/declare-guale',
|
||||
},
|
||||
} as const;
|
||||
|
||||
// =============================================================================
|
||||
// Helper Functions
|
||||
// =============================================================================
|
||||
|
||||
/**
|
||||
* Build full API URL from endpoint
|
||||
* @param endpoint - API endpoint path (e.g., '/login')
|
||||
* @returns Full URL (e.g., 'http://192.168.56.103:8000/login')
|
||||
*/
|
||||
export function buildApiUrl(endpoint: string): string {
|
||||
return `${API_BASE_URL}${endpoint}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default headers for API requests
|
||||
* @param token - Optional JWT token for authenticated requests
|
||||
* @returns Headers object
|
||||
*/
|
||||
export function getApiHeaders(token?: string): Record<string, string> {
|
||||
const headers: Record<string, string> = {
|
||||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
if (token) {
|
||||
headers['Authorization'] = `Bearer ${token}`;
|
||||
}
|
||||
|
||||
return headers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log API debug information
|
||||
* Only logs when DEBUG_MODE is enabled
|
||||
*/
|
||||
export function logApiDebug(label: string, data: unknown): void {
|
||||
if (DEBUG_MODE) {
|
||||
console.log(`[API Debug] ${label}:`, data);
|
||||
}
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Mock User Configuration (for NO_BACKEND_MODE)
|
||||
// =============================================================================
|
||||
|
||||
export const MOCK_CONFIG = {
|
||||
USER: {
|
||||
id: 999,
|
||||
username: 'MockCaptain',
|
||||
public_key: 'mock_public_key',
|
||||
is_admin: true,
|
||||
guale: false,
|
||||
tier: 'premium',
|
||||
tier_expires_at: '2026-12-31T23:59:59Z',
|
||||
last_active_at: new Date().toISOString(),
|
||||
},
|
||||
ACCESS_TOKEN: 'mock_access_token',
|
||||
RESPONSE_DELAY: 200, // milliseconds
|
||||
} as const;
|
||||
|
||||
// =============================================================================
|
||||
// AI Service Configuration
|
||||
// =============================================================================
|
||||
|
||||
export const AI_CONFIG = {
|
||||
/**
|
||||
* Default system prompt for AI conversations
|
||||
*/
|
||||
DEFAULT_SYSTEM_PROMPT: 'You are a helpful journal assistant. Help the user reflect on their thoughts and feelings.',
|
||||
|
||||
/**
|
||||
* Mock response delay in milliseconds (for NO_BACKEND_MODE)
|
||||
*/
|
||||
MOCK_RESPONSE_DELAY: 500,
|
||||
} as const;
|
||||
|
||||
// =============================================================================
|
||||
// Export Type Definitions
|
||||
// =============================================================================
|
||||
|
||||
export type ApiEndpoint = typeof API_ENDPOINTS;
|
||||
Reference in New Issue
Block a user