|
|
@ -24,6 +24,10 @@ const statusPleromaSchema = z.object({
|
|
|
|
quote_visible: z.boolean().catch(true),
|
|
|
|
quote_visible: z.boolean().catch(true),
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const statusDittoSchema = z.object({
|
|
|
|
|
|
|
|
external: z.string().optional().catch(undefined),
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
const baseStatusSchema = z.object({
|
|
|
|
const baseStatusSchema = z.object({
|
|
|
|
account: accountSchema,
|
|
|
|
account: accountSchema,
|
|
|
|
application: z.object({
|
|
|
|
application: z.object({
|
|
|
@ -51,6 +55,7 @@ const baseStatusSchema = z.object({
|
|
|
|
muted: z.coerce.boolean(),
|
|
|
|
muted: z.coerce.boolean(),
|
|
|
|
pinned: z.coerce.boolean(),
|
|
|
|
pinned: z.coerce.boolean(),
|
|
|
|
pleroma: statusPleromaSchema.optional().catch(undefined),
|
|
|
|
pleroma: statusPleromaSchema.optional().catch(undefined),
|
|
|
|
|
|
|
|
ditto: statusDittoSchema.optional().catch(undefined),
|
|
|
|
reactions: filteredArray(emojiReactionSchema),
|
|
|
|
reactions: filteredArray(emojiReactionSchema),
|
|
|
|
poll: pollSchema.nullable().catch(null),
|
|
|
|
poll: pollSchema.nullable().catch(null),
|
|
|
|
quote: z.literal(null).catch(null),
|
|
|
|
quote: z.literal(null).catch(null),
|
|
|
|