feat: inplement auth for cases

This commit is contained in:
Takeshi Kimata
2024-06-06 11:58:40 +09:00
parent 145f9fed68
commit f9cf3ef209
14 changed files with 238 additions and 173 deletions

View File

@@ -4,10 +4,11 @@ const defineCase = require('../../models/cases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectDeveloper } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromProjectId } = require('../../middleware/verifyEditable')(sequelize);
const Case = defineCase(sequelize, DataTypes);
router.post('/bulkdelete', verifySignedIn, verifyProjectDeveloper, async (req, res) => {
router.post('/bulkdelete', verifySignedIn, verifyProjectDeveloperFromProjectId, async (req, res) => {
const { caseIds } = req.body;
if (!caseIds || !Array.isArray(caseIds)) {
return res.status(400).send('Invalid caseIds array');

View File

@@ -5,11 +5,12 @@ const defineStep = require('../../models/steps');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectDeveloper } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromCaseId } = require('../../middleware/verifyEditable')(sequelize);
const Case = defineCase(sequelize, DataTypes);
const Step = defineStep(sequelize, DataTypes);
router.put('/:caseId', verifySignedIn, verifyProjectDeveloper, async (req, res) => {
router.put('/:caseId', verifySignedIn, verifyProjectDeveloperFromCaseId, async (req, res) => {
const caseId = req.params.caseId;
const updateCase = req.body;
try {

View File

@@ -14,10 +14,11 @@ function isEmpty(value) {
}
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectDeveloper } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromFolderId } = require('../../middleware/verifyEditable')(sequelize);
const Case = defineCase(sequelize, DataTypes);
router.post('/', verifySignedIn, verifyProjectDeveloper, async (req, res) => {
router.post('/', verifySignedIn, verifyProjectDeveloperFromFolderId, async (req, res) => {
const folderId = req.query.folderId;
try {

View File

@@ -4,10 +4,11 @@ const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectDeveloper } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromFolderId } = require('../../middleware/verifyEditable')(sequelize);
const Folder = defineFolder(sequelize, DataTypes);
router.delete('/:folderId', verifySignedIn, verifyProjectDeveloper, async (req, res) => {
router.delete('/:folderId', verifySignedIn, verifyProjectDeveloperFromFolderId, async (req, res) => {
const folderId = req.params.folderId;
try {
const folder = await Folder.findByPk(folderId);

View File

@@ -4,10 +4,11 @@ const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectDeveloper } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromFolderId } = require('../../middleware/verifyEditable')(sequelize);
const Folder = defineFolder(sequelize, DataTypes);
router.put('/:folderId', verifySignedIn, verifyProjectDeveloper, async (req, res) => {
router.put('/:folderId', verifySignedIn, verifyProjectDeveloperFromFolderId, async (req, res) => {
const folderId = req.params.folderId;
const { name, detail, projectId, parentFolderId } = req.body;
try {

View File

@@ -4,10 +4,11 @@ const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectDeveloper } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromProjectId } = require('../../middleware/verifyEditable')(sequelize);
const Folder = defineFolder(sequelize, DataTypes);
router.post('/', verifySignedIn, verifyProjectDeveloper, async (req, res) => {
router.post('/', verifySignedIn, verifyProjectDeveloperFromProjectId, async (req, res) => {
try {
const projectId = req.query.projectId;
const { name, detail, parentFolderId } = req.body;

View File

@@ -4,10 +4,11 @@ const defineMember = require('../../models/members');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectManager } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectManagerFromProjectId } = require('../../middleware/verifyEditable')(sequelize);
const Member = defineMember(sequelize, DataTypes);
router.delete('/', verifySignedIn, verifyProjectManager, async (req, res) => {
router.delete('/', verifySignedIn, verifyProjectManagerFromProjectId, async (req, res) => {
const userId = req.query.userId;
const projectId = req.query.projectId;

View File

@@ -4,10 +4,11 @@ const defineMember = require('../../models/members');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectManager } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectManagerFromProjectId } = require('../../middleware/verifyEditable')(sequelize);
const Member = defineMember(sequelize, DataTypes);
router.put('/', verifySignedIn, verifyProjectManager, async (req, res) => {
router.put('/', verifySignedIn, verifyProjectManagerFromProjectId, async (req, res) => {
const userId = req.query.userId;
const projectId = req.query.projectId;
const role = req.query.role;

View File

@@ -5,10 +5,11 @@ const { DataTypes } = require('sequelize');
const { memberRoles } = require('../../routes/users/authSettings');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectManager } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectManagerFromProjectId } = require('../../middleware/verifyEditable')(sequelize);
const Member = defineMember(sequelize, DataTypes);
router.post('/', verifySignedIn, verifyProjectManager, async (req, res) => {
router.post('/', verifySignedIn, verifyProjectManagerFromProjectId, async (req, res) => {
const userId = req.query.userId;
const projectId = req.query.projectId;

View File

@@ -6,7 +6,8 @@ const defineRun = require('../../models/runs');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectOwner } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectOwner } = require('../../middleware/verifyEditable')(sequelize);
const Project = defineProject(sequelize, DataTypes);
const Folder = defineFolder(sequelize, DataTypes);
const Run = defineRun(sequelize, DataTypes);

View File

@@ -4,7 +4,8 @@ const defineProject = require('../../models/projects');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const { verifySignedIn, verifyProjectOwner } = require('../../middleware/auth')(sequelize);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectOwner } = require('../../middleware/verifyEditable')(sequelize);
const Project = defineProject(sequelize, DataTypes);
router.put('/:projectId', verifySignedIn, verifyProjectOwner, async (req, res) => {