#109 added router post tasks/users/

parent bf803099
...@@ -24,7 +24,7 @@ router.get('/', async(req:Request, res:Response):Promise<Response> => { ...@@ -24,7 +24,7 @@ router.get('/', async(req:Request, res:Response):Promise<Response> => {
}) })
/**create new task */ /**create new task for table MyTask*/
router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{
const {user,title,description,project,executor,dateTimeStart,dateTimeDue, dateTimeDeadLine,priority} = req.body; const {user,title,description,project,executor,dateTimeStart,dateTimeDue, dateTimeDeadLine,priority} = req.body;
const newTask = new Task(); const newTask = new Task();
...@@ -48,7 +48,6 @@ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{ ...@@ -48,7 +48,6 @@ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{
}, },
} }
}) })
console.log ('watcherOfProject ', watcherOfProject)
if (watcherOfProject) return res.send({message:"watcher could nt make tasks"}) if (watcherOfProject) return res.send({message:"watcher could nt make tasks"})
newTask.project = project; newTask.project = project;
} else { } else {
...@@ -94,6 +93,73 @@ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{ ...@@ -94,6 +93,73 @@ router.post('/', auth, async(req:Request, res:Response):Promise<Response>=>{
}) })
//** create new task for table UsersTasks*/
router.post('/users', auth, async(req:Request, res:Response):Promise<Response>=>{
const {user,title,description,project,executor,dateTimeStart,dateTimeDue, dateTimeDeadLine,priority} = req.body;
const newTask = new Task();
newTask.title = title;
newTask.description = description;
if (project) {
const watcherOfProject = await dataSource
.getRepository(Project)
.findOne({
relations:{
members:true,
},
where:
{
id:project.id,
members:
{
user:{id:user.id},
roleProject:MemberRole.WATCHER,
},
}
})
if (watcherOfProject) return res.send({message:"watcher could nt make tasks"})
newTask.project = project;
} else {
const personalProject = await dataSource
.getRepository(Project)
.findOne({
where:{
members:{
user:{id:user.id},
},
title:"Не определено"
}
})
if(personalProject){
newTask.project = personalProject;
} else {
const newPersonalProject = new Project();
newPersonalProject.title="Не определено";
newPersonalProject.color="green";
await newPersonalProject.save()
newTask.project = newPersonalProject;
const newMember = new Member();
newMember.user= user;
newMember.project=newPersonalProject;
newMember.roleProject = MemberRole.ADMIN;
await newMember.save();
console.log ('newPersonalProject ', newPersonalProject)
}
}
newTask.dateTimeDeadLine=dateTimeDeadLine;
newTask.author= user;
newTask.executor= executor;
newTask.priority = priority;
await newTask.save();
const newDateTimeTask = new DateTimeTask();
newDateTimeTask.dateTimeStart = dateTimeStart
newDateTimeTask.dateTimeDue = dateTimeDue
newDateTimeTask.task = newTask
await newDateTimeTask.save()
return res.send({newTask});
})
/**check tasks of specific user by userID */ /**check tasks of specific user by userID */
router.get('/user/:userId', async (req: Request, res: Response):Promise<Response>=>{ router.get('/user/:userId', async (req: Request, res: Response):Promise<Response>=>{
const userId = req.params.userId; const userId = req.params.userId;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment