Compare commits

..

11 commits
v1.0.1 ... main

18 changed files with 2480 additions and 4092 deletions

View file

@ -8,7 +8,7 @@ Dieses Projekt, `ff-webpage-cms`, ist ein Content-Management-System (CMS) basier
Die Administrationsöberfläche ermöglicht die Verwaltung von Seiten und deren Inhalten wie Artikel, Termine, Einsätz oder Fahrzeuge. Seiten können auch über vordefinierte Schemata erstellt werden. Die Administrationsöberfläche ermöglicht die Verwaltung von Seiten und deren Inhalten wie Artikel, Termine, Einsätz oder Fahrzeuge. Seiten können auch über vordefinierte Schemata erstellt werden.
Eine Demo dieser Seite finden Sie unter [https://cms.ff-demo.jk-effects.cloud](https://cms.ff-demo.jk-effects.cloud).\ Eine Demo dieser Seite finden Sie unter [https://cms.webpage-demo.ff-admin.de](https://cms.webpage-demo.ff-admin.de).\
Die Zugangsdaten (Lesebeschränkt) sind: \ Die Zugangsdaten (Lesebeschränkt) sind: \
EMAIL: ff-demo@jk-effects.cloud\ EMAIL: ff-demo@jk-effects.cloud\
PASSWORT: FFDemo1234\ PASSWORT: FFDemo1234\

6045
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{ {
"name": "webpage-cms", "name": "webpage-cms",
"version": "1.0.1", "version": "1.1.0",
"private": true, "private": true,
"description": "A Strapi application", "description": "A Strapi application",
"scripts": { "scripts": {
@ -12,11 +12,11 @@
}, },
"dependencies": { "dependencies": {
"@offset-dev/strapi-calendar": "^1.0.0", "@offset-dev/strapi-calendar": "^1.0.0",
"@strapi/plugin-color-picker": "^5.1.1", "@strapi/plugin-color-picker": "5.8.0",
"@strapi/plugin-documentation": "^5.1.1", "@strapi/plugin-documentation": "5.8.0",
"@strapi/plugin-graphql": "^5.1.1", "@strapi/plugin-graphql": "5.8.0",
"@strapi/plugin-users-permissions": "5.1.1", "@strapi/plugin-users-permissions": "5.8.0",
"@strapi/strapi": "5.1.1", "@strapi/strapi": "5.8.0",
"mysql2": "3.9.8", "mysql2": "3.9.8",
"react": "^18.0.0", "react": "^18.0.0",
"react-dom": "^18.0.0", "react-dom": "^18.0.0",

View file

@ -35,19 +35,25 @@
"image": { "image": {
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"allowedTypes": ["images"], "required": false,
"allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": ["images"], "allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {
"pluginOptions": {}, "pluginOptions": {},
"type": "date" "type": "date",
"required": true
} }
} }
} }

View file

@ -18,9 +18,9 @@
"unique": true "unique": true
}, },
"collection": { "collection": {
"type": "string", "type": "enumeration",
"required": true, "enum": ["events", "vehicles", "articles", "operations"],
"unique": true "required": true
}, },
"image_item": { "image_item": {
"type": "boolean", "type": "boolean",

View file

@ -35,19 +35,25 @@
"image": { "image": {
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"allowedTypes": ["images"], "required": false,
"allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": ["images"], "allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {
"pluginOptions": {}, "pluginOptions": {},
"type": "date" "type": "datetime",
"required": true
} }
} }
} }

View file

@ -16,9 +16,12 @@
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"required": true, "required": true,
"allowedTypes": [ "allowedTypes": ["images"]
"images" },
] "hide_backdrop": {
"type": "boolean",
"default": false,
"required": true
}, },
"content": { "content": {
"type": "dynamiczone", "type": "dynamiczone",

View file

@ -35,19 +35,25 @@
"image": { "image": {
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"allowedTypes": ["images"], "required": false,
"allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": ["images"], "allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {
"pluginOptions": {}, "pluginOptions": {},
"type": "date" "type": "datetime",
"required": true
} }
} }
} }

