microsoftgraph / microsoftgraph/msgraph-sdk-php

Invalid horizontalSectionLayoutType enum value flexible

Offen
#1,697 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

needs investigation service bug
Vorherrschende Sprache
PHP
Sterne
669
Forks
150
Ø Merge
15 Std. 21 Min.
Gemergte PRs (30 T.)
3

Beschreibung

Describe the bug

When loading an expanded canvasLayout using the new flexible layout you get an Invalid enum value flexible exception.

The new flexible layout type is missing from Microsoft\Graph\Generated\Models\HorizontalSectionLayoutType

Expected behavior

Page content is loaded without error

How to reproduce
        $requestConfig = new GraphSitePageRequestBuilderGetRequestConfiguration();
        $requestConfig->queryParameters = GraphSitePageRequestBuilderGetRequestConfiguration::createQueryParameters();
        $requestConfig->queryParameters->select = ['ID', 'canvasLayout'];
        $requestConfig->queryParameters->expand = ['canvasLayout'];
        $graphServiceClient->sites()->bySiteId(...)->pages()->graphSitePage()->get($requestConfig)->wait()
SDK Version

No response

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output
Click to expand log

InvalidArgumentException {#3210 // app/Integrations/SharePointIntegration.php:653
#message: "Invalid enum value flexible"
#code: 0
#file: "
/var/www/html/vendor
/microsoft/kiota-abstractions/
src/Enum.php"
#line: 57
trace: {

/var/www/html/vendor
/microsoft/kiota-abstractions/
src/Enum.php:57 {

Microsoft\Kiota\Abstractions

Enum->__construct(string $value) …
› if (!self::has($component)) {
› throw new InvalidArgumentException("Invalid enum value $value");
› }
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:170 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->getEnumValue(string $targetEnum): Enum …
› }
› return new $targetEnum($this->jsonNode);
› }
}

/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/HorizontalSection.php:63 {

Microsoft\Graph\Generated\Models\HorizontalSection->Microsoft\Graph\Generated\Models

{closure} …
› 'emphasis' => fn(ParseNode $n) => $o->setEmphasis($n->getEnumValue(SectionEmphasisType::class)),
› 'layout' => fn(ParseNode $n) => $o->setLayout($n->getEnumValue(HorizontalSectionLayoutType::class)),
› ]);
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:95 {

Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json

{closure} …
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
› }, array_map(static function ($value) {
}

Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json

{closure}() {}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:94 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->getCollectionOfObjectValues(array $type): ?array …
› }
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
}

/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/CanvasLayout.php:35 {

Microsoft\Graph\Generated\Models\CanvasLayout->Microsoft\Graph\Generated\Models

{closure} …
› return array_merge(parent::getFieldDeserializers(), [
› 'horizontalSections' => fn(ParseNode $n) => $o->setHorizontalSections($n->getCollectionOfObjectValues([HorizontalSection::class, 'createFromDiscriminatorValue'])),
› 'verticalSection' => fn(ParseNode $n) => $o->setVerticalSection($n->getObjectValue([VerticalSection::class, 'createFromDiscriminatorValue'])),
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}

/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/SitePage.php:47 {

Microsoft\Graph\Generated\Models\SitePage->Microsoft\Graph\Generated\Models

{closure} …
› return array_merge(parent::getFieldDeserializers(), [
› 'canvasLayout' => fn(ParseNode $n) => $o->setCanvasLayout($n->getObjectValue([CanvasLayout::class, 'createFromDiscriminatorValue'])),
› 'promotionKind' => fn(ParseNode $n) => $o->setPromotionKind($n->getEnumValue(PagePromotionType::class)),
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:95 {

Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json

{closure} …
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
› }, array_map(static function ($value) {
}

Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json

{closure}() {}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:94 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->getCollectionOfObjectValues(array $type): ?array …
› }
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
}

/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/SitePageCollectionResponse.php:35 {

Microsoft\Graph\Generated\Models\SitePageCollectionResponse->Microsoft\Graph\Generated\Models

{closure} …
› return array_merge(parent::getFieldDeserializers(), [
› 'value' => fn(ParseNode $n) => $o->setValue($n->getCollectionOfObjectValues([SitePage::class, 'createFromDiscriminatorValue'])),
› ]);
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}

/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {

Microsoft\Kiota\Serialization\Json

JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}

/var/www/html/vendor
/microsoft/kiota-http-guzzle/
src/GuzzleRequestAdapter.php:170 {

Microsoft\Kiota\Http\GuzzleRequestAdapter->Microsoft\Kiota\Http

{closure} …
› $this->setResponseType($targetCallable[0], $span);
› return $rootNode->getObjectValue($targetCallable);
› }
}

/var/www/html/vendor
/php-http/promise/
src/FulfilledPromise.php:39 {

Http\Promise

FulfilledPromise->then(?callable $onFulfilled = null, ?callable $onRejected = null) …
› try {
› return new self($onFulfilled($this->result));
› } catch (\Exception $e) {
}

/var/www/html/vendor
/microsoft/kiota-http-guzzle/
src/GuzzleRequestAdapter.php:145 {

Microsoft\Kiota\Http

GuzzleRequestAdapter->sendAsync(RequestInformation $requestInfo, array $targetCallable, ?array $errorMappings = null): Promise …
› $responseMessage = $this->getHttpResponseMessage($requestInfo, '', $span);
› $finalResponse = $responseMessage->then(
› function (ResponseInterface $result) use ($targetCallable, $requestInfo, $errorMappings, &$span) {
}

/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Sites/Item/Pages/GraphSitePage/GraphSitePageRequestBuilder.php:53 {

Microsoft\Graph\Generated\Sites\Item\Pages\GraphSitePage

GraphSitePageRequestBuilder->get(?GraphSitePageRequestBuilderGetRequestConfiguration $requestConfiguration = null): Promise …
› ];
› return $this->requestAdapter->sendAsync($requestInfo, [SitePageCollectionResponse::class, 'createFromDiscriminatorValue'], $errorMappings);
› }
}
}
}

Configuration

No response

Other information

No response

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit Microsoft\Graph\Generated\Models\HorizontalSectionLayoutType und dem Deserialisierungspfad in src/Generated/Models/HorizontalSection.php. Reproduziere die im Issue beschriebene erweiterte canvasLayout-Anfrage und überprüfe anschließend, dass das Laden einer Seite mit dem flexiblen Layout nicht mehr Invalid enum value flexible auslöst.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
api
Issue-Typ
Bug
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.