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,
|
|
|
|
FileSourceFormat_type,
|
|
|
|
} 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;
|
|
|
|
src_format: FileSourceFormat_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}`;
|
|
|
|
const fullUrl = 'https://api.kittycad.io' + 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;
|
|
|
|
}
|