/** * Пример использования сгенерированного API клиента */ import { Api, HttpClient } from './output/Api'; // 1. Создание HTTP клиента с базовыми настройками const httpClient = new HttpClient({ baseUrl: 'https://cdn.example.com', // Базовый URL (уже установлен при генерации) baseApiParams: { headers: { 'Content-Type': 'application/json', }, }, }); // 2. Создание API клиента const api = new Api(httpClient); // 3. Пример использования async function registerUser() { try { const result = await api.auth.register({ email: 'user@example.com', password: 'SecurePassword123', firstName: 'Иван', lastName: 'Иванов', }); console.log('Пользователь зарегистрирован:', result); return result; } catch (error) { console.error('Ошибка регистрации:', error); throw error; } } async function loginUser() { try { const result = await api.auth.login({ email: 'user@example.com', password: 'SecurePassword123', }); console.log('Авторизация успешна'); // Сохраняем токен для последующих запросов httpClient.setSecurityData({ token: result.access_token }); return result; } catch (error) { console.error('Ошибка авторизации:', error); throw error; } } async function getUserProfile() { try { const profile = await api.auth.getProfile(); console.log('Профиль пользователя:', profile); return profile; } catch (error) { console.error('Ошибка получения профиля:', error); throw error; } } async function createProject() { try { const project = await api.projects.create({ name: 'Мой CDN проект', description: 'Проект для хранения статических файлов', s3Endpoint: 'https://s3.amazonaws.com', s3Bucket: 'my-cdn-bucket', s3Region: 'us-east-1', s3AccessKey: 'AKIAIOSFODNN7EXAMPLE', s3SecretKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', }); console.log('Проект создан:', project); return project; } catch (error) { console.error('Ошибка создания проекта:', error); throw error; } } async function getAllProjects() { try { const projects = await api.projects.findAll(); console.log('Список проектов:', projects); return projects; } catch (error) { console.error('Ошибка получения проектов:', error); throw error; } } // Главная функция для демонстрации async function main() { console.log('🚀 Пример использования API клиента\n'); // 1. Регистрация console.log('1. Регистрация пользователя...'); await registerUser(); console.log('✅ Готово\n'); // 2. Авторизация console.log('2. Авторизация...'); await loginUser(); console.log('✅ Готово\n'); // 3. Получение профиля console.log('3. Получение профиля...'); await getUserProfile(); console.log('✅ Готово\n'); // 4. Создание проекта console.log('4. Создание проекта...'); await createProject(); console.log('✅ Готово\n'); // 5. Получение всех проектов console.log('5. Получение списка проектов...'); await getAllProjects(); console.log('✅ Готово\n'); console.log('✨ Все операции выполнены успешно!'); } // Запуск примера (раскомментируйте для выполнения) // main().catch(console.error); export { registerUser, loginUser, getUserProfile, createProject, getAllProjects };