diff --git a/src/api.authz.test.ts b/src/api.authz.test.ts index 9a02ba702..ef8926344 100644 --- a/src/api.authz.test.ts +++ b/src/api.authz.test.ts @@ -784,7 +784,7 @@ describe('API authz tests', () => { test('team member can get internal repository urls', async () => { jest.spyOn(otomiStack, 'getInternalRepoUrls').mockResolvedValue([]) await agent - .get(`/v1/internalRepoUrls`) + .get(`/v2/internalRepoUrls`) .query({ teamId }) .set('Authorization', `Bearer ${teamMemberToken}`) .expect(200) diff --git a/src/api/v1/internalRepoUrls.ts b/src/api/v1/internalRepoUrls.ts deleted file mode 100644 index 2cf95b47d..000000000 --- a/src/api/v1/internalRepoUrls.ts +++ /dev/null @@ -1,15 +0,0 @@ -import Debug from 'debug' -import { Response } from 'express' -import { OpenApiRequestExt } from 'src/otomi-models' - -const debug = Debug('otomi:api:v1:internalRepoUrls') - -/** - * GET /v1/internalRepoUrls - * Get internal repository URLs - */ -export const getInternalRepoUrls = async (req: OpenApiRequestExt, res: Response): Promise => { - debug(`getInternalRepoUrls ${req.query?.teamId}`) - const v = await req.otomi.getInternalRepoUrls(req.query?.teamId as string) - res.json(v) -} diff --git a/src/api/v2/teams/{teamId}/internalRepoUrls.ts b/src/api/v2/teams/{teamId}/internalRepoUrls.ts new file mode 100644 index 000000000..8465c05c0 --- /dev/null +++ b/src/api/v2/teams/{teamId}/internalRepoUrls.ts @@ -0,0 +1,18 @@ +import Debug from 'debug' +import { Response } from 'express' +import { OpenApiRequestExt } from 'src/otomi-models' + +const debug = Debug('otomi:api:v2:internalRepoUrls') + +/** + * GET /v2/teams/{teamId}/internalRepoUrls + * Get internal repository URLs for a team + */ +export const getInternalRepoUrls = async (req: OpenApiRequestExt, res: Response): Promise => { + const { teamId } = req.params + + debug(`getInternalRepoUrls ${teamId}`) + + const v = await req.otomi.getInternalRepoUrls(teamId) + res.json(v) +} diff --git a/src/openapi/api.yaml b/src/openapi/api.yaml index 6bd339466..3418ae60a 100644 --- a/src/openapi/api.yaml +++ b/src/openapi/api.yaml @@ -2805,17 +2805,14 @@ paths: schema: $ref: '#/components/schemas/TestRepoConnect' - /v1/internalRepoUrls: + '/v2/teams/{teamId}/internalRepoUrls': + parameters: + - $ref: '#/components/parameters/teamParams' get: operationId: getInternalRepoUrls - x-eov-operation-handler: v1/internalRepoUrls + x-eov-operation-handler: v2/teams/{teamId}/internalRepoUrls + description: Get internal repository URLs for a team x-aclSchema: InternalRepoUrls - parameters: - - name: teamId - in: query - description: ID of the team - schema: - type: string responses: '400': $ref: '#/components/responses/BadRequest' diff --git a/src/openapi/internalRepoUrls.yaml b/src/openapi/internalRepoUrls.yaml index db915ec53..30d4a9f0b 100644 --- a/src/openapi/internalRepoUrls.yaml +++ b/src/openapi/internalRepoUrls.yaml @@ -1,8 +1,11 @@ InternalRepoUrls: x-acl: - platformAdmin: [read-any] - teamAdmin: [read-any] - teamMember: [read-any] + platformAdmin: + - read-any + teamAdmin: + - read + teamMember: + - read type: array items: type: string