GAR integration: services layer
🔥 Problem
The client class should not be exposed directly but accessed by services.
🚒 Solution
Implement or evolve the following services:
- get details of a single repository.
- get list of docker images.
- Additional validations
- The
page_size
parameter should be a number. - The
order_by
parameter has a finite set of possible values.
- The
- Additional validations
- get details of a single docker image.
- Additional validation: the
name
parameter is mandatory.
- Additional validation: the
Those services should have a common validations:
- check for the GAR feature flag.
- check for the google cloud support saas only feature.
- user permissions should be checked.
- client class errors should be properly handled (with a
ServiceResponse.error
).