Spaces:
Paused
Paused
File size: 1,196 Bytes
8523e75 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import { z } from "zod";
import type { Request } from "express";
import type { PostizPostInput } from "../services/postiz.js";
export const PostizSimplePublishRequestSchema = z.object({
platforms: z.array(z.string()).min(1),
content: z.string().min(1),
media: z.array(z.string()).optional(),
adaptContent: z.boolean().optional(),
splitContent: z.boolean().optional(),
scheduledAt: z.string().optional(),
});
export type PostizSimplePublishRequest = z.infer<typeof PostizSimplePublishRequestSchema>;
export const PostizFullPublishRequestSchema = z.object({
type: z.enum(["now", "schedule", "draft"]).optional(),
scheduledAt: z.string().optional(),
posts: z.array(
z.object({
integrationId: z.string(),
platform: z.string(),
content: z.string(),
media: z.array(z.string()).optional(),
})
).min(1),
});
export type PostizFullPublishRequest = z.infer<typeof PostizFullPublishRequestSchema>;
export const PostizValidateRequestSchema = z.object({
platforms: z.array(z.string()).min(1),
content: z.string().min(1),
media: z.array(z.string()).optional(),
});
export type PostizValidateRequest = z.infer<typeof PostizValidateRequestSchema>;
|