refactor: ⬆️ Upgrade to Zod v4 and hono-openapi 0.5.0

This commit is contained in:
Jesse Wierzbinski 2025-07-07 03:42:35 +02:00
parent add2429606
commit 24d4150da4
No known key found for this signature in database
209 changed files with 1331 additions and 1622 deletions

View file

@ -1,11 +1,11 @@
import { z } from "zod";
import { z } from "zod/v4";
import { Account } from "./account.ts";
import { Appeal } from "./appeal.ts";
import { Id } from "./common.ts";
export const AccountWarning = z
.object({
id: Id.openapi({
id: Id.meta({
description: "The ID of the account warning in the database.",
example: "0968680e-fd64-4525-b818-6e1c46fbdb28",
}),
@ -19,40 +19,40 @@ export const AccountWarning = z
"silence",
"suspend",
])
.openapi({
.meta({
description:
"Action taken against the account. 'none' = No action was taken, this is a simple warning; 'disable' = The account has been disabled; 'mark_statuses_as_sensitive' = Specific posts from the target account have been marked as sensitive; 'delete_statuses' = Specific statuses from the target account have been deleted; 'sensitive' = All posts from the target account are marked as sensitive; 'silence' = The target account has been limited; 'suspend' = The target account has been suspended.",
example: "none",
}),
text: z.string().openapi({
text: z.string().meta({
description: "Message from the moderator to the target account.",
example: "Please adhere to our community guidelines.",
}),
status_ids: z
.array(Id)
.nullable()
.openapi({
.meta({
description:
"List of status IDs that are relevant to the warning. When action is mark_statuses_as_sensitive or delete_statuses, those are the affected statuses.",
example: ["5ee59275-c308-4173-bb1f-58646204579b"],
}),
target_account: Account.openapi({
target_account: Account.meta({
description:
"Account against which a moderation decision has been taken.",
}),
appeal: Appeal.nullable().openapi({
appeal: Appeal.nullable().meta({
description: "Appeal submitted by the target account, if any.",
example: null,
}),
created_at: z.string().datetime().openapi({
created_at: z.iso.datetime().meta({
description: "When the event took place.",
example: "2025-01-04T14:11:00Z",
}),
})
.openapi({
.meta({
description: "Moderation warning against a particular account.",
externalDocs: {
url: "https://docs.joinmastodon.org/entities/AccountWarning",
},
ref: "AccountWarning",
id: "AccountWarning",
});