@ordino.ai/cli
Version:
ordino.ai global command line interface
38 lines (37 loc) • 1.56 kB
text/typescript
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.");
}
}
}
};