Skip to content

Commit 7fd26b1

Browse files
authored
Merge pull request #229 from gtt-project/ftr/update-api-views
Updates API endpoints
2 parents 75a8991 + 16ce7ff commit 7fd26b1

File tree

7 files changed

+34
-8
lines changed

7 files changed

+34
-8
lines changed

.github/workflows/test-postgis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ on:
77
push:
88
branches:
99
- main
10-
- master
10+
- next
1111
pull_request:
1212
branches:
1313
- main
14-
- master
14+
- next
1515

1616
jobs:
1717
test:

app/views/issues/index.api.rsb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ api.array :issues, api_meta(:total_count => @issue_count, :offset => @offset, :l
44
api.id issue.id
55
api.project(:id => issue.project_id, :name => issue.project.name) unless issue.project.nil?
66
api.tracker(:id => issue.tracker_id, :name => issue.tracker.name) unless issue.tracker.nil?
7-
api.status(:id => issue.status_id, :name => issue.status.name) unless issue.status.nil?
7+
api.status(:id => issue.status_id, :name => issue.status.name, :is_closed => issue.status.is_closed) unless issue.status.nil?
88
api.priority(:id => issue.priority_id, :name => issue.priority.name) unless issue.priority.nil?
99
api.author(:id => issue.author_id, :name => issue.author.name) unless issue.author.nil?
1010
api.assigned_to(:id => issue.assigned_to_id, :name => issue.assigned_to.name) unless issue.assigned_to.nil?
@@ -19,6 +19,11 @@ api.array :issues, api_meta(:total_count => @issue_count, :offset => @offset, :l
1919
api.done_ratio issue.done_ratio
2020
api.is_private issue.is_private
2121
api.estimated_hours issue.estimated_hours
22+
api.total_estimated_hours issue.total_estimated_hours
23+
if User.current.allowed_to?(:view_time_entries, issue.project)
24+
api.spent_hours(issue.spent_hours)
25+
api.total_spent_hours(issue.total_spent_hours)
26+
end
2227

2328
if issue.geom
2429
api.geojson (params[:format] == "json") ? issue.geojson : issue.geojson.to_json

app/views/issues/show.api.rsb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ api.issue do
22
api.id @issue.id
33
api.project(:id => @issue.project_id, :name => @issue.project.name) unless @issue.project.nil?
44
api.tracker(:id => @issue.tracker_id, :name => @issue.tracker.name) unless @issue.tracker.nil?
5-
api.status(:id => @issue.status_id, :name => @issue.status.name) unless @issue.status.nil?
5+
api.status(:id => @issue.status_id, :name => @issue.status.name, :is_closed => @issue.status.is_closed) unless @issue.status.nil?
66
api.priority(:id => @issue.priority_id, :name => @issue.priority.name) unless @issue.priority.nil?
77
api.author(:id => @issue.author_id, :name => @issue.author.name) unless @issue.author.nil?
88
api.assigned_to(:id => @issue.assigned_to_id, :name => @issue.assigned_to.name) unless @issue.assigned_to.nil?
@@ -36,6 +36,7 @@ api.issue do
3636
api.closed_on @issue.closed_on
3737

3838
render_api_issue_children(@issue, api) if include_in_api_response?('children')
39+
3940
api.array :attachments do
4041
@issue.attachments.each do |attachment|
4142
render_api_attachment(attachment, api)
@@ -82,4 +83,10 @@ api.issue do
8283
api.user :id => user.id, :name => user.name
8384
end
8485
end if include_in_api_response?('watchers') && User.current.allowed_to?(:view_issue_watchers, @issue.project)
86+
87+
api.array :allowed_statuses do
88+
@allowed_statuses.each do |status|
89+
api.status :id => status.id, :name => status.name, :is_closed => status.is_closed
90+
end
91+
end if include_in_api_response?('allowed_statuses')
8592
end

app/views/projects/index.api.rsb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ api.array :projects, api_meta(:total_count => @project_count, :offset => @offset
88
api.parent(:id => project.parent.id, :name => project.parent.name) if project.parent && project.parent.visible?
99
api.status project.status
1010
api.is_public project.is_public?
11+
api.inherit_members project.inherit_members?
1112
api.rotation project.map_rotation
1213

1314
if @include_geometry

app/views/projects/show.api.rsb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@ api.project do
77
api.parent(:id => @project.parent.id, :name => @project.parent.name) if @project.parent && @project.parent.visible?
88
api.status @project.status
99
api.is_public @project.is_public?
10-
api.rotation @project.map_rotation
10+
api.inherit_members @project.inherit_members?
11+
api.default_version(:id => @project.default_version.id, :name => @project.default_version.name) if @project.default_version
12+
api.default_assignee(:id => @project.project.default_assigned_to.id, :name => @project.project.default_assigned_to.name) if @project.default_assigned_to
1113

1214
if @project.geom
1315
api.geojson (params[:format] == "json") ? @project.geojson : @project.geojson.to_json
1416
else
1517
api.geojson nil
1618
end
19+
api.rotation @project.map_rotation
1720

1821
render_api_custom_values @project.visible_custom_field_values, api
1922
render_api_includes(@project, api)

app/views/users/index.api.rsb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,16 @@ api.array :users, api_meta(:total_count => @user_count, :offset => @offset, :lim
33
api.user do
44
api.id user.id
55
api.login user.login
6+
api.admin user.admin?
67
api.firstname user.firstname
78
api.lastname user.lastname
89
api.mail user.mail
910
api.created_on user.created_on
10-
api.last_login_on user.last_login_on
11+
api.updated_on user.updated_on
12+
api.last_login_on user.last_login_on
13+
api.passwd_changed_on user.passwd_changed_on
14+
api.avatar_url gravatar_url(user.mail, {rating: nil, size: nil, default: Setting.gravatar_default}) if Setting.gravatar_enabled?
15+
api.twofa_scheme user.twofa_scheme
1116

1217
if user.geom
1318
api.geojson (params[:format] == "json") ? user.geojson : user.geojson.to_json

app/views/users/show.api.rsb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
api.user do
22
api.id @user.id
3-
api.login @user.login if User.current.admin? || (User.current == @user)
3+
api.login @user.login
4+
api.admin @user.admin? if User.current.admin? || (User.current == @user)
45
api.firstname @user.firstname
56
api.lastname @user.lastname
67
api.mail @user.mail if User.current.admin? || [email protected]_mail
78
api.created_on @user.created_on
8-
api.last_login_on @user.last_login_on
9+
api.updated_on @user.updated_on
10+
api.last_login_on @user.last_login_on
11+
api.passwd_changed_on @user.passwd_changed_on
12+
api.avatar_url gravatar_url(@user.mail, {rating: nil, size: nil, default: Setting.gravatar_default}) if @user.mail && Setting.gravatar_enabled?
13+
api.twofa_scheme @user.twofa_scheme if User.current.admin? || (User.current == @user)
914
api.api_key @user.api_key if User.current.admin? || (User.current == @user)
1015
api.status @user.status if User.current.admin?
1116

0 commit comments

Comments
 (0)