fix: open-api doc generation failing, post patch and delete not exported (#1565)

This commit is contained in:
Meier Lukas
2024-11-28 20:21:29 +01:00
committed by GitHub
parent 44e2105a8c
commit 2d7efc3ffa
4 changed files with 58 additions and 30 deletions

View File

@@ -37,43 +37,43 @@ const passwordSchema = z
},
);
const confirmPasswordRefine = [
(data: { password: string; confirmPassword: string }) => data.password === data.confirmPassword,
{
const addConfirmPasswordRefinement = <TObj extends { password: string; confirmPassword: string }>(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
schema: z.ZodObject<any, "strip", z.ZodTypeAny, TObj>,
) => {
return schema.refine((data) => data.password === data.confirmPassword, {
path: ["confirmPassword"],
params: createCustomErrorParams({
key: "passwordsDoNotMatch",
params: {},
}),
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
] satisfies [(args: any) => boolean, unknown];
});
};
const baseCreateUserSchema = z
.object({
username: usernameSchema,
password: passwordSchema,
confirmPassword: z.string(),
email: z.string().email().or(z.string().length(0).optional()),
})
.refine(confirmPasswordRefine[0], confirmPasswordRefine[1]);
const baseCreateUserSchema = z.object({
username: usernameSchema,
password: passwordSchema,
confirmPassword: z.string(),
email: z.string().email().or(z.string().length(0).optional()),
groupIds: z.array(z.string()),
});
const createUserSchema = baseCreateUserSchema.and(z.object({ groupIds: z.array(z.string()) }));
const createUserSchema = addConfirmPasswordRefinement(baseCreateUserSchema);
const initUserSchema = baseCreateUserSchema;
const initUserSchema = addConfirmPasswordRefinement(baseCreateUserSchema.omit({ groupIds: true }));
const signInSchema = z.object({
name: z.string().min(1),
password: z.string().min(1),
});
const registrationSchema = z
.object({
const registrationSchema = addConfirmPasswordRefinement(
z.object({
username: usernameSchema,
password: passwordSchema,
confirmPassword: z.string(),
})
.refine(confirmPasswordRefine[0], confirmPasswordRefine[1]);
}),
);
const registrationSchemaApi = registrationSchema.and(
z.object({
@@ -94,15 +94,16 @@ const editProfileSchema = z.object({
.nullable(),
});
const changePasswordSchema = z
.object({
previousPassword: z.string().min(1),
password: passwordSchema,
confirmPassword: z.string(),
})
.refine(confirmPasswordRefine[0], confirmPasswordRefine[1]);
const baseChangePasswordSchema = z.object({
previousPassword: z.string().min(1),
password: passwordSchema,
confirmPassword: z.string(),
userId: z.string(),
});
const changePasswordApiSchema = changePasswordSchema.and(z.object({ userId: z.string() }));
const changePasswordSchema = addConfirmPasswordRefinement(baseChangePasswordSchema.omit({ userId: true }));
const changePasswordApiSchema = addConfirmPasswordRefinement(baseChangePasswordSchema);
const changeHomeBoardSchema = z.object({
homeBoardId: z.string().min(1),