Using `ownerAffiliations` instead of `affiliations` seems more semantically correct to list all repos belonging to a user or an organization, but the latter thas an added benefit that it also works around a problem when the API would return an error if the user happens to belong to an organization that has IP allow list enabled.
From our GraphQL docs:
> `affiliations`: Array of viewer's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the current viewer owns.
>
> `ownerAffiliations`: Array of owner's affiliation options for repositories returned from the connection. For example, OWNER will include only repositories that the organization or user being viewed owns.
Dynamically construct the GraphQL query by using the `viewer` connection
if the owner isn't set and the `repositoryOwner(login:"...")` connection
if the owner was set.