UNPKG

@rnaga/wp-node

Version:

👉 **[View Full Documentation at rnaga.github.io/wp-node →](https://rnaga.github.io/wp-node/)**

282 lines (281 loc) • 12.2 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.rolesListParams = exports.rolesCountListParams = exports.revisionListParams = exports.siteInsert = exports.siteListParams = exports.blogInsert = exports.blogUpdate = exports.blogListParams = exports.settings = exports.commentListParams = exports.termListParams = exports.metaListParams = exports.userListParams = exports.postListParams = void 0; const zod_1 = require("zod"); const trx = __importStar(require("./transactions")); const helpers_1 = require("./helpers"); exports.postListParams = zod_1.z.object({ page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), search: zod_1.z.string().trim().optional(), after: zod_1.z.string().optional(), // Validate as ISO8601 date if needed modified_after: zod_1.z.string().optional(), // Validate as ISO8601 date if needed author: helpers_1.numberArr.optional(), author_exclude: helpers_1.numberArr.optional(), before: zod_1.z.string().optional(), // Validate as ISO8601 date if needed modified_before: zod_1.z.string().optional(), // Validate as ISO8601 date if needed exclude: helpers_1.numberArr.optional(), include: helpers_1.numberArr.optional(), offset: helpers_1.number.optional(), order: zod_1.z.union([zod_1.z.literal("asc"), zod_1.z.literal("desc")]).default("desc"), orderby: zod_1.z .union([ zod_1.z.literal("post_author"), zod_1.z.literal("post_date"), zod_1.z.literal("ID"), zod_1.z.literal("post_modified"), zod_1.z.literal("post_parent"), zod_1.z.literal("post_name"), zod_1.z.literal("post_title"), ]) .default("post_date"), slug: helpers_1.stringArr.optional(), status: helpers_1.stringArr.optional(), // Define specific statuses if needed status_exclude: zod_1.z.array(zod_1.z.string()).optional(), tax_relation: zod_1.z.union([zod_1.z.literal("AND"), zod_1.z.literal("OR")]).optional(), categories: helpers_1.numberArr.optional(), categories_exclude: helpers_1.numberArr.optional(), tags: helpers_1.numberArr.optional(), tags_exclude: helpers_1.numberArr.optional(), meta: zod_1.z.object({ key: zod_1.z.string(), value: zod_1.z.string() }).optional(), exclude_meta: zod_1.z .object({ key: zod_1.z.string(), value: zod_1.z.union([zod_1.z.string(), zod_1.z.undefined()]) }) .optional(), sticky: helpers_1.boolean.optional(), }); exports.userListParams = zod_1.z.object({ page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), blog_id: helpers_1.number.optional(), site_id: helpers_1.number.optional(), search: zod_1.z.string().optional(), exclude: helpers_1.numberArr.optional(), exclude_anonymous: helpers_1.boolean.optional(), include: helpers_1.numberArr.optional(), include_unregistered_users: helpers_1.boolean.optional(), superadmins: helpers_1.boolean.optional(), offset: helpers_1.number.optional(), order: zod_1.z.enum(["asc", "desc"]).default("asc"), orderby: zod_1.z .enum([ "ID", "display_name", "user_login", "user_registered", "user_email", "user_url", ]) .default("display_name"), slug: zod_1.z.array(zod_1.z.string()).optional(), roles: zod_1.z .union([zod_1.z.string().transform((v) => v.split(",")), zod_1.z.array(zod_1.z.string())]) .optional(), has_published_posts: helpers_1.boolean.optional(), }); exports.metaListParams = zod_1.z.object({ page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), search: zod_1.z.string().optional(), exclude: helpers_1.numberArr.optional(), include: helpers_1.numberArr.optional(), offset: helpers_1.number.optional(), order: zod_1.z.enum(["asc", "desc"]).default("asc"), orderby: zod_1.z.enum(["meta_id", "meta_key", "meta_value"]).default("meta_id"), }); exports.termListParams = zod_1.z.object({ page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), search: zod_1.z.string().optional(), exclude: helpers_1.numberArr.optional(), include: helpers_1.numberArr.optional(), order: zod_1.z.enum(["asc", "desc"]).default("asc"), orderby: zod_1.z .enum([ "term_id", "name", "slug", "term_group", "term_order", "description", ]) .default("name"), hide_empty: helpers_1.boolean.optional(), parent: helpers_1.number.optional(), post: helpers_1.number.optional(), slug: zod_1.z.array(zod_1.z.string()).optional(), }); exports.commentListParams = zod_1.z.object({ page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), search: zod_1.z.string().optional(), after: zod_1.z.string().optional(), // assuming ISO8601 date as string author: helpers_1.numberArr.optional(), // array of user IDs author_exclude: helpers_1.numberArr.optional(), // array of user IDs author_email: zod_1.z.string().optional(), before: zod_1.z.string().optional(), // assuming ISO8601 date as string exclude: helpers_1.numberArr.optional(), // array of IDs include: helpers_1.numberArr.optional(), // array of IDs offset: helpers_1.number.optional(), order: zod_1.z.enum(["asc", "desc"]).default("desc"), orderby: zod_1.z .enum([ "comment_author", "comment_date", "comment_date_gmt", "comment_ID", "comment_post_ID", "comment_parent", "comment_type", ]) .default("comment_date_gmt"), parent: helpers_1.numberArr.optional(), // array of parent IDs parent_exclude: helpers_1.numberArr.optional(), // array of parent IDs post: helpers_1.numberArr.optional(), // array of post IDs status: zod_1.z.string().default("approve").optional(), type: zod_1.z.string().default("comment").optional(), password: zod_1.z.string().optional(), }); exports.settings = zod_1.z.object({ title: zod_1.z.string().optional(), description: zod_1.z.string().optional(), url: zod_1.z.string().optional(), home: zod_1.z.string().optional(), email: zod_1.z.email().optional(), timezone: zod_1.z.string().optional(), date_format: zod_1.z.string().optional(), time_format: zod_1.z.string().optional(), start_of_week: helpers_1.number.optional(), use_smilies: helpers_1.number.optional(), default_category: helpers_1.number.optional(), default_post_format: helpers_1.number.optional(), posts_per_page: helpers_1.number.optional(), show_on_front: zod_1.z.string().optional(), page_on_front: helpers_1.number.optional(), page_for_posts: helpers_1.number.optional(), default_ping_status: zod_1.z.enum(["open", "closed"]).optional(), default_comment_status: zod_1.z.enum(["open", "closed"]).optional(), site_icon: helpers_1.number.optional(), // comment_require_name_email: z.enum(["0", "1"]).optional(), // comment_registration: z.enum(["0", "1"]).optional(), // comment_previously_approved: z.enum(["0", "1"]).optional(), // comment_moderation: z.enum(["0", "1"]).optional(), // comment_max_links: number.optional(), // comment_moderation_keys: z.string().optional(), // comment_disallowed_keys: z.string().optional(), }); exports.blogListParams = zod_1.z.object({ page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), offset: helpers_1.number.optional(), search: zod_1.z.string().optional(), exclude: helpers_1.numberArr.optional(), include: helpers_1.numberArr.optional(), site_id: helpers_1.number.optional(), site: helpers_1.numberArr.optional(), // array of user IDs site_exclude: helpers_1.numberArr.optional(), // array of user IDs domain: zod_1.z.string().max(200).trim().optional(), path: zod_1.z.string().max(100).trim().optional(), public: zod_1.z.number().max(1).nonnegative().optional(), archived: zod_1.z.number().max(1).nonnegative().optional(), mature: zod_1.z.number().max(1).nonnegative().optional(), spam: zod_1.z.number().max(1).nonnegative().optional(), deleted: zod_1.z.number().max(1).nonnegative().optional(), lang_id: zod_1.z.number().int().nonnegative().optional(), order: zod_1.z.enum(["asc", "desc"]).default("asc"), orderby: zod_1.z .enum(["blog_id", "domain", "path", "url", "registered", "last_updated"]) .default("blog_id"), }); exports.blogUpdate = trx.blogUpsertBase.merge(zod_1.z.object({ blog_id: zod_1.z.number().int().nonnegative(), })); exports.blogInsert = zod_1.z.object({ user_id: zod_1.z.number().int().nonnegative().optional(), title: zod_1.z.string().min(3), domain: zod_1.z .string() .min(1) .refine((v) => /^([a-zA-Z0-9-])+$/.test(v)) .transform((v) => v.toLowerCase()), path: helpers_1.path, }); exports.siteListParams = zod_1.z.object({ page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), offset: zod_1.z.number().optional(), search: zod_1.z.string().optional(), exclude: helpers_1.numberArr.optional(), include: helpers_1.numberArr.optional(), domain_exclude: helpers_1.stringArr.optional(), domain: helpers_1.stringArr.optional(), path: zod_1.z.string().max(100).trim().optional(), order: zod_1.z.enum(["asc", "desc"]).default("asc"), orderby: zod_1.z.enum(["id", "domain", "path"]).default("id"), }); exports.siteInsert = zod_1.z.object({ domain: zod_1.z .string() .regex(/^[a-z0-9\\.-]+$/) .refine((value) => !/^[0-9]*$/.test(value)), path: helpers_1.path, site_name: zod_1.z.string(), }); exports.revisionListParams = zod_1.z.object({ parent: helpers_1.number.optional(), page: (0, helpers_1.numberWithDefault)(1), per_page: (0, helpers_1.numberWithDefault)(10), search: zod_1.z.string().optional(), exclude: helpers_1.numberArr.optional(), include: helpers_1.numberArr.optional(), offset: helpers_1.number.optional(), order: zod_1.z.enum(["asc", "desc"]).default("desc"), orderby: zod_1.z .union([ zod_1.z.literal("post_date"), zod_1.z.literal("ID"), zod_1.z.literal("post_modified"), zod_1.z.literal("post_name"), zod_1.z.literal("post_title"), ]) .default("post_date"), }); exports.rolesCountListParams = zod_1.z.object({ site_id: helpers_1.number.optional(), blog_id: helpers_1.number.optional(), }); exports.rolesListParams = zod_1.z.object({ blog_ids: helpers_1.numberArr, });