new types and requirements

This commit is contained in:
Julian Krauser 2025-02-14 13:57:42 +01:00
parent 1cfefa450b
commit 55a734b061
22 changed files with 924 additions and 319 deletions

View file

@ -36,18 +36,14 @@
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {

View file

@ -22,30 +22,32 @@
"enum": ["events", "vehicles", "articles", "operations"], "enum": ["events", "vehicles", "articles", "operations"],
"required": true "required": true
}, },
"image_item": { "show_image": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"required": false
},
"show_date": {
"type": "boolean",
"default": false,
"required": false
},
"list_with_date": {
"type": "enumeration",
"enum": ["none", "by-year", "by-month"],
"default": "none",
"required": true "required": true
}, },
"date_list": { "items_with_number": {
"type": "boolean", "type": "enumeration",
"default": false, "enum": ["none", "numbered", "inverted"],
"required": true "default": "none",
},
"numbered_item": {
"type": "boolean",
"default": false,
"required": true
},
"inverse_count": {
"type": "boolean",
"default": false,
"required": true "required": true
}, },
"enable_detail": { "enable_detail": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"required": true "required": false
} }
} }
} }

View file

@ -36,18 +36,14 @@
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {

View file

@ -12,19 +12,25 @@
}, },
"pluginOptions": {}, "pluginOptions": {},
"attributes": { "attributes": {
"logo": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": ["images"]
},
"navbar": { "navbar": {
"type": "component", "type": "component",
"repeatable": false, "repeatable": false,
"pluginOptions": {}, "pluginOptions": {},
"component": "global.navbar", "component": "global.navbar",
"required": true "required": false
}, },
"footer": { "footer": {
"type": "component", "type": "component",
"repeatable": false, "repeatable": false,
"pluginOptions": {}, "pluginOptions": {},
"component": "global.footer", "component": "global.footer",
"required": true "required": false
}, },
"SEO": { "SEO": {
"type": "component", "type": "component",

View file

@ -36,18 +36,14 @@
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {

View file

@ -29,7 +29,7 @@
"repeatable": false, "repeatable": false,
"pluginOptions": {}, "pluginOptions": {},
"component": "items.hero", "component": "items.hero",
"required": false "required": true
}, },
"content": { "content": {
"pluginOptions": {}, "pluginOptions": {},

View file

@ -36,24 +36,20 @@
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": [ "allowedTypes": ["images"],
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {
"pluginOptions": {}, "pluginOptions": {},
"type": "datetime", "type": "date",
"required": false "required": true
} }
} }
} }

View file

@ -7,22 +7,20 @@
}, },
"options": {}, "options": {},
"attributes": { "attributes": {
"image": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": [
"images"
]
},
"text": {
"type": "blocks",
"required": true
},
"image_left": { "image_left": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"required": true "required": true
},
"image": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": ["images"]
},
"text": {
"type": "blocks",
"required": true
} }
} }
} }

View file

