count = count($this->rows); } public function closeCursor(): bool { // noop return true; } public function fetch(int $fetchMode = PDO::FETCH_ASSOC) { $row = array_shift($this->rows); if (!$row) { return false; } return match ($fetchMode) { PDO::FETCH_ASSOC => $row, PDO::FETCH_NUM => array_values($row), PDO::FETCH_COLUMN => current($row), default => throw new \InvalidArgumentException('Fetch mode not supported for array result'), }; } public function fetchAll(int $fetchMode = PDO::FETCH_ASSOC): array { return match ($fetchMode) { PDO::FETCH_ASSOC => $this->rows, PDO::FETCH_NUM => array_map(function ($row) { return array_values($row); }, $this->rows), PDO::FETCH_COLUMN => array_map(function ($row) { return current($row); }, $this->rows), default => throw new \InvalidArgumentException('Fetch mode not supported for array result'), }; } public function fetchColumn() { return $this->fetchOne(); } public function fetchOne() { $row = $this->fetch(); if ($row) { return current($row); } else { return false; } } public function rowCount(): int { return $this->count; } } 1'>Dennis1993-patch-1 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_versions/lib/Versions/IMetadataVersion.php
blob: bc4cd77138b49e409a6f396b7f81a869749e9fee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

declare(strict_types=1);

/**
 * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
namespace OCA\Files_Versions\Versions;

/**
 * This interface allows for just direct accessing of the metadata column JSON
 * @since 29.0.0
 */
interface IMetadataVersion {
	/**
	 * retrieves the all the metadata
	 *
	 * @return string[]
	 * @since 29.0.0
	 */
	public function getMetadata(): array;

	/**
	 * retrieves the metadata value from our $key param
	 *
	 * @param string $key the key for the json value of the metadata column
	 * @since 29.0.0
	 */
	public function getMetadataValue(string $key): ?string;
}