This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/endpoints/api
Joseph Schorr b5bb76cdea Optimize repository search by changing our lookup strategy
Previous to this change, repositories were looked up unfiltered in six different queries, and then filtered using the permissions model, which issued a query per repository found, making search incredibly slow. Instead, we now lookup a chunk of repositories unfiltered and then filter them via a single query to the database. By layering the filtering on top of the lookup, each as queries, we can minimize the number of queries necessary, without (at the same time) using a super expensive join.

Other changes:
- Remove the 5 page pre-lookup on V1 search and simply return that there is one more page available, until there isn't. While technically not correct, it is much more efficient, and no one should be using pagination with V1 search anyway.
- Remove the lookup for repos without entries in the RAC table. Instead, we now add a new RAC entry when the repository is created for *the day before*, with count 0, so that it is immediately searchable
- Remove lookup of results with a matching namespace; these aren't very relevant anyway, and it overly complicates sorting
2017-03-09 19:47:55 -05:00
..
test Style fixes 2017-02-16 16:27:54 -05:00
__init__.py Have Quay always use an OAuth-specific CSRF token 2016-12-08 16:11:57 -05:00
billing.py Use new error format for auth errors (factor exceptions into module) 2016-04-11 16:22:26 -04:00
build.py Catch IOErrors when starting builds 2017-02-22 13:20:04 -05:00
discovery.py Add a test for operation name collisions and fix the one additional collision found 2016-11-10 15:38:27 -05:00
error.py Fix formatting in endpoints/api/error.py 2016-04-12 16:53:50 -04:00
globalmessages.py Severity and Markdown support in MOTD 2017-01-18 16:55:32 -05:00
image.py Add a helper method to Image to parse ancestor string. 2016-09-07 10:48:58 -04:00
logs.py Log more information to the action logs and display the namespaces for superusers 2017-02-14 14:55:24 -05:00
manifest.py Log more information to the action logs and display the namespaces for superusers 2017-02-14 14:55:24 -05:00
organization.py fix(endpoints/api): return empty 204 resp 2016-12-14 16:22:39 -05:00
permission.py Log more information to the action logs and display the namespaces for superusers 2017-02-14 14:55:24 -05:00
prototype.py fix(endpoints/api): return empty 204 resp 2016-12-14 16:22:39 -05:00
repoemail.py Use new error format for auth errors (factor exceptions into module) 2016-04-11 16:22:26 -04:00
repository.py Log more information to the action logs and display the namespaces for superusers 2017-02-14 14:55:24 -05:00
repositorynotification.py Log more information to the action logs and display the namespaces for superusers 2017-02-14 14:55:24 -05:00
repotoken.py fix(endpoints/api): return empty 204 resp 2016-12-14 16:22:39 -05:00
robot.py fix(endpoints/api): return empty 204 resp 2016-12-14 16:22:39 -05:00
search.py Optimize repository search by changing our lookup strategy 2017-03-09 19:47:55 -05:00
secscan.py Add API endpoint for retrieving security status by *manifest*, rather than Docker V1 image ID 2017-02-02 17:51:18 -05:00
subscribe.py Use new error format for auth errors (factor exceptions into module) 2016-04-11 16:22:26 -04:00
suconfig.py Superuser config tool warnings 2017-01-13 15:50:50 -05:00
superuser.py feature(superuser panel): ability to view logs 2017-01-26 13:54:03 -05:00
tag.py Log more information to the action logs and display the namespaces for superusers 2017-02-14 14:55:24 -05:00
team.py Catch team member invite missing exception 2017-02-22 13:18:22 -05:00
trigger.py Implement new create and manager trigger UI 2017-02-28 16:51:42 -05:00
user.py Have external login always make an API request to get the authorization URL 2017-01-23 19:06:19 -05:00