screwdriver-api 8.0.175 → 8.0.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/package.json +1 -1
  2. package/plugins/pipelines/admins/get.js +7 -2
  3. package/plugins/pipelines/admins/list.js +5 -0
  4. package/plugins/pipelines/batchUpdateAdmins.js +5 -0
  5. package/plugins/pipelines/caches/delete.js +5 -0
  6. package/plugins/pipelines/create.js +5 -0
  7. package/plugins/pipelines/lastSuccessfulEvent.js +5 -0
  8. package/plugins/pipelines/latestBuild.js +5 -0
  9. package/plugins/pipelines/latestCommitEvent.js +5 -0
  10. package/plugins/pipelines/list.js +5 -0
  11. package/plugins/pipelines/listBuilds.js +5 -0
  12. package/plugins/pipelines/listEvents.js +5 -0
  13. package/plugins/pipelines/listJobs.js +5 -0
  14. package/plugins/pipelines/listSecrets.js +5 -0
  15. package/plugins/pipelines/listStages.js +5 -0
  16. package/plugins/pipelines/listTriggers.js +5 -0
  17. package/plugins/pipelines/metrics.js +5 -0
  18. package/plugins/pipelines/openPr.js +5 -0
  19. package/plugins/pipelines/remove.js +5 -0
  20. package/plugins/pipelines/startAll.js +5 -0
  21. package/plugins/pipelines/sync.js +5 -0
  22. package/plugins/pipelines/syncPRs.js +5 -0
  23. package/plugins/pipelines/syncWebhooks.js +5 -0
  24. package/plugins/pipelines/templates/create.js +5 -0
  25. package/plugins/pipelines/templates/createTag.js +5 -0
  26. package/plugins/pipelines/templates/get.js +5 -0
  27. package/plugins/pipelines/templates/getTemplateById.js +5 -0
  28. package/plugins/pipelines/templates/getVersion.js +5 -0
  29. package/plugins/pipelines/templates/list.js +5 -0
  30. package/plugins/pipelines/templates/listTags.js +5 -0
  31. package/plugins/pipelines/templates/listVersions.js +5 -0
  32. package/plugins/pipelines/templates/remove.js +5 -0
  33. package/plugins/pipelines/templates/removeTag.js +5 -0
  34. package/plugins/pipelines/templates/removeVersion.js +5 -0
  35. package/plugins/pipelines/templates/updateTrusted.js +5 -0
  36. package/plugins/pipelines/tokens/create.js +5 -0
  37. package/plugins/pipelines/tokens/list.js +5 -0
  38. package/plugins/pipelines/tokens/refresh.js +5 -0
  39. package/plugins/pipelines/tokens/remove.js +5 -0
  40. package/plugins/pipelines/tokens/removeAll.js +5 -0
  41. package/plugins/pipelines/tokens/update.js +5 -0
  42. package/plugins/pipelines/update.js +5 -0
  43. package/plugins/pipelines/updateAdmins.js +5 -0
  44. package/plugins/pipelines/updateBuildCluster.js +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "screwdriver-api",
3
- "version": "8.0.175",
3
+ "version": "8.0.176",
4
4
  "description": "API server for the Screwdriver.cd service",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -18,13 +18,18 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', 'admin', 'pipeline', '!guest']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'read'
24
+ }
25
+ },
21
26
 
