59 lines
1.9 KiB
TypeScript
59 lines
1.9 KiB
TypeScript
import type { Field } from 'payload'
|
|
|
|
import type { AccessOption } from './modules/access/types.js'
|
|
import type { ContentOption } from './modules/content/types.js'
|
|
import type { FormsOption } from './modules/forms/types.js'
|
|
import type { I18nConfig } from './modules/i18n/types.js'
|
|
import type { PagesOption } from './modules/pages/types.js'
|
|
import type { SeoOption } from './modules/seo/types.js'
|
|
|
|
/**
|
|
* Configuration options for the IPAL plugin.
|
|
* Passed by the client project in payload.config.ts.
|
|
*/
|
|
export type IpalOptions = {
|
|
/**
|
|
* Role-based access control. Injects a fixed `roles` field
|
|
* (admin > editor > user) into the client's auth collection.
|
|
*/
|
|
access?: AccessOption
|
|
|
|
/**
|
|
* Collections whose entries live under an archive page — blog posts, case
|
|
* studies, anything with a listing. Adds an "archive page" assignment per
|
|
* collection in SiteSettings; the assigned page's localized slug becomes the
|
|
* URL segment (/pl/artykuly/moj-post, /en/articles/my-post). Requires `pages`.
|
|
*/
|
|
content?: ContentOption
|
|
|
|
/** Disable the plugin without uninstalling (keeps DB schema intact) */
|
|
enabled?: boolean
|
|
|
|
/**
|
|
* Forms — form-builder collections (forms, form-submissions) plus the
|
|
* callable submitForm (Turnstile + persistence + SMTP-from-panel email).
|
|
*/
|
|
forms?: FormsOption
|
|
|
|
/** Internationalization — locales, default locale, fallback behavior */
|
|
i18n: I18nConfig
|
|
|
|
/** Additional fields injected into SiteIntegrations global */
|
|
integrationsFields?: Field[]
|
|
|
|
/**
|
|
* System-page assignments (homepage, privacy, cookies) in SiteSettings.
|
|
* Provide the slug of the client's Pages collection to enable.
|
|
*/
|
|
pages?: PagesOption
|
|
|
|
/**
|
|
* SEO — adds meta fields to chosen collections (via @payloadcms/plugin-seo)
|
|
* and enables locale-aware metadata helpers.
|
|
*/
|
|
seo?: SeoOption
|
|
|
|
/** Additional fields injected into SiteSettings global */
|
|
siteSettingsFields?: Field[]
|
|
}
|