Skip to content
Snippets Groups Projects
Commit 11797df1 authored by Josh Frye's avatar Josh Frye
Browse files

Change 'public' flag to more robust 'visibility' query.

parent 6951396d
No related branches found
No related tags found
No related merge requests found
Please view this file on the master branch, on stable branches it's out of date.
 
v 8.5.0 (unreleased)
- Add "public" flag to GET /projects api endpoint
- Add "visibility" flag to GET /projects api endpoint
 
v 8.4.0 (unreleased)
- Ensure Gravatar host looks like an actual host
Loading
Loading
Loading
Loading
@@ -272,6 +272,10 @@ class Project < ActiveRecord::Base
query: "%#{query.try(:downcase)}%")
end
 
def search_by_visibility(level)
where(visibility_level: visibility_levels[level.capitalize])
end
def search_by_title(query)
where('projects.archived = ?', false).where('LOWER(projects.name) LIKE :query', query: "%#{query.downcase}%")
end
Loading
Loading
Loading
Loading
@@ -33,7 +33,7 @@ GET /groups/:id/projects
Parameters:
- `archived` (optional) - if passed, limit by archived status
- `public` (optional) - if passed, limit by public visibility
- `visibility` (optional) - if passed, limit by visibility `public`, `internal`, `private`
- `order_by` (optional) - Return requests ordered by `id`, `name`, `path`, `created_at`, `updated_at` or `last_activity_at` fields. Default is `created_at`
- `sort` (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc`
- `search` (optional) - Return list of authorized projects according to a search criteria
Loading
Loading
Loading
Loading
@@ -29,7 +29,7 @@ GET /projects
Parameters:
 
- `archived` (optional) - if passed, limit by archived status
- `public` (optional) - if passed, limit by public visibility
- `visibility` (optional) - if passed, limit by visibility `public`, `internal`, `private`
- `order_by` (optional) - Return requests ordered by `id`, `name`, `path`, `created_at`, `updated_at` or `last_activity_at` fields. Default is `created_at`
- `sort` (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc`
- `search` (optional) - Return list of authorized projects according to a search criteria
Loading
Loading
@@ -153,7 +153,7 @@ GET /projects/owned
Parameters:
 
- `archived` (optional) - if passed, limit by archived status
- `public` (optional) - if passed, limit by public visibility
- `visibility` (optional) - if passed, limit by visibility `public`, `internal`, `private`
- `order_by` (optional) - Return requests ordered by `id`, `name`, `path`, `created_at`, `updated_at` or `last_activity_at` fields. Default is `created_at`
- `sort` (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc`
- `search` (optional) - Return list of authorized projects according to a search criteria
Loading
Loading
@@ -169,7 +169,7 @@ GET /projects/starred
Parameters:
 
- `archived` (optional) - if passed, limit by archived status
- `public` (optional) - if passed, limit by public visibility
- `visibility` (optional) - if passed, limit by visibility `public`, `internal`, `private`
- `order_by` (optional) - Return requests ordered by `id`, `name`, `path`, `created_at`, `updated_at` or `last_activity_at` fields. Default is `created_at`
- `sort` (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc`
- `search` (optional) - Return list of authorized projects according to a search criteria
Loading
Loading
@@ -185,7 +185,7 @@ GET /projects/all
Parameters:
 
- `archived` (optional) - if passed, limit by archived status
- `public` (optional) - if passed, limit by public visibility
- `visibility` (optional) - if passed, limit by visibility `public`, `internal`, `private`
- `order_by` (optional) - Return requests ordered by `id`, `name`, `path`, `created_at`, `updated_at` or `last_activity_at` fields. Default is `created_at`
- `sort` (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc`
- `search` (optional) - Return list of authorized projects according to a search criteria
Loading
Loading
Loading
Loading
@@ -264,8 +264,8 @@ module API
projects = projects.search(params[:search])
end
 
if params[:public].present? && parse_boolean(params[:public])
projects = projects.public_only
if params[:visibility].present?
projects = projects.search_by_visibility(params[:visibility])
end
 
projects.reorder(project_order_by => project_sort)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment