UNPKG

@plone/client

Version:

JavaScript Plone REST API client - JS framework agnostic library based on TanStack Query

2,083 lines (1,994 loc) 93 kB
// src/API.ts import axios from "axios"; import qs from "query-string"; import debugFactory from "debug"; var debug = debugFactory("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 qs.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 = axios.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 import { z as z2 } from "zod"; // src/validation/config.ts import { z } from "zod"; var PloneClientConfigSchema = z.object({ apiPath: z.string(), token: z.string().optional() }); // src/restapi/login/post.ts var loginArgsSchema = z2.object({ username: z2.string(), password: z2.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 import { z as z3 } from "zod"; var getContentArgsSchema = z3.object({ path: z3.string(), version: z3.string().optional(), page: z3.number().optional(), fullObjects: z3.boolean().optional(), expand: z3.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 import { z as z5 } from "zod"; // src/validation/content.ts import { z as z4 } from "zod"; var RelatedItemPayloadSchema = z4.object({ "@id": z4.string(), "@type": z4.string(), CreationDate: z4.string(), Creator: z4.string(), Date: z4.string(), Description: z4.string(), EffectiveDate: z4.unknown(), ExpirationDate: z4.unknown(), ModificationDate: z4.string(), Subject: z4.array(z4.unknown()), Title: z4.string(), Type: z4.string(), UID: z4.string(), author_name: z4.unknown(), cmf_uid: z4.unknown(), commentators: z4.array(z4.unknown()), created: z4.string(), description: z4.string(), effective: z4.string(), end: z4.unknown(), exclude_from_nav: z4.boolean(), expires: z4.string(), getIcon: z4.unknown(), getId: z4.string(), getObjSize: z4.string(), getPath: z4.string(), getRemoteUrl: z4.unknown(), getURL: z4.string(), hasPreviewImage: z4.unknown(), head_title: z4.unknown(), id: z4.string(), image_field: z4.string().nullable(), image_scales: z4.unknown(), in_response_to: z4.unknown(), is_folderish: z4.boolean(), last_comment_date: z4.unknown(), listCreators: z4.array(z4.string()), location: z4.unknown(), mime_type: z4.string(), modified: z4.string(), nav_title: z4.unknown(), portal_type: z4.string(), review_state: z4.string(), start: z4.unknown(), sync_uid: z4.unknown(), title: z4.string(), total_comments: z4.number() }); var createContentDataSchema = z4.object({ "@id": z4.string().optional(), "@static_behaviors": z4.unknown().optional(), "@type": z4.string(), allow_discussion: z4.boolean().optional(), blocks: z4.unknown().optional(), blocks_layout: z4.array(z4.string()).optional(), contributors: z4.array(z4.string()).optional(), creators: z4.array(z4.string()).optional(), description: z4.string().optional(), effective: z4.string().nullable().optional(), exclude_from_nav: z4.boolean().optional(), expires: z4.string().nullable().optional(), id: z4.string().optional(), language: z4.string().optional(), preview_caption: z4.string().optional(), preview_image: z4.object({ "content-type": z4.string(), data: z4.string(), encoding: z4.string(), filename: z4.string() }).optional(), relatedItems: z4.array(RelatedItemPayloadSchema).optional(), rights: z4.string().nullable().optional(), title: z4.string(), versioning_enabled: z4.boolean().optional() }); var updateContentDataSchema = z4.object({ allow_discussion: z4.boolean().optional(), blocks: z4.unknown().optional(), blocks_layout: z4.array(z4.string()).optional(), contributors: z4.array(z4.string()).optional(), creators: z4.array(z4.string()).optional(), description: z4.string().optional(), effective: z4.string().nullable().optional(), exclude_from_nav: z4.boolean().optional(), expires: z4.string().nullable().optional(), id: z4.string().nullable().optional(), preview_caption: z4.string().optional(), preview_image: z4.object({ "content-type": z4.string(), data: z4.string(), encoding: z4.string(), filename: z4.string() }).optional(), relatedItems: z4.array(RelatedItemPayloadSchema).optional(), rights: z4.string().optional(), table_of_contents: z4.boolean().nullable().optional(), title: z4.string().optional(), versioning_enabled: z4.boolean().optional() }); // src/restapi/content/add.ts var createContentArgsSchema = z5.object({ path: z5.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 import { z as z6 } from "zod"; var updateContentArgsSchema = z6.object({ path: z6.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 import { z as z7 } from "zod"; var deleteContentArgsSchema = z7.object({ path: z7.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 import { z as z8 } from "zod"; var getBreadcrumbsSchema = z8.object({ path: z8.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 import { z as z9 } from "zod"; var getNavigationSchema = z9.object({ path: z9.string(), depth: z9.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 import { z as z10 } from "zod"; var getContextNavigationSchema = z10.object({ path: z10.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 import { z as z11 } from "zod"; var getActionsSchema = z11.object({ path: z11.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 import { z as z12 } from "zod"; var getAliasesSchema = z12.object({ path: z12.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 import { z as z14 } from "zod"; // src/validation/aliases.ts import { z as z13 } from "zod"; var itemSchema = z13.object({ path: z13.string() }); var createAliasesDataSchema = z13.object({ items: z13.array(itemSchema) }); var deleteAliasesDataSchema = z13.object({ items: z13.array(itemSchema) }); var rootItemSchema = z13.object({ datetime: z13.string().optional(), path: z13.string(), "redirect-to": z13.string() }); var createAliasesMultipleDataSchema = z13.object({ items: z13.array(rootItemSchema) }); // src/restapi/aliases/add.ts var createAliasesArgsSchema = z14.object({ path: z14.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 import { z as z15 } from "zod"; var deleteAliasesArgsSchema = z15.object({ path: z15.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 import { z as z16 } from "zod"; var getAddonSchema = z16.object({ addonId: z16.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 import { z as z17 } from "zod"; var installAddonSchema = z17.object({ addonId: z17.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 import { z as z18 } from "zod"; var installAddonProfileSchema = z18.object({ addonId: z18.string(), profile: z18.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 import { z as z19 } from "zod"; var uninstallAddonSchema = z19.object({ addonId: z19.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 import { z as z20 } from "zod"; var upgradeAddonSchema = z20.object({ addonId: z20.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 import { z as z21 } from "zod"; var getGroupSchema = z21.object({ groupId: z21.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 import { z as z23 } from "zod"; // src/validation/groups.ts import { z as z22 } from "zod"; var createGroupDataSchema = z22.object({ description: z22.string().optional(), email: z22.string().optional(), groupname: z22.string(), groups: z22.array(z22.string()).optional(), roles: z22.array(z22.string()).optional(), title: z22.string().optional(), users: z22.array(z22.string()).optional() }); var updateGroupDataSchema = z22.object({ description: z22.string().optional(), email: z22.string().optional(), title: z22.string().optional() }); // src/restapi/groups/add.ts var createGroupArgsSchema = z23.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 import { z as z24 } from "zod"; var updateGroupArgsSchema = z24.object({ groupId: z24.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 import { z as z25 } from "zod"; var deleteGroupArgsSchema = z25.object({ groupId: z25.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 import { z as z26 } from "zod"; var getHistorySchema = z26.object({ path: z26.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 import { z as z27 } from "zod"; var getHistoryVersionedSchema = z27.object({ path: z27.string(), version: z27.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 import { z as z29 } from "zod"; // src/validation/history.ts import { z as z28 } from "zod"; var revertHistoryDataSchema = z28.object({ version: z28.number() }); // src/restapi/history/revert.ts var revertHistoryArgsSchema = z29.object({ path: z29.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 import { z as z30 } from "zod"; var getUsersSchema = z30.object({ query: z30.string().optional(), groupsFilter: z30.array(z30.string()).optional(), search: z30.string().optional(), limit: z30.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 import { z as z31 } from "zod"; var getUserSchema = z31.object({ userId: z31.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 import { z as z33 } from "zod"; // src/validation/users.ts import { z as z32 } from "zod"; var createUserDataSchema = z32.object({ description: z32.string().optional(), email: z32.string().email(), fullname: z32.string().optional(), home_page: z32.string().url().optional(), location: z32.string().optional(), sendPasswordReset: z32.boolean().optional(), username: z32.string(), roles: z32.array(z32.string()).optional(), password: z32.string().optional() }); var portraitSchema = z32.object({ "content-type": z32.string(), data: z32.string(), encoding: z32.string(), filename: z32.string(), scale: z32.boolean().optional() }); var updateUserDataSchema = z32.object({ description: z32.string().optional(), email: z32.string().email().optional(), fullname: z32.string().optional(), home_page: z32.string().url().optional(), location: z32.string().optional(), username: z32.string().optional(), portrait: portraitSchema.optional() }); var resetPasswordWithTokenDataSchema = z32.object({ reset_token: z32.string(), new_password: z32.string() }); var updatePasswordDataSchema = z32.object({ new_password: z32.string(), old_password: z32.string() }); // src/restapi/users/add.ts var createUserArgsSchema = z33.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 import { z as z34 } from "zod"; var deleteUserArgsSchema = z34.object({ userId: z34.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 import { z as z35 } from "zod"; var resetPasswordArgsSchema = z35.object({ userId: z35.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 import { z as z36 } from "zod"; var resetPasswordWithTokenArgsSchema = z36.object({ userId: z36.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 import { z as z37 } from "zod"; var updatePasswordArgsSchema = z37.object({ userId: z37.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 import { z as z38 } from "zod"; var updateUserArgsSchema = z38.object({ userId: z38.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 import { z as z39 } from "zod"; var getRelationsSchema = z39.object({ source: z39.string().optional(), relation: z39.string().optional(), onlyBroken: z39.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 import { z as z41 } from "zod"; // src/validation/relations.ts import { z as z40 } from "zod"; var RelationDataSchema = z40.object({ relation: z40.string(), source: z40.string(), target: z40.string() }); var createRelationsDataSchema = z40.object({ items: z40.array(RelationDataSchema) }); var deleteRelationsDataSchema = z40.object({ items: z40.array(RelationDataSchema).optional(), relation: z40.string().optional(), source: z40.string().optional(), target: z40.string().optional() }); var fixRelationsDataSchema = z40.object({ flush: z40.number().optional() }); // src/restapi/relations/add.ts var createRelationsArgsSchema = z41.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 import { z as z42 } from "zod"; var deleteRelationsArgsSchema = z42.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 import { z as z43 } from "zod"; var fixRelationsArgsSchema = z43.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 import "zod"; // src/validation/querystring-search.ts import { z as z44 } from "zod"; var query = z44.object({ i: z44.string(), o: z44.string(), v: z44.union([z44.string(), z44.array(z44.string())]) }); var querystringSearchDataSchema = z44.object({ b_start: z44.string().optional(), b_size: z44.string().optional(), limit: z44.string().optional(), sort_on: z44.string().optional(), sort_order: z44.string().optional(), fullobjects: z44.boolean().optional(), query: z44.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 import { z as z46 } from "zod"; var postQuerystringSearchArgsSchema = z46.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 import { z as z47 } from "zod"; var createRuleArgsSchema = z47.object({ ruleId: z47.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 import { z as z49 } from "zod"; // src/validation/rules.ts import { z as z48 } from "zod"; var updateRulesDataSchema = z48.object({ "form.button.Bubble": z48.boolean().optional(), "form.button.NoBubble": z48.boolean().optional(), "form.button.Enable": z48.boolean().optional(), "form.button.Disable": z48.boolean().optional(), rules_ids: z48.array(z48.string()).optional(), operation: z48.string().optional(), rule_id: z48.string().optional() }); var deleteRulesDataSchema = z48.object({ rules_ids: z48.array(z48.string()) }); // src/restapi/rules/update.ts var updateRulesArgsSchema = z49.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 import { z as z50 } from "zod"; var deleteRulesArgsSchema = z50.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 import { z as z51 } from "zod"; var getControlpanelSchema = z51.object({ path: z51.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 import { z as z52 } from "zod"; var createControlpanelArgsSchema = z52.object({ path: z52.string(), data: z52.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 import { z as z53 } from "zod"; var updateControlpanelArgsSchema = z53.object({ path: z53.string(), data: z53.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 import { z as z54 } from "zod"; var deleteControlpanelArgsSchema = z54.object({ path: z54.string(), data: z54.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 import "zod"; // src/validation/search.ts import { z as z55 } from "zod"; var querySchema = z55.object({ path: z55.object({ query: z55.union([z55.string(), z55.array(z55.string())]), depth: z55.number().optional() }).optional(), sort_on: z55.union([z55.string(), z55.array(z55.string())]).optional(), SearchableText: z55.string().optional(), metadata_fields: z55.union([z55.string(), z55.array(z55.string())]).optional(), fullobjects: z55.number().optional() }).and(z55.record(z55.any())); var getSearchSchema = z55.object({ query: querySchema }); // src/utils/misc.ts import { useMutation, useQuery } from "@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) => useQuery(queryFnCreator(args)); }; var mutationHookFromMutation = (mutationFnCreator) => { return () => 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 import { z as z57 } from "zod"; var getQuerysourceSchema = z57.object({ path: z57.string(), field: z57.string(), query: z57.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, field, query: query2, config }) }); // src/restapi/sources/get.ts import { z as z58 } from "zod"; var getSourceSchema = z58.object({ path: z58.string(), field: z58.string() }); var getSource = async ({ path, field, config }) => { const validatedArgs = getSourceSchema.parse({ path, field }); const options = { config }; const sourcePath = `/${validatedArgs.path}/@sources/${field}`; return apiRequest("get", sourcePath, options); }; var getSourceQuery = ({ path, field, config }) => ({ queryKey: [path, field, "get", "sources"], queryFn: () => getSource({ path, field, config }) }); // src/restapi/userschema/get.ts var getUserschema = async ({ config }) => { const options = { config, params: {} }; return apiRequest("get", "/@userschema", options); }; var getUserschemaQuery = ({ config }) => ({ queryKey: ["get", "userschema"], queryFn: () => getUserschema({ config }) }); // src/restapi/roles/get.ts var getRoles = async ({ config }) => { const options = { config, params: {} }; return apiRequest("get", "/@roles", options); }; var getRolesQuery = ({ config }) => ({ queryKey: ["get", "roles"], queryFn: () => getRoles({ config }) }); // src/restapi/system/get.ts var getSystem = async ({ config }) => { const options = { config, params: {} }; return apiRequest("get", "/@system", options); }; var getSystemQuery = ({ config }) => ({ queryKey: ["get", "system"], queryFn: () => getSystem({ config }) }); // src/restapi/transactions/get.ts var getTransactions = async ({ config }) => { const options = { config, params: {} }; return apiRequest("get", "/@transactions", options); }; var getTransactionsQuery = ({ config }) => ({ queryKey: ["get", "transactions"], queryFn: () => getTransactions({ config }) }); // src/restapi/transactions/revert.ts import { z as z60 } from "zod"; // src/validation/transactions.ts import { z as z59 } from "zod"; var revertTransactionsDataSchema = z59.object({ transaction_ids: z59.array(z59.string()) }); // src/restapi/transactions/revert.ts var revertTransactionsArgsSchema = z60.object({ data: revertTransactionsDataSchema, config: PloneClientConfigSchema }); var revertTransactions = async ({ data, config }) => { const validatedArgs = revertTransactionsArgsSchema.parse({ data, config }); const options = { data: validatedArgs.data, config: validatedArgs.config }; return apiRequest("patch", "/@transactions", options); }; var revertTransactionsMutation = ({ config }) => ({ mutationKey: ["patch", "transactions"], mutationFn: ({ data }) => revertTransactions({ data, config }) }); // src/restapi/upgrade/get.ts var getUpgrade = async ({ config }) => { const options = { config, params: {} }; return apiRequest("get", "/@upgrade", options); }; var getUpgradeQuery = ({ config }) => ({ queryKey: ["get", "upgrade"], queryFn: () => getUpgrade({ config }) }); // src/restapi/upgrade/run.ts import { z as z62 } from "zod"; // src/validation/upgrade.ts import { z as z61 } from "zod"; var runUpgradeDataSchema = z61.object({ dry_run: z61.boolean() }); // src/restapi/upgrade/run.ts var runUpgradeArgsSchema = z62.object({ data: runUpgradeDataSchema, config: PloneClientConfigSchema }); var runUpgrade = async ({ data, config }) => { const validatedArgs = runUpgradeArgsSchema.parse({ data, config }); const options = { data: validatedArgs.data, config: validatedArgs.config }; return apiRequest("post", "/@upgrade", options); }; var runUpgradeMutation = ({ config }) => ({ mutationKey: ["post", "upgrade"], mutationFn: ({ data }) => runUpgrade({ data, config }) }); // src/restapi/linkintegrity/get.ts import { z as z63 } from "zod"; var getLinkintegriyArgsSchema = z63.object({ uids: z63.string(), config: PloneClientConfigSchema }); var getLinkintegrity = async ({ uids, config }) => { const validatedArgs = getLinkintegriyArgsSchema.parse({ uids, config }); const options = { config, params: { ...validatedArgs && { uids: validatedArgs.uids } } }; return apiRequest("get", "/@linkintegrity", options); }; var getLinkintegrityQuery = ({ uids, config }) => ({ queryKey: ["get", "linkintegrity"], queryFn: () => getLinkintegrity({ uids, config }) }); // src/restapi/principals/get.ts import { z as z64 } from "zod"; var getPrincipalsSchema = z64.object({ search: z64.string() }); var getPrincipals = async ({ search, config }) => { const validatedArgs = getPrincipalsSchema.parse({ search }); const options = { config, params: {} }; const principalsPath = `/@principals?search=${validatedArgs.search}`; return apiRequest("get", principalsPath, options); }; var getPrincipalsQuery = ({ search, config }) => ({ queryKey: [search, "get", "principals"], queryFn: () => getPrincipals({ search, config }) }); // src/restapi/workingcopy/get.ts import { z as z65 } from "zod"; var getWorkingcopySchema = z65.object({ path: z65.string() }); var getWorkingcopy = async ({ path, config }) => { const validatedArgs = getWorkingcopySchema.parse({ path }); const options = { config, params: {} }; const workingcopyPath = `/${validatedArgs.path}/@workingcopy`; return apiRequest("get", workingcopyPath, options); }; var getWorkingcopyQuery = ({ path, config }) => ({ queryKey: [path, "get", "workingcopy"], queryFn: () => getWorkin