View file

@ -41,7 +41,9 @@
"dynamic-zone.emphasise-article", "dynamic-zone.emphasise-article",
"dynamic-zone.dual-column-text", "dynamic-zone.dual-column-text",
"dynamic-zone.column-image-text", "dynamic-zone.column-image-text",
"shared.list" "shared.list",
"dynamic-zone.file-download",
"dynamic-zone.embedding"
] ]
} }
} }

View file

@ -4,7 +4,8 @@
"info": { "info": {
"singularName": "vehicle", "singularName": "vehicle",
"pluralName": "vehicles", "pluralName": "vehicles",
"displayName": "Fahrzeuge" "displayName": "Fahrzeuge",
"description": ""
}, },
"options": { "options": {
"draftAndPublish": true "draftAndPublish": true
@ -34,19 +35,25 @@
"image": { "image": {
"type": "media", "type": "media",
"multiple": false, "multiple": false,
"allowedTypes": ["images"], "required": false,
"allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"attachment": { "attachment": {
"type": "media", "type": "media",
"multiple": true, "multiple": true,
"required": false, "required": false,
"allowedTypes": ["images"], "allowedTypes": [
"images"
],
"pluginOptions": {} "pluginOptions": {}
}, },
"date": { "date": {
"pluginOptions": {}, "pluginOptions": {},
"type": "date" "type": "datetime",
"required": false
} }
} }
} }

View file

@ -2,6 +2,27 @@
* vehicle controller * vehicle controller
*/ */
import { factories } from '@strapi/strapi' import { factories } from "@strapi/strapi";
export default factories.createCoreController('api::vehicle.vehicle'); export default factories.createCoreController("api::vehicle.vehicle", ({ strapi }) => ({
async distinctYears(ctx) {
try {
const years = await strapi.service("api::vehicle.vehicle").getDistinctYears();
ctx.body = years;
} catch (err) {
ctx.throw(500, err);
}
},
async findByYear(ctx) {
try {
const { year } = ctx.params;
const { page = "1", pageSize = "10" } = ctx.query as { page?: string; pageSize?: string };
const result = await strapi.service("api::vehicle.vehicle").findByYear(year, parseInt(page), parseInt(pageSize));
ctx.body = result;
} catch (err) {
ctx.throw(500, err);
}
},
}));

View file

@ -0,0 +1,14 @@
export default {
routes: [
{
method: "GET",
path: "/custom/vehicle/distinct-years",
handler: "api::vehicle.vehicle.distinctYears",
},
{
method: "GET",
path: "/custom/vehicle/year/:year",
handler: "api::vehicle.vehicle.findByYear",
},
],
};

View file

@ -2,6 +2,47 @@
* vehicle service * vehicle service
*/ */
import { factories } from '@strapi/strapi'; import { factories } from "@strapi/strapi";
import { parseISO, getYear } from "date-fns";
export default factories.createCoreService('api::vehicle.vehicle'); export default factories.createCoreService("api::vehicle.vehicle", ({ strapi }) => ({
async getDistinctYears() {
const articles = await strapi.query("api::vehicle.vehicle").findMany({
select: ["date"],
});
const years = articles
.map((article) => getYear(parseISO(article.date + "")))
.filter((year, index, self) => self.indexOf(year) === index)
.sort((a, b) => b - a);
return years;
},
async findByYear(year: string, page = 1, pageSize = 10) {
const startOfYear = new Date(`${year}-01-01T00:00:00.000Z`);
const endOfYear = new Date(`${year}-12-31T23:59:59.999Z`);
const articles = await strapi.query("api::vehicle.vehicle").findPage({
filters: {
date: {
$gte: startOfYear,
$lte: endOfYear,
},
publishedAt: {
$ne: null,
},
},
limit: pageSize,
page: page,
orderBy: { date: "desc" },
});
return {
data: articles.results,
meta: {
pagination: articles.pagination,
},
};
},
}));

View file