@ -5,10 +5,6 @@
}, },
"options": {}, "options": {},
"attributes": { "attributes": {
"title": {
"type": "string",
"required": true
},
"link": { "link": {
"type": "string" "type": "string"
} }

View file

@ -11,10 +11,6 @@
"default": true, "default": true,
"required": true "required": true
}, },
"title": {
"type": "string",
"required": true
},
"file": { "file": {
"type": "media", "type": "media",
"multiple": false, "multiple": false,

View file

@ -2,12 +2,12 @@
"collectionName": "components_dynamic_zone_section", "collectionName": "components_dynamic_zone_section",
"info": { "info": {
"displayName": "Abschnitt", "displayName": "Abschnitt",
"icon": "apps", "icon": "expand",
"description": "" "description": ""
}, },
"options": {}, "options": {},
"attributes": { "attributes": {
"titel": { "title": {
"type": "string", "type": "string",
"required": true "required": true
}, },

View file

@ -2,7 +2,7 @@
"collectionName": "components_dynamic_zone_spacer", "collectionName": "components_dynamic_zone_spacer",
"info": { "info": {
"displayName": "Abstand", "displayName": "Abstand",
"icon": "apps", "icon": "crop",
"description": "" "description": ""
}, },
"options": {}, "options": {},

View file

@ -10,7 +10,7 @@
"copyright": { "copyright": {
"type": "string" "type": "string"
}, },
"designed_developed_by": { "maintained_by": {
"type": "string" "type": "string"
}, },
"links": { "links": {

View file

@ -7,14 +7,6 @@
}, },
"options": {}, "options": {},
"attributes": { "attributes": {
"logo": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": [
"images"
]
},
"navbar_items": { "navbar_items": {
"type": "component", "type": "component",
"repeatable": true, "repeatable": true,

View file

@ -14,8 +14,8 @@
}, },
"metaDescription": { "metaDescription": {
"type": "string", "type": "string",
"required": true, "required": false,
"minLength": 50 "default": ""
}, },
"keywords": { "keywords": {
"type": "text", "type": "text",

View file

@ -10,12 +10,12 @@
"banner": { "banner": {
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"required": true, "required": false,
"allowedTypes": ["images"] "allowedTypes": ["images"]
}, },
"title": { "title": {
"type": "string", "type": "string",
"required": true "required": false
} }
} }
} }

View file

@ -8,10 +8,12 @@
"options": {}, "options": {},
"attributes": { "attributes": {
"name": { "name": {
"type": "string" "type": "string",
"required": true
}, },
"URL": { "URL": {
"type": "string" "type": "string",
"required": true
}, },
"default_active_child": { "default_active_child": {
"type": "string" "type": "string"

View file

@ -12,7 +12,7 @@
"relation": "oneToMany", "relation": "oneToMany",
"target": "api::article.article" "target": "api::article.article"
}, },
"base_url": { "link_to_articles": {
"type": "string", "type": "string",
"required": false, "required": false,
"default": "" "default": ""

View file

@ -10,7 +10,8 @@
"lookup": { "lookup": {
"type": "relation", "type": "relation",
"relation": "oneToOne", "relation": "oneToOne",
"target": "api::collection-lookup.collection-lookup" "target": "api::collection-lookup.collection-lookup",
"required": true
} }
} }
} }

View file

@ -33,7 +33,6 @@ export interface DynamicZoneEmbedding extends Struct.ComponentSchema {
}; };
attributes: { attributes: {
link: Schema.Attribute.String; link: Schema.Attribute.String;
title: Schema.Attribute.String & Schema.Attribute.Required;
}; };
} }
@ -46,7 +45,6 @@ export interface DynamicZoneFileDownload extends Struct.ComponentSchema {
attributes: { attributes: {
enable_download: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<true>; enable_download: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<true>;
file: Schema.Attribute.Media<"files" | "images"> & Schema.Attribute.Required; file: Schema.Attribute.Media<"files" | "images"> & Schema.Attribute.Required;
title: Schema.Attribute.String & Schema.Attribute.Required;
}; };
} }
@ -91,11 +89,11 @@ export interface DynamicZoneSection extends Struct.ComponentSchema {
info: { info: {
description: ""; description: "";
displayName: "Abschnitt"; displayName: "Abschnitt";
icon: "apps"; icon: "expand";
}; };
attributes: { attributes: {
description: Schema.Attribute.Text; description: Schema.Attribute.Text;
titel: Schema.Attribute.String & Schema.Attribute.Required; title: Schema.Attribute.String & Schema.Attribute.Required;
}; };
} }
@ -104,7 +102,7 @@ export interface DynamicZoneSpacer extends Struct.ComponentSchema {
info: { info: {
description: ""; description: "";
displayName: "Abstand"; displayName: "Abstand";
icon: "apps"; icon: "crop";
}; };
attributes: {}; attributes: {};
} }
@ -118,8 +116,8 @@ export interface GlobalFooter extends Struct.ComponentSchema {
}; };
attributes: { attributes: {
copyright: Schema.Attribute.String; copyright: Schema.Attribute.String;
designed_developed_by: Schema.Attribute.String;
links: Schema.Attribute.Component<"items.link", true>; links: Schema.Attribute.Component<"items.link", true>;
maintained_by: Schema.Attribute.String;
}; };
} }
@ -131,7 +129,6 @@ export interface GlobalNavbar extends Struct.ComponentSchema {
icon: "bold"; icon: "bold";
}; };
attributes: { attributes: {
logo: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
navbar_items: Schema.Attribute.Component<"items.navbar-items", true>; navbar_items: Schema.Attribute.Component<"items.navbar-items", true>;
}; };
} }
@ -145,11 +142,7 @@ export interface GlobalSeo extends Struct.ComponentSchema {
}; };
attributes: { attributes: {
keywords: Schema.Attribute.Text; keywords: Schema.Attribute.Text;
metaDescription: Schema.Attribute.String & metaDescription: Schema.Attribute.String & Schema.Attribute.DefaultTo<"">;
Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{
minLength: 50;
}>;
metaTitle: Schema.Attribute.String & metaTitle: Schema.Attribute.String &
Schema.Attribute.Required & Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{ Schema.Attribute.SetMinMaxLength<{
@ -166,8 +159,8 @@ export interface ItemsHero extends Struct.ComponentSchema {
icon: "rocket"; icon: "rocket";
}; };
attributes: { attributes: {
banner: Schema.Attribute.Media<"images"> & Schema.Attribute.Required; banner: Schema.Attribute.Media<"images">;
title: Schema.Attribute.String & Schema.Attribute.Required; title: Schema.Attribute.String;
}; };
} }
@ -196,10 +189,10 @@ export interface ItemsNavbarItems extends Struct.ComponentSchema {
}; };
attributes: { attributes: {
default_active_child: Schema.Attribute.String; default_active_child: Schema.Attribute.String;
name: Schema.Attribute.String; name: Schema.Attribute.String & Schema.Attribute.Required;
navbar_sub_items: Schema.Attribute.Component<"items.navbar-sub-items", true>; navbar_sub_items: Schema.Attribute.Component<"items.navbar-sub-items", true>;
page: Schema.Attribute.Relation<"oneToOne", "api::page.page">; page: Schema.Attribute.Relation<"oneToOne", "api::page.page">;
URL: Schema.Attribute.String; URL: Schema.Attribute.String & Schema.Attribute.Required;
}; };
} }
@ -226,7 +219,7 @@ export interface SharedEmphasiseArticle extends Struct.ComponentSchema {
}; };
attributes: { attributes: {
articles: Schema.Attribute.Relation<"oneToMany", "api::article.article">; articles: Schema.Attribute.Relation<"oneToMany", "api::article.article">;
base_url: Schema.Attribute.String & Schema.Attribute.DefaultTo<"">; link_to_articles: Schema.Attribute.String & Schema.Attribute.DefaultTo<"">;
}; };
} }
@ -238,7 +231,8 @@ export interface SharedList extends Struct.ComponentSchema {
icon: "apps"; icon: "apps";
}; };
attributes: { attributes: {
lookup: Schema.Attribute.Relation<"oneToOne", "api::collection-lookup.collection-lookup">; lookup: Schema.Attribute.Relation<"oneToOne", "api::collection-lookup.collection-lookup"> &
Schema.Attribute.Required;
}; };
} }

View file

@ -373,16 +373,20 @@ export interface ApiCollectionLookupCollectionLookup extends Struct.CollectionTy
Schema.Attribute.Required; Schema.Attribute.Required;
createdAt: Schema.Attribute.DateTime; createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private; createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
date_list: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>; enable_detail: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo<false>;
enable_detail: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>; items_with_number: Schema.Attribute.Enumeration<["none", "numbered", "inverted"]> &
image_item: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>; Schema.Attribute.Required &
inverse_count: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>; Schema.Attribute.DefaultTo<"none">;
list_with_date: Schema.Attribute.Enumeration<["none", "by-year", "by-month"]> &
Schema.Attribute.Required &
Schema.Attribute.DefaultTo<"none">;
locale: Schema.Attribute.String & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<"oneToMany", "api::collection-lookup.collection-lookup"> & localizations: Schema.Attribute.Relation<"oneToMany", "api::collection-lookup.collection-lookup"> &
Schema.Attribute.Private; Schema.Attribute.Private;
numbered_item: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
publishedAt: Schema.Attribute.DateTime; publishedAt: Schema.Attribute.DateTime;
reference: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique; reference: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique;
show_date: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo<false>;
show_image: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo<false>;
updatedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private; updatedBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
}; };
@ -431,10 +435,11 @@ export interface ApiGlobalGlobal extends Struct.SingleTypeSchema {
attributes: { attributes: {
createdAt: Schema.Attribute.DateTime; createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private; createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
footer: Schema.Attribute.Component<"global.footer", false> & Schema.Attribute.Required; footer: Schema.Attribute.Component<"global.footer", false>;
locale: Schema.Attribute.String & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<"oneToMany", "api::global.global"> & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<"oneToMany", "api::global.global"> & Schema.Attribute.Private;
navbar: Schema.Attribute.Component<"global.navbar", false> & Schema.Attribute.Required; logo: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
navbar: Schema.Attribute.Component<"global.navbar", false>;
publishedAt: Schema.Attribute.DateTime; publishedAt: Schema.Attribute.DateTime;
SEO: Schema.Attribute.Component<"global.seo", false>; SEO: Schema.Attribute.Component<"global.seo", false>;
updatedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime;
@ -459,13 +464,13 @@ export interface ApiHomepageHomepage extends Struct.SingleTypeSchema {
[ [
"dynamic-zone.spacer", "dynamic-zone.spacer",
"dynamic-zone.section", "dynamic-zone.section",
"dynamic-zone.embedding",
"dynamic-zone.file-download",
"dynamic-zone.gallery", "dynamic-zone.gallery",
"dynamic-zone.full-text", "dynamic-zone.full-text",
"dynamic-zone.full-image", "dynamic-zone.full-image",
"dynamic-zone.dual-column-text", "dynamic-zone.dual-column-text",
"dynamic-zone.column-image-text", "dynamic-zone.column-image-text",
"dynamic-zone.file-download",
"dynamic-zone.embedding",
"shared.emphasise-article", "shared.emphasise-article",
"shared.list", "shared.list",
] ]
@ -538,7 +543,7 @@ export interface ApiPagePage extends Struct.CollectionTypeSchema {
>; >;
createdAt: Schema.Attribute.DateTime; createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private; createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
hero: Schema.Attribute.Component<"items.hero", false>; hero: Schema.Attribute.Component<"items.hero", false> & Schema.Attribute.Required;
identifier: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique; identifier: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique;
locale: Schema.Attribute.String & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<"oneToMany", "api::page.page"> & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<"oneToMany", "api::page.page"> & Schema.Attribute.Private;
@ -565,7 +570,7 @@ export interface ApiVehicleVehicle extends Struct.CollectionTypeSchema {
content: Schema.Attribute.Blocks; content: Schema.Attribute.Blocks;
createdAt: Schema.Attribute.DateTime; createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private; createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
date: Schema.Attribute.DateTime; date: Schema.Attribute.Date & Schema.Attribute.Required;
description: Schema.Attribute.String & Schema.Attribute.Required; description: Schema.Attribute.String & Schema.Attribute.Required;
image: Schema.Attribute.Media<"images">; image: Schema.Attribute.Media<"images">;
locale: Schema.Attribute.String & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private;