From 75025e81da7ad0f8dd67687476793bd85ad60b97 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Wed, 19 Feb 2025 13:38:24 +0100 Subject: [PATCH] change: split file into viewer and download --- .../content-types/homepage/schema.json | 1 + src/api/page/content-types/page/schema.json | 1 + .../dynamic-zone/file-download.json | 7 +- src/components/dynamic-zone/file-viewer.json | 16 ++ .../1.0.0/full_documentation.json | 172 +++++++++++++++++- types/generated/components.d.ts | 15 +- types/generated/contentTypes.d.ts | 3 + 7 files changed, 203 insertions(+), 12 deletions(-) create mode 100644 src/components/dynamic-zone/file-viewer.json diff --git a/src/api/homepage/content-types/homepage/schema.json b/src/api/homepage/content-types/homepage/schema.json index 976dc83..41bc1c7 100644 --- a/src/api/homepage/content-types/homepage/schema.json +++ b/src/api/homepage/content-types/homepage/schema.json @@ -24,6 +24,7 @@ "dynamic-zone.spacer", "dynamic-zone.section", "dynamic-zone.embedding", + "dynamic-zone.file-viewer", "dynamic-zone.file-download", "dynamic-zone.gallery", "dynamic-zone.full-text", diff --git a/src/api/page/content-types/page/schema.json b/src/api/page/content-types/page/schema.json index f7b7cb2..cd9925f 100644 --- a/src/api/page/content-types/page/schema.json +++ b/src/api/page/content-types/page/schema.json @@ -38,6 +38,7 @@ "dynamic-zone.spacer", "dynamic-zone.section", "dynamic-zone.embedding", + "dynamic-zone.file-viewer", "dynamic-zone.file-download", "dynamic-zone.gallery", "dynamic-zone.full-text", diff --git a/src/components/dynamic-zone/file-download.json b/src/components/dynamic-zone/file-download.json index 42843a9..7e3d928 100644 --- a/src/components/dynamic-zone/file-download.json +++ b/src/components/dynamic-zone/file-download.json @@ -6,16 +6,11 @@ }, "options": {}, "attributes": { - "enable_download": { - "type": "boolean", - "default": true, - "required": true - }, "file": { "type": "media", "multiple": false, "required": true, - "allowedTypes": ["files", "images"] + "allowedTypes": ["images", "videos", "audios", "files"] } } } diff --git a/src/components/dynamic-zone/file-viewer.json b/src/components/dynamic-zone/file-viewer.json new file mode 100644 index 0000000..d4ab917 --- /dev/null +++ b/src/components/dynamic-zone/file-viewer.json @@ -0,0 +1,16 @@ +{ + "collectionName": "components_dynamic_zone_file_viewer", + "info": { + "displayName": "Datei-Anzeige", + "description": "" + }, + "options": {}, + "attributes": { + "file": { + "type": "media", + "multiple": false, + "required": true, + "allowedTypes": ["images", "videos", "audios", "files"] + } + } +} diff --git a/src/extensions/documentation/documentation/1.0.0/full_documentation.json b/src/extensions/documentation/documentation/1.0.0/full_documentation.json index 0f825d2..e639457 100644 --- a/src/extensions/documentation/documentation/1.0.0/full_documentation.json +++ b/src/extensions/documentation/documentation/1.0.0/full_documentation.json @@ -14,7 +14,7 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, - "x-generation-date": "2025-02-14T12:28:13.905Z" + "x-generation-date": "2025-02-19T12:30:17.145Z" }, "x-strapi-config": { "plugins": [ @@ -9538,6 +9538,149 @@ } } }, + "DynamicZoneFileViewerComponent": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "__component": { + "type": "string", + "enum": [ + "dynamic-zone.file-viewer" + ] + }, + "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" + } + } + } + } + } + } + } + }, "DynamicZoneFileDownloadComponent": { "type": "object", "properties": { @@ -9550,9 +9693,6 @@ "dynamic-zone.file-download" ] }, - "enable_download": { - "type": "boolean" - }, "file": { "type": "object", "properties": { @@ -10240,6 +10380,9 @@ { "$ref": "#/components/schemas/DynamicZoneEmbeddingComponent" }, + { + "$ref": "#/components/schemas/DynamicZoneFileViewerComponent" + }, { "$ref": "#/components/schemas/DynamicZoneFileDownloadComponent" }, @@ -10272,6 +10415,7 @@ "dynamic-zone.spacer": "#/components/schemas/DynamicZoneSpacerComponent", "dynamic-zone.section": "#/components/schemas/DynamicZoneSectionComponent", "dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent", + "dynamic-zone.file-viewer": "#/components/schemas/DynamicZoneFileViewerComponent", "dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent", "dynamic-zone.gallery": "#/components/schemas/DynamicZoneGalleryComponent", "dynamic-zone.full-text": "#/components/schemas/DynamicZoneFullTextComponent", @@ -10959,6 +11103,9 @@ { "$ref": "#/components/schemas/DynamicZoneEmbeddingComponent" }, + { + "$ref": "#/components/schemas/DynamicZoneFileViewerComponent" + }, { "$ref": "#/components/schemas/DynamicZoneFileDownloadComponent" }, @@ -10991,6 +11138,7 @@ "dynamic-zone.spacer": "#/components/schemas/DynamicZoneSpacerComponent", "dynamic-zone.section": "#/components/schemas/DynamicZoneSectionComponent", "dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent", + "dynamic-zone.file-viewer": "#/components/schemas/DynamicZoneFileViewerComponent", "dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent", "dynamic-zone.gallery": "#/components/schemas/DynamicZoneGalleryComponent", "dynamic-zone.full-text": "#/components/schemas/DynamicZoneFullTextComponent", @@ -11192,6 +11340,9 @@ { "$ref": "#/components/schemas/DynamicZoneEmbeddingComponent" }, + { + "$ref": "#/components/schemas/DynamicZoneFileViewerComponent" + }, { "$ref": "#/components/schemas/DynamicZoneFileDownloadComponent" }, @@ -11224,6 +11375,7 @@ "dynamic-zone.spacer": "#/components/schemas/DynamicZoneSpacerComponent", "dynamic-zone.section": "#/components/schemas/DynamicZoneSectionComponent", "dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent", + "dynamic-zone.file-viewer": "#/components/schemas/DynamicZoneFileViewerComponent", "dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent", "dynamic-zone.gallery": "#/components/schemas/DynamicZoneGalleryComponent", "dynamic-zone.full-text": "#/components/schemas/DynamicZoneFullTextComponent", @@ -12597,6 +12749,9 @@ { "$ref": "#/components/schemas/DynamicZoneEmbeddingComponent" }, + { + "$ref": "#/components/schemas/DynamicZoneFileViewerComponent" + }, { "$ref": "#/components/schemas/DynamicZoneFileDownloadComponent" }, @@ -12629,6 +12784,7 @@ "dynamic-zone.spacer": "#/components/schemas/DynamicZoneSpacerComponent", "dynamic-zone.section": "#/components/schemas/DynamicZoneSectionComponent", "dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent", + "dynamic-zone.file-viewer": "#/components/schemas/DynamicZoneFileViewerComponent", "dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent", "dynamic-zone.gallery": "#/components/schemas/DynamicZoneGalleryComponent", "dynamic-zone.full-text": "#/components/schemas/DynamicZoneFullTextComponent", @@ -12732,6 +12888,9 @@ { "$ref": "#/components/schemas/DynamicZoneEmbeddingComponent" }, + { + "$ref": "#/components/schemas/DynamicZoneFileViewerComponent" + }, { "$ref": "#/components/schemas/DynamicZoneFileDownloadComponent" }, @@ -12764,6 +12923,7 @@ "dynamic-zone.spacer": "#/components/schemas/DynamicZoneSpacerComponent", "dynamic-zone.section": "#/components/schemas/DynamicZoneSectionComponent", "dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent", + "dynamic-zone.file-viewer": "#/components/schemas/DynamicZoneFileViewerComponent", "dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent", "dynamic-zone.gallery": "#/components/schemas/DynamicZoneGalleryComponent", "dynamic-zone.full-text": "#/components/schemas/DynamicZoneFullTextComponent", @@ -12845,6 +13005,9 @@ { "$ref": "#/components/schemas/DynamicZoneEmbeddingComponent" }, + { + "$ref": "#/components/schemas/DynamicZoneFileViewerComponent" + }, { "$ref": "#/components/schemas/DynamicZoneFileDownloadComponent" }, @@ -12877,6 +13040,7 @@ "dynamic-zone.spacer": "#/components/schemas/DynamicZoneSpacerComponent", "dynamic-zone.section": "#/components/schemas/DynamicZoneSectionComponent", "dynamic-zone.embedding": "#/components/schemas/DynamicZoneEmbeddingComponent", + "dynamic-zone.file-viewer": "#/components/schemas/DynamicZoneFileViewerComponent", "dynamic-zone.file-download": "#/components/schemas/DynamicZoneFileDownloadComponent", "dynamic-zone.gallery": "#/components/schemas/DynamicZoneGalleryComponent", "dynamic-zone.full-text": "#/components/schemas/DynamicZoneFullTextComponent", diff --git a/types/generated/components.d.ts b/types/generated/components.d.ts index 6173dd6..7854938 100644 --- a/types/generated/components.d.ts +++ b/types/generated/components.d.ts @@ -43,8 +43,18 @@ export interface DynamicZoneFileDownload extends Struct.ComponentSchema { displayName: "Datei-Download"; }; attributes: { - enable_download: Schema.Attribute.Boolean & Schema.Attribute.Required & Schema.Attribute.DefaultTo; - file: Schema.Attribute.Media<"files" | "images"> & Schema.Attribute.Required; + file: Schema.Attribute.Media<"images" | "videos" | "audios" | "files"> & Schema.Attribute.Required; + }; +} + +export interface DynamicZoneFileViewer extends Struct.ComponentSchema { + collectionName: "components_dynamic_zone_file_viewer"; + info: { + description: ""; + displayName: "Datei-Anzeige"; + }; + attributes: { + file: Schema.Attribute.Media<"images" | "videos" | "audios" | "files"> & Schema.Attribute.Required; }; } @@ -243,6 +253,7 @@ declare module "@strapi/strapi" { "dynamic-zone.dual-column-text": DynamicZoneDualColumnText; "dynamic-zone.embedding": DynamicZoneEmbedding; "dynamic-zone.file-download": DynamicZoneFileDownload; + "dynamic-zone.file-viewer": DynamicZoneFileViewer; "dynamic-zone.full-image": DynamicZoneFullImage; "dynamic-zone.full-text": DynamicZoneFullText; "dynamic-zone.gallery": DynamicZoneGallery; diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts index 8e554f6..f393bc1 100644 --- a/types/generated/contentTypes.d.ts +++ b/types/generated/contentTypes.d.ts @@ -465,6 +465,7 @@ export interface ApiHomepageHomepage extends Struct.SingleTypeSchema { "dynamic-zone.spacer", "dynamic-zone.section", "dynamic-zone.embedding", + "dynamic-zone.file-viewer", "dynamic-zone.file-download", "dynamic-zone.gallery", "dynamic-zone.full-text", @@ -531,6 +532,7 @@ export interface ApiPagePage extends Struct.CollectionTypeSchema { "dynamic-zone.spacer", "dynamic-zone.section", "dynamic-zone.embedding", + "dynamic-zone.file-viewer", "dynamic-zone.file-download", "dynamic-zone.gallery", "dynamic-zone.full-text", @@ -548,6 +550,7 @@ export interface ApiPagePage extends Struct.CollectionTypeSchema { locale: Schema.Attribute.String & Schema.Attribute.Private; localizations: Schema.Attribute.Relation<"oneToMany", "api::page.page"> & Schema.Attribute.Private; publishedAt: Schema.Attribute.DateTime; + ref_only_access: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; slug: Schema.Attribute.UID<"identifier"> & Schema.Attribute.Required; updatedAt: Schema.Attribute.DateTime; updatedBy: Schema.Attribute.Relation<"oneToOne", "admin::user"> & Schema.Attribute.Private;