@ -0,0 +1,16 @@
{
"collectionName": "components_dynamic_zone_embedding",
"info": {
"displayName": "Einbettung"
},
"options": {},
"attributes": {
"title": {
"type": "string",
"required": true
},
"link": {
"type": "string"
}
}
}

View file

@ -0,0 +1,25 @@
{
"collectionName": "components_dynamic_zone_file_download",
"info": {
"displayName": "Datei-Download",
"description": ""
},
"options": {},
"attributes": {
"enable_download": {
"type": "boolean",
"default": true,
"required": true
},
"title": {
"type": "string",
"required": true
},
"file": {
"type": "media",
"multiple": false,
"required": true,
"allowedTypes": ["files", "images"]
}
}
}

View file

@ -14,7 +14,7 @@
"name": "Apache 2.0", "name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0.html" "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
}, },
"x-generation-date": "2025-01-05T16:42:52.145Z" "x-generation-date": "2025-01-18T10:42:17.897Z"
}, },
"x-strapi-config": { "x-strapi-config": {
"plugins": [ "plugins": [
@ -5182,7 +5182,8 @@
"required": [ "required": [
"title", "title",
"description", "description",
"slug" "slug",
"date"
], ],
"type": "object", "type": "object",
"properties": { "properties": {
@ -5286,7 +5287,8 @@
"required": [ "required": [
"title", "title",
"description", "description",
"slug" "slug",
"date"
], ],
"properties": { "properties": {
"id": { "id": {
@ -6450,7 +6452,13 @@
"type": "string" "type": "string"
}, },
"collection": { "collection": {
"type": "string" "type": "string",
"enum": [
"events",
"vehicles",
"articles",
"operations"
]
}, },
"image_item": { "image_item": {
"type": "boolean" "type": "boolean"
@ -6541,7 +6549,13 @@
"type": "string" "type": "string"
}, },
"collection": { "collection": {
"type": "string" "type": "string",
"enum": [
"events",
"vehicles",
"articles",
"operations"
]
}, },
"image_item": { "image_item": {
"type": "boolean" "type": "boolean"
@ -6859,7 +6873,13 @@
"type": "string" "type": "string"
}, },
"collection": { "collection": {
"type": "string" "type": "string",
"enum": [
"events",
"vehicles",
"articles",
"operations"
]
}, },
"image_item": { "image_item": {
"type": "boolean" "type": "boolean"
@ -6950,7 +6970,8 @@
"required": [ "required": [
"title", "title",
"description", "description",
"slug" "slug",
"date"
], ],
"type": "object", "type": "object",
"properties": { "properties": {
@ -6991,7 +7012,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"locale": { "locale": {
"type": "string" "type": "string"
@ -7054,7 +7075,8 @@
"required": [ "required": [
"title", "title",
"description", "description",
"slug" "slug",
"date"
], ],
"properties": { "properties": {
"id": { "id": {
@ -7805,7 +7827,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"createdAt": { "createdAt": {
"type": "string", "type": "string",
@ -8128,7 +8150,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"createdAt": { "createdAt": {
"type": "string", "type": "string",
@ -9353,6 +9375,175 @@
} }
} }
}, },
"DynamicZoneFileDownloadComponent": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"__component": {
"type": "string",
"enum": [
"dynamic-zone.file-download"
]
},
"enable_download": {
"type": "boolean"
},
"title": {
"type": "string"
},
"file": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"documentId": {
"type": "string"
},
"name": {
"type": "string"
},
"alternativeText": {
"type": "string"
},
"caption": {
"type": "string"
},
"width": {
"type": "integer"
},
"height": {
"type": "integer"
},
"formats": {},
"hash": {
"type": "string"
},
"ext": {
"type": "string"
},
"mime": {
"type": "string"
},
"size": {
"type": "number",
"format": "float"
},
"url": {
"type": "string"
},
"previewUrl": {
"type": "string"
},
"provider": {
"type": "string"
},
"provider_metadata": {},
"related": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"documentId": {
"type": "string"
}
}
}
},
"folder": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"documentId": {
"type": "string"
}
}
},
"folderPath": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"publishedAt": {
"type": "string",
"format": "date-time"
},
"createdBy": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"documentId": {
"type": "string"
}
}
},
"updatedBy": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"documentId": {
"type": "string"
}
}
},
"locale": {
"type": "string"
},
"localizations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"documentId": {
"type": "string"
}
}
}
}
}
}
}
},
"DynamicZoneEmbeddingComponent": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"__component": {
"type": "string",
"enum": [
"dynamic-zone.embedding"
]
},
"title": {
"type": "string"
},
"link": {
"type": "string"
}
}
},
"HomepageRequest": { "HomepageRequest": {
"type": "object", "type": "object",
"required": [ "required": [
@ -9361,7 +9552,8 @@
"properties": { "properties": {
"data": { "data": {
"required": [ "required": [
"backdrop" "backdrop",
"hide_backdrop"
], ],
"type": "object", "type": "object",
"properties": { "properties": {
@ -9376,6 +9568,9 @@
], ],
"example": "string or id" "example": "string or id"
}, },
"hide_backdrop": {
"type": "boolean"
},
"content": { "content": {
"type": "array", "type": "array",
"items": { "items": {
@ -9475,7 +9670,8 @@
"Homepage": { "Homepage": {
"type": "object", "type": "object",
"required": [ "required": [
"backdrop" "backdrop",
"hide_backdrop"
], ],
"properties": { "properties": {
"id": { "id": {
@ -10082,6 +10278,9 @@
} }
} }
}, },
"hide_backdrop": {
"type": "boolean"
},
"content": { "content": {
"type": "array", "type": "array",
"items": { "items": {
@ -10299,6 +10498,9 @@
} }
} }
}, },
"hide_backdrop": {
"type": "boolean"
},
"content": { "content": {
"type": "array", "type": "array",
"items": { "items": {
@ -10416,7 +10618,8 @@
"required": [ "required": [
"title", "title",
"description", "description",
"slug" "slug",
"date"
], ],
"type": "object", "type": "object",
"properties": { "properties": {
@ -10457,7 +10660,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"locale": { "locale": {
"type": "string" "type": "string"
@ -10520,7 +10723,8 @@
"required": [ "required": [
"title", "title",
"description", "description",
"slug" "slug",
"date"
], ],
"properties": { "properties": {
"id": { "id": {
@ -11271,7 +11475,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"createdAt": { "createdAt": {
"type": "string", "type": "string",
@ -11594,7 +11798,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"createdAt": { "createdAt": {
"type": "string", "type": "string",
@ -11709,6 +11913,12 @@
}, },
{ {
"$ref": "#/components/schemas/SharedListComponent" "$ref": "#/components/schemas/SharedListComponent"
},
{
"$ref": "#/components/schemas/DynamicZoneFileDownloadComponent"
},
{
"$ref": "#/components/schemas/DynamicZoneEmbeddingComponent"
} }
] ]
}, },
@ -11721,7 +11931,9 @@
"dynamic-zone.emphasise-article": "#/components/schemas/DynamicZoneEmphasiseArticleComponent", "dynamic-zone.emphasise-article": "#/components/schemas/DynamicZoneEmphasiseArticleComponent",
"dynamic-zone.dual-column-text": "#/components/schemas/DynamicZoneDualColumnTextComponent", "dynamic-zone.dual-column-text": "#/components/schemas/DynamicZoneDualColumnTextComponent",
"dynamic-zone.column-image-text": "#/components/schemas/DynamicZoneColumnImageTextComponent", "dynamic-zone.column-image-text": "#/components/schemas/DynamicZoneColumnImageTextComponent",
"shared.list": "#/components/schemas/SharedListComponent" "shared.list": "#/components/schemas/SharedListComponent",
"dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent",
"dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent"
} }
} }
}, },
@ -11827,6 +12039,12 @@
}, },
{ {
"$ref": "#/components/schemas/SharedListComponent" "$ref": "#/components/schemas/SharedListComponent"
},
{
"$ref": "#/components/schemas/DynamicZoneFileDownloadComponent"
},
{
"$ref": "#/components/schemas/DynamicZoneEmbeddingComponent"
} }
] ]
}, },
@ -11839,7 +12057,9 @@
"dynamic-zone.emphasise-article": "#/components/schemas/DynamicZoneEmphasiseArticleComponent", "dynamic-zone.emphasise-article": "#/components/schemas/DynamicZoneEmphasiseArticleComponent",
"dynamic-zone.dual-column-text": "#/components/schemas/DynamicZoneDualColumnTextComponent", "dynamic-zone.dual-column-text": "#/components/schemas/DynamicZoneDualColumnTextComponent",
"dynamic-zone.column-image-text": "#/components/schemas/DynamicZoneColumnImageTextComponent", "dynamic-zone.column-image-text": "#/components/schemas/DynamicZoneColumnImageTextComponent",
"shared.list": "#/components/schemas/SharedListComponent" "shared.list": "#/components/schemas/SharedListComponent",
"dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent",
"dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent"
} }
} }
}, },
@ -11924,6 +12144,12 @@
}, },
{ {
"$ref": "#/components/schemas/SharedListComponent" "$ref": "#/components/schemas/SharedListComponent"
},
{
"$ref": "#/components/schemas/DynamicZoneFileDownloadComponent"
},
{
"$ref": "#/components/schemas/DynamicZoneEmbeddingComponent"
} }
] ]
}, },
@ -11936,7 +12162,9 @@
"dynamic-zone.emphasise-article": "#/components/schemas/DynamicZoneEmphasiseArticleComponent", "dynamic-zone.emphasise-article": "#/components/schemas/DynamicZoneEmphasiseArticleComponent",
"dynamic-zone.dual-column-text": "#/components/schemas/DynamicZoneDualColumnTextComponent", "dynamic-zone.dual-column-text": "#/components/schemas/DynamicZoneDualColumnTextComponent",
"dynamic-zone.column-image-text": "#/components/schemas/DynamicZoneColumnImageTextComponent", "dynamic-zone.column-image-text": "#/components/schemas/DynamicZoneColumnImageTextComponent",
"shared.list": "#/components/schemas/SharedListComponent" "shared.list": "#/components/schemas/SharedListComponent",
"dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent",
"dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent"
} }
} }
}, },
@ -12058,7 +12286,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"locale": { "locale": {
"type": "string" "type": "string"
@ -12872,7 +13100,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"createdAt": { "createdAt": {
"type": "string", "type": "string",
@ -13195,7 +13423,7 @@
}, },
"date": { "date": {
"type": "string", "type": "string",
"format": "date" "format": "date-time"
}, },
"createdAt": { "createdAt": {
"type": "string", "type": "string",

View file

@ -26,6 +26,17 @@ export interface DynamicZoneDualColumnText extends Struct.ComponentSchema {
}; };
} }
export interface DynamicZoneEmbedding extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_embedding";
info: {
displayName: "Einbettung";
};
attributes: {
link: Schema.Attribute.String;
title: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface DynamicZoneEmphasiseArticle extends Struct.ComponentSchema { export interface DynamicZoneEmphasiseArticle extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_emphasise_articles"; collectionName: "components_dynamic_zone_emphasise_articles";
info: { info: {
@ -41,6 +52,19 @@ export interface DynamicZoneEmphasiseArticle extends Struct.ComponentSchema {
}; };
} }
export interface DynamicZoneFileDownload extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_file_download";
info: {
description: "";
displayName: "Datei-Download";
};
attributes: {
enable_download: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<true>;
file: Schema.Attribute.Media<"files" | "images"> & Schema.Attribute.Required;
title: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface DynamicZoneFullImage extends Struct.ComponentSchema { export interface DynamicZoneFullImage extends Struct.ComponentSchema {
collectionName: "components_dynamic_zone_full_images"; collectionName: "components_dynamic_zone_full_images";
info: { info: {
@ -203,7 +227,9 @@ declare module "@strapi/strapi" {
export interface ComponentSchemas { export interface ComponentSchemas {
"dynamic-zone.column-image-text": DynamicZoneColumnImageText; "dynamic-zone.column-image-text": DynamicZoneColumnImageText;
"dynamic-zone.dual-column-text": DynamicZoneDualColumnText; "dynamic-zone.dual-column-text": DynamicZoneDualColumnText;
"dynamic-zone.embedding": DynamicZoneEmbedding;
"dynamic-zone.emphasise-article": DynamicZoneEmphasiseArticle; "dynamic-zone.emphasise-article": DynamicZoneEmphasiseArticle;
"dynamic-zone.file-download": DynamicZoneFileDownload;
"dynamic-zone.full-image": DynamicZoneFullImage; "dynamic-zone.full-image": DynamicZoneFullImage;
"dynamic-zone.full-text": DynamicZoneFullText; "dynamic-zone.full-text": DynamicZoneFullText;
"dynamic-zone.gallery": DynamicZoneGallery; "dynamic-zone.gallery": DynamicZoneGallery;

View file

@ -344,7 +344,7 @@ export interface ApiArticleArticle 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.Date; 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;
@ -369,7 +369,8 @@ export interface ApiCollectionLookupCollectionLookup extends Struct.CollectionTy
draftAndPublish: true; draftAndPublish: true;
}; };
attributes: { attributes: {
collection: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique; collection: Schema.Attribute.Enumeration<["events", "vehicles", "articles", "operations"]> &
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>; date_list: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
@ -402,7 +403,7 @@ export interface ApiEventEvent 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.Date; date: Schema.Attribute.DateTime & 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;
@ -466,6 +467,7 @@ export interface ApiHomepageHomepage extends Struct.SingleTypeSchema {
>; >;
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;
hide_backdrop: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo<false>;
locale: Schema.Attribute.String & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<"oneToMany", "api::homepage.homepage"> & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<"oneToMany", "api::homepage.homepage"> & Schema.Attribute.Private;
publishedAt: Schema.Attribute.DateTime; publishedAt: Schema.Attribute.DateTime;
@ -490,7 +492,7 @@ export interface ApiOperationOperation 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.Date; date: Schema.Attribute.DateTime & 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;
@ -524,6 +526,8 @@ export interface ApiPagePage extends Struct.CollectionTypeSchema {
"dynamic-zone.dual-column-text", "dynamic-zone.dual-column-text",
"dynamic-zone.column-image-text", "dynamic-zone.column-image-text",
"shared.list", "shared.list",
"dynamic-zone.file-download",
"dynamic-zone.embedding",
] ]
>; >;
createdAt: Schema.Attribute.DateTime; createdAt: Schema.Attribute.DateTime;
@ -542,6 +546,7 @@ export interface ApiPagePage extends Struct.CollectionTypeSchema {
export interface ApiVehicleVehicle extends Struct.CollectionTypeSchema { export interface ApiVehicleVehicle extends Struct.CollectionTypeSchema {
collectionName: "vehicles"; collectionName: "vehicles";
info: { info: {
description: "";
displayName: "Fahrzeuge"; displayName: "Fahrzeuge";
pluralName: "vehicles"; pluralName: "vehicles";
singularName: "vehicle"; singularName: "vehicle";
@ -554,7 +559,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.Date; date: Schema.Attribute.DateTime;
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;
@ -707,6 +712,7 @@ export interface PluginReviewWorkflowsWorkflow extends Struct.CollectionTypeSche
Schema.Attribute.Private; Schema.Attribute.Private;
name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique; name: Schema.Attribute.String & Schema.Attribute.Required & Schema.Attribute.Unique;
publishedAt: Schema.Attribute.DateTime; publishedAt: Schema.Attribute.DateTime;
stageRequiredToPublish: Schema.Attribute.Relation<"oneToOne", "plugin::review-workflows.workflow-stage">;
stages: Schema.Attribute.Relation<"oneToMany", "plugin::review-workflows.workflow-stage">; stages: Schema.Attribute.Relation<"oneToMany", "plugin::review-workflows.workflow-stage">;
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;