Skip to content

Commit d55756d

Browse files
authored
DEVPROD-15766: Return resource IDs with permissions (evergreen-ci#10034)
1 parent d9c40cb commit d55756d

7 files changed

Lines changed: 171 additions & 21 deletions

File tree

graphql/generated.go

Lines changed: 136 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

graphql/models_gen.go

Lines changed: 10 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

graphql/permissions_resolver.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ func (r *permissionsResolver) DistroPermissions(ctx context.Context, obj *Permis
6666
return nil, ResourceNotFound.Send(ctx, fmt.Sprintf("user '%s' not found", obj.UserID))
6767
}
6868
return &DistroPermissions{
69-
Admin: userHasDistroPermission(ctx, usr, options.DistroID, evergreen.DistroSettingsAdmin.Value),
70-
Edit: userHasDistroPermission(ctx, usr, options.DistroID, evergreen.DistroSettingsEdit.Value),
71-
View: userHasDistroPermission(ctx, usr, options.DistroID, evergreen.DistroSettingsView.Value),
69+
DistroID: options.DistroID,
70+
Admin: userHasDistroPermission(ctx, usr, options.DistroID, evergreen.DistroSettingsAdmin.Value),
71+
Edit: userHasDistroPermission(ctx, usr, options.DistroID, evergreen.DistroSettingsEdit.Value),
72+
View: userHasDistroPermission(ctx, usr, options.DistroID, evergreen.DistroSettingsView.Value),
7273
}, nil
7374
}
7475

@@ -89,8 +90,9 @@ func (r *permissionsResolver) ProjectPermissions(ctx context.Context, obj *Permi
8990
return nil, ResourceNotFound.Send(ctx, fmt.Sprintf("project '%s' not found", options.ProjectIdentifier))
9091
}
9192
return &ProjectPermissions{
92-
Edit: userHasProjectSettingsPermission(ctx, usr, project.Id, evergreen.ProjectSettingsEdit.Value),
93-
View: userHasProjectSettingsPermission(ctx, usr, project.Id, evergreen.ProjectSettingsView.Value),
93+
ProjectIdentifier: options.ProjectIdentifier,
94+
Edit: userHasProjectSettingsPermission(ctx, usr, project.Id, evergreen.ProjectSettingsEdit.Value),
95+
View: userHasProjectSettingsPermission(ctx, usr, project.Id, evergreen.ProjectSettingsView.Value),
9496
}, nil
9597
}
9698

@@ -117,8 +119,9 @@ func (r *permissionsResolver) RepoPermissions(ctx context.Context, obj *Permissi
117119
}
118120

119121
return &RepoPermissions{
120-
Edit: userHasProjectSettingsPermission(ctx, usr, repo.Id, evergreen.ProjectSettingsEdit.Value),
121-
View: hasRepoViewPermission,
122+
RepoID: options.RepoID,
123+
Edit: userHasProjectSettingsPermission(ctx, usr, repo.Id, evergreen.ProjectSettingsEdit.Value),
124+
View: hasRepoViewPermission,
122125
}, nil
123126
}
124127

graphql/schema/types/permissions.graphql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,20 @@ input RepoPermissionsOptions {
1111
}
1212

1313
type DistroPermissions {
14+
distroId: String!
1415
admin: Boolean!
1516
edit: Boolean!
1617
view: Boolean!
1718
}
1819

1920
type ProjectPermissions {
21+
projectIdentifier: String!
2022
edit: Boolean!
2123
view: Boolean!
2224
}
2325

2426
type RepoPermissions {
27+
repoId: String!
2528
edit: Boolean!
2629
view: Boolean!
2730
}

graphql/tests/user/permissions/queries/has_permissions.graphql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ query {
77
canCreateProject
88
canEditAdminSettings
99
distroPermissions(options: { distroId: "rhel71-power8-large" }) {
10+
distroId
1011
admin
1112
edit
1213
view
1314
}
1415
projectPermissions(options: { projectIdentifier: "sandbox_project_id" }) {
16+
projectIdentifier
1517
edit
1618
view
1719
}
1820
repoPermissions(options: { repoId: "sandbox_repo_id" }) {
21+
repoId
1922
edit
2023
view
2124
}

graphql/tests/user/permissions/queries/no_permissions.graphql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ query {
55
permissions {
66
canCreateDistro
77
distroPermissions(options: { distroId: "rhel71-power8-large" }) {
8+
distroId
89
admin
910
edit
1011
view
1112
}
1213
projectPermissions(options: { projectIdentifier: "sandbox_project_id" }) {
14+
projectIdentifier
1315
edit
1416
view
1517
}
1618
repoPermissions(options: { repoId: "sandbox_repo_id" }) {
19+
repoId
1720
edit
1821
view
1922
}

0 commit comments

Comments
 (0)