Skip to content

Commit b3c8d33

Browse files
committed
feat: re-enable scopes
Signed-off-by: Umberto Sgueglia <usgueglia@contractor.linuxfoundation.org>
1 parent 65d8016 commit b3c8d33

5 files changed

Lines changed: 23 additions & 69 deletions

File tree

backend/src/api/public/v1/akrites/index.ts

Lines changed: 11 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { Router } from 'express'
22

33
import { createRateLimiter } from '@/api/apiRateLimiter'
4+
import { requireScopes } from '@/api/public/middlewares/requireScopes'
45
import { safeWrap } from '@/middlewares/errorMiddleware'
6+
import { SCOPES } from '@/security/scopes'
57

6-
// TODO: restore once scopes are added to Auth0 staging tenant
7-
// import { requireScopes } from '@/api/public/middlewares/requireScopes'
8-
// import { SCOPES } from '@/security/scopes'
98
import { activityFeedHandler } from '../ossprey/activityFeed'
109
import { metricsHandler } from '../ossprey/metrics'
1110
import { packageListHandler } from '../ossprey/packageList'
@@ -37,65 +36,40 @@ export function akritesRouter(): Router {
3736
router.post(
3837
/^\/packages:batch-stewardship\/?$/,
3938
rateLimiter,
40-
// TODO: restore once read:packages + read:stewardships are added to Auth0 staging tenant
41-
// requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
39+
requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
4240
safeWrap(batchGetStewardship),
4341
)
4442
const packagesSubRouter = Router()
4543
packagesSubRouter.use(rateLimiter)
4644
packagesSubRouter.get(
4745
'/metrics',
48-
// TODO: restore once read:packages + read:stewardships are added to Auth0 staging tenant
49-
// requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
46+
requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
5047
safeWrap(getPackagesMetrics),
5148
)
5249
packagesSubRouter.get(
5350
'/detail',
54-
// TODO: restore once read:packages + read:stewardships are added to Auth0 staging tenant
55-
// requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
51+
requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
5652
safeWrap(getPackage),
5753
)
5854
packagesSubRouter.get(
5955
'/advisories',
60-
// TODO: restore once read:packages + read:stewardships are added to Auth0 staging tenant
61-
// requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
56+
requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
6257
safeWrap(getPackageAdvisories),
6358
)
6459
packagesSubRouter.get(
6560
'/history',
66-
// TODO: restore once read:packages + read:stewardships are added to Auth0 staging tenant
67-
// requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
61+
requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
6862
safeWrap(getPackageHistory),
6963
)
7064
router.use('/packages', packagesSubRouter)
7165

7266
// --- stewardships ---
7367
const stewardshipsSubRouter = Router()
7468
stewardshipsSubRouter.use(rateLimiter)
75-
stewardshipsSubRouter.post(
76-
'/open',
77-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
78-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
79-
safeWrap(openStewardship),
80-
)
81-
stewardshipsSubRouter.post(
82-
'/:id/assign',
83-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
84-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
85-
safeWrap(assignStewardHandler),
86-
)
87-
stewardshipsSubRouter.post(
88-
'/:id/escalate',
89-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
90-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
91-
safeWrap(escalateHandler),
92-
)
93-
stewardshipsSubRouter.patch(
94-
'/:id/status',
95-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
96-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
97-
safeWrap(updateStatusHandler),
98-
)
69+
stewardshipsSubRouter.post('/open', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(openStewardship))
70+
stewardshipsSubRouter.post('/:id/assign', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(assignStewardHandler))
71+
stewardshipsSubRouter.post('/:id/escalate', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(escalateHandler))
72+
stewardshipsSubRouter.patch('/:id/status', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(updateStatusHandler))
9973
router.use('/stewardships', stewardshipsSubRouter)
10074

10175
return router

backend/src/api/public/v1/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export function v1Router(): Router {
3434
/^\/packages:batch-stewardship\/?$/,
3535
oauth2Middleware(AUTH0_CONFIG),
3636
packagesRateLimiter,
37-
requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'all'),
37+
requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'),
3838
safeWrap(batchGetStewardship),
3939
)
4040
router.use('/packages', oauth2Middleware(AUTH0_CONFIG), packagesRouter())

backend/src/api/public/v1/packages/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export function packagesRouter(): Router {
2020
const router = Router()
2121

2222
router.use(rateLimiter)
23-
router.use(requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'all'))
23+
router.use(requireScopes([SCOPES.READ_PACKAGES, SCOPES.READ_STEWARDSHIPS], 'any'))
2424

2525
router.get('/', safeWrap(listPackages))
2626
router.get('/metrics', safeWrap(getPackagesMetrics))
Lines changed: 9 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { Router } from 'express'
22

33
import { createRateLimiter } from '@/api/apiRateLimiter'
4-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
5-
// import { requireScopes } from '@/api/public/middlewares/requireScopes'
4+
import { requireScopes } from '@/api/public/middlewares/requireScopes'
65
import { safeWrap } from '@/middlewares/errorMiddleware'
6+
import { SCOPES } from '@/security/scopes'
77

8-
// import { SCOPES } from '@/security/scopes'
98
import { assignStewardHandler } from './assignSteward'
109
import { escalateHandler } from './escalate'
1110
import { openStewardship } from './openStewardship'
@@ -19,33 +18,13 @@ export function stewardshipsRouter(): Router {
1918

2019
router.use(rateLimiter)
2120

22-
router.post(
23-
'/',
24-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
25-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
26-
safeWrap(openStewardship),
27-
)
28-
29-
router.put(
30-
'/:id/steward',
31-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
32-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
33-
safeWrap(assignStewardHandler),
34-
)
35-
36-
router.put(
37-
'/:id/escalate',
38-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
39-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
40-
safeWrap(escalateHandler),
41-
)
42-
43-
router.put(
44-
'/:id/status',
45-
// TODO: restore once write:stewardships is added to Auth0 staging tenant
46-
// requireScopes([SCOPES.WRITE_STEWARDSHIPS]),
47-
safeWrap(updateStatusHandler),
48-
)
21+
router.post('/', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(openStewardship))
22+
23+
router.put('/:id/steward', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(assignStewardHandler))
24+
25+
router.put('/:id/escalate', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(escalateHandler))
26+
27+
router.put('/:id/status', requireScopes([SCOPES.WRITE_STEWARDSHIPS]), safeWrap(updateStatusHandler))
4928

5029
return router
5130
}

backend/src/security/scopes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const SCOPES = {
1313
READ_AFFILIATIONS: 'read:affiliations',
1414
READ_PACKAGES: 'read:packages',
1515
READ_STEWARDSHIPS: 'read:stewardships',
16+
WRITE_STEWARDSHIPS: 'write:stewardships',
1617
} as const
1718

1819
export type Scope = (typeof SCOPES)[keyof typeof SCOPES]

0 commit comments

Comments
 (0)