@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
JavaScript
"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,
});