UNPKG

@ordino.ai/cli

Version:
38 lines (37 loc) 1.56 kB
import { serviceFactory } from "../config/service-factory"; import { ApiKey, ApiResponse, systemApiKeyRequestModel } from "../models/models"; import { printMessage } from "../utils/printMessage.util"; export const systemApiKeyService = { getBySystemApiKey: async (apyKey: string): Promise<ApiKey> => { const response = await serviceFactory .getSystemApiKeyServiceAxios() .get(`/byKey/${apyKey}`); return response.data; }, generateSystemApiKey: async (requestModel: systemApiKeyRequestModel): Promise<ApiResponse> => { try { const response = await serviceFactory.getSystemApiKeyServiceAxios().post('', requestModel); if (response.status >= 200 && response.status < 300) { const apiResponse: ApiResponse = response.data; if (!apiResponse.isSuccess) { throw new Error(`Authentication failed: ${apiResponse.message || 'Invalid credentials'}`); } return apiResponse; } else { throw new Error(`HTTP Error: ${response.status} - ${response.statusText}`); } } catch (error: any) { if (error.response) { const errorMessage = error.response.data?.message || error.response.data?.error || error.response.statusText; throw new Error(`Authentication failed: ${errorMessage}`); } else if (error.request) { throw new Error("Authentication failed: No response from server"); } else { if (error instanceof Error) { throw error; } throw new Error("User authentication failed."); } } } };