feat: setup globals (Footer), sqlite migration, seed update and access rules
This commit is contained in:
+509
-64
@@ -64,13 +64,14 @@ export type SupportedTimezones =
|
||||
export interface Config {
|
||||
auth: {
|
||||
users: UserAuthOperations;
|
||||
'payload-mcp-api-keys': PayloadMcpApiKeyAuthOperations;
|
||||
};
|
||||
blocks: {};
|
||||
collections: {
|
||||
users: User;
|
||||
media: Media;
|
||||
folders: Folder;
|
||||
tags: Tag;
|
||||
pages: Page;
|
||||
'payload-mcp-api-keys': PayloadMcpApiKey;
|
||||
'payload-kv': PayloadKv;
|
||||
'payload-locked-documents': PayloadLockedDocument;
|
||||
'payload-preferences': PayloadPreference;
|
||||
@@ -80,24 +81,40 @@ export interface Config {
|
||||
collectionsSelect: {
|
||||
users: UsersSelect<false> | UsersSelect<true>;
|
||||
media: MediaSelect<false> | MediaSelect<true>;
|
||||
folders: FoldersSelect<false> | FoldersSelect<true>;
|
||||
tags: TagsSelect<false> | TagsSelect<true>;
|
||||
pages: PagesSelect<false> | PagesSelect<true>;
|
||||
'payload-mcp-api-keys': PayloadMcpApiKeysSelect<false> | PayloadMcpApiKeysSelect<true>;
|
||||
'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
|
||||
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
|
||||
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
|
||||
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
|
||||
};
|
||||
db: {
|
||||
defaultIDType: string;
|
||||
defaultIDType: number;
|
||||
};
|
||||
fallbackLocale: ('false' | 'none' | 'null') | false | null | 'en' | 'en'[];
|
||||
globals: {};
|
||||
globalsSelect: {};
|
||||
locale: 'en';
|
||||
fallbackLocale: ('false' | 'none' | 'null') | false | null | ('pl' | 'de') | ('pl' | 'de')[];
|
||||
globals: {
|
||||
company: Company;
|
||||
header: Header;
|
||||
footer: Footer;
|
||||
'site-settings': SiteSetting;
|
||||
'site-integrations': SiteIntegration;
|
||||
'cookie-settings': CookieSetting;
|
||||
notifications: Notification;
|
||||
};
|
||||
globalsSelect: {
|
||||
company: CompanySelect<false> | CompanySelect<true>;
|
||||
header: HeaderSelect<false> | HeaderSelect<true>;
|
||||
footer: FooterSelect<false> | FooterSelect<true>;
|
||||
'site-settings': SiteSettingsSelect<false> | SiteSettingsSelect<true>;
|
||||
'site-integrations': SiteIntegrationsSelect<false> | SiteIntegrationsSelect<true>;
|
||||
'cookie-settings': CookieSettingsSelect<false> | CookieSettingsSelect<true>;
|
||||
notifications: NotificationsSelect<false> | NotificationsSelect<true>;
|
||||
};
|
||||
locale: 'pl' | 'de';
|
||||
widgets: {
|
||||
collections: CollectionsWidget;
|
||||
};
|
||||
user: User;
|
||||
user: User | PayloadMcpApiKey;
|
||||
jobs: {
|
||||
tasks: unknown;
|
||||
workflows: unknown;
|
||||
@@ -121,8 +138,30 @@ export interface UserAuthOperations {
|
||||
password: string;
|
||||
};
|
||||
}
|
||||
export interface PayloadMcpApiKeyAuthOperations {
|
||||
forgotPassword: {
|
||||
email: string;
|
||||
password: string;
|
||||
};
|
||||
login: {
|
||||
email: string;
|
||||
password: string;
|
||||
};
|
||||
registerFirstUser: {
|
||||
email: string;
|
||||
password: string;
|
||||
};
|
||||
unlock: {
|
||||
email: string;
|
||||
password: string;
|
||||
};
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "users".
|
||||
*/
|
||||
export interface User {
|
||||
id: string;
|
||||
id: number;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
email: string;
|
||||
@@ -147,10 +186,8 @@ export interface User {
|
||||
* via the `definition` "media".
|
||||
*/
|
||||
export interface Media {
|
||||
id: string;
|
||||
id: number;
|
||||
alt: string;
|
||||
_h_folders?: (string | null) | Folder;
|
||||
_h_tags?: (string | Tag)[] | null;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
url?: string | null;
|
||||
@@ -165,32 +202,59 @@ export interface Media {
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "folders".
|
||||
* via the `definition` "pages".
|
||||
*/
|
||||
export interface Folder {
|
||||
id: string;
|
||||
_h_folders?: (string | null) | Folder;
|
||||
name: string;
|
||||
export interface Page {
|
||||
id: number;
|
||||
title: string;
|
||||
/**
|
||||
* Auto-generated from the title when left empty. You can override it.
|
||||
*/
|
||||
slug: string;
|
||||
layout?:
|
||||
| {
|
||||
text?: string | null;
|
||||
id?: string | null;
|
||||
blockName?: string | null;
|
||||
blockType: 'TextSection';
|
||||
}[]
|
||||
| null;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
_h_slugPath?: string | null;
|
||||
_h_titlePath?: string | null;
|
||||
}
|
||||
/**
|
||||
* API keys control which collections, resources, tools, and prompts MCP clients can access
|
||||
*
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "payload-mcp-api-keys".
|
||||
*/
|
||||
export interface PayloadMcpApiKey {
|
||||
id: number;
|
||||
/**
|
||||
* The user that the API key is associated with.
|
||||
*/
|
||||
user: number | User;
|
||||
/**
|
||||
* A useful label for the API key.
|
||||
*/
|
||||
label?: string | null;
|
||||
/**
|
||||
* The purpose of the API key.
|
||||
*/
|
||||
description?: string | null;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
enableAPIKey?: boolean | null;
|
||||
apiKey?: string | null;
|
||||
apiKeyIndex?: string | null;
|
||||
collection: 'payload-mcp-api-keys';
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "tags".
|
||||
* via the `definition` "payload-kv".
|
||||
*/
|
||||
export interface Tag {
|
||||
id: string;
|
||||
_h_tags?: (string | null) | Tag;
|
||||
name: string;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
_h_slugPath?: string | null;
|
||||
_h_titlePath?: string | null;
|
||||
}
|
||||
export interface PayloadKv {
|
||||
id: string;
|
||||
id: number;
|
||||
key: string;
|
||||
data:
|
||||
| {
|
||||
@@ -207,29 +271,34 @@ export interface PayloadKv {
|
||||
* via the `definition` "payload-locked-documents".
|
||||
*/
|
||||
export interface PayloadLockedDocument {
|
||||
id: string;
|
||||
id: number;
|
||||
document?:
|
||||
| ({
|
||||
relationTo: 'users';
|
||||
value: string | User;
|
||||
value: number | User;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'media';
|
||||
value: string | Media;
|
||||
value: number | Media;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'folders';
|
||||
value: string | Folder;
|
||||
relationTo: 'pages';
|
||||
value: number | Page;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'tags';
|
||||
value: string | Tag;
|
||||
relationTo: 'payload-mcp-api-keys';
|
||||
value: number | PayloadMcpApiKey;
|
||||
} | null);
|
||||
globalSlug?: string | null;
|
||||
user: {
|
||||
relationTo: 'users';
|
||||
value: string | User;
|
||||
};
|
||||
user:
|
||||
| {
|
||||
relationTo: 'users';
|
||||
value: number | User;
|
||||
}
|
||||
| {
|
||||
relationTo: 'payload-mcp-api-keys';
|
||||
value: number | PayloadMcpApiKey;
|
||||
};
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
}
|
||||
@@ -238,11 +307,16 @@ export interface PayloadLockedDocument {
|
||||
* via the `definition` "payload-preferences".
|
||||
*/
|
||||
export interface PayloadPreference {
|
||||
id: string;
|
||||
user: {
|
||||
relationTo: 'users';
|
||||
value: string | User;
|
||||
};
|
||||
id: number;
|
||||
user:
|
||||
| {
|
||||
relationTo: 'users';
|
||||
value: number | User;
|
||||
}
|
||||
| {
|
||||
relationTo: 'payload-mcp-api-keys';
|
||||
value: number | PayloadMcpApiKey;
|
||||
};
|
||||
key?: string | null;
|
||||
value?:
|
||||
| {
|
||||
@@ -261,7 +335,7 @@ export interface PayloadPreference {
|
||||
* via the `definition` "payload-migrations".
|
||||
*/
|
||||
export interface PayloadMigration {
|
||||
id: string;
|
||||
id: number;
|
||||
name?: string | null;
|
||||
batch?: number | null;
|
||||
updatedAt: string;
|
||||
@@ -295,8 +369,6 @@ export interface UsersSelect<T extends boolean = true> {
|
||||
*/
|
||||
export interface MediaSelect<T extends boolean = true> {
|
||||
alt?: T;
|
||||
_h_folders?: T;
|
||||
_h_tags?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
url?: T;
|
||||
@@ -311,28 +383,43 @@ export interface MediaSelect<T extends boolean = true> {
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "folders_select".
|
||||
* via the `definition` "pages_select".
|
||||
*/
|
||||
export interface FoldersSelect<T extends boolean = true> {
|
||||
_h_folders?: T;
|
||||
name?: T;
|
||||
export interface PagesSelect<T extends boolean = true> {
|
||||
title?: T;
|
||||
slug?: T;
|
||||
layout?:
|
||||
| T
|
||||
| {
|
||||
TextSection?:
|
||||
| T
|
||||
| {
|
||||
text?: T;
|
||||
id?: T;
|
||||
blockName?: T;
|
||||
};
|
||||
};
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
_h_slugPath?: T;
|
||||
_h_titlePath?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "tags_select".
|
||||
* via the `definition` "payload-mcp-api-keys_select".
|
||||
*/
|
||||
export interface TagsSelect<T extends boolean = true> {
|
||||
_h_tags?: T;
|
||||
name?: T;
|
||||
export interface PayloadMcpApiKeysSelect<T extends boolean = true> {
|
||||
user?: T;
|
||||
label?: T;
|
||||
description?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
_h_slugPath?: T;
|
||||
_h_titlePath?: T;
|
||||
enableAPIKey?: T;
|
||||
apiKey?: T;
|
||||
apiKeyIndex?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "payload-kv_select".
|
||||
*/
|
||||
export interface PayloadKvSelect<T extends boolean = true> {
|
||||
key?: T;
|
||||
data?: T;
|
||||
@@ -369,6 +456,364 @@ export interface PayloadMigrationsSelect<T extends boolean = true> {
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "company".
|
||||
*/
|
||||
export interface Company {
|
||||
id: number;
|
||||
address?: string | null;
|
||||
phone?: string | null;
|
||||
email?: string | null;
|
||||
hours?: string | null;
|
||||
whatsappNumber?: string | null;
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "header".
|
||||
*/
|
||||
export interface Header {
|
||||
id: number;
|
||||
navigation?:
|
||||
| {
|
||||
page: number | Page;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "footer".
|
||||
*/
|
||||
export interface Footer {
|
||||
id: number;
|
||||
navigation?:
|
||||
| {
|
||||
page: number | Page;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
association?: {
|
||||
title?: string | null;
|
||||
logo?: (number | null) | Media;
|
||||
link?: string | null;
|
||||
};
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "site-settings".
|
||||
*/
|
||||
export interface SiteSetting {
|
||||
id: number;
|
||||
/**
|
||||
* Used in page titles and Open Graph metadata.
|
||||
*/
|
||||
siteName: string;
|
||||
/**
|
||||
* Which comes first in browser tabs.
|
||||
*/
|
||||
titleOrder?: ('page-first' | 'site-first') | null;
|
||||
/**
|
||||
* Separates the page title from the site name in browser tabs.
|
||||
*/
|
||||
titleSeparator?: ('|' | '–' | '-' | '·' | '/') | null;
|
||||
/**
|
||||
* Primary site logo. Also used for Organization structured data (buildOrganizationJsonLd).
|
||||
*/
|
||||
logo?: (number | null) | Media;
|
||||
/**
|
||||
* Fallback Open Graph image when a page has none.
|
||||
*/
|
||||
defaultShareImage?: (number | null) | Media;
|
||||
/**
|
||||
* Square icon, PNG or SVG, min. 48×48px (Google requires this to show it in search). Rendered via buildIconsMetadata.
|
||||
*/
|
||||
favicon?: (number | null) | Media;
|
||||
/**
|
||||
* Theme applied on a visitor’s first visit.
|
||||
*/
|
||||
defaultTheme: 'light' | 'dark';
|
||||
/**
|
||||
* Show a light/dark switch on the site.
|
||||
*/
|
||||
allowThemeToggle?: boolean | null;
|
||||
/**
|
||||
* Page served at the locale root (e.g. /pl, /en).
|
||||
*/
|
||||
homepage?: (number | null) | Page;
|
||||
/**
|
||||
* Page linked as the privacy policy.
|
||||
*/
|
||||
privacyPolicy?: (number | null) | Page;
|
||||
/**
|
||||
* Page linked from the cookie consent banner.
|
||||
*/
|
||||
cookiePolicy?: (number | null) | Page;
|
||||
/**
|
||||
* Page linked as the terms of service / site regulations.
|
||||
*/
|
||||
termsOfService?: (number | null) | Page;
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "site-integrations".
|
||||
*/
|
||||
export interface SiteIntegration {
|
||||
id: number;
|
||||
/**
|
||||
* Google Analytics 4 Measurement ID.
|
||||
*/
|
||||
ga4MeasurementId?: string | null;
|
||||
/**
|
||||
* Google Tag Manager container ID.
|
||||
*/
|
||||
gtmContainerId?: string | null;
|
||||
/**
|
||||
* Public site key rendered in the Turnstile widget.
|
||||
*/
|
||||
turnstileSiteKey?: string | null;
|
||||
/**
|
||||
* Secret key used for server-side verification.
|
||||
*/
|
||||
turnstileSecretKey?: string | null;
|
||||
/**
|
||||
* How outbound email is sent. "Microsoft Graph" is only available when configured by the administrator (Intecion).
|
||||
*/
|
||||
emailTransport?: ('smtp' | 'graph') | null;
|
||||
smtpHost?: string | null;
|
||||
smtpPort?: number | null;
|
||||
/**
|
||||
* SMTP account username.
|
||||
*/
|
||||
smtpUser?: string | null;
|
||||
/**
|
||||
* SMTP account password.
|
||||
*/
|
||||
smtpPassword?: string | null;
|
||||
/**
|
||||
* Default "from" address for outgoing mail.
|
||||
*/
|
||||
smtpFromAddress?: string | null;
|
||||
/**
|
||||
* Default "from" display name.
|
||||
*/
|
||||
smtpFromName?: string | null;
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "cookie-settings".
|
||||
*/
|
||||
export interface CookieSetting {
|
||||
id: number;
|
||||
/**
|
||||
* Main consent message shown in the banner.
|
||||
*/
|
||||
message?: string | null;
|
||||
/**
|
||||
* Heading for the detailed settings panel.
|
||||
*/
|
||||
settingsTitle?: string | null;
|
||||
/**
|
||||
* Button labels.
|
||||
*/
|
||||
buttons?: {
|
||||
acceptAll?: string | null;
|
||||
reject?: string | null;
|
||||
settings?: string | null;
|
||||
save?: string | null;
|
||||
back?: string | null;
|
||||
};
|
||||
/**
|
||||
* Per-category titles and descriptions.
|
||||
*/
|
||||
categories?:
|
||||
| {
|
||||
key: 'necessary' | 'functional' | 'analytics' | 'marketing';
|
||||
title?: string | null;
|
||||
description?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "notifications".
|
||||
*/
|
||||
export interface Notification {
|
||||
id: number;
|
||||
/**
|
||||
* Messages shown after a form is submitted. Leave a field empty to use the built-in default.
|
||||
*/
|
||||
form?: {
|
||||
success?: string | null;
|
||||
error?: string | null;
|
||||
rateLimited?: string | null;
|
||||
turnstile?: string | null;
|
||||
/**
|
||||
* Shown on a validation error. Use {field} to insert the offending field name.
|
||||
*/
|
||||
validation?: string | null;
|
||||
/**
|
||||
* Shown when the GDPR consent checkbox is left unchecked.
|
||||
*/
|
||||
consent?: string | null;
|
||||
notFound?: string | null;
|
||||
};
|
||||
updatedAt?: string | null;
|
||||
createdAt?: string | null;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "company_select".
|
||||
*/
|
||||
export interface CompanySelect<T extends boolean = true> {
|
||||
address?: T;
|
||||
phone?: T;
|
||||
email?: T;
|
||||
hours?: T;
|
||||
whatsappNumber?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "header_select".
|
||||
*/
|
||||
export interface HeaderSelect<T extends boolean = true> {
|
||||
navigation?:
|
||||
| T
|
||||
| {
|
||||
page?: T;
|
||||
id?: T;
|
||||
};
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "footer_select".
|
||||
*/
|
||||
export interface FooterSelect<T extends boolean = true> {
|
||||
navigation?:
|
||||
| T
|
||||
| {
|
||||
page?: T;
|
||||
id?: T;
|
||||
};
|
||||
association?:
|
||||
| T
|
||||
| {
|
||||
title?: T;
|
||||
logo?: T;
|
||||
link?: T;
|
||||
};
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "site-settings_select".
|
||||
*/
|
||||
export interface SiteSettingsSelect<T extends boolean = true> {
|
||||
siteName?: T;
|
||||
titleOrder?: T;
|
||||
titleSeparator?: T;
|
||||
logo?: T;
|
||||
defaultShareImage?: T;
|
||||
favicon?: T;
|
||||
defaultTheme?: T;
|
||||
allowThemeToggle?: T;
|
||||
homepage?: T;
|
||||
privacyPolicy?: T;
|
||||
cookiePolicy?: T;
|
||||
termsOfService?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "site-integrations_select".
|
||||
*/
|
||||
export interface SiteIntegrationsSelect<T extends boolean = true> {
|
||||
ga4MeasurementId?: T;
|
||||
gtmContainerId?: T;
|
||||
turnstileSiteKey?: T;
|
||||
turnstileSecretKey?: T;
|
||||
emailTransport?: T;
|
||||
smtpHost?: T;
|
||||
smtpPort?: T;
|
||||
smtpUser?: T;
|
||||
smtpPassword?: T;
|
||||
smtpFromAddress?: T;
|
||||
smtpFromName?: T;
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "cookie-settings_select".
|
||||
*/
|
||||
export interface CookieSettingsSelect<T extends boolean = true> {
|
||||
message?: T;
|
||||
settingsTitle?: T;
|
||||
buttons?:
|
||||
| T
|
||||
| {
|
||||
acceptAll?: T;
|
||||
reject?: T;
|
||||
settings?: T;
|
||||
save?: T;
|
||||
back?: T;
|
||||
};
|
||||
categories?:
|
||||
| T
|
||||
| {
|
||||
key?: T;
|
||||
title?: T;
|
||||
description?: T;
|
||||
id?: T;
|
||||
};
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "notifications_select".
|
||||
*/
|
||||
export interface NotificationsSelect<T extends boolean = true> {
|
||||
form?:
|
||||
| T
|
||||
| {
|
||||
success?: T;
|
||||
error?: T;
|
||||
rateLimited?: T;
|
||||
turnstile?: T;
|
||||
validation?: T;
|
||||
consent?: T;
|
||||
notFound?: T;
|
||||
};
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
globalType?: T;
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "collections_widget".
|
||||
@@ -390,4 +835,4 @@ export interface Auth {
|
||||
|
||||
declare module 'payload' {
|
||||
export interface GeneratedTypes extends Config {}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user