Service account checkpoint

This commit is contained in:
Tuan Dang
2023-03-19 17:01:36 +07:00
parent 8fb473c57c
commit 3a0ce7c084
15 changed files with 356 additions and 136 deletions
+4 -2
View File
@@ -40,7 +40,8 @@ router.patch(
acceptedStatuses: [ACCEPTED]
}),
requireMembershipOrgAuth({
acceptedRoles: [OWNER, ADMIN]
acceptedRoles: [OWNER, ADMIN],
acceptedStatuses: [ACCEPTED]
}),
organizationsController.updateOrganizationMembership
);
@@ -58,7 +59,8 @@ router.delete(
acceptedStatuses: [ACCEPTED]
}),
requireMembershipOrgAuth({
acceptedRoles: [OWNER, ADMIN]
acceptedRoles: [OWNER, ADMIN],
acceptedStatuses: [ACCEPTED]
}),
organizationsController.deleteOrganizationMembership
);
+32 -3
View File
@@ -2,14 +2,17 @@ import express from 'express';
const router = express.Router();
import {
requireOrganizationAuth,
requireServiceAccountAuth
requireWorkspaceAuth,
requireServiceAccountAuth,
validateRequest
} from '../../middleware';
import { body } from 'express-validator';
import {
OWNER,
ADMIN,
MEMBER,
ACCEPTED
ACCEPTED,
PERMISSION_SA_SET
} from '../../variables';
import { serviceAccountsController } from '../../controllers/v2';
@@ -27,6 +30,19 @@ router.post(
serviceAccountsController.createServiceAccount
);
router.post(
'/serviceAccountId/:serviceAccountId/permissions',
body('name').exists().isString().trim().custom((value) => PERMISSION_SA_SET.has(value)),
body('workspaceId').optional().isMongoId(),
body('environment').optional(),
validateRequest,
requireServiceAccountAuth({
acceptedRoles: [OWNER, ADMIN],
acceptedStatuses: [ACCEPTED]
}),
serviceAccountsController.addServiceAccountPermission
);
// router.post(
// '/:serviceAccountId/key',
// body('workspaceId').exists().isString().trim(),
@@ -42,7 +58,7 @@ router.post(
router.delete(
'/:serviceAccountId/key/:serviceAccountKeyId',
requireServiceAccountAuth({
acceptedRoles: [OWNER, ADMIN, MEMBER],
acceptedRoles: [OWNER, ADMIN],
acceptedStatuses: [ACCEPTED]
}),
async (req, res) => {
@@ -50,4 +66,17 @@ router.delete(
}
);
// TODO: create service account permission
// router.post(
// );
// TODO: delete service account permission
router.delete(
'/:serviceAccountId/service-account-permission/:serviceAccountPermissionId',
)
export default router;