@@ -147,7 +147,7 @@ public function isFinished(): bool
147
147
* @param array{
148
148
* taskUid?: int,
149
149
* uid?: int,
150
- * indexUid: non-empty-string,
150
+ * indexUid? : non-empty-string,
151
151
* status: non-empty-string,
152
152
* type: non-empty-string,
153
153
* enqueuedAt: non-empty-string,
@@ -165,7 +165,7 @@ public static function fromArray(array $data): Task
165
165
{
166
166
return new self (
167
167
$ data ['taskUid ' ] ?? $ data ['uid ' ],
168
- $ data ['indexUid ' ],
168
+ $ data ['indexUid ' ] ?? null ,
169
169
TaskStatus::from ($ data ['status ' ]),
170
170
$ type = TaskType::from ($ data ['type ' ]),
171
171
new \DateTimeImmutable ($ data ['enqueuedAt ' ]),
@@ -186,6 +186,8 @@ public static function fromArray(array $data): Task
186
186
TaskType::DumpCreation => null !== $ data ['details ' ] ? DumpCreationDetails::fromArray ($ data ['details ' ]) : null ,
187
187
TaskType::TaskCancelation => null !== $ data ['details ' ] ? TaskCancelationDetails::fromArray ($ data ['details ' ]) : null ,
188
188
TaskType::TaskDeletion => null !== $ data ['details ' ] ? TaskDeletionDetails::fromArray ($ data ['details ' ]) : null ,
189
+ // It’s intentional that SnapshotCreation tasks don’t have a details object
190
+ // (no SnapshotCreationDetails exists and tests don’t exercise any details)
189
191
TaskType::SnapshotCreation => null ,
190
192
},
191
193
null !== $ data ['error ' ] ? TaskError::fromArray ($ data ['error ' ]) : null ,
0 commit comments