Skip to content

Conversation

@olafura
Copy link

@olafura olafura commented Feb 6, 2024

When setting the root we don't seem to be setting it to the writer so when we call get_serialized_content we don't get anything.

Also the ms graph api doesn't like empty values so I clean them up before returning.

Copy link
Member

@baywet baywet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the contribution.
Can you also add an entry to the changelog and bump the patch version please?
(see review in abstractions)

baywet
baywet previously approved these changes Feb 6, 2024
Copy link
Member

@baywet baywet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the changes!

@baywet
Copy link
Member

baywet commented Feb 6, 2024

@olafura the unit tests seem to be failing with this change, can you look into it please?
Also don't forget to sign the CLA (see the bot comment)

@olafura olafura force-pushed the olafura/fix-serializer-writer branch from e98d645 to aa69aa1 Compare February 6, 2024 19:39
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 6, 2024

Quality Gate Passed Quality Gate passed

The SonarCloud Quality Gate passed, but some issues were introduced.

1 New issue
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@olafura
Copy link
Author

olafura commented Feb 6, 2024

@microsoft-github-policy-service agree

end
end

def write_object_value(key, value)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, I don't think we can accept this pull request as is.
This change effectively modifies the interface (updated needed in abstractions and other implementations) and would require changes in the generator.
The main problem with that approach is that it diverges from other languages

Can you create an issue where you provide more context about what you are doing and what's not working?
(snippet code for the request, stack trace if any, sent and received payload, etc...)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is here and can also be addressed there if more appropriate:
https://github.com/microsoft/kiota-abstractions-ruby/blob/main/lib/microsoft_kiota_abstractions/request_information.rb#L99-L101

Since with both objects and arrays we don't modify the writer only return a temp version. We don't actually set anything there.

I was going by the assumption that if you pass nil as the first param you want to add the value to the root. If that is the wrong assumption the I can move my PR to kiota-abstractions-ruby

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the assumption is correct.
I think the issue is that having any of the "write" methods returning a new writer. This was a temporary workaround done by the intern years ago so his demo could work at the time, but it diverges from the other language implementations and this is what we should look to correct here.

@github-actions
Copy link
Contributor

This pull request has conflicting changes, the author must resolve the conflicts before this pull request can be merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants