mirror of
https://github.com/complexcaresolutions/payload-contracts.git
synced 2026-03-17 16:23:47 +00:00
feat: update types for multi-tenant forms + refactored ContactFormBlock
- forms + form-submissions now have tenant field - ContactFormBlock: form relationship replaces recipientEmail - New fields: successMessage, showContactInfo Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
381bc291a0
commit
c168832a12
3 changed files with 13393 additions and 164 deletions
13193
src/payload-types.ts
Normal file
13193
src/payload-types.ts
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -70,6 +70,13 @@ export const BLOCK_TYPES = [
|
||||||
'series-detail-block',
|
'series-detail-block',
|
||||||
'video-embed-block',
|
'video-embed-block',
|
||||||
'featured-content-block',
|
'featured-content-block',
|
||||||
|
'checkbox',
|
||||||
|
'email',
|
||||||
|
'message',
|
||||||
|
'number',
|
||||||
|
'select',
|
||||||
|
'text',
|
||||||
|
'textarea',
|
||||||
] as const
|
] as const
|
||||||
|
|
||||||
export type BlockType = typeof BLOCK_TYPES[number]
|
export type BlockType = typeof BLOCK_TYPES[number]
|
||||||
|
|
|
||||||
|
|
@ -850,9 +850,14 @@ export interface Page {
|
||||||
blockType: 'cta-block';
|
blockType: 'cta-block';
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
|
/**
|
||||||
|
* Wählen Sie ein Formular aus der Formulare-Sammlung
|
||||||
|
*/
|
||||||
|
form: number | Form;
|
||||||
headline?: string | null;
|
headline?: string | null;
|
||||||
description?: string | null;
|
description?: string | null;
|
||||||
recipientEmail?: string | null;
|
successMessage?: string | null;
|
||||||
|
showContactInfo?: boolean | null;
|
||||||
showPhone?: boolean | null;
|
showPhone?: boolean | null;
|
||||||
showAddress?: boolean | null;
|
showAddress?: boolean | null;
|
||||||
showSocials?: boolean | null;
|
showSocials?: boolean | null;
|
||||||
|
|
@ -3080,6 +3085,168 @@ export interface Page {
|
||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* This interface was referenced by `Config`'s JSON-Schema
|
||||||
|
* via the `definition` "forms".
|
||||||
|
*/
|
||||||
|
export interface Form {
|
||||||
|
id: number;
|
||||||
|
title: string;
|
||||||
|
fields?:
|
||||||
|
| (
|
||||||
|
| {
|
||||||
|
name: string;
|
||||||
|
label?: string | null;
|
||||||
|
width?: number | null;
|
||||||
|
required?: boolean | null;
|
||||||
|
defaultValue?: boolean | null;
|
||||||
|
id?: string | null;
|
||||||
|
blockName?: string | null;
|
||||||
|
blockType: 'checkbox';
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
name: string;
|
||||||
|
label?: string | null;
|
||||||
|
width?: number | null;
|
||||||
|
required?: boolean | null;
|
||||||
|
id?: string | null;
|
||||||
|
blockName?: string | null;
|
||||||
|
blockType: 'email';
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
message?: {
|
||||||
|
root: {
|
||||||
|
type: string;
|
||||||
|
children: {
|
||||||
|
type: any;
|
||||||
|
version: number;
|
||||||
|
[k: string]: unknown;
|
||||||
|
}[];
|
||||||
|
direction: ('ltr' | 'rtl') | null;
|
||||||
|
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||||
|
indent: number;
|
||||||
|
version: number;
|
||||||
|
};
|
||||||
|
[k: string]: unknown;
|
||||||
|
} | null;
|
||||||
|
id?: string | null;
|
||||||
|
blockName?: string | null;
|
||||||
|
blockType: 'message';
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
name: string;
|
||||||
|
label?: string | null;
|
||||||
|
width?: number | null;
|
||||||
|
defaultValue?: number | null;
|
||||||
|
required?: boolean | null;
|
||||||
|
id?: string | null;
|
||||||
|
blockName?: string | null;
|
||||||
|
blockType: 'number';
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
name: string;
|
||||||
|
label?: string | null;
|
||||||
|
width?: number | null;
|
||||||
|
defaultValue?: string | null;
|
||||||
|
placeholder?: string | null;
|
||||||
|
options?:
|
||||||
|
| {
|
||||||
|
label: string;
|
||||||
|
value: string;
|
||||||
|
id?: string | null;
|
||||||
|
}[]
|
||||||
|
| null;
|
||||||
|
required?: boolean | null;
|
||||||
|
id?: string | null;
|
||||||
|
blockName?: string | null;
|
||||||
|
blockType: 'select';
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
name: string;
|
||||||
|
label?: string | null;
|
||||||
|
width?: number | null;
|
||||||
|
defaultValue?: string | null;
|
||||||
|
required?: boolean | null;
|
||||||
|
id?: string | null;
|
||||||
|
blockName?: string | null;
|
||||||
|
blockType: 'text';
|
||||||
|
}
|
||||||
|
| {
|
||||||
|
name: string;
|
||||||
|
label?: string | null;
|
||||||
|
width?: number | null;
|
||||||
|
defaultValue?: string | null;
|
||||||
|
required?: boolean | null;
|
||||||
|
id?: string | null;
|
||||||
|
blockName?: string | null;
|
||||||
|
blockType: 'textarea';
|
||||||
|
}
|
||||||
|
)[]
|
||||||
|
| null;
|
||||||
|
submitButtonLabel?: string | null;
|
||||||
|
/**
|
||||||
|
* Choose whether to display an on-page message or redirect to a different page after they submit the form.
|
||||||
|
*/
|
||||||
|
confirmationType?: ('message' | 'redirect') | null;
|
||||||
|
confirmationMessage?: {
|
||||||
|
root: {
|
||||||
|
type: string;
|
||||||
|
children: {
|
||||||
|
type: any;
|
||||||
|
version: number;
|
||||||
|
[k: string]: unknown;
|
||||||
|
}[];
|
||||||
|
direction: ('ltr' | 'rtl') | null;
|
||||||
|
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||||
|
indent: number;
|
||||||
|
version: number;
|
||||||
|
};
|
||||||
|
[k: string]: unknown;
|
||||||
|
} | null;
|
||||||
|
redirect?: {
|
||||||
|
type?: ('reference' | 'custom') | null;
|
||||||
|
reference?: {
|
||||||
|
relationTo: 'pages';
|
||||||
|
value: number | Page;
|
||||||
|
} | null;
|
||||||
|
url?: string | null;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email.
|
||||||
|
*/
|
||||||
|
emails?:
|
||||||
|
| {
|
||||||
|
emailTo?: string | null;
|
||||||
|
cc?: string | null;
|
||||||
|
bcc?: string | null;
|
||||||
|
replyTo?: string | null;
|
||||||
|
emailFrom?: string | null;
|
||||||
|
subject: string;
|
||||||
|
/**
|
||||||
|
* Enter the message that should be sent in this email.
|
||||||
|
*/
|
||||||
|
message?: {
|
||||||
|
root: {
|
||||||
|
type: string;
|
||||||
|
children: {
|
||||||
|
type: any;
|
||||||
|
version: number;
|
||||||
|
[k: string]: unknown;
|
||||||
|
}[];
|
||||||
|
direction: ('ltr' | 'rtl') | null;
|
||||||
|
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
||||||
|
indent: number;
|
||||||
|
version: number;
|
||||||
|
};
|
||||||
|
[k: string]: unknown;
|
||||||
|
} | null;
|
||||||
|
id?: string | null;
|
||||||
|
}[]
|
||||||
|
| null;
|
||||||
|
tenant: number | Tenant;
|
||||||
|
updatedAt: string;
|
||||||
|
createdAt: string;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Video-Bibliothek für YouTube/Vimeo Embeds und hochgeladene Videos
|
* Video-Bibliothek für YouTube/Vimeo Embeds und hochgeladene Videos
|
||||||
*
|
*
|
||||||
|
|
@ -4441,167 +4608,6 @@ export interface Job {
|
||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* This interface was referenced by `Config`'s JSON-Schema
|
|
||||||
* via the `definition` "forms".
|
|
||||||
*/
|
|
||||||
export interface Form {
|
|
||||||
id: number;
|
|
||||||
title: string;
|
|
||||||
fields?:
|
|
||||||
| (
|
|
||||||
| {
|
|
||||||
name: string;
|
|
||||||
label?: string | null;
|
|
||||||
width?: number | null;
|
|
||||||
required?: boolean | null;
|
|
||||||
defaultValue?: boolean | null;
|
|
||||||
id?: string | null;
|
|
||||||
blockName?: string | null;
|
|
||||||
blockType: 'checkbox';
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
name: string;
|
|
||||||
label?: string | null;
|
|
||||||
width?: number | null;
|
|
||||||
required?: boolean | null;
|
|
||||||
id?: string | null;
|
|
||||||
blockName?: string | null;
|
|
||||||
blockType: 'email';
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
message?: {
|
|
||||||
root: {
|
|
||||||
type: string;
|
|
||||||
children: {
|
|
||||||
type: any;
|
|
||||||
version: number;
|
|
||||||
[k: string]: unknown;
|
|
||||||
}[];
|
|
||||||
direction: ('ltr' | 'rtl') | null;
|
|
||||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
|
||||||
indent: number;
|
|
||||||
version: number;
|
|
||||||
};
|
|
||||||
[k: string]: unknown;
|
|
||||||
} | null;
|
|
||||||
id?: string | null;
|
|
||||||
blockName?: string | null;
|
|
||||||
blockType: 'message';
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
name: string;
|
|
||||||
label?: string | null;
|
|
||||||
width?: number | null;
|
|
||||||
defaultValue?: number | null;
|
|
||||||
required?: boolean | null;
|
|
||||||
id?: string | null;
|
|
||||||
blockName?: string | null;
|
|
||||||
blockType: 'number';
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
name: string;
|
|
||||||
label?: string | null;
|
|
||||||
width?: number | null;
|
|
||||||
defaultValue?: string | null;
|
|
||||||
placeholder?: string | null;
|
|
||||||
options?:
|
|
||||||
| {
|
|
||||||
label: string;
|
|
||||||
value: string;
|
|
||||||
id?: string | null;
|
|
||||||
}[]
|
|
||||||
| null;
|
|
||||||
required?: boolean | null;
|
|
||||||
id?: string | null;
|
|
||||||
blockName?: string | null;
|
|
||||||
blockType: 'select';
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
name: string;
|
|
||||||
label?: string | null;
|
|
||||||
width?: number | null;
|
|
||||||
defaultValue?: string | null;
|
|
||||||
required?: boolean | null;
|
|
||||||
id?: string | null;
|
|
||||||
blockName?: string | null;
|
|
||||||
blockType: 'text';
|
|
||||||
}
|
|
||||||
| {
|
|
||||||
name: string;
|
|
||||||
label?: string | null;
|
|
||||||
width?: number | null;
|
|
||||||
defaultValue?: string | null;
|
|
||||||
required?: boolean | null;
|
|
||||||
id?: string | null;
|
|
||||||
blockName?: string | null;
|
|
||||||
blockType: 'textarea';
|
|
||||||
}
|
|
||||||
)[]
|
|
||||||
| null;
|
|
||||||
submitButtonLabel?: string | null;
|
|
||||||
/**
|
|
||||||
* Choose whether to display an on-page message or redirect to a different page after they submit the form.
|
|
||||||
*/
|
|
||||||
confirmationType?: ('message' | 'redirect') | null;
|
|
||||||
confirmationMessage?: {
|
|
||||||
root: {
|
|
||||||
type: string;
|
|
||||||
children: {
|
|
||||||
type: any;
|
|
||||||
version: number;
|
|
||||||
[k: string]: unknown;
|
|
||||||
}[];
|
|
||||||
direction: ('ltr' | 'rtl') | null;
|
|
||||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
|
||||||
indent: number;
|
|
||||||
version: number;
|
|
||||||
};
|
|
||||||
[k: string]: unknown;
|
|
||||||
} | null;
|
|
||||||
redirect?: {
|
|
||||||
type?: ('reference' | 'custom') | null;
|
|
||||||
reference?: {
|
|
||||||
relationTo: 'pages';
|
|
||||||
value: number | Page;
|
|
||||||
} | null;
|
|
||||||
url?: string | null;
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email.
|
|
||||||
*/
|
|
||||||
emails?:
|
|
||||||
| {
|
|
||||||
emailTo?: string | null;
|
|
||||||
cc?: string | null;
|
|
||||||
bcc?: string | null;
|
|
||||||
replyTo?: string | null;
|
|
||||||
emailFrom?: string | null;
|
|
||||||
subject: string;
|
|
||||||
/**
|
|
||||||
* Enter the message that should be sent in this email.
|
|
||||||
*/
|
|
||||||
message?: {
|
|
||||||
root: {
|
|
||||||
type: string;
|
|
||||||
children: {
|
|
||||||
type: any;
|
|
||||||
version: number;
|
|
||||||
[k: string]: unknown;
|
|
||||||
}[];
|
|
||||||
direction: ('ltr' | 'rtl') | null;
|
|
||||||
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
|
||||||
indent: number;
|
|
||||||
version: number;
|
|
||||||
};
|
|
||||||
[k: string]: unknown;
|
|
||||||
} | null;
|
|
||||||
id?: string | null;
|
|
||||||
}[]
|
|
||||||
| null;
|
|
||||||
updatedAt: string;
|
|
||||||
createdAt: string;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Produkte und Artikel
|
* Produkte und Artikel
|
||||||
*
|
*
|
||||||
|
|
@ -7563,6 +7569,24 @@ export interface MonitoringSnapshot {
|
||||||
| number
|
| number
|
||||||
| boolean
|
| boolean
|
||||||
| null;
|
| null;
|
||||||
|
secrets?:
|
||||||
|
| {
|
||||||
|
[k: string]: unknown;
|
||||||
|
}
|
||||||
|
| unknown[]
|
||||||
|
| string
|
||||||
|
| number
|
||||||
|
| boolean
|
||||||
|
| null;
|
||||||
|
securityEvents?:
|
||||||
|
| {
|
||||||
|
[k: string]: unknown;
|
||||||
|
}
|
||||||
|
| unknown[]
|
||||||
|
| string
|
||||||
|
| number
|
||||||
|
| boolean
|
||||||
|
| null;
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Performance-Metriken
|
* Performance-Metriken
|
||||||
|
|
@ -7586,7 +7610,7 @@ export interface MonitoringSnapshot {
|
||||||
export interface MonitoringLog {
|
export interface MonitoringLog {
|
||||||
id: number;
|
id: number;
|
||||||
level: 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
level: 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
||||||
source: 'payload' | 'queue-worker' | 'cron' | 'email' | 'oauth' | 'sync';
|
source: 'payload' | 'queue-worker' | 'cron' | 'email' | 'oauth' | 'sync' | 'security';
|
||||||
message: string;
|
message: string;
|
||||||
/**
|
/**
|
||||||
* Strukturierte Metadaten
|
* Strukturierte Metadaten
|
||||||
|
|
@ -8601,9 +8625,11 @@ export interface PagesSelect<T extends boolean = true> {
|
||||||
'contact-form-block'?:
|
'contact-form-block'?:
|
||||||
| T
|
| T
|
||||||
| {
|
| {
|
||||||
|
form?: T;
|
||||||
headline?: T;
|
headline?: T;
|
||||||
description?: T;
|
description?: T;
|
||||||
recipientEmail?: T;
|
successMessage?: T;
|
||||||
|
showContactInfo?: T;
|
||||||
showPhone?: T;
|
showPhone?: T;
|
||||||
showAddress?: T;
|
showAddress?: T;
|
||||||
showSocials?: T;
|
showSocials?: T;
|
||||||
|
|
@ -12584,6 +12610,8 @@ export interface MonitoringSnapshotsSelect<T extends boolean = true> {
|
||||||
metaOAuth?: T;
|
metaOAuth?: T;
|
||||||
youtubeOAuth?: T;
|
youtubeOAuth?: T;
|
||||||
cronJobs?: T;
|
cronJobs?: T;
|
||||||
|
secrets?: T;
|
||||||
|
securityEvents?: T;
|
||||||
};
|
};
|
||||||
performance?:
|
performance?:
|
||||||
| T
|
| T
|
||||||
|
|
@ -12859,6 +12887,7 @@ export interface FormsSelect<T extends boolean = true> {
|
||||||
message?: T;
|
message?: T;
|
||||||
id?: T;
|
id?: T;
|
||||||
};
|
};
|
||||||
|
tenant?: T;
|
||||||
updatedAt?: T;
|
updatedAt?: T;
|
||||||
createdAt?: T;
|
createdAt?: T;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue