WIP: Enable OpenAPI spec generation and integrate with frontend #21
1 changed files with 21 additions and 4 deletions
|
@ -1,7 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref, useId, useTemplateRef } from "vue";
|
import { ref, useId, useTemplateRef } from "vue";
|
||||||
import CountryListItem from "./CountryListItem.vue";
|
import CountryListItem from "./CountryListItem.vue";
|
||||||
import { type Country, getAvailableCountries, userCountry } from "../utils/countries.ts";
|
import { type Country, getAvailableCountries, userCountry } from "../utils/countries.ts";
|
||||||
|
import { fetchClient, type Schemas } from "../plugins/client.ts";
|
||||||
|
|
||||||
const formModel = ref(false);
|
const formModel = ref(false);
|
||||||
const formRef = useTemplateRef("form");
|
const formRef = useTemplateRef("form");
|
||||||
|
@ -77,11 +78,11 @@ async function submitNewCertificate() {
|
||||||
? (country.value as Country).alpha2
|
? (country.value as Country).alpha2
|
||||||
: country.value;
|
: country.value;
|
||||||
|
|
||||||
// TODO: Implement certificate request submission
|
// Prepare certificate request data
|
||||||
console.log({
|
const certificateData: Schemas["CertificateInfo"] = {
|
||||||
type: "STANDALONE_CERTIFICATE",
|
type: "STANDALONE_CERTIFICATE",
|
||||||
requestedKeyLength: keyLength.value,
|
requestedKeyLength: keyLength.value,
|
||||||
requestedValidityDays: noExpiry.value ? null : validityDays.value,
|
requestedValidityDays: noExpiry.value ? undefined : validityDays.value,
|
||||||
subject: {
|
subject: {
|
||||||
commonName: commonName.value,
|
commonName: commonName.value,
|
||||||
emailAddress: emailAddress.value,
|
emailAddress: emailAddress.value,
|
||||||
|
@ -94,7 +95,23 @@ async function submitNewCertificate() {
|
||||||
extension: {
|
extension: {
|
||||||
alternativeDnsNames: domains.value
|
alternativeDnsNames: domains.value
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Submit certificate request to the backend
|
||||||
|
const response = await fetchClient.POST("/api/certificates", {
|
||||||
|
body: certificateData
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (response.error) {
|
||||||
|
console.error("Error submitting certificate:", response.error);
|
||||||
|
// You might want to show an error message to the user here
|
||||||
|
alert("Failed to submit certificate request. Please try again.");
|
||||||
|
} else {
|
||||||
|
console.log("Certificate created successfully:", response.data);
|
||||||
|
// You might want to show a success message or redirect the user
|
||||||
|
alert("Certificate created successfully!");
|
||||||
|
// Reset form or redirect user as needed
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
isSubmitting.value = false;
|
isSubmitting.value = false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue