model changes

This commit is contained in:
Julian Krauser 2025-02-13 11:33:54 +01:00
parent 3ba5330e19
commit 1cfefa450b
15 changed files with 545 additions and 408 deletions

View file

@ -41,6 +41,11 @@
"type": "boolean",
"default": false,
"required": true
},
"enable_detail": {
"type": "boolean",
"default": false,
"required": true
}
}
}

View file

@ -23,12 +23,13 @@
"type": "component",
"repeatable": false,
"pluginOptions": {},
"component": "global.footer"
"component": "global.footer",
"required": true
},
"SEO": {
"type": "component",
"repeatable": false,
"component": "shared.seo"
"component": "global.seo"
}
}
}

View file

@ -15,23 +15,22 @@
"backdrop": {
"type": "media",
"multiple": false,
"required": true,
"required": false,
"allowedTypes": ["images"]
},
"hide_backdrop": {
"type": "boolean",
"default": false,
"required": true
},
"content": {
"type": "dynamiczone",
"components": [
"dynamic-zone.spacer",
"dynamic-zone.section",
"dynamic-zone.embedding",
"dynamic-zone.file-download",
"dynamic-zone.gallery",
"dynamic-zone.full-text",
"dynamic-zone.full-image",
"dynamic-zone.emphasise-article",
"dynamic-zone.dual-column-text",
"dynamic-zone.column-image-text",
"shared.emphasise-article",
"shared.list"
]
}

View file

@ -28,22 +28,24 @@
"type": "component",
"repeatable": false,
"pluginOptions": {},
"component": "shared.hero",
"component": "items.hero",
"required": false
},
"content": {
"pluginOptions": {},
"type": "dynamiczone",
"components": [
"dynamic-zone.spacer",
"dynamic-zone.section",
"dynamic-zone.embedding",
"dynamic-zone.file-download",
"dynamic-zone.gallery",
"dynamic-zone.full-text",
"dynamic-zone.full-image",
"dynamic-zone.emphasise-article",
"dynamic-zone.dual-column-text",
"dynamic-zone.column-image-text",
"shared.list",
"dynamic-zone.file-download",
"dynamic-zone.embedding"
"shared.emphasise-article",
"shared.list"
]
}
}

View file

@ -0,0 +1,18 @@
{
"collectionName": "components_dynamic_zone_section",
"info": {
"displayName": "Abschnitt",
"icon": "apps",
"description": ""
},
"options": {},
"attributes": {
"titel": {
"type": "string",
"required": true
},
"description": {
"type": "text"
}
}
}

View file

@ -0,0 +1,10 @@
{
"collectionName": "components_dynamic_zone_spacer",
"info": {
"displayName": "Abstand",
"icon": "apps",
"description": ""
},
"options": {},
"attributes": {}
}

View file

@ -16,7 +16,7 @@
"links": {
"type": "component",
"repeatable": true,
"component": "shared.link"
"component": "items.link"
}
}
}

View file

@ -1,5 +1,5 @@
{
"collectionName": "components_shared_seos",
"collectionName": "components_global_seos",
"info": {
"displayName": "seo",
"icon": "search",

View file

@ -1,5 +1,5 @@
{
"collectionName": "components_shared_heroes",
"collectionName": "components_items_heroes",
"info": {
"displayName": "hero",
"icon": "rocket",
@ -11,9 +11,7 @@
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": [
"images"
]
"allowedTypes": ["images"]
},
"title": {
"type": "string",

View file

@ -1,5 +1,5 @@
{
"collectionName": "components_shared_links",
"collectionName": "components_items_links",
"info": {
"displayName": "Link",
"icon": "link",
@ -17,12 +17,7 @@
},
"target": {
"type": "enumeration",
"enum": [
"_blank",
"_self",
"_parent",
"_top"
],
"enum": ["_blank", "_self", "_parent", "_top"],
"default": "_self",
"required": true
}

View file

@ -1,5 +1,5 @@
{
"collectionName": "components_dynamic_zone_emphasise_articles",
"collectionName": "components_shared_emphasise_articles",
"info": {
"displayName": "Artikel hervorheben",
"icon": "dashboard",
@ -12,17 +12,10 @@
"relation": "oneToMany",
"target": "api::article.article"
},
"titel": {
"type": "string",
"required": true
},
"description": {
"type": "text"
},
"base_url": {
"type": "string",
"required": true,
"default": "/artikel"
"required": false,
"default": ""
}
}
}

View file

@ -7,11 +7,6 @@
},
"options": {},
"attributes": {
"enable_detail": {
"type": "boolean",
"default": false,
"required": true
},
"lookup": {
"type": "relation",
"relation": "oneToOne",

View file

@ -37,21 +37,6 @@ export interface DynamicZoneEmbedding extends Struct.ComponentSchema {
};
}
export interface DynamicZoneEmphasiseArticle extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_emphasise_articles";
info: {
description: "";
displayName: "Artikel hervorheben";
icon: "dashboard";
};
attributes: {
articles: Schema.Attribute.Relation<"oneToMany", "api::article.article">;
base_url: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.DefaultTo<"/artikel">;
description: Schema.Attribute.Text;
titel: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface DynamicZoneFileDownload extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_file_download";
info: {
@ -101,6 +86,29 @@ export interface DynamicZoneGallery extends Struct.ComponentSchema {
};
}
export interface DynamicZoneSection extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_section";
info: {
description: "";
displayName: "Abschnitt";
icon: "apps";
};
attributes: {
description: Schema.Attribute.Text;
titel: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface DynamicZoneSpacer extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_spacer";
info: {
description: "";
displayName: "Abstand";
icon: "apps";
};
attributes: {};
}
export interface GlobalFooter extends Struct.ComponentSchema {
collectionName: "components_global_footers";
info: {
@ -111,7 +119,7 @@ export interface GlobalFooter extends Struct.ComponentSchema {
attributes: {
copyright: Schema.Attribute.String;
designed_developed_by: Schema.Attribute.String;
links: Schema.Attribute.Component<"shared.link", true>;
links: Schema.Attribute.Component<"items.link", true>;
};
}
@ -128,6 +136,57 @@ export interface GlobalNavbar extends Struct.ComponentSchema {
};
}
export interface GlobalSeo extends Struct.ComponentSchema {
collectionName: "components_global_seos";
info: {
description: "";
displayName: "seo";
icon: "search";
};
attributes: {
keywords: Schema.Attribute.Text;
metaDescription: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{
minLength: 50;
}>;
metaTitle: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{
maxLength: 60;
}>;
};
}
export interface ItemsHero extends Struct.ComponentSchema {
collectionName: "components_items_heroes";
info: {
description: "";
displayName: "hero";
icon: "rocket";
};
attributes: {
banner: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
title: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface ItemsLink extends Struct.ComponentSchema {
collectionName: "components_items_links";
info: {
description: "";
displayName: "Link";
icon: "link";
};
attributes: {
target: Schema.Attribute.Enumeration<["_blank", "_self", "_parent", "_top"]> &
Schema.Attribute.Required &
Schema.Attribute.DefaultTo<"_self">;
text: Schema.Attribute.String & Schema.Attribute.Required;
URL: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface ItemsNavbarItems extends Struct.ComponentSchema {
collectionName: "components_items_left_navbar_items";
info: {
@ -158,32 +217,16 @@ export interface ItemsNavbarSubItems extends Struct.ComponentSchema {
};
}
export interface SharedHero extends Struct.ComponentSchema {
collectionName: "components_shared_heroes";
export interface SharedEmphasiseArticle extends Struct.ComponentSchema {
collectionName: "components_shared_emphasise_articles";
info: {
description: "";
displayName: "hero";
icon: "rocket";
displayName: "Artikel hervorheben";
icon: "dashboard";
};
attributes: {
banner: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
title: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface SharedLink extends Struct.ComponentSchema {
collectionName: "components_shared_links";
info: {
description: "";
displayName: "Link";
icon: "link";
};
attributes: {
target: Schema.Attribute.Enumeration<["_blank", "_self", "_parent", "_top"]> &
Schema.Attribute.Required &
Schema.Attribute.DefaultTo<"_self">;
text: Schema.Attribute.String & Schema.Attribute.Required;
URL: Schema.Attribute.String & Schema.Attribute.Required;
articles: Schema.Attribute.Relation<"oneToMany", "api::article.article">;
base_url: Schema.Attribute.String & Schema.Attribute.DefaultTo<"">;
};
}
@ -195,52 +238,31 @@ export interface SharedList extends Struct.ComponentSchema {
icon: "apps";
};
attributes: {
enable_detail: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
lookup: Schema.Attribute.Relation<"oneToOne", "api::collection-lookup.collection-lookup">;
};
}
export interface SharedSeo extends Struct.ComponentSchema {
collectionName: "components_shared_seos";
info: {
description: "";
displayName: "seo";
icon: "search";
};
attributes: {
keywords: Schema.Attribute.Text;
metaDescription: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{
minLength: 50;
}>;
metaTitle: Schema.Attribute.String &
Schema.Attribute.Required &
Schema.Attribute.SetMinMaxLength<{
maxLength: 60;
}>;
};
}
declare module "@strapi/strapi" {
export module Public {
export interface ComponentSchemas {
"dynamic-zone.column-image-text": DynamicZoneColumnImageText;
"dynamic-zone.dual-column-text": DynamicZoneDualColumnText;
"dynamic-zone.embedding": DynamicZoneEmbedding;
"dynamic-zone.emphasise-article": DynamicZoneEmphasiseArticle;
"dynamic-zone.file-download": DynamicZoneFileDownload;
"dynamic-zone.full-image": DynamicZoneFullImage;
"dynamic-zone.full-text": DynamicZoneFullText;
"dynamic-zone.gallery": DynamicZoneGallery;
"dynamic-zone.section": DynamicZoneSection;
"dynamic-zone.spacer": DynamicZoneSpacer;
"global.footer": GlobalFooter;
"global.navbar": GlobalNavbar;
"global.seo": GlobalSeo;
"items.hero": ItemsHero;
"items.link": ItemsLink;
"items.navbar-items": ItemsNavbarItems;
"items.navbar-sub-items": ItemsNavbarSubItems;
"shared.hero": SharedHero;
"shared.link": SharedLink;
"shared.emphasise-article": SharedEmphasiseArticle;
"shared.list": SharedList;
"shared.seo": SharedSeo;
}
}
}

View file

@ -374,6 +374,7 @@ export interface ApiCollectionLookupCollectionLookup extends Struct.CollectionTy
createdAt: Schema.Attribute.DateTime;
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.Required & Schema.Attribute.DefaultTo<false>;
image_item: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
inverse_count: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
@ -430,12 +431,12 @@ export interface ApiGlobalGlobal extends Struct.SingleTypeSchema {
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
footer: Schema.Attribute.Component<"global.footer", false>;
footer: Schema.Attribute.Component<"global.footer", false> & Schema.Attribute.Required;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<"oneToMany", "api::global.global"> & Schema.Attribute.Private;
navbar: Schema.Attribute.Component<"global.navbar", false> & Schema.Attribute.Required;
publishedAt: Schema.Attribute.DateTime;
SEO: Schema.Attribute.Component<"shared.seo", false>;
SEO: Schema.Attribute.Component<"global.seo", false>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
};
@ -453,21 +454,24 @@ export interface ApiHomepageHomepage extends Struct.SingleTypeSchema {
draftAndPublish: true;
};
attributes: {
backdrop: Schema.Attribute.Media<"images"> & Schema.Attribute.Required;
backdrop: Schema.Attribute.Media<"images">;
content: Schema.Attribute.DynamicZone<
[
"dynamic-zone.spacer",
"dynamic-zone.section",
"dynamic-zone.gallery",
"dynamic-zone.full-text",
"dynamic-zone.full-image",
"dynamic-zone.emphasise-article",
"dynamic-zone.dual-column-text",
"dynamic-zone.column-image-text",
"dynamic-zone.file-download",
"dynamic-zone.embedding",
"shared.emphasise-article",
"shared.list",
]
>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
hide_backdrop: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<"oneToMany", "api::homepage.homepage"> & Schema.Attribute.Private;
publishedAt: Schema.Attribute.DateTime;
@ -519,20 +523,22 @@ export interface ApiPagePage extends Struct.CollectionTypeSchema {
attributes: {
content: Schema.Attribute.DynamicZone<
[
"dynamic-zone.spacer",
"dynamic-zone.section",
"dynamic-zone.embedding",
"dynamic-zone.file-download",
"dynamic-zone.gallery",
"dynamic-zone.full-text",
"dynamic-zone.full-image",
"dynamic-zone.emphasise-article",
"dynamic-zone.dual-column-text",
"dynamic-zone.column-image-text",
"shared.emphasise-article",
"shared.list",
"dynamic-zone.file-download",
"dynamic-zone.embedding",
]
>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;
hero: Schema.Attribute.Component<"shared.hero", false>;
hero: Schema.Attribute.Component<"items.hero", false>;
identifier: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<"oneToMany", "api::page.page"> & Schema.Attribute.Private;