Files
klz-cables.com/.pnpm-store/v10/files/40/bd41f55313fbab01bda1ce95ea68416ec2d837525e05830c8645c71e958d8d98c0d9616239c5ab98a2509c2034b93cd5d469b43805d55ffab6538eb0c0cf32
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

76 lines
3.7 KiB
Plaintext

import type { DeepPartial } from 'ts-essentials';
import type { CollectionSlug, TypedLocale } from '../../..//index.js';
import type { FindOptions, Payload, RequestContext } from '../../../index.js';
import type { Document, PayloadRequest, PopulateType, SelectType, TransformCollectionWithSelect } from '../../../types/index.js';
import type { DraftFlagFromCollectionSlug, RequiredDataFromCollectionSlug, SelectFromCollectionSlug } from '../../config/types.js';
type BaseOptions<TSlug extends CollectionSlug, TSelect extends SelectType> = {
/**
* the Collection slug to operate against.
*/
collection: TSlug;
/**
* [Context](https://payloadcms.com/docs/hooks/context), which will then be passed to `context` and `req.context`,
* which can be read by hooks. Useful if you want to pass additional information to the hooks which
* shouldn't be necessarily part of the document, for example a `triggerBeforeChange` option which can be read by the BeforeChange hook
* to determine if it should run or not.
*/
context?: RequestContext;
/**
* Override the data for the document to duplicate.
*/
data?: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>;
/**
* [Control auto-population](https://payloadcms.com/docs/queries/depth) of nested relationship and upload fields.
*/
depth?: number;
/**
* When set to `true`, a [database transactions](https://payloadcms.com/docs/database/transactions) will not be initialized.
* @default false
*/
disableTransaction?: boolean;
/**
* Specify a [fallback locale](https://payloadcms.com/docs/configuration/localization) to use for any returned documents.
*/
fallbackLocale?: false | TypedLocale;
/**
* The ID of the document to duplicate from.
*/
id: number | string;
/**
* Specify [locale](https://payloadcms.com/docs/configuration/localization) for any returned documents.
*/
locale?: TypedLocale;
/**
* Skip access control.
* Set to `false` if you want to respect Access Control for the operation, for example when fetching data for the front-end.
* @default true
*/
overrideAccess?: boolean;
/**
* Specify [populate](https://payloadcms.com/docs/queries/select#populate) to control which fields to include to the result from populated documents.
*/
populate?: PopulateType;
/**
* The `PayloadRequest` object. You can pass it to thread the current [transaction](https://payloadcms.com/docs/database/transactions), user and locale to the operation.
* Recommended to pass when using the Local API from hooks, as usually you want to execute the operation within the current transaction.
*/
req?: Partial<PayloadRequest>;
/**
* Specifies which locales to include when duplicating localized fields. Non-localized data is always duplicated.
* By default, all locales are duplicated.
*/
selectedLocales?: string[];
/**
* Opt-in to receiving hidden fields. By default, they are hidden from returned documents in accordance to your config.
* @default false
*/
showHiddenFields?: boolean;
/**
* If you set `overrideAccess` to `false`, you can pass a user to use against the access control checks.
*/
user?: Document;
} & Pick<FindOptions<TSlug, TSelect>, 'select'>;
export type Options<TSlug extends CollectionSlug, TSelect extends SelectType> = BaseOptions<TSlug, TSelect> & DraftFlagFromCollectionSlug<TSlug>;
export declare function duplicateLocal<TSlug extends CollectionSlug, TSelect extends SelectFromCollectionSlug<TSlug>>(payload: Payload, options: Options<TSlug, TSelect>): Promise<TransformCollectionWithSelect<TSlug, TSelect>>;
export {};
//# sourceMappingURL=duplicate.d.ts.map