XAMPPRocky / octocrab

A modern, extensible GitHub API Client for Rust.
Other
1.02k stars 253 forks source link

Model bug in DiffEntry: Submodules have `"blob_url": null` and `"raw_url": null` #623

Closed flying-sheep closed 3 months ago

flying-sheep commented 3 months ago

https://github.com/XAMPPRocky/octocrab/blob/505befed0e40faa15321772009a814f6f510f614/src/models/repos.rs#L84-L85

doesn’t match:

image
2024-04-03T16:36:36.687559Z DEBUG request{method=POST uri=/ version=HTTP/1.1}:HTTP{http.method=GET http.url=https://api.github.com/repos/scverse/scanpy/commits/b1aeff3861e8cbc266189310cb177318c9e56e93 otel.name="HTTP" otel.kind="client"}: octocrab: requesting
2024-04-03T16:36:37.287844Z ERROR request{method=POST uri=/ version=HTTP/1.1}:handle_enqueue: benchmark::server::listener: Enqueue failed: failed to check if commit exists
Caused by:
    0: JSON Error in files[60].blob_url: invalid type: null, expected a string representing an URL at line 1 column 86953

You already fixed that discrepancy between GH docs and reality in models::commits::CommitFile:

https://github.com/XAMPPRocky/octocrab/blob/505befed0e40faa15321772009a814f6f510f614/src/models/commits.rs#L113 https://github.com/XAMPPRocky/octocrab/blob/505befed0e40faa15321772009a814f6f510f614/src/models/commits.rs#L121

but there are three instances of blob_url in the repo, the third being models::pulls::FileDiff:

https://github.com/XAMPPRocky/octocrab/blob/505befed0e40faa15321772009a814f6f510f614/src/models/pulls.rs#L395-L396

maybe FileDiff, CommitFile, and DiffEntry should be more deduplicated?