fix: expose lastUpdated in OCS API

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
pull/45094/head
Marcel Klehr 2 weeks ago
parent cac812dc58
commit 6c4992de54

@ -195,6 +195,7 @@ namespace OCA\Core;
*
* @psalm-type CoreTaskProcessingTask = array{
* id: int,
* lastUpdated: int,
* type: string,
* status: 'STATUS_CANCELLED'|'STATUS_FAILED'|'STATUS_SUCCESSFUL'|'STATUS_RUNNING'|'STATUS_SCHEDULED'|'STATUS_UNKNOWN',
* userId: ?string,

@ -532,6 +532,7 @@
"type": "object",
"required": [
"id",
"lastUpdated",
"type",
"status",
"userId",
@ -547,6 +548,10 @@
"type": "integer",
"format": "int64"
},
"lastUpdated": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "string"
},

@ -125,6 +125,7 @@ class Task extends Entity {
$task = new OCPTask($this->getType(), json_decode($this->getInput(), true, 512, JSON_THROW_ON_ERROR), $this->getAppId(), $this->getuserId(), $this->getCustomId());
$task->setId($this->getId());
$task->setStatus($this->getStatus());
$task->setLastUpdated($this->getLastUpdated());
$task->setOutput(json_decode($this->getOutput(), true, 512, JSON_THROW_ON_ERROR));
$task->setCompletionExpectedAt($this->getCompletionExpectedAt());
$task->setErrorMessage($this->getErrorMessage());

@ -44,6 +44,8 @@ final class Task implements \JsonSerializable {
protected ?float $progress = null;
protected int $lastUpdated;
/**
* @since 30.0.0
*/
@ -89,6 +91,7 @@ final class Task implements \JsonSerializable {
protected readonly ?string $userId,
protected readonly ?string $customId = '',
) {
$this->lastUpdated = time();
}
/**
@ -195,13 +198,30 @@ final class Task implements \JsonSerializable {
}
/**
* @psalm-return array{id: ?int, type: string, status: 'STATUS_CANCELLED'|'STATUS_FAILED'|'STATUS_SUCCESSFUL'|'STATUS_RUNNING'|'STATUS_SCHEDULED'|'STATUS_UNKNOWN', userId: ?string, appId: string, input: array<array-key, list<numeric|string>|numeric|string>, output: ?array<array-key, list<numeric|string>|numeric|string>, customId: ?string, completionExpectedAt: ?int, progress: ?float}
* @return int
* @since 30.0.0
*/
final public function getLastUpdated(): int {
return $this->lastUpdated;
}
/**
* @param int $lastUpdated
* @since 30.0.0
*/
final public function setLastUpdated(int $lastUpdated): void {
$this->lastUpdated = $lastUpdated;
}
/**
* @psalm-return array{id: ?int, lastUpdated: int, type: string, status: 'STATUS_CANCELLED'|'STATUS_FAILED'|'STATUS_SUCCESSFUL'|'STATUS_RUNNING'|'STATUS_SCHEDULED'|'STATUS_UNKNOWN', userId: ?string, appId: string, input: array<array-key, list<numeric|string>|numeric|string>, output: ?array<array-key, list<numeric|string>|numeric|string>, customId: ?string, completionExpectedAt: ?int, progress: ?float}
* @since 30.0.0
*/
final public function jsonSerialize(): array {
return [
'id' => $this->getId(),
'type' => $this->getTaskTypeId(),
'lastUpdated' => $this->getLastUpdated(),
'status' => self::statusToString($this->getStatus()),
'userId' => $this->getUserId(),
'appId' => $this->getAppId(),

Loading…
Cancel
Save