22
27
  handler: async (request, h) => {
23
28
  const { pipelineFactory } = request.server.app;
24
- const { scope } = request.auth.credentials;
29
+ const { scope, permission = 'all' } = request.auth.credentials;
25
30
  const { scmContext, includeUserToken } = request.query;
26
31
 
27
- if (includeUserToken && !scope.includes('admin')) {
32
+ if (includeUserToken && (!scope.includes('admin') || permission !== 'all')) {
28
33
  throw boom.forbidden('Only Screwdriver admin is allowed to request user token');
29
34
  }
30
35
 
@@ -85,6 +85,11 @@ module.exports = () => ({
85
85
  strategies: ['token'],
86
86
  scope: ['user', 'admin']
87
87
  },
88
+ plugins: {
89
+ authorization: {
90
+ permission: 'read'
91
+ }
92
+ },
88
93
 
89
94
  handler: async (request, h) => {
90
95
  const { pipelineFactory, userFactory } = request.server.app;
@@ -18,6 +18,11 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', '!guest', 'admin']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'all'
24
+ }
25
+ },
21
26
  handler: async (request, h) => {
22
27
  const { scmContext, username, scope } = request.auth.credentials;
23
28
  const { payload } = request;
@@ -21,6 +21,11 @@ module.exports = () => ({
21
21
  strategies: ['token'],
22
22
  scope: ['user', 'pipeline', '!guest']
23
23
  },
24
+ plugins: {
25
+ authorization: {
26
+ permission: 'write'
27
+ }
28
+ },
24
29
 
25
30
  handler: async (request, h) => {
26
31
  const { pipelineFactory, userFactory } = request.server.app;
@@ -19,6 +19,11 @@ module.exports = () => ({
19
19
  strategies: ['token'],
20
20
  scope: ['user', '!guest']
21
21
  },
22
+ plugins: {
23
+ authorization: {
24
+ permission: 'all'
25
+ }
26
+ },
22
27
 
23
28
  handler: async (request, h) => {
24
29
  const checkoutUrl = formatCheckoutUrl(request.payload.checkoutUrl);
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', 'build', 'pipeline']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'read'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { eventFactory } = request.server.app;
@@ -18,6 +18,11 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', 'build', 'pipeline']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'read'
24
+ }
25
+ },
21
26
 
22
27
  handler: async (request, h) => {
23
28
  const { jobFactory } = request.server.app;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', 'build', 'pipeline']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'read'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { eventFactory } = request.server.app;
@@ -20,6 +20,11 @@ module.exports = () => ({
20
20
  strategies: ['token'],
21
21
  scope: ['user', 'pipeline']
22
22
  },
23
+ plugins: {
24
+ authorization: {
25
+ permission: 'read'
26
+ }
27
+ },
23
28
 
24
29
  handler: async (request, h) => {
25
30
  const { pipelineFactory } = request.server.app;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', 'build', 'pipeline']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'read'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const factory = request.server.app.pipelineFactory;
@@ -31,6 +31,11 @@ module.exports = () => ({
31
31
  strategies: ['token'],
32
32
  scope: ['user', 'build', 'pipeline']
33
33
  },
34
+ plugins: {
35
+ authorization: {
36
+ permission: 'read'
37
+ }
38
+ },
34
39
 
35
40
  handler: async (request, h) => {
36
41
  const factory = request.server.app.pipelineFactory;
@@ -19,6 +19,11 @@ module.exports = () => ({
19
19
  strategies: ['token'],
20
20
  scope: ['user', 'build', 'pipeline']
21
21
  },
22
+ plugins: {
23
+ authorization: {
24
+ permission: 'read'
25
+ }
26
+ },
22
27
 
23
28
  handler: async (request, h) => {
24
29
  const { pipelineFactory } = request.server.app;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', 'pipeline', '!guest']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'read'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { pipelineFactory } = request.server.app;
@@ -19,6 +19,11 @@ module.exports = () => ({
19
19
  strategies: ['token'],
20
20
  scope: ['user', 'build', 'pipeline']
21
21
  },
22
+ plugins: {
23
+ authorization: {
24
+ permission: 'read'
25
+ }
26
+ },
22
27
 
23
28
  handler: async (request, h) => {
24
29
  const { pipelineFactory, stageFactory } = request.server.app;
@@ -27,6 +27,11 @@ module.exports = () => ({
27
27
  strategies: ['token'],
28
28
  scope: ['user', 'build', 'pipeline']
29
29
  },
30
+ plugins: {
31
+ authorization: {
32
+ permission: 'read'
33
+ }
34
+ },
30
35
 
31
36
  handler: async (request, h) => {
32
37
  const { pipelineFactory, triggerFactory } = request.server.app;
@@ -25,6 +25,11 @@ module.exports = () => ({
25
25
  strategies: ['token'],
26
26
  scope: ['user', '!guest', 'pipeline']
27
27
  },
28
+ plugins: {
29
+ authorization: {
30
+ permission: 'read'
31
+ }
32
+ },
28
33
 
29
34
  handler: async (request, h) => {
30
35
  const factory = request.server.app.pipelineFactory;
@@ -19,6 +19,11 @@ module.exports = () => ({
19
19
  strategies: ['token'],
20
20
  scope: ['user', '!guest']
21
21
  },
22
+ plugins: {
23
+ authorization: {
24
+ permission: 'all'
25
+ }
26
+ },
22
27
 
23
28
  handler: async (request, h) => {
24
29
  const { userFactory } = request.server.app;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', '!guest']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { pipelineFactory, bannerFactory } = request.server.app;
@@ -18,6 +18,11 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', '!guest']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'execute'
24
+ }
25
+ },
21
26
 
22
27
  handler: async (request, h) => {
23
28
  const { pipelineFactory, userFactory } = request.server.app;
@@ -18,6 +18,11 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', '!guest', 'pipeline']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'all'
24
+ }
25
+ },
21
26
 
22
27
  handler: async (request, h) => {
23
28
  const { id } = request.params;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', '!guest']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { id } = request.params;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', '!guest']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { id } = request.params;
@@ -16,6 +16,11 @@ module.exports = () => ({
16
16
  strategies: ['token'],
17
17
  scope: ['build']
18
18
  },
19
+ plugins: {
20
+ authorization: {
21
+ permission: 'all'
22
+ }
23
+ },
19
24
  handler: async (request, h) => {
20
25
  const { pipelineTemplateVersionFactory, pipelineTemplateFactory } = request.server.app;
21
26
 
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['build']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
  handler: async (request, h) => {
21
26
  const {
22
27
  pipelineFactory,
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', 'build']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'read'
23
+ }
24
+ },
20
25
  handler: async (request, h) => {
21
26
  const { namespace, name } = request.params;
22
27
  const { pipelineTemplateFactory } = request.server.app;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', 'build']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'read'
23
+ }
24
+ },
20
25
  handler: async (request, h) => {
21
26
  const { pipelineTemplateFactory } = request.server.app;
22
27
 
@@ -18,6 +18,11 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', 'build']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'read'
24
+ }
25
+ },
21
26
  handler: async (request, h) => {
22
27
  const { namespace, name, versionOrTag } = request.params;
23
28
  const { pipelineTemplateFactory, pipelineTemplateVersionFactory, pipelineTemplateTagFactory } =
@@ -23,6 +23,11 @@ module.exports = () => ({
23
23
  strategies: ['token'],
24
24
  scope: ['user', 'build']
25
25
  },
26
+ plugins: {
27
+ authorization: {
28
+ permission: 'read'
29
+ }
30
+ },
26
31
  handler: async (request, h) => {
27
32
  const { pipelineTemplateFactory } = request.server.app;
28
33
 
@@ -16,6 +16,11 @@ module.exports = () => ({
16
16
  strategies: ['token'],
17
17
  scope: ['user', 'build']
18
18
  },
19
+ plugins: {
20
+ authorization: {
21
+ permission: 'read'
22
+ }
23
+ },
19
24
 
20
25
  handler: async (request, h) => {
21
26
  const { pipelineTemplateTagFactory } = request.server.app;
@@ -21,6 +21,11 @@ module.exports = () => ({
21
21
  strategies: ['token'],
22
22
  scope: ['user', 'build']
23
23
  },
24
+ plugins: {
25
+ authorization: {
26
+ permission: 'read'
27
+ }
28
+ },
24
29
  handler: async (request, h) => {
25
30
  const { pipelineTemplateFactory, pipelineTemplateVersionFactory } = request.server.app;
26
31
  const config = {
@@ -16,6 +16,11 @@ module.exports = () => ({
16
16
  strategies: ['token'],
17
17
  scope: ['build', 'user', '!guest']
18
18
  },
19
+ plugins: {
20
+ authorization: {
21
+ permission: 'all'
22
+ }
23
+ },
19
24
 
20
25
  handler: async (request, h) => {
21
26
  const { namespace, name } = request.params;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['build']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
  handler: async (request, h) => {
21
26
  const {
22
27
  pipelineFactory,
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['build', 'user', '!guest']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { namespace, name, version } = request.params;
@@ -16,6 +16,11 @@ module.exports = () => ({
16
16
  strategies: ['token'],
17
17
  scope: ['admin', '!guest']
18
18
  },
19
+ plugins: {
20
+ authorization: {
21
+ permission: 'all'
22
+ }
23
+ },
19
24
 
20
25
  handler: async (request, h) => {
21
26
  const { namespace, name } = request.params;
@@ -20,6 +20,11 @@ module.exports = () => ({
20
20
  strategies: ['token'],
21
21
  scope: ['user', '!guest']
22
22
  },
23
+ plugins: {
24
+ authorization: {
25
+ permission: 'all'
26
+ }
27
+ },
23
28
 
24
29
  handler: async (request, h) => {
25
30
  const { pipelineFactory, tokenFactory, userFactory } = request.server.app;
@@ -18,6 +18,11 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', '!guest']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'read'
24
+ }
25
+ },
21
26
 
22
27
  handler: async (request, h) => {
23
28
  const { pipelineFactory, userFactory } = request.server.app;
@@ -19,6 +19,11 @@ module.exports = () => ({
19
19
  strategies: ['token'],
20
20
  scope: ['user', '!guest']
21
21
  },
22
+ plugins: {
23
+ authorization: {
24
+ permission: 'all'
25
+ }
26
+ },
22
27
 
23
28
  handler: async (request, h) => {
24
29
  const { pipelineFactory, userFactory, tokenFactory } = request.server.app;
@@ -19,6 +19,11 @@ module.exports = () => ({
19
19
  strategies: ['token'],
20
20
  scope: ['user', '!guest']
21
21
  },
22
+ plugins: {
23
+ authorization: {
24
+ permission: 'all'
25
+ }
26
+ },
22
27
 
23
28
  handler: async (request, h) => {
24
29
  const { tokenFactory, pipelineFactory, userFactory } = request.server.app;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', '!guest']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
 
21
26
  handler: async (request, h) => {
22
27
  const { pipelineFactory, userFactory } = request.server.app;
@@ -18,6 +18,11 @@ module.exports = () => ({
18
18
  strategies: ['token'],
19
19
  scope: ['user', '!guest']
20
20
  },
21
+ plugins: {
22
+ authorization: {
23
+ permission: 'all'
24
+ }
25
+ },
21
26
 
22
27
  handler: async (request, h) => {
23
28
  const { tokenFactory, userFactory, pipelineFactory } = request.server.app;
@@ -74,6 +74,11 @@ module.exports = () => ({
74
74
  strategies: ['token'],
75
75
  scope: ['user', '!guest', 'pipeline']
76
76
  },
77
+ plugins: {
78
+ authorization: {
79
+ permission: 'all'
80
+ }
81
+ },
77
82
 
78
83
  handler: async (request, h) => {
79
84
  const { checkoutUrl, rootDir, settings, badges, state, stateChangeMessage } = request.payload;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', '!guest', 'admin']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
  handler: async (request, h) => {
21
26
  const { id } = request.params;
22
27
  const { scmContext, username, scope } = request.auth.credentials;
@@ -17,6 +17,11 @@ module.exports = () => ({
17
17
  strategies: ['token'],
18
18
  scope: ['user', '!guest']
19
19
  },
20
+ plugins: {
21
+ authorization: {
22
+ permission: 'all'
23
+ }
24
+ },
20
25
  handler: async (request, h) => {
21
26
  const buildClusterAnnotation = 'screwdriver.cd/buildCluster';
22
27
  const { payload } = request;