misc: addressed type

This commit is contained in:
Sheen Capadngan
2025-05-17 22:39:43 +08:00
parent 56b7328231
commit 260679b01d
3 changed files with 25 additions and 38 deletions
@@ -6,9 +6,15 @@ import { readLimit, writeLimit } from "@app/server/config/rateLimiter";
import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
import { AuthMode } from "@app/services/auth/auth-type"; import { AuthMode } from "@app/services/auth/auth-type";
import { CaStatus, CaType } from "@app/services/certificate-authority/certificate-authority-enums"; import { CaStatus, CaType } from "@app/services/certificate-authority/certificate-authority-enums";
import { TCertificateAuthority } from "@app/services/certificate-authority/certificate-authority-types"; import {
TCertificateAuthority,
TCertificateAuthorityInput
} from "@app/services/certificate-authority/certificate-authority-types";
export const registerCertificateAuthorityEndpoints = <T extends TCertificateAuthority>({ export const registerCertificateAuthorityEndpoints = <
T extends TCertificateAuthority,
I extends TCertificateAuthorityInput
>({
server, server,
caType, caType,
createSchema, createSchema,
@@ -21,13 +27,13 @@ export const registerCertificateAuthorityEndpoints = <T extends TCertificateAuth
name: string; name: string;
projectId: string; projectId: string;
status: CaStatus; status: CaStatus;
configuration: T["configuration"]; configuration: I["configuration"];
disableDirectIssuance: boolean; disableDirectIssuance: boolean;
}>; }>;
updateSchema: z.ZodType<{ updateSchema: z.ZodType<{
name?: string; name?: string;
status?: CaStatus; status?: CaStatus;
configuration?: T["configuration"]; configuration?: I["configuration"];
disableDirectIssuance?: boolean; disableDirectIssuance?: boolean;
}>; }>;
responseSchema: z.ZodTypeAny; responseSchema: z.ZodTypeAny;
@@ -53,17 +53,16 @@ export const registerCaRouter = async (server: FastifyZodProvider) => {
req.permission req.permission
); );
// await server.services.auditLog.createAuditLog({ await server.services.auditLog.createAuditLog({
// ...req.auditLogInfo, ...req.auditLogInfo,
// projectId: ca.projectId, projectId: req.query.projectId,
// event: { event: {
// type: EventType.GET_CA, type: EventType.GET_CAS,
// metadata: { metadata: {
// caId: ca.id, caIds: [...(internalCas ?? []).map((ca) => ca.id), ...(acmeCas ?? []).map((ca) => ca.id)]
// dn: ca.dn }
// } }
// } });
// });
return { return {
certificateAuthorities: [...(internalCas ?? []), ...(acmeCas ?? [])] certificateAuthorities: [...(internalCas ?? []), ...(acmeCas ?? [])]
@@ -10,26 +10,7 @@ import {
} from "../certificate-authority-schemas"; } from "../certificate-authority-schemas";
import { validateCaDateField } from "../certificate-authority-validators"; import { validateCaDateField } from "../certificate-authority-validators";
const InternalCertificateAuthorityConfigurationSchema = z.object({ const InternalCertificateAuthorityConfigurationSchema = z
type: z.nativeEnum(InternalCaType),
friendlyName: z.string().optional(),
commonName: z.string().trim(),
organization: z.string().trim(),
ou: z.string().trim(),
dn: z.string().trim(),
parentCaId: z.string().uuid().nullable(),
serialNumber: z.string().trim(),
activeCaCertId: z.string().uuid().nullable(),
country: z.string().trim(),
province: z.string().trim(),
locality: z.string().trim(),
notBefore: z.date().optional(),
notAfter: z.date().optional(),
maxPathLength: z.number().min(-1),
keyAlgorithm: z.nativeEnum(CertKeyAlgorithm)
});
const CreateInternalCertificateAuthorityConfigurationSchema = z
.object({ .object({
type: z.nativeEnum(InternalCaType), type: z.nativeEnum(InternalCaType),
friendlyName: z.string().optional(), friendlyName: z.string().optional(),
@@ -38,10 +19,11 @@ const CreateInternalCertificateAuthorityConfigurationSchema = z
ou: z.string().trim(), ou: z.string().trim(),
dn: z.string().trim(), dn: z.string().trim(),
parentCaId: z.string().uuid().optional(), parentCaId: z.string().uuid().optional(),
serialNumber: z.string().trim().optional(),
activeCaCertId: z.string().uuid().optional(),
country: z.string().trim(), country: z.string().trim(),
province: z.string().trim(), province: z.string().trim(),
locality: z.string().trim(), locality: z.string().trim(),
// format: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format
notBefore: validateCaDateField.optional(), notBefore: validateCaDateField.optional(),
notAfter: validateCaDateField.optional(), notAfter: validateCaDateField.optional(),
maxPathLength: z.number().min(-1), maxPathLength: z.number().min(-1),
@@ -69,11 +51,11 @@ export const InternalCertificateAuthoritySchema = BaseCertificateAuthoritySchema
export const CreateInternalCertificateAuthoritySchema = GenericCreateCertificateAuthorityFieldsSchema( export const CreateInternalCertificateAuthoritySchema = GenericCreateCertificateAuthorityFieldsSchema(
CaType.INTERNAL CaType.INTERNAL
).extend({ ).extend({
configuration: CreateInternalCertificateAuthorityConfigurationSchema configuration: InternalCertificateAuthorityConfigurationSchema
}); });
export const UpdateInternalCertificateAuthoritySchema = GenericUpdateCertificateAuthorityFieldsSchema( export const UpdateInternalCertificateAuthoritySchema = GenericUpdateCertificateAuthorityFieldsSchema(
CaType.INTERNAL CaType.INTERNAL
).extend({ ).extend({
configuration: CreateInternalCertificateAuthorityConfigurationSchema.optional() configuration: InternalCertificateAuthorityConfigurationSchema.optional()
}); });