From c1834bcc0d9bbac842f310f969d757b88e46b6a4 Mon Sep 17 00:00:00 2001 From: dcb6 Date: Wed, 2 Oct 2024 11:53:56 -0400 Subject: [PATCH] seed --- seed/php-model/alias-extends/src/Child.php | 5 + .../alias-extends/src/Traits/AliasType.php | 14 ++ .../alias-extends/src/Traits/Parent_.php | 14 ++ .../circular-references-advanced/src/A/A.php | 14 ++ .../src/Traits/RootType.php | 14 ++ .../php-model/circular-references/src/A/A.php | 14 ++ .../src/Traits/RootType.php | 14 ++ .../examples/src/Types/ExtendedMovie.php | 23 ++++ .../examples/src/Types/Traits/Movie.php | 69 ++++++++++ seed/php-model/extends/src/ExampleType.php | 5 + seed/php-model/extends/src/Json.php | 5 + seed/php-model/extends/src/NestedType.php | 7 + seed/php-model/extends/src/Traits/Docs.php | 14 ++ .../extends/src/Traits/ExampleType.php | 16 +++ seed/php-model/extends/src/Traits/Json.php | 16 +++ .../ListUsersExtendedOptionalListResponse.php | 7 + .../src/Users/ListUsersExtendedResponse.php | 7 + .../src/Users/Traits/UserOptionalListPage.php | 21 +++ .../pagination/src/Users/Traits/UserPage.php | 21 +++ .../src/Service/Response.php | 9 ++ .../src/Service/Traits/WithDocs.php | 14 ++ .../src/Traits/WithMetadata.php | 15 +++ seed/php-model/simple-fhir/src/Account.php | 9 ++ seed/php-model/simple-fhir/src/Patient.php | 9 ++ .../simple-fhir/src/Practitioner.php | 9 ++ seed/php-model/simple-fhir/src/Script.php | 9 ++ .../simple-fhir/src/Traits/BaseResource.php | 33 +++++ .../php-model/trace/src/Playlist/Playlist.php | 7 + .../Playlist/Traits/PlaylistCreateRequest.php | 21 +++ .../src/Requests/InlinedChildRequest.php | 5 + .../alias-extends/src/Traits/AliasType.php | 14 ++ .../alias-extends/src/Traits/Parent_.php | 14 ++ .../php-sdk/alias-extends/src/Types/Child.php | 5 + .../src/A/Types/A.php | 14 ++ .../src/Traits/RootType.php | 14 ++ .../circular-references/src/A/Types/A.php | 14 ++ .../src/Traits/RootType.php | 14 ++ .../examples/src/Types/Traits/Movie.php | 69 ++++++++++ .../src/Types/Types/ExtendedMovie.php | 23 ++++ .../src/Users/Traits/UserOptionalListPage.php | 21 +++ .../pagination/src/Users/Traits/UserPage.php | 21 +++ .../ListUsersExtendedOptionalListResponse.php | 7 + .../Users/Types/ListUsersExtendedResponse.php | 7 + .../src/Service/Traits/WithDocs.php | 14 ++ .../src/Service/Types/Response.php | 9 ++ .../src/Traits/WithMetadata.php | 15 +++ .../simple-fhir/src/Traits/BaseResource.php | 33 +++++ .../php-sdk/simple-fhir/src/Types/Account.php | 9 ++ .../php-sdk/simple-fhir/src/Types/Patient.php | 9 ++ .../simple-fhir/src/Types/Practitioner.php | 9 ++ seed/php-sdk/simple-fhir/src/Types/Script.php | 9 ++ .../Playlist/Traits/PlaylistCreateRequest.php | 21 +++ .../trace/src/Playlist/Types/Playlist.php | 7 + .../Seed/Core/ScalarTypesTestWithTrait.php | 126 ------------------ 54 files changed, 812 insertions(+), 126 deletions(-) create mode 100644 seed/php-model/alias-extends/src/Traits/AliasType.php create mode 100644 seed/php-model/alias-extends/src/Traits/Parent_.php create mode 100644 seed/php-model/circular-references-advanced/src/Traits/RootType.php create mode 100644 seed/php-model/circular-references/src/Traits/RootType.php create mode 100644 seed/php-model/examples/src/Types/Traits/Movie.php create mode 100644 seed/php-model/extends/src/Traits/Docs.php create mode 100644 seed/php-model/extends/src/Traits/ExampleType.php create mode 100644 seed/php-model/extends/src/Traits/Json.php create mode 100644 seed/php-model/pagination/src/Users/Traits/UserOptionalListPage.php create mode 100644 seed/php-model/pagination/src/Users/Traits/UserPage.php create mode 100644 seed/php-model/response-property/src/Service/Traits/WithDocs.php create mode 100644 seed/php-model/response-property/src/Traits/WithMetadata.php create mode 100644 seed/php-model/simple-fhir/src/Traits/BaseResource.php create mode 100644 seed/php-model/trace/src/Playlist/Traits/PlaylistCreateRequest.php create mode 100644 seed/php-sdk/alias-extends/src/Traits/AliasType.php create mode 100644 seed/php-sdk/alias-extends/src/Traits/Parent_.php create mode 100644 seed/php-sdk/circular-references-advanced/src/Traits/RootType.php create mode 100644 seed/php-sdk/circular-references/src/Traits/RootType.php create mode 100644 seed/php-sdk/examples/src/Types/Traits/Movie.php create mode 100644 seed/php-sdk/pagination/src/Users/Traits/UserOptionalListPage.php create mode 100644 seed/php-sdk/pagination/src/Users/Traits/UserPage.php create mode 100644 seed/php-sdk/response-property/src/Service/Traits/WithDocs.php create mode 100644 seed/php-sdk/response-property/src/Traits/WithMetadata.php create mode 100644 seed/php-sdk/simple-fhir/src/Traits/BaseResource.php create mode 100644 seed/php-sdk/trace/src/Playlist/Traits/PlaylistCreateRequest.php delete mode 100644 seed/php-sdk/undiscriminated-unions/tests/Seed/Core/ScalarTypesTestWithTrait.php diff --git a/seed/php-model/alias-extends/src/Child.php b/seed/php-model/alias-extends/src/Child.php index b8c31ff899..7bee8fcda6 100644 --- a/seed/php-model/alias-extends/src/Child.php +++ b/seed/php-model/alias-extends/src/Child.php @@ -3,10 +3,13 @@ namespace Seed; use Seed\Core\Json\SerializableType; +use Seed\Traits\Parent_; use Seed\Core\Json\JsonProperty; class Child extends SerializableType { + use Parent_; + /** * @var string $child */ @@ -16,11 +19,13 @@ class Child extends SerializableType /** * @param array{ * child: string, + * parent: string, * } $values */ public function __construct( array $values, ) { $this->child = $values['child']; + $this->parent = $values['parent']; } } diff --git a/seed/php-model/alias-extends/src/Traits/AliasType.php b/seed/php-model/alias-extends/src/Traits/AliasType.php new file mode 100644 index 0000000000..6ec816f3e3 --- /dev/null +++ b/seed/php-model/alias-extends/src/Traits/AliasType.php @@ -0,0 +1,14 @@ +s = $values['s']; + } } diff --git a/seed/php-model/circular-references-advanced/src/Traits/RootType.php b/seed/php-model/circular-references-advanced/src/Traits/RootType.php new file mode 100644 index 0000000000..44f28a0911 --- /dev/null +++ b/seed/php-model/circular-references-advanced/src/Traits/RootType.php @@ -0,0 +1,14 @@ +s = $values['s']; + } } diff --git a/seed/php-model/circular-references/src/Traits/RootType.php b/seed/php-model/circular-references/src/Traits/RootType.php new file mode 100644 index 0000000000..44f28a0911 --- /dev/null +++ b/seed/php-model/circular-references/src/Traits/RootType.php @@ -0,0 +1,14 @@ + $cast */ @@ -17,11 +20,31 @@ class ExtendedMovie extends SerializableType /** * @param array{ * cast: array, + * id: string, + * prequel?: ?string, + * title: string, + * from: string, + * rating: float, + * type: string, + * tag: string, + * book?: ?string, + * metadata: array, + * revenue: int, * } $values */ public function __construct( array $values, ) { $this->cast = $values['cast']; + $this->id = $values['id']; + $this->prequel = $values['prequel'] ?? null; + $this->title = $values['title']; + $this->from = $values['from']; + $this->rating = $values['rating']; + $this->type = $values['type']; + $this->tag = $values['tag']; + $this->book = $values['book'] ?? null; + $this->metadata = $values['metadata']; + $this->revenue = $values['revenue']; } } diff --git a/seed/php-model/examples/src/Types/Traits/Movie.php b/seed/php-model/examples/src/Types/Traits/Movie.php new file mode 100644 index 0000000000..2f40680e30 --- /dev/null +++ b/seed/php-model/examples/src/Types/Traits/Movie.php @@ -0,0 +1,69 @@ + $metadata + */ + #[JsonProperty('metadata'), ArrayType(['string' => 'mixed'])] + public array $metadata; + + /** + * @var int $revenue + */ + #[JsonProperty('revenue')] + public int $revenue; +} diff --git a/seed/php-model/extends/src/ExampleType.php b/seed/php-model/extends/src/ExampleType.php index 7bc916aea7..f1d3ea4de7 100644 --- a/seed/php-model/extends/src/ExampleType.php +++ b/seed/php-model/extends/src/ExampleType.php @@ -3,10 +3,13 @@ namespace Seed; use Seed\Core\Json\SerializableType; +use Seed\Traits\Docs; use Seed\Core\Json\JsonProperty; class ExampleType extends SerializableType { + use Docs; + /** * @var string $name */ @@ -16,11 +19,13 @@ class ExampleType extends SerializableType /** * @param array{ * name: string, + * docs: string, * } $values */ public function __construct( array $values, ) { $this->name = $values['name']; + $this->docs = $values['docs']; } } diff --git a/seed/php-model/extends/src/Json.php b/seed/php-model/extends/src/Json.php index 9bc11b9c49..c62a6c629f 100644 --- a/seed/php-model/extends/src/Json.php +++ b/seed/php-model/extends/src/Json.php @@ -3,10 +3,13 @@ namespace Seed; use Seed\Core\Json\SerializableType; +use Seed\Traits\Docs; use Seed\Core\Json\JsonProperty; class Json extends SerializableType { + use Docs; + /** * @var string $raw */ @@ -16,11 +19,13 @@ class Json extends SerializableType /** * @param array{ * raw: string, + * docs: string, * } $values */ public function __construct( array $values, ) { $this->raw = $values['raw']; + $this->docs = $values['docs']; } } diff --git a/seed/php-model/extends/src/NestedType.php b/seed/php-model/extends/src/NestedType.php index 2955b61bdc..74cecd3ca2 100644 --- a/seed/php-model/extends/src/NestedType.php +++ b/seed/php-model/extends/src/NestedType.php @@ -3,10 +3,13 @@ namespace Seed; use Seed\Core\Json\SerializableType; +use Seed\Traits\Json; use Seed\Core\Json\JsonProperty; class NestedType extends SerializableType { + use Json; + /** * @var string $name */ @@ -16,11 +19,15 @@ class NestedType extends SerializableType /** * @param array{ * name: string, + * raw: string, + * docs: string, * } $values */ public function __construct( array $values, ) { $this->name = $values['name']; + $this->raw = $values['raw']; + $this->docs = $values['docs']; } } diff --git a/seed/php-model/extends/src/Traits/Docs.php b/seed/php-model/extends/src/Traits/Docs.php new file mode 100644 index 0000000000..17eaf8aa4f --- /dev/null +++ b/seed/php-model/extends/src/Traits/Docs.php @@ -0,0 +1,14 @@ +totalCount = $values['totalCount']; + $this->data = $values['data']; + $this->next = $values['next'] ?? null; } } diff --git a/seed/php-model/pagination/src/Users/ListUsersExtendedResponse.php b/seed/php-model/pagination/src/Users/ListUsersExtendedResponse.php index dc600ccd16..93df8c38ec 100644 --- a/seed/php-model/pagination/src/Users/ListUsersExtendedResponse.php +++ b/seed/php-model/pagination/src/Users/ListUsersExtendedResponse.php @@ -3,10 +3,13 @@ namespace Seed\Users; use Seed\Core\Json\SerializableType; +use Seed\Users\Traits\UserPage; use Seed\Core\Json\JsonProperty; class ListUsersExtendedResponse extends SerializableType { + use UserPage; + /** * @var int $totalCount The totall number of /users */ @@ -16,11 +19,15 @@ class ListUsersExtendedResponse extends SerializableType /** * @param array{ * totalCount: int, + * data: UserListContainer, + * next?: ?string, * } $values */ public function __construct( array $values, ) { $this->totalCount = $values['totalCount']; + $this->data = $values['data']; + $this->next = $values['next'] ?? null; } } diff --git a/seed/php-model/pagination/src/Users/Traits/UserOptionalListPage.php b/seed/php-model/pagination/src/Users/Traits/UserOptionalListPage.php new file mode 100644 index 0000000000..3056830dc1 --- /dev/null +++ b/seed/php-model/pagination/src/Users/Traits/UserOptionalListPage.php @@ -0,0 +1,21 @@ +, + * docs: string, * } $values */ public function __construct( array $values, ) { $this->data = $values['data']; + $this->metadata = $values['metadata']; + $this->docs = $values['docs']; } } diff --git a/seed/php-model/response-property/src/Service/Traits/WithDocs.php b/seed/php-model/response-property/src/Service/Traits/WithDocs.php new file mode 100644 index 0000000000..429bb4dd85 --- /dev/null +++ b/seed/php-model/response-property/src/Service/Traits/WithDocs.php @@ -0,0 +1,14 @@ + $metadata + */ + #[JsonProperty('metadata'), ArrayType(['string' => 'string'])] + public array $metadata; +} diff --git a/seed/php-model/simple-fhir/src/Account.php b/seed/php-model/simple-fhir/src/Account.php index d845b0822f..422d2ee66b 100644 --- a/seed/php-model/simple-fhir/src/Account.php +++ b/seed/php-model/simple-fhir/src/Account.php @@ -3,10 +3,13 @@ namespace Seed; use Seed\Core\Json\SerializableType; +use Seed\Traits\BaseResource; use Seed\Core\Json\JsonProperty; class Account extends SerializableType { + use BaseResource; + /** * @var string $resourceType */ @@ -37,6 +40,9 @@ class Account extends SerializableType * name: string, * patient?: ?Patient, * practitioner?: ?Practitioner, + * id: string, + * relatedResources: array, + * memo: Memo, * } $values */ public function __construct( @@ -46,5 +52,8 @@ public function __construct( $this->name = $values['name']; $this->patient = $values['patient'] ?? null; $this->practitioner = $values['practitioner'] ?? null; + $this->id = $values['id']; + $this->relatedResources = $values['relatedResources']; + $this->memo = $values['memo']; } } diff --git a/seed/php-model/simple-fhir/src/Patient.php b/seed/php-model/simple-fhir/src/Patient.php index 277551e550..bb245c25d6 100644 --- a/seed/php-model/simple-fhir/src/Patient.php +++ b/seed/php-model/simple-fhir/src/Patient.php @@ -3,11 +3,14 @@ namespace Seed; use Seed\Core\Json\SerializableType; +use Seed\Traits\BaseResource; use Seed\Core\Json\JsonProperty; use Seed\Core\Types\ArrayType; class Patient extends SerializableType { + use BaseResource; + /** * @var string $resourceType */ @@ -31,6 +34,9 @@ class Patient extends SerializableType * resourceType: string, * name: string, * scripts: array