Viewing file: CreateResponse.php (2.17 KB) -rw-rw-r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
declare(strict_types=1);
namespace OpenAI\Responses\Files;
use OpenAI\Contracts\Response; use OpenAI\Responses\Concerns\ArrayAccessible;
/** * @implements Response<array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}> */ final class CreateResponse implements Response { /** * @use ArrayAccessible<array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null}> */ use ArrayAccessible;
/** * @param array<array-key, mixed>|null $statusDetails */ private function __construct( public readonly string $id, public readonly string $object, public readonly int $bytes, public readonly int $createdAt, public readonly string $filename, public readonly string $purpose, public readonly string $status, public readonly array|string|null $statusDetails, ) { }
/** * Acts as static factory, and returns a new Response instance. * * @param array{id: string, object: string, created_at: int, bytes: int, filename: string, purpose: string, status: string, status_details: array<array-key, mixed>|string|null} $attributes */ public static function from(array $attributes): self { return new self( $attributes['id'], $attributes['object'], $attributes['bytes'], $attributes['created_at'], $attributes['filename'], $attributes['purpose'], $attributes['status'], $attributes['status_details'], ); }
/** * {@inheritDoc} */ public function toArray(): array { return [ 'id' => $this->id, 'object' => $this->object, 'bytes' => $this->bytes, 'created_at' => $this->createdAt, 'filename' => $this->filename, 'purpose' => $this->purpose, 'status' => $this->status, 'status_details' => $this->statusDetails, ]; } }
|