move old to legacy folder
This commit is contained in:
116
.bzr/legacy/easy-project/projects.js
Normal file
116
.bzr/legacy/easy-project/projects.js
Normal file
@@ -0,0 +1,116 @@
|
||||
const router = require('express').Router()
|
||||
const { expressjwt: jwt } = require('express-jwt')
|
||||
|
||||
const { JWT_SECRET } = require('./constants')
|
||||
const {
|
||||
getMyProjects,
|
||||
newProject,
|
||||
getProjectById,
|
||||
updateProject,
|
||||
getMyProjectById,
|
||||
deleteProjectById,
|
||||
updateProjectMembers,
|
||||
} = require('./db')
|
||||
const { requiredFields, responseWrapper, _idToId } = require('./utils')
|
||||
|
||||
router.get('/healthcheck', (req, res) => {
|
||||
res.send(true)
|
||||
})
|
||||
|
||||
router.get('/', jwt({
|
||||
secret: JWT_SECRET, algorithms: ['HS256'],
|
||||
}), async (req, res, next) => {
|
||||
try {
|
||||
const projectList = await getMyProjects(req.auth.id)
|
||||
|
||||
res.send(responseWrapper(undefined, projectList))
|
||||
} catch (e) {
|
||||
next(e)
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/:projectId', jwt({
|
||||
secret: JWT_SECRET, algorithms: ['HS256'],
|
||||
}), async (req, res, next) => {
|
||||
try {
|
||||
const { projectId } = req.params
|
||||
const myProject = await getMyProjectById(req.auth.id, projectId)
|
||||
|
||||
res.send(responseWrapper(undefined, myProject))
|
||||
} catch (e) {
|
||||
next(e)
|
||||
}
|
||||
})
|
||||
|
||||
router.post('/new', jwt({
|
||||
secret: JWT_SECRET, algorithms: ['HS256'],
|
||||
}), async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.auth.id
|
||||
const { title, code, members } = req.body
|
||||
|
||||
const project = await newProject({
|
||||
title, code, userId, members,
|
||||
})
|
||||
|
||||
res.send(responseWrapper(undefined, project))
|
||||
} catch (e) {
|
||||
next(e)
|
||||
}
|
||||
})
|
||||
|
||||
router.post('/delete', jwt({
|
||||
secret: JWT_SECRET, algorithms: ['HS256'],
|
||||
}), async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.auth.id
|
||||
const { projectId } = req.body
|
||||
|
||||
const myProject = await getMyProjectById(userId, projectId)
|
||||
|
||||
if (myProject) {
|
||||
const answered = await deleteProjectById(projectId)
|
||||
if (answered.result.ok) {
|
||||
res.send(responseWrapper(undefined))
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
next(e)
|
||||
}
|
||||
})
|
||||
|
||||
router.post('/edit', jwt({
|
||||
secret: JWT_SECRET, algorithms: ['HS256'],
|
||||
}), async (req, res, next) => {
|
||||
try {
|
||||
const userId = req.auth.id
|
||||
const { projectId, title, code, members } = req.body
|
||||
|
||||
const projectCandidate = await getProjectById({
|
||||
projectId,
|
||||
})
|
||||
|
||||
if (!projectCandidate) {
|
||||
throw new Error('The project not exists [project.edit]')
|
||||
}
|
||||
|
||||
await updateProject({
|
||||
projectId, title, code, members,
|
||||
})
|
||||
|
||||
const updatedProject = await getProjectById({
|
||||
projectId,
|
||||
})
|
||||
|
||||
const projectSummary = {
|
||||
oldData: projectCandidate,
|
||||
newData: updatedProject,
|
||||
}
|
||||
|
||||
res.send(responseWrapper(undefined, projectSummary))
|
||||
} catch (e) {
|
||||
next(e)
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user