aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/Files
diff options
context:
space:
mode:
authorprovokateurin <kate@provokateurin.de>2024-09-24 15:53:13 +0200
committerprovokateurin <kate@provokateurin.de>2024-11-05 09:58:11 +0100
commit77114fb3277742fc69ddcf2432311ecb263af97e (patch)
tree0f360660038c65acc5f9cd014f183e45b0c5355b /lib/public/Files
parent1140e41db2ef6241f806eb605df48642a2a32c62 (diff)
downloadnextcloud-server-fix/openapi/array-syntax.tar.gz
nextcloud-server-fix/openapi/array-syntax.zip
fix(OpenAPI): Adjust array syntax to avoid ambiguitiesfix/openapi/array-syntax
Signed-off-by: provokateurin <kate@provokateurin.de>
Diffstat (limited to 'lib/public/Files')
-rw-r--r--lib/public/Files/Template/Field.php9
-rw-r--r--lib/public/Files/Template/Fields/CheckBoxField.php9
-rw-r--r--lib/public/Files/Template/Fields/RichTextField.php9
-rw-r--r--lib/public/Files/Template/ITemplateManager.php2
-rw-r--r--lib/public/Files/Template/Template.php28
-rw-r--r--lib/public/Files/Template/TemplateFileCreator.php4
6 files changed, 56 insertions, 5 deletions
diff --git a/lib/public/Files/Template/Field.php b/lib/public/Files/Template/Field.php
index ec195ca3504..e047e83a29e 100644
--- a/lib/public/Files/Template/Field.php
+++ b/lib/public/Files/Template/Field.php
@@ -32,6 +32,15 @@ abstract class Field implements \JsonSerializable {
abstract public function setValue(mixed $value): void;
/**
+ * @return array{
+ * index: string,
+ * type: string,
+ * alias: ?string,
+ * tag: ?string,
+ * id: ?int,
+ * content?: string,
+ * checked?: bool,
+ * }
* @since 30.0.0
*/
public function jsonSerialize(): array {
diff --git a/lib/public/Files/Template/Fields/CheckBoxField.php b/lib/public/Files/Template/Fields/CheckBoxField.php
index 48ccb04336a..6fab3ce66a6 100644
--- a/lib/public/Files/Template/Fields/CheckBoxField.php
+++ b/lib/public/Files/Template/Fields/CheckBoxField.php
@@ -37,6 +37,15 @@ class CheckBoxField extends Field {
}
/**
+ * @return array{
+ * index: string,
+ * type: string,
+ * alias: ?string,
+ * tag: ?string,
+ * id: ?int,
+ * content?: string,
+ * checked?: bool,
+ * }
* @since 30.0.0
*/
public function jsonSerialize(): array {
diff --git a/lib/public/Files/Template/Fields/RichTextField.php b/lib/public/Files/Template/Fields/RichTextField.php
index 14539bc9dbd..93ead68747c 100644
--- a/lib/public/Files/Template/Fields/RichTextField.php
+++ b/lib/public/Files/Template/Fields/RichTextField.php
@@ -37,6 +37,15 @@ class RichTextField extends Field {
}
/**
+ * @return array{
+ * index: string,
+ * type: string,
+ * alias: ?string,
+ * tag: ?string,
+ * id: ?int,
+ * content?: string,
+ * checked?: bool,
+ * }
* @since 30.0.0
*/
public function jsonSerialize(): array {
diff --git a/lib/public/Files/Template/ITemplateManager.php b/lib/public/Files/Template/ITemplateManager.php
index 94e0db935e7..9a81aa51ceb 100644
--- a/lib/public/Files/Template/ITemplateManager.php
+++ b/lib/public/Files/Template/ITemplateManager.php
@@ -33,7 +33,7 @@ interface ITemplateManager {
/**
* Get a list of available file creators and their offered templates
*
- * @return array
+ * @return list<array{app: string, label: string, extension: string, iconClass: ?string, iconSvgInline: ?string, mimetypes: list<string>, ratio: ?float, actionLabel: string, templates: list<Template>}>
* @since 21.0.0
*/
public function listTemplates(): array;
diff --git a/lib/public/Files/Template/Template.php b/lib/public/Files/Template/Template.php
index 634935d212e..7f01c2afa48 100644
--- a/lib/public/Files/Template/Template.php
+++ b/lib/public/Files/Template/Template.php
@@ -24,7 +24,7 @@ final class Template implements \JsonSerializable {
private $hasPreview = false;
/** @var string|null */
private $previewUrl = null;
- /** @var array */
+ /** @var list<Field> */
private $fields = [];
/**
@@ -51,6 +51,7 @@ final class Template implements \JsonSerializable {
}
/**
+ * @param list<Field> $fields
* @since 30.0.0
*/
public function setFields(array $fields): void {
@@ -58,6 +59,29 @@ final class Template implements \JsonSerializable {
}
/**
+ * @return array{
+ * templateType: string,
+ * templateId: string,
+ * basename: string,
+ * etag: string,
+ * fileid: int,
+ * filename: string,
+ * lastmod: int,
+ * mime: string,
+ * size: int|float,
+ * type: string,
+ * hasPreview: bool,
+ * previewUrl: ?string,
+ * fields: list<array{
+ * index: string,
+ * type: string,
+ * alias: ?string,
+ * tag: ?string,
+ * id: ?int,
+ * content?: string,
+ * checked?: bool,
+ * }>,
+ * }
* @since 21.0.0
*/
public function jsonSerialize(): array {
@@ -74,7 +98,7 @@ final class Template implements \JsonSerializable {
'type' => $this->file->getType(),
'hasPreview' => $this->hasPreview,
'previewUrl' => $this->previewUrl,
- 'fields' => $this->fields
+ 'fields' => array_map(static fn (Field $field) => $field->jsonSerialize(), $this->fields),
];
}
}
diff --git a/lib/public/Files/Template/TemplateFileCreator.php b/lib/public/Files/Template/TemplateFileCreator.php
index 9a4bd2fae43..809bd3d0bc2 100644
--- a/lib/public/Files/Template/TemplateFileCreator.php
+++ b/lib/public/Files/Template/TemplateFileCreator.php
@@ -13,7 +13,7 @@ namespace OCP\Files\Template;
*/
final class TemplateFileCreator implements \JsonSerializable {
protected $appId;
- /** @var string[] $mimetypes */
+ /** @var list<string> $mimetypes */
protected $mimetypes = [];
protected $actionName;
protected $fileExtension;
@@ -121,7 +121,7 @@ final class TemplateFileCreator implements \JsonSerializable {
/**
* @since 21.0.0
- * @return array{app: string, label: string, extension: string, iconClass: ?string, iconSvgInline: ?string, mimetypes: string[], ratio: ?float, actionLabel: string}
+ * @return array{app: string, label: string, extension: string, iconClass: ?string, iconSvgInline: ?string, mimetypes: list<string>, ratio: ?float, actionLabel: string}
*/
public function jsonSerialize(): array {
return [