2022-08-01 14:27:11 +10:00
|
|
|
import fetch from 'node-fetch';
|
2022-08-12 19:25:16 +10:00
|
|
|
import {
|
|
|
|
FileDensity_type,
|
|
|
|
Error_type,
|
2023-06-01 10:07:07 +10:00
|
|
|
FileImportFormat_type,
|
2022-08-12 19:25:16 +10:00
|
|
|
} from '../../models.js';
|
|
|
|
import { Client } from '../../client.js';
|
2022-08-01 14:27:11 +10:00
|
|
|
|
|
|
|
interface Create_file_density_params {
|
2022-08-12 19:25:16 +10:00
|
|
|
client?: Client;
|
|
|
|
material_mass: number;
|
2023-06-01 10:07:07 +10:00
|
|
|
src_format: FileImportFormat_type;
|
2022-08-01 14:27:11 +10:00
|
|
|
body: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
type Create_file_density_return = FileDensity_type | Error_type;
|
|
|
|
|
|
|
|
export default async function create_file_density({
|
2022-08-12 19:25:16 +10:00
|
|
|
client,
|
2022-08-01 14:27:11 +10:00
|
|
|
material_mass,
|
|
|
|
src_format,
|
|
|
|
body,
|
|
|
|
}: Create_file_density_params): Promise<Create_file_density_return> {
|
|
|
|
const url = `/file/density?material_mass=${material_mass}&src_format=${src_format}`;
|
2023-02-04 08:42:34 +11:00
|
|
|
const urlBase = process?.env?.BASE_URL || 'https://api.kittycad.io';
|
|
|
|
const fullUrl = urlBase + url;
|
2022-08-12 19:25:16 +10:00
|
|
|
const kittycadToken = client
|
|
|
|
? client.token
|
|
|
|
: process.env.KITTYCAD_TOKEN || '';
|
2022-08-01 14:27:11 +10:00
|
|
|
const headers = {
|
|
|
|
Authorization: `Bearer ${kittycadToken}`,
|
|
|
|
};
|
|
|
|
const fetchOptions = {
|
|
|
|
method: 'POST',
|
|
|
|
headers,
|
|
|
|
body,
|
|
|
|
};
|
|
|
|
const response = await fetch(fullUrl, fetchOptions);
|
|
|
|
const result = (await response.json()) as Create_file_density_return;
|
|
|
|
return result;
|
|
|
|
}
|