From f563eb7cb7be314c59e228379e8a0812ff41464c Mon Sep 17 00:00:00 2001
From: CybAtax <62847599+CybAtax@users.noreply.github.com>
Date: Sun, 17 Nov 2024 20:46:08 +0100
Subject: [PATCH] wip: first draft cert request
---
frontend/src/components/Home.vue | 1 +
frontend/src/pages/cert-request.vue | 95 +++++++++++++++++++++++++++++
frontend/src/types/certificate.d.ts | 24 ++++++++
frontend/src/types/util.d.ts | 5 ++
frontend/tsconfig.json | 1 +
frontend/typed-router.d.ts | 1 +
6 files changed, 127 insertions(+)
create mode 100644 frontend/src/pages/cert-request.vue
create mode 100644 frontend/src/types/certificate.d.ts
create mode 100644 frontend/src/types/util.d.ts
diff --git a/frontend/src/components/Home.vue b/frontend/src/components/Home.vue
index 6af172d..0982a85 100644
--- a/frontend/src/components/Home.vue
+++ b/frontend/src/components/Home.vue
@@ -39,6 +39,7 @@
rounded="lg"
title="Manage your certificates"
variant="text"
+ to="/cert-request"
/>
diff --git a/frontend/src/pages/cert-request.vue b/frontend/src/pages/cert-request.vue
new file mode 100644
index 0000000..1689c10
--- /dev/null
+++ b/frontend/src/pages/cert-request.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/types/certificate.d.ts b/frontend/src/types/certificate.d.ts
new file mode 100644
index 0000000..1fbaf20
--- /dev/null
+++ b/frontend/src/types/certificate.d.ts
@@ -0,0 +1,24 @@
+export interface Subject {
+ commonName: string;
+ organization: string;
+ orgUnit: string;
+ country: string;
+ state: string;
+ city: string
+}
+
+export interface Validity {
+ from: Date;
+ to: Date;
+}
+
+export interface Extensions {
+
+}
+
+export interface Certificate {
+ issuer: Subject;
+ validity: Validity;
+ subject: Subject;
+ extensions: Extensions;
+}
diff --git a/frontend/src/types/util.d.ts b/frontend/src/types/util.d.ts
new file mode 100644
index 0000000..eefe08e
--- /dev/null
+++ b/frontend/src/types/util.d.ts
@@ -0,0 +1,5 @@
+export type Valid = {
+ [K in keyof T as `${K}Rules`]: ((val: string) => true | string)[]
+} & {
+ valid: boolean;
+} & T;
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index 66b5e57..416e35a 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -1,5 +1,6 @@
{
"files": [],
+ "include": ["./typed-router.d.ts"],
"references": [
{
"path": "./tsconfig.node.json"
diff --git a/frontend/typed-router.d.ts b/frontend/typed-router.d.ts
index 331ee51..8d7445f 100644
--- a/frontend/typed-router.d.ts
+++ b/frontend/typed-router.d.ts
@@ -19,5 +19,6 @@ declare module 'vue-router/auto-routes' {
*/
export interface RouteNamedMap {
'/': RouteRecordInfo<'/', '/', Record, Record>,
+ '/cert-request': RouteRecordInfo<'/cert-request', '/cert-request', Record, Record>,
}
}