@plone/client
Version:
JavaScript Plone REST API client - JS framework agnostic library based on TanStack Query
1,867 lines (1,791 loc) • 100 kB
JavaScript
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var src_exports = {};
__export(src_exports, {
default: () => src_default
});
module.exports = __toCommonJS(src_exports);
// src/API.ts
var import_axios = __toESM(require("axios"), 1);
var import_query_string = __toESM(require("query-string"), 1);
var import_debug = __toESM(require("debug"), 1);
var debug = (0, import_debug.default)("axios");
function getBackendURL(apiPath, path) {
const APISUFIX = "/++api++";
if (path.startsWith("http://") || path.startsWith("https://")) return path;
const adjustedPath = path[0] !== "/" ? `/${path}` : path;
return `${apiPath}${APISUFIX}${adjustedPath}`;
}
var _handleResponse = ({ data }) => data;
var _handleError = (error) => {
debug(error);
return Promise.reject(error);
};
function axiosConfigAdapter(method, path, options) {
const {
config,
params,
data,
type,
headers = {},
checkUrl = false
} = options;
const axiosConfig = {
method,
url: getBackendURL(config.apiPath, path),
params,
headers: {
Accept: "application/json",
...headers
},
data,
validateStatus: function(status) {
return status >= 200 && status < 300;
},
paramsSerializer: function(params2) {
return import_query_string.default.stringify(params2, { arrayFormat: "colon-list-separator" });
}
};
if (config.token && axiosConfig.headers) {
axiosConfig.headers["Authorization"] = `Bearer ${config.token}`;
}
debug(axiosConfig);
return axiosConfig;
}
async function apiRequest(method, path, options) {
const instance = import_axios.default.create();
if (options.raw) {
instance.interceptors.response.use(void 0, _handleError);
} else {
instance.interceptors.response.use(_handleResponse, _handleError);
}
return instance.request(axiosConfigAdapter(method, path, options));
}
// src/restapi/login/post.ts
var import_zod2 = require("zod");
// src/validation/config.ts
var import_zod = require("zod");
var PloneClientConfigSchema = import_zod.z.object({
apiPath: import_zod.z.string(),
token: import_zod.z.string().optional()
});
// src/restapi/login/post.ts
var loginArgsSchema = import_zod2.z.object({
username: import_zod2.z.string(),
password: import_zod2.z.string(),
config: PloneClientConfigSchema
});
var login = ({
username,
password,
config
}) => {
const validatedArgs = loginArgsSchema.parse({
username,
password,
config
});
const options = {
data: {
login: validatedArgs.username,
password: validatedArgs.password
},
config: validatedArgs.config
};
return apiRequest("post", "/@login", options);
};
var loginMutation = ({ config }) => ({
mutationKey: ["login"],
mutationFn: ({ username, password }) => login({ username, password, config })
});
// src/restapi/content/get.ts
var import_zod3 = require("zod");
var getContentArgsSchema = import_zod3.z.object({
path: import_zod3.z.string(),
version: import_zod3.z.string().optional(),
page: import_zod3.z.number().optional(),
fullObjects: import_zod3.z.boolean().optional(),
expand: import_zod3.z.string().array().optional()
});
var getContent = async ({
path,
version,
page,
fullObjects,
expand,
config
}) => {
const validatedArgs = getContentArgsSchema.parse({
path,
version,
page,
fullObjects,
expand
});
const options = {
config,
params: {
...validatedArgs.page && { page: validatedArgs.page },
...validatedArgs.version && { version: validatedArgs.version },
...validatedArgs.fullObjects && {
fullobjects: validatedArgs.fullObjects
}
}
};
if (validatedArgs.version) {
return apiRequest(
"get",
`${path}/@history/${validatedArgs.version}`,
options
);
}
if (validatedArgs.expand) {
options.params = {
...options.params,
expand
};
}
return apiRequest("get", path, options);
};
var getContentQuery = ({
path,
version,
page,
fullObjects,
expand,
config
}) => ({
queryKey: [path, "get", "content"],
queryFn: () => getContent({ path, expand, version, page, fullObjects, config })
});
// src/restapi/content/add.ts
var import_zod5 = require("zod");
// src/validation/content.ts
var import_zod4 = require("zod");
var RelatedItemPayloadSchema = import_zod4.z.object({
"@id": import_zod4.z.string(),
"@type": import_zod4.z.string(),
CreationDate: import_zod4.z.string(),
Creator: import_zod4.z.string(),
Date: import_zod4.z.string(),
Description: import_zod4.z.string(),
EffectiveDate: import_zod4.z.unknown(),
ExpirationDate: import_zod4.z.unknown(),
ModificationDate: import_zod4.z.string(),
Subject: import_zod4.z.array(import_zod4.z.unknown()),
Title: import_zod4.z.string(),
Type: import_zod4.z.string(),
UID: import_zod4.z.string(),
author_name: import_zod4.z.unknown(),
cmf_uid: import_zod4.z.unknown(),
commentators: import_zod4.z.array(import_zod4.z.unknown()),
created: import_zod4.z.string(),
description: import_zod4.z.string(),
effective: import_zod4.z.string(),
end: import_zod4.z.unknown(),
exclude_from_nav: import_zod4.z.boolean(),
expires: import_zod4.z.string(),
getIcon: import_zod4.z.unknown(),
getId: import_zod4.z.string(),
getObjSize: import_zod4.z.string(),
getPath: import_zod4.z.string(),
getRemoteUrl: import_zod4.z.unknown(),
getURL: import_zod4.z.string(),
hasPreviewImage: import_zod4.z.unknown(),
head_title: import_zod4.z.unknown(),
id: import_zod4.z.string(),
image_field: import_zod4.z.string().nullable(),
image_scales: import_zod4.z.unknown(),
in_response_to: import_zod4.z.unknown(),
is_folderish: import_zod4.z.boolean(),
last_comment_date: import_zod4.z.unknown(),
listCreators: import_zod4.z.array(import_zod4.z.string()),
location: import_zod4.z.unknown(),
mime_type: import_zod4.z.string(),
modified: import_zod4.z.string(),
nav_title: import_zod4.z.unknown(),
portal_type: import_zod4.z.string(),
review_state: import_zod4.z.string(),
start: import_zod4.z.unknown(),
sync_uid: import_zod4.z.unknown(),
title: import_zod4.z.string(),
total_comments: import_zod4.z.number()
});
var createContentDataSchema = import_zod4.z.object({
"@id": import_zod4.z.string().optional(),
"@static_behaviors": import_zod4.z.unknown().optional(),
"@type": import_zod4.z.string(),
allow_discussion: import_zod4.z.boolean().optional(),
blocks: import_zod4.z.unknown().optional(),
blocks_layout: import_zod4.z.array(import_zod4.z.string()).optional(),
contributors: import_zod4.z.array(import_zod4.z.string()).optional(),
creators: import_zod4.z.array(import_zod4.z.string()).optional(),
description: import_zod4.z.string().optional(),
effective: import_zod4.z.string().nullable().optional(),
exclude_from_nav: import_zod4.z.boolean().optional(),
expires: import_zod4.z.string().nullable().optional(),
id: import_zod4.z.string().optional(),
language: import_zod4.z.string().optional(),
preview_caption: import_zod4.z.string().optional(),
preview_image: import_zod4.z.object({
"content-type": import_zod4.z.string(),
data: import_zod4.z.string(),
encoding: import_zod4.z.string(),
filename: import_zod4.z.string()
}).optional(),
relatedItems: import_zod4.z.array(RelatedItemPayloadSchema).optional(),
rights: import_zod4.z.string().nullable().optional(),
title: import_zod4.z.string(),
versioning_enabled: import_zod4.z.boolean().optional()
});
var updateContentDataSchema = import_zod4.z.object({
allow_discussion: import_zod4.z.boolean().optional(),
blocks: import_zod4.z.unknown().optional(),
blocks_layout: import_zod4.z.array(import_zod4.z.string()).optional(),
contributors: import_zod4.z.array(import_zod4.z.string()).optional(),
creators: import_zod4.z.array(import_zod4.z.string()).optional(),
description: import_zod4.z.string().optional(),
effective: import_zod4.z.string().nullable().optional(),
exclude_from_nav: import_zod4.z.boolean().optional(),
expires: import_zod4.z.string().nullable().optional(),
id: import_zod4.z.string().nullable().optional(),
preview_caption: import_zod4.z.string().optional(),
preview_image: import_zod4.z.object({
"content-type": import_zod4.z.string(),
data: import_zod4.z.string(),
encoding: import_zod4.z.string(),
filename: import_zod4.z.string()
}).optional(),
relatedItems: import_zod4.z.array(RelatedItemPayloadSchema).optional(),
rights: import_zod4.z.string().optional(),
table_of_contents: import_zod4.z.boolean().nullable().optional(),
title: import_zod4.z.string().optional(),
versioning_enabled: import_zod4.z.boolean().optional()
});
// src/restapi/content/add.ts
var createContentArgsSchema = import_zod5.z.object({
path: import_zod5.z.string(),
data: createContentDataSchema,
config: PloneClientConfigSchema
});
var createContent = async ({
path,
data,
config
}) => {
const validatedArgs = createContentArgsSchema.parse({
path,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("post", validatedArgs.path, options);
};
var createContentMutation = ({
config
}) => ({
mutationKey: ["post", "content"],
mutationFn: ({ path, data }) => createContent({ path, data, config })
});
// src/restapi/content/update.ts
var import_zod6 = require("zod");
var updateContentArgsSchema = import_zod6.z.object({
path: import_zod6.z.string(),
data: updateContentDataSchema,
config: PloneClientConfigSchema
});
var updateContent = async ({
path,
data,
config
}) => {
const validatedArgs = updateContentArgsSchema.parse({
path,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("patch", validatedArgs.path, options);
};
var updateContentMutation = ({
config
}) => ({
mutationKey: ["patch", "content"],
mutationFn: ({ path, data }) => updateContent({ path, data, config })
});
// src/restapi/content/delete.ts
var import_zod7 = require("zod");
var deleteContentArgsSchema = import_zod7.z.object({
path: import_zod7.z.string(),
config: PloneClientConfigSchema
});
var deleteContent = async ({
path,
config
}) => {
const validatedArgs = deleteContentArgsSchema.parse({
path,
config
});
const options = {
config: validatedArgs.config
};
return apiRequest("delete", validatedArgs.path, options);
};
var deleteContentMutation = ({
config
}) => ({
mutationKey: ["delete", "content"],
mutationFn: ({ path }) => deleteContent({ path, config })
});
// src/restapi/breadcrumbs/get.ts
var import_zod8 = require("zod");
var getBreadcrumbsSchema = import_zod8.z.object({
path: import_zod8.z.string()
});
var getBreadcrumbs = async ({
path,
config
}) => {
const validatedArgs = getBreadcrumbsSchema.parse({
path
});
const options = {
config,
params: {}
};
const breadcrumbsPath = `${validatedArgs.path}/@breadcrumbs`;
return apiRequest("get", breadcrumbsPath, options);
};
var getBreadcrumbsQuery = ({ path, config }) => ({
queryKey: [path, "get", "breadcrumbs"],
queryFn: () => getBreadcrumbs({ path, config })
});
// src/restapi/navigation/get.ts
var import_zod9 = require("zod");
var getNavigationSchema = import_zod9.z.object({
path: import_zod9.z.string(),
depth: import_zod9.z.number().optional()
});
var getNavigation = async ({
path,
depth,
config
}) => {
const validatedArgs = getNavigationSchema.parse({
path,
depth
});
const options = {
config,
params: {}
};
const navigationPath = `${validatedArgs.path}/@navigation`;
if (validatedArgs.depth) {
options.params["expand.navigation.depth"] = validatedArgs.depth;
}
return apiRequest("get", navigationPath, options);
};
var getNavigationQuery = ({
path,
depth,
config
}) => ({
queryKey: [path, depth, "get", "navigation"],
queryFn: () => getNavigation({ path, depth, config })
});
// src/restapi/contextnavigation/get.ts
var import_zod10 = require("zod");
var getContextNavigationSchema = import_zod10.z.object({
path: import_zod10.z.string()
});
var getContextNavigation = async ({
path,
config
}) => {
const validatedArgs = getContextNavigationSchema.parse({
path
});
const options = {
config,
params: {}
};
const contextnavigationPath = `${validatedArgs.path}/@contextnavigation`;
return apiRequest("get", contextnavigationPath, options);
};
var getContextNavigationQuery = ({
path,
config
}) => ({
queryKey: [path, "get", "contextnavigation"],
queryFn: () => getContextNavigation({ path, config })
});
// src/restapi/actions/get.ts
var import_zod11 = require("zod");
var getActionsSchema = import_zod11.z.object({
path: import_zod11.z.string()
});
var getActions = async ({
path,
config
}) => {
const validatedArgs = getActionsSchema.parse({
path
});
const options = {
config,
params: {}
};
const actionsPath = `${validatedArgs.path}/@actions`;
return apiRequest("get", actionsPath, options);
};
var getActionsQuery = ({ path, config }) => ({
queryKey: [path, "get", "actions"],
queryFn: () => getActions({ path, config })
});
// src/restapi/aliases/get.ts
var import_zod12 = require("zod");
var getAliasesSchema = import_zod12.z.object({
path: import_zod12.z.string()
});
var getAliases = async ({
path,
config
}) => {
const validatedArgs = getAliasesSchema.parse({
path
});
const options = {
config,
params: {}
};
const aliasesPath = `${validatedArgs.path}/@aliases`;
return apiRequest("get", aliasesPath, options);
};
var getAliasesQuery = ({ path, config }) => ({
queryKey: [path, "get", "aliases"],
queryFn: () => getAliases({ path, config })
});
// src/restapi/aliases/add.ts
var import_zod14 = require("zod");
// src/validation/aliases.ts
var import_zod13 = require("zod");
var itemSchema = import_zod13.z.object({
path: import_zod13.z.string()
});
var createAliasesDataSchema = import_zod13.z.object({
items: import_zod13.z.array(itemSchema)
});
var deleteAliasesDataSchema = import_zod13.z.object({
items: import_zod13.z.array(itemSchema)
});
var rootItemSchema = import_zod13.z.object({
datetime: import_zod13.z.string().optional(),
path: import_zod13.z.string(),
"redirect-to": import_zod13.z.string()
});
var createAliasesMultipleDataSchema = import_zod13.z.object({
items: import_zod13.z.array(rootItemSchema)
});
// src/restapi/aliases/add.ts
var createAliasesArgsSchema = import_zod14.z.object({
path: import_zod14.z.string(),
data: createAliasesDataSchema,
config: PloneClientConfigSchema
});
var createAliases = async ({
path,
data,
config
}) => {
const validatedArgs = createAliasesArgsSchema.parse({
path,
data,
config
});
const addAliasesPath = `${validatedArgs.path}/@aliases`;
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("post", addAliasesPath, options);
};
var createAliasesMutation = ({
config
}) => ({
mutationKey: ["post", "aliases"],
mutationFn: ({ path, data }) => createAliases({ path, data, config })
});
// src/restapi/aliases/delete.ts
var import_zod15 = require("zod");
var deleteAliasesArgsSchema = import_zod15.z.object({
path: import_zod15.z.string(),
data: deleteAliasesDataSchema,
config: PloneClientConfigSchema
});
var deleteAliases = async ({
path,
data,
config
}) => {
const validatedArgs = deleteAliasesArgsSchema.parse({
path,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const aliasesPath = `${validatedArgs.path}/@aliases`;
return apiRequest("delete", aliasesPath, options);
};
var deleteAliasesMutation = ({
config
}) => ({
mutationKey: ["delete", "aliases"],
mutationFn: ({ path, data }) => deleteAliases({ path, data, config })
});
// src/restapi/addons/get_list.ts
var getAddons = async ({ config }) => {
const options = {
config,
params: {}
};
return apiRequest("get", "/@addons", options);
};
var getAddonsQuery = ({ config }) => ({
queryKey: ["get", "addons"],
queryFn: () => getAddons({ config })
});
// src/restapi/addons/get.ts
var import_zod16 = require("zod");
var getAddonSchema = import_zod16.z.object({
addonId: import_zod16.z.string()
});
var getAddon = async ({
addonId,
config
}) => {
const validatedArgs = getAddonSchema.parse({
addonId
});
const options = {
config,
params: {}
};
const addonName = `@addons/${validatedArgs.addonId}`;
return apiRequest("get", addonName, options);
};
var getAddonQuery = ({ addonId, config }) => ({
queryKey: [addonId, "get", "addons"],
queryFn: () => getAddon({ addonId, config })
});
// src/restapi/addons/install.ts
var import_zod17 = require("zod");
var installAddonSchema = import_zod17.z.object({
addonId: import_zod17.z.string()
});
var installAddon = async ({
addonId,
config
}) => {
const validatedArgs = installAddonSchema.parse({
addonId
});
const options = {
config,
params: {}
};
const addonName = `@addons/${validatedArgs.addonId}/install`;
return apiRequest("post", addonName, options);
};
var installAddonMutation = ({
config
}) => ({
mutationKey: ["post", "addons"],
mutationFn: ({ addonId }) => installAddon({ addonId, config })
});
// src/restapi/addons/install_profile.ts
var import_zod18 = require("zod");
var installAddonProfileSchema = import_zod18.z.object({
addonId: import_zod18.z.string(),
profile: import_zod18.z.string()
});
var installAddonProfile = async ({
addonId,
profile,
config
}) => {
const validatedArgs = installAddonProfileSchema.parse({
addonId,
profile
});
const options = {
config,
params: {}
};
const addonName = `@addons/${validatedArgs.addonId}/${profile}`;
return apiRequest("post", addonName, options);
};
var installAddonProfileMutation = ({
config
}) => ({
mutationKey: ["post", "addons"],
mutationFn: ({ addonId, profile }) => installAddonProfile({ addonId, profile, config })
});
// src/restapi/addons/unistall.ts
var import_zod19 = require("zod");
var uninstallAddonSchema = import_zod19.z.object({
addonId: import_zod19.z.string()
});
var uninstallAddon = async ({
addonId,
config
}) => {
const validatedArgs = uninstallAddonSchema.parse({
addonId
});
const options = {
config,
params: {}
};
const addonName = `@addons/${validatedArgs.addonId}/uninstall`;
return apiRequest("post", addonName, options);
};
var uninstallAddonMutation = ({
config
}) => ({
mutationKey: ["post", "addons"],
mutationFn: ({ addonId }) => uninstallAddon({ addonId, config })
});
// src/restapi/addons/upgrade.ts
var import_zod20 = require("zod");
var upgradeAddonSchema = import_zod20.z.object({
addonId: import_zod20.z.string()
});
var upgradeAddon = async ({
addonId,
config
}) => {
const validatedArgs = upgradeAddonSchema.parse({
addonId
});
const options = {
config,
params: {}
};
const addonName = `@addons/${validatedArgs.addonId}/upgrade`;
return apiRequest("post", addonName, options);
};
var upgradeAddonMutation = ({
config
}) => ({
mutationKey: ["post", "addons"],
mutationFn: ({ addonId }) => upgradeAddon({ addonId, config })
});
// src/restapi/database/get.ts
var getDatabase = async ({
config
}) => {
const options = {
config,
params: {}
};
return apiRequest("get", "/@database", options);
};
var getDatabaseQuery = ({ config }) => ({
queryKey: ["get", "database"],
queryFn: () => getDatabase({ config })
});
// src/restapi/groups/get.ts
var import_zod21 = require("zod");
var getGroupSchema = import_zod21.z.object({
groupId: import_zod21.z.string()
});
var getGroup = async ({
groupId,
config
}) => {
const validatedArgs = getGroupSchema.parse({
groupId
});
const options = {
config,
params: {}
};
const groupName = `@groups/${validatedArgs.groupId}`;
return apiRequest("get", groupName, options);
};
var getGroupQuery = ({ groupId, config }) => ({
queryKey: [groupId, "get", "groups"],
queryFn: () => getGroup({ groupId, config })
});
// src/restapi/groups/add.ts
var import_zod23 = require("zod");
// src/validation/groups.ts
var import_zod22 = require("zod");
var createGroupDataSchema = import_zod22.z.object({
description: import_zod22.z.string().optional(),
email: import_zod22.z.string().optional(),
groupname: import_zod22.z.string(),
groups: import_zod22.z.array(import_zod22.z.string()).optional(),
roles: import_zod22.z.array(import_zod22.z.string()).optional(),
title: import_zod22.z.string().optional(),
users: import_zod22.z.array(import_zod22.z.string()).optional()
});
var updateGroupDataSchema = import_zod22.z.object({
description: import_zod22.z.string().optional(),
email: import_zod22.z.string().optional(),
title: import_zod22.z.string().optional()
});
// src/restapi/groups/add.ts
var createGroupArgsSchema = import_zod23.z.object({
data: createGroupDataSchema,
config: PloneClientConfigSchema
});
var createGroup = async ({
data,
config
}) => {
const validatedArgs = createGroupArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("post", "/@groups", options);
};
var createGroupMutation = ({
config
}) => ({
mutationKey: ["post", "groups"],
mutationFn: ({ data }) => createGroup({ data, config })
});
// src/restapi/groups/get_list.ts
var getGroups = async ({
config
}) => {
const options = {
config,
params: {}
};
return apiRequest("get", "/@groups", options);
};
var getGroupsQuery = ({ config }) => ({
queryKey: ["get", "groups"],
queryFn: () => getGroups({ config })
});
// src/restapi/groups/update.ts
var import_zod24 = require("zod");
var updateGroupArgsSchema = import_zod24.z.object({
groupId: import_zod24.z.string(),
data: updateGroupDataSchema,
config: PloneClientConfigSchema
});
var updateGroup = async ({
groupId,
data,
config
}) => {
const validatedArgs = updateGroupArgsSchema.parse({
groupId,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const groupName = `/@groups/${validatedArgs.groupId}`;
return apiRequest("patch", groupName, options);
};
var updateGroupMutation = ({
config
}) => ({
mutationKey: ["patch", "groups"],
mutationFn: ({ groupId, data }) => updateGroup({ groupId, data, config })
});
// src/restapi/groups/delete.ts
var import_zod25 = require("zod");
var deleteGroupArgsSchema = import_zod25.z.object({
groupId: import_zod25.z.string(),
config: PloneClientConfigSchema
});
var deleteGroup = async ({
groupId,
config
}) => {
const validatedArgs = deleteGroupArgsSchema.parse({
groupId,
config
});
const options = {
config: validatedArgs.config
};
const groupName = `/@groups/${validatedArgs.groupId}`;
return apiRequest("delete", groupName, options);
};
var deleteGroupMutation = ({
config
}) => ({
mutationKey: ["delete", "groups"],
mutationFn: ({ groupId }) => deleteGroup({ groupId, config })
});
// src/restapi/history/get.ts
var import_zod26 = require("zod");
var getHistorySchema = import_zod26.z.object({
path: import_zod26.z.string()
});
var getHistory = async ({
path,
config
}) => {
const validatedArgs = getHistorySchema.parse({
path
});
const options = {
config,
params: {}
};
const historyPath = `/${validatedArgs.path}/@history`;
return apiRequest("get", historyPath, options);
};
var getHistoryQuery = ({ path, config }) => ({
queryKey: [path, "get", "history"],
queryFn: () => getHistory({ path, config })
});
// src/restapi/history/get_versioned.ts
var import_zod27 = require("zod");
var getHistoryVersionedSchema = import_zod27.z.object({
path: import_zod27.z.string(),
version: import_zod27.z.number()
});
var getHistoryVersioned = async ({
path,
version,
config
}) => {
const validatedArgs = getHistoryVersionedSchema.parse({
path,
version
});
const options = {
config,
params: {}
};
const historyPath = `${validatedArgs.path}/@history/${validatedArgs.version}`;
return apiRequest("get", historyPath, options);
};
var getHistoryVersionedQuery = ({
path,
version,
config
}) => ({
queryKey: [path, "get", "history"],
queryFn: () => getHistoryVersioned({ path, version, config })
});
// src/restapi/history/revert.ts
var import_zod29 = require("zod");
// src/validation/history.ts
var import_zod28 = require("zod");
var revertHistoryDataSchema = import_zod28.z.object({
version: import_zod28.z.number()
});
// src/restapi/history/revert.ts
var revertHistoryArgsSchema = import_zod29.z.object({
path: import_zod29.z.string(),
data: revertHistoryDataSchema,
config: PloneClientConfigSchema
});
var revertHistory = async ({
path,
data,
config
}) => {
const validatedArgs = revertHistoryArgsSchema.parse({
path,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const historyPath = `${validatedArgs.path}/@history`;
return apiRequest("patch", historyPath, options);
};
var revertHistoryMutation = ({
config
}) => ({
mutationKey: ["patch", "history"],
mutationFn: ({ path, data }) => revertHistory({ path, data, config })
});
// src/restapi/users/get_list.ts
var import_zod30 = require("zod");
var getUsersSchema = import_zod30.z.object({
query: import_zod30.z.string().optional(),
groupsFilter: import_zod30.z.array(import_zod30.z.string()).optional(),
search: import_zod30.z.string().optional(),
limit: import_zod30.z.number().optional()
});
var getUsers = async ({
query: query2,
groupsFilter,
search,
limit,
config
}) => {
const validatedArgs = getUsersSchema.parse({
query: query2,
groupsFilter,
search,
limit
});
const options = {
config,
params: {
...validatedArgs.query && { query: validatedArgs.query },
...validatedArgs.groupsFilter && {
"groups-filter": validatedArgs.groupsFilter
},
...validatedArgs.limit && { limit: validatedArgs.limit },
...validatedArgs.search && { search: validatedArgs.search }
}
};
return apiRequest("get", "/@users", options);
};
var getUsersQuery = ({
query: query2,
groupsFilter,
search,
limit,
config
}) => ({
queryKey: [query2, groupsFilter, search, limit, "get", "users"],
queryFn: () => getUsers({ query: query2, groupsFilter, search, limit, config })
});
// src/restapi/users/get.ts
var import_zod31 = require("zod");
var getUserSchema = import_zod31.z.object({
userId: import_zod31.z.string()
});
var getUser = async ({
userId,
config
}) => {
const validatedArgs = getUserSchema.parse({
userId
});
const options = {
config,
params: {}
};
const userName = `@users/${validatedArgs.userId}`;
return apiRequest("get", userName, options);
};
var getUserQuery = ({ userId, config }) => ({
queryKey: [userId, "get", "users"],
queryFn: () => getUser({ userId, config })
});
// src/restapi/users/add.ts
var import_zod33 = require("zod");
// src/validation/users.ts
var import_zod32 = require("zod");
var createUserDataSchema = import_zod32.z.object({
description: import_zod32.z.string().optional(),
email: import_zod32.z.string().email(),
fullname: import_zod32.z.string().optional(),
home_page: import_zod32.z.string().url().optional(),
location: import_zod32.z.string().optional(),
sendPasswordReset: import_zod32.z.boolean().optional(),
username: import_zod32.z.string(),
roles: import_zod32.z.array(import_zod32.z.string()).optional(),
password: import_zod32.z.string().optional()
});
var portraitSchema = import_zod32.z.object({
"content-type": import_zod32.z.string(),
data: import_zod32.z.string(),
encoding: import_zod32.z.string(),
filename: import_zod32.z.string(),
scale: import_zod32.z.boolean().optional()
});
var updateUserDataSchema = import_zod32.z.object({
description: import_zod32.z.string().optional(),
email: import_zod32.z.string().email().optional(),
fullname: import_zod32.z.string().optional(),
home_page: import_zod32.z.string().url().optional(),
location: import_zod32.z.string().optional(),
username: import_zod32.z.string().optional(),
portrait: portraitSchema.optional()
});
var resetPasswordWithTokenDataSchema = import_zod32.z.object({
reset_token: import_zod32.z.string(),
new_password: import_zod32.z.string()
});
var updatePasswordDataSchema = import_zod32.z.object({
new_password: import_zod32.z.string(),
old_password: import_zod32.z.string()
});
// src/restapi/users/add.ts
var createUserArgsSchema = import_zod33.z.object({
data: createUserDataSchema,
config: PloneClientConfigSchema
});
var createUser = async ({
data,
config
}) => {
const validatedArgs = createUserArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("post", "/@users", options);
};
var createUserMutation = ({
config
}) => ({
mutationKey: ["post", "users"],
mutationFn: ({ data }) => createUser({ data, config })
});
// src/restapi/users/delete.ts
var import_zod34 = require("zod");
var deleteUserArgsSchema = import_zod34.z.object({
userId: import_zod34.z.string(),
config: PloneClientConfigSchema
});
var deleteUser = async ({
userId,
config
}) => {
const validatedArgs = deleteUserArgsSchema.parse({
userId,
config
});
const options = {
config: validatedArgs.config
};
const userName = `/@users/${validatedArgs.userId}`;
return apiRequest("delete", userName, options);
};
var deleteUserMutation = ({
config
}) => ({
mutationKey: ["delete", "users"],
mutationFn: ({ userId }) => deleteUser({ userId, config })
});
// src/restapi/users/reset_password.ts
var import_zod35 = require("zod");
var resetPasswordArgsSchema = import_zod35.z.object({
userId: import_zod35.z.string(),
config: PloneClientConfigSchema
});
var resetPassword = async ({
userId,
config
}) => {
const validatedArgs = resetPasswordArgsSchema.parse({
userId,
config
});
const options = {
config: validatedArgs.config
};
const userName = `@users/${validatedArgs.userId}/reset-password`;
return apiRequest("post", userName, options);
};
var resetPasswordMutation = ({
config
}) => ({
mutationKey: ["post", "user"],
mutationFn: ({ userId }) => resetPassword({ userId, config })
});
// src/restapi/users/reset_password_with_token.ts
var import_zod36 = require("zod");
var resetPasswordWithTokenArgsSchema = import_zod36.z.object({
userId: import_zod36.z.string(),
data: resetPasswordWithTokenDataSchema,
config: PloneClientConfigSchema
});
var resetPasswordWithToken = async ({
userId,
data,
config
}) => {
const validatedArgs = resetPasswordWithTokenArgsSchema.parse({
userId,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const userName = `@users/${validatedArgs.userId}/reset-password`;
return apiRequest("post", userName, options);
};
var resetPasswordWithTokenMutation = ({
config
}) => ({
mutationKey: ["post", "user"],
mutationFn: ({
userId,
data
}) => resetPasswordWithToken({ userId, data, config })
});
// src/restapi/users/update_password.ts
var import_zod37 = require("zod");
var updatePasswordArgsSchema = import_zod37.z.object({
userId: import_zod37.z.string(),
data: updatePasswordDataSchema,
config: PloneClientConfigSchema
});
var updatePassword = async ({
userId,
data,
config
}) => {
const validatedArgs = updatePasswordArgsSchema.parse({
userId,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const userName = `@users/${validatedArgs.userId}/reset-password`;
return apiRequest("post", userName, options);
};
var updatePasswordMutation = ({
config
}) => ({
mutationKey: ["post", "user"],
mutationFn: ({ userId, data }) => updatePassword({ userId, data, config })
});
// src/restapi/users/update.ts
var import_zod38 = require("zod");
var updateUserArgsSchema = import_zod38.z.object({
userId: import_zod38.z.string(),
data: updateUserDataSchema,
config: PloneClientConfigSchema
});
var updateUser = async ({
userId,
data,
config
}) => {
const validatedArgs = updateUserArgsSchema.parse({
userId,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const userName = `/@users/${validatedArgs.userId}`;
return apiRequest("patch", userName, options);
};
var updateUserMutation = ({
config
}) => ({
mutationKey: ["patch", "users"],
mutationFn: ({ userId, data }) => updateUser({ userId, data, config })
});
// src/restapi/relations/get_list.ts
var getRelationsList = async ({
config
}) => {
const options = {
config,
params: {}
};
return apiRequest("get", "/@relations", options);
};
var getRelationsListQuery = ({ config }) => ({
queryKey: ["get", "relations"],
queryFn: () => getRelationsList({ config })
});
// src/restapi/relations/get.ts
var import_zod39 = require("zod");
var getRelationsSchema = import_zod39.z.object({
source: import_zod39.z.string().optional(),
relation: import_zod39.z.string().optional(),
onlyBroken: import_zod39.z.boolean().optional()
}).refine((data) => {
return data.source !== void 0 || data.relation !== void 0;
});
var getRelations = async ({
source,
relation,
onlyBroken,
config
}) => {
const validatedArgs = getRelationsSchema.parse({
source,
relation,
onlyBroken
});
const options = {
config,
params: {
...validatedArgs.source && { source: validatedArgs.source },
...validatedArgs.relation && { relation: validatedArgs.relation },
...validatedArgs.onlyBroken && { relation: validatedArgs.onlyBroken }
}
};
return apiRequest("get", "/@relations", options);
};
var getRelationsQuery = ({
source,
relation,
onlyBroken,
config
}) => ({
queryKey: [source, relation, onlyBroken, "get", "relations"],
queryFn: () => getRelations({ source, relation, onlyBroken, config })
});
// src/restapi/relations/add.ts
var import_zod41 = require("zod");
// src/validation/relations.ts
var import_zod40 = require("zod");
var RelationDataSchema = import_zod40.z.object({
relation: import_zod40.z.string(),
source: import_zod40.z.string(),
target: import_zod40.z.string()
});
var createRelationsDataSchema = import_zod40.z.object({
items: import_zod40.z.array(RelationDataSchema)
});
var deleteRelationsDataSchema = import_zod40.z.object({
items: import_zod40.z.array(RelationDataSchema).optional(),
relation: import_zod40.z.string().optional(),
source: import_zod40.z.string().optional(),
target: import_zod40.z.string().optional()
});
var fixRelationsDataSchema = import_zod40.z.object({
flush: import_zod40.z.number().optional()
});
// src/restapi/relations/add.ts
var createRelationsArgsSchema = import_zod41.z.object({
data: createRelationsDataSchema,
config: PloneClientConfigSchema
});
var createRelations = async ({
data,
config
}) => {
const validatedArgs = createRelationsArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("post", "/@relations", options);
};
var createRelationsMutation = ({
config
}) => ({
mutationKey: ["post", "relations"],
mutationFn: ({ data }) => createRelations({ data, config })
});
// src/restapi/relations/delete.ts
var import_zod42 = require("zod");
var deleteRelationsArgsSchema = import_zod42.z.object({
data: deleteRelationsDataSchema,
config: PloneClientConfigSchema
});
var deleteRelations = async ({
data,
config
}) => {
const validatedArgs = deleteRelationsArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("delete", "/@relations", options);
};
var deleteRelationsMutation = ({
config
}) => ({
mutationKey: ["delete", "relations"],
mutationFn: ({ data }) => deleteRelations({ data, config })
});
// src/restapi/relations/fix.ts
var import_zod43 = require("zod");
var fixRelationsArgsSchema = import_zod43.z.object({
data: fixRelationsDataSchema.optional(),
config: PloneClientConfigSchema
});
var fixRelations = async ({
data,
config
}) => {
const validatedArgs = fixRelationsArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("post", "@relations/rebuild", options);
};
var fixRelationsMutation = ({
config
}) => ({
mutationKey: ["post", "relations"],
mutationFn: ({ data }) => fixRelations({ data, config })
});
// src/restapi/querystring-search/get.ts
var import_zod45 = require("zod");
// src/validation/querystring-search.ts
var import_zod44 = require("zod");
var query = import_zod44.z.object({
i: import_zod44.z.string(),
o: import_zod44.z.string(),
v: import_zod44.z.union([import_zod44.z.string(), import_zod44.z.array(import_zod44.z.string())])
});
var querystringSearchDataSchema = import_zod44.z.object({
b_start: import_zod44.z.string().optional(),
b_size: import_zod44.z.string().optional(),
limit: import_zod44.z.string().optional(),
sort_on: import_zod44.z.string().optional(),
sort_order: import_zod44.z.string().optional(),
fullobjects: import_zod44.z.boolean().optional(),
query: import_zod44.z.array(query)
});
// src/restapi/querystring-search/get.ts
var getQuerystringSearch = async ({
query: query2,
config
}) => {
const validatedArgs = querystringSearchDataSchema.parse({
query: query2
});
const queryObject = { query: validatedArgs.query };
const querystring = JSON.stringify(queryObject);
const encodedQuery = encodeURIComponent(querystring);
const options = {
config,
params: {
...encodedQuery && { query: encodedQuery }
}
};
return apiRequest("get", "/@querystring-search", options);
};
var getQuerystringSearchQuery = ({
query: query2,
config
}) => ({
queryKey: ["get", "querystringSearch"],
queryFn: () => getQuerystringSearch({ query: query2, config })
});
// src/restapi/querystring-search/post.ts
var import_zod46 = require("zod");
var postQuerystringSearchArgsSchema = import_zod46.z.object({
data: querystringSearchDataSchema,
config: PloneClientConfigSchema
});
var postQuerystringSearch = async ({
data,
config
}) => {
const validatedArgs = postQuerystringSearchArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("post", "/@querystring-search", options);
};
var postQuerystringSearchMutation = ({
config
}) => ({
mutationKey: ["post", "querystring-search"],
mutationFn: ({ data }) => postQuerystringSearch({ data, config })
});
// src/restapi/rules/get.ts
var getRules = async ({
config
}) => {
const options = {
config,
params: {}
};
return apiRequest("get", "/@content-rules", options);
};
var getRulesQuery = ({ config }) => ({
queryKey: ["get", "rules"],
queryFn: () => getRules({ config })
});
// src/restapi/rules/add.ts
var import_zod47 = require("zod");
var createRuleArgsSchema = import_zod47.z.object({
ruleId: import_zod47.z.string(),
config: PloneClientConfigSchema
});
var createRule = async ({
ruleId,
config
}) => {
const validatedArgs = createRuleArgsSchema.parse({
ruleId,
config
});
const options = {
config: validatedArgs.config
};
const addRulePath = `/@content-rules/${validatedArgs.ruleId}`;
return apiRequest("post", addRulePath, options);
};
var createRuleMutation = ({
config
}) => ({
mutationKey: ["post", "rules"],
mutationFn: ({ ruleId }) => createRule({ ruleId, config })
});
// src/restapi/rules/update.ts
var import_zod49 = require("zod");
// src/validation/rules.ts
var import_zod48 = require("zod");
var updateRulesDataSchema = import_zod48.z.object({
"form.button.Bubble": import_zod48.z.boolean().optional(),
"form.button.NoBubble": import_zod48.z.boolean().optional(),
"form.button.Enable": import_zod48.z.boolean().optional(),
"form.button.Disable": import_zod48.z.boolean().optional(),
rules_ids: import_zod48.z.array(import_zod48.z.string()).optional(),
operation: import_zod48.z.string().optional(),
rule_id: import_zod48.z.string().optional()
});
var deleteRulesDataSchema = import_zod48.z.object({
rules_ids: import_zod48.z.array(import_zod48.z.string())
});
// src/restapi/rules/update.ts
var updateRulesArgsSchema = import_zod49.z.object({
data: updateRulesDataSchema,
config: PloneClientConfigSchema
});
var updateRules = async ({
data,
config
}) => {
const validatedArgs = updateRulesArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
return apiRequest("patch", "/@content-rules", options);
};
var updateRulesMutation = ({
config
}) => ({
mutationKey: ["patch", "rules"],
mutationFn: ({ data }) => updateRules({ data, config })
});
// src/restapi/rules/delete.ts
var import_zod50 = require("zod");
var deleteRulesArgsSchema = import_zod50.z.object({
data: deleteRulesDataSchema,
config: PloneClientConfigSchema
});
var deleteRules = async ({
data,
config
}) => {
const validatedArgs = deleteRulesArgsSchema.parse({
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const deleteRulesPath = `/@content-rules`;
return apiRequest("delete", deleteRulesPath, options);
};
var deleteRulesMutation = ({
config
}) => ({
mutationKey: ["delete", "rules"],
mutationFn: ({ data }) => deleteRules({ data, config })
});
// src/restapi/controlpanels/get_list.ts
var getControlpanels = async ({
config
}) => {
const options = {
config,
params: {}
};
return apiRequest("get", "/@controlpanels", options);
};
var getControlpanelsQuery = ({ config }) => ({
queryKey: ["get", "controlpanels"],
queryFn: () => getControlpanels({ config })
});
// src/restapi/controlpanels/get.ts
var import_zod51 = require("zod");
var getControlpanelSchema = import_zod51.z.object({
path: import_zod51.z.string()
});
var getControlpanel = async ({
path,
config
}) => {
const validatedArgs = getControlpanelSchema.parse({
path
});
const options = {
config,
params: {}
};
const getControlpanelPath = `@controlpanels/${validatedArgs.path}`;
return apiRequest("get", getControlpanelPath, options);
};
var getControlpanelQuery = ({ path, config }) => ({
queryKey: [path, "get", "controlpanels"],
queryFn: () => getControlpanel({ path, config })
});
// src/restapi/controlpanels/add.ts
var import_zod52 = require("zod");
var createControlpanelArgsSchema = import_zod52.z.object({
path: import_zod52.z.string(),
data: import_zod52.z.any(),
config: PloneClientConfigSchema
});
var createControlpanel = async ({
path,
data,
config
}) => {
const validatedArgs = createControlpanelArgsSchema.parse({
path,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const createControlpanelPath = `@controlpanels/${validatedArgs.path}`;
return apiRequest("post", createControlpanelPath, options);
};
var createControlpanelMutation = ({
config
}) => ({
mutationKey: ["post", "controlpanels"],
mutationFn: ({ path, data }) => createControlpanel({ path, data, config })
});
// src/restapi/controlpanels/update.ts
var import_zod53 = require("zod");
var updateControlpanelArgsSchema = import_zod53.z.object({
path: import_zod53.z.string(),
data: import_zod53.z.any(),
config: PloneClientConfigSchema
});
var updateControlpanel = async ({
path,
data,
config
}) => {
const validatedArgs = updateControlpanelArgsSchema.parse({
path,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const updateControlpanelPath = `@controlpanels/${validatedArgs.path}`;
return apiRequest("patch", updateControlpanelPath, options);
};
var updateControlpanelMutation = ({
config
}) => ({
mutationKey: ["patch", "controlpanels"],
mutationFn: ({ path, data }) => updateControlpanel({ path, data, config })
});
// src/restapi/controlpanels/delete.ts
var import_zod54 = require("zod");
var deleteControlpanelArgsSchema = import_zod54.z.object({
path: import_zod54.z.string(),
data: import_zod54.z.any(),
config: PloneClientConfigSchema
});
var deleteControlpanel = async ({
path,
data,
config
}) => {
const validatedArgs = deleteControlpanelArgsSchema.parse({
path,
data,
config
});
const options = {
data: validatedArgs.data,
config: validatedArgs.config
};
const deleteControlpanelPath = `@controlpanels/${validatedArgs.path}`;
return apiRequest("delete", deleteControlpanelPath, options);
};
var deleteControlpanelMutation = ({
config
}) => ({
mutationKey: ["delete", "controlpanels"],
mutationFn: ({ path, data }) => deleteControlpanel({ path, data, config })
});
// src/restapi/search/get.ts
var import_zod56 = require("zod");
// src/validation/search.ts
var import_zod55 = require("zod");
var querySchema = import_zod55.z.object({
path: import_zod55.z.object({
query: import_zod55.z.union([import_zod55.z.string(), import_zod55.z.array(import_zod55.z.string())]),
depth: import_zod55.z.number().optional()
}).optional(),
sort_on: import_zod55.z.union([import_zod55.z.string(), import_zod55.z.array(import_zod55.z.string())]).optional(),
SearchableText: import_zod55.z.string().optional(),
metadata_fields: import_zod55.z.union([import_zod55.z.string(), import_zod55.z.array(import_zod55.z.string())]).optional(),
fullobjects: import_zod55.z.number().optional()
}).and(import_zod55.z.record(import_zod55.z.any()));
var getSearchSchema = import_zod55.z.object({
query: querySchema
});
// src/utils/misc.ts
var import_react_query = require("@tanstack/react-query");
var queryWithConfig = (method, configGetter) => {
return (args) => method({ ...args, config: configGetter() });
};
var mutationWithConfig = (method, configGetter) => {
return () => method({ config: configGetter() });
};
var flattenToDottedNotation = (obj, prefix = "") => {
const result = {};
for (const key of Object.keys(obj)) {
const value = obj[key];
const newKey = prefix ? `${prefix}.${key}` : key;
if (typeof value === "object" && !Array.isArray(value) && value !== null) {
Object.assign(result, flattenToDottedNotation(value, newKey));
} else {
result[newKey] = value;
}
}
return result;
};
var queryHookFromQuery = (queryFnCreator) => {
return (args) => (0, import_react_query.useQuery)(queryFnCreator(args));
};
var mutationHookFromMutation = (mutationFnCreator) => {
return () => (0, import_react_query.useMutation)(mutationFnCreator());
};
// src/restapi/search/get.ts
var getSearch = async ({
query: query2,
config
}) => {
const validatedArgs = getSearchSchema.parse({
query: query2
});
const flattenedQuery = flattenToDottedNotation(validatedArgs.query);
const options = {
config,
params: {
...flattenedQuery,
"path.query": void 0
}
};
return apiRequest("get", `${query2.path?.query ?? ""}/@search`, options);
};
var getSearchQuery = ({ query: query2, config }) => ({
queryKey: [query2, "get", "search"],
queryFn: () => getSearch({ query: query2, config })
});
// src/restapi/querysources/get.ts
var import_zod57 = require("zod");
var getQuerysourceSchema = import_zod57.z.object({
path: import_zod57.z.string(),
field: import_zod57.z.string(),
query: import_zod57.z.string()
});
var getQuerysource = async ({
path,
field,
query: query2,
config
}) => {
const validatedArgs = getQuerysourceSchema.parse({
path,
field,
query: query2
});
const options = {
config,
params: {
...validatedArgs.query && { query: validatedArgs.query }
}
};
const querysourcePath = `/${validatedArgs.path}/@querysources/${field}`;
return apiRequest("get", querysourcePath, options);
};
var getQuerysourceQuery = ({
path,
field,
query: query2,
config
}) => ({
queryKey: [path, field, query2, "get", "querysources"],
queryFn: () => getQuerysource({ path, fi