The immediate use case is to support the convenience function for submitting to an evaluation from a programmatic client:
Without this feature the client has to know the entity ID of the repo to submit. The ideal convenience function would look like:
where dockerNameWithCommit would look like
for a Synapse repo or
for a DockerHub repo.
For this to work the client needs to get the Synapse entity ID for the repo name, "syn12345678/my-repo" or "uname/my-repo". In the case of a managed repo we know the project the entity is in (syn12345678) and we know there can be at most one result. In the case of an unmanaged repo we don't know the project and there could be multiple results.
One possible approach is to support querying for entities by repo name. This could be used by the client in the 'submit' convenience function. If there is a unique query result then it is used, otherwise an error is raised. If there are multiple results then the user could specify a specific entity to disambiguate.
The entity query service now does this, as shown in this example using the R client:
No longer needed.