mirror of
https://github.com/versia-pub/server.git
synced 2025-12-06 08:28:19 +01:00
fix(api): 🐛 Fix incorrect boolean/string comparisons in status creation endpoint
This commit is contained in:
parent
2779b76f44
commit
afda1f1211
|
|
@ -16,12 +16,6 @@ afterAll(async () => {
|
||||||
await deleteUsers();
|
await deleteUsers();
|
||||||
});
|
});
|
||||||
|
|
||||||
const getFormData = (object: Record<string, string | number | boolean>) =>
|
|
||||||
Object.keys(object).reduce((formData, key) => {
|
|
||||||
formData.append(key, String(object[key]));
|
|
||||||
return formData;
|
|
||||||
}, new FormData());
|
|
||||||
|
|
||||||
describe(meta.route, () => {
|
describe(meta.route, () => {
|
||||||
test("should return 401 if not authenticated", async () => {
|
test("should return 401 if not authenticated", async () => {
|
||||||
const response = await sendTestRequest(
|
const response = await sendTestRequest(
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ export const schemas = {
|
||||||
sensitive: z
|
sensitive: z
|
||||||
.string()
|
.string()
|
||||||
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
||||||
|
.or(z.boolean())
|
||||||
.optional(),
|
.optional(),
|
||||||
language: z
|
language: z
|
||||||
.enum(ISO6391.getAllCodes() as [string, ...string[]])
|
.enum(ISO6391.getAllCodes() as [string, ...string[]])
|
||||||
|
|
@ -46,7 +47,7 @@ export const schemas = {
|
||||||
.array(z.string().max(config.validation.max_poll_option_size))
|
.array(z.string().max(config.validation.max_poll_option_size))
|
||||||
.max(config.validation.max_poll_options)
|
.max(config.validation.max_poll_options)
|
||||||
.optional(),
|
.optional(),
|
||||||
"poll[expires_in]": z
|
"poll[expires_in]": z.coerce
|
||||||
.number()
|
.number()
|
||||||
.int()
|
.int()
|
||||||
.min(config.validation.min_poll_duration)
|
.min(config.validation.min_poll_duration)
|
||||||
|
|
@ -55,10 +56,12 @@ export const schemas = {
|
||||||
"poll[multiple]": z
|
"poll[multiple]": z
|
||||||
.string()
|
.string()
|
||||||
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
||||||
|
.or(z.boolean())
|
||||||
.optional(),
|
.optional(),
|
||||||
"poll[hide_totals]": z
|
"poll[hide_totals]": z
|
||||||
.string()
|
.string()
|
||||||
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
||||||
|
.or(z.boolean())
|
||||||
.optional(),
|
.optional(),
|
||||||
in_reply_to_id: z.string().uuid().optional().nullable(),
|
in_reply_to_id: z.string().uuid().optional().nullable(),
|
||||||
quote_id: z.string().uuid().optional().nullable(),
|
quote_id: z.string().uuid().optional().nullable(),
|
||||||
|
|
@ -70,10 +73,12 @@ export const schemas = {
|
||||||
local_only: z
|
local_only: z
|
||||||
.string()
|
.string()
|
||||||
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
||||||
|
.or(z.boolean())
|
||||||
.optional(),
|
.optional(),
|
||||||
federate: z
|
federate: z
|
||||||
.string()
|
.string()
|
||||||
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
.transform((v) => ["true", "1", "on"].includes(v.toLowerCase()))
|
||||||
|
.or(z.boolean())
|
||||||
.optional()
|
.optional()
|
||||||
.default("true"),
|
.default("true"),
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue