Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
students
Today KU
Commits
52f6e103
Commit
52f6e103
authored
Nov 05, 2021
by
Choi Ga Young
Browse files
Merge remote-tracking branch 'origin/kimpen' into rkyoung7
parents
ec8f789e
dbfd910e
Changes
24
Hide whitespace changes
Inline
Side-by-side
server/controllers/todo.controller.js
View file @
52f6e103
import
{
Todo
}
from
'
../db/index.js
'
;
import
sequelize
from
'
sequelize
'
;
const
AddTodo
=
async
(
req
,
res
)
=>
{
const
{
Op
}
=
sequelize
const
findbyId
=
async
(
req
,
res
,
next
)
=>
{
try
{
const
userId
=
req
.
userId
const
{
todoId
}
=
req
.
query
if
(
todoId
)
{
console
.
log
(
"
findbyId todoId가 있을 때 실행
"
,
todoId
)
const
findTodo
=
await
Todo
.
findOne
({
where
:
{
[
Op
.
and
]:
[{
id
:
todoId
},
{
userId
:
userId
}]
},
attributes
:
[
'
id
'
,
[
'
title
'
,
'
todoTitle
'
],
[
'
date
'
,
'
todoDate
'
],
'
done
'
]
})
if
(
!
findTodo
)
throw
new
Error
(
"
해당 todo를 찾지 못했습니다.
"
)
req
.
todoOne
=
findTodo
}
next
()
}
catch
(
error
)
{
return
res
.
status
(
500
).
send
(
error
.
message
||
"
todo 가져오는 중 에러 발생
"
)
}
}
export
default
{
AddTodo
,
const
findbyDate
=
async
(
req
,
res
,
next
)
=>
{
try
{
const
userId
=
req
.
userId
const
{
date
}
=
req
.
query
if
(
date
)
{
console
.
log
(
"
findbydate 날짜가 있을 때 실행
"
,
date
,
userId
)
const
findList
=
await
Todo
.
findAll
({
where
:
{
[
Op
.
and
]:
[{
date
:
{
[
Op
.
eq
]:
date
}
},
{
userId
:
userId
}]
},
attributes
:
[
'
id
'
,
[
'
title
'
,
'
todoTitle
'
],
[
'
date
'
,
'
todoDate
'
],
'
done
'
]
})
console
.
log
(
"
find==
"
,
findList
)
req
.
todoList
=
findList
}
next
()
}
catch
(
error
)
{
return
res
.
status
(
500
).
send
(
error
.
message
||
"
todo 가져오는 중 에러 발생
"
)
}
}
const
create
=
async
(
req
,
res
)
=>
{
try
{
const
userId
=
req
.
userId
const
{
todoTitle
,
todoDate
}
=
req
.
body
const
newTodo
=
await
Todo
.
create
({
title
:
todoTitle
,
date
:
todoDate
,
userId
:
userId
})
return
res
.
json
(
newTodo
)
}
catch
(
error
)
{
return
res
.
status
(
500
).
send
(
error
.
message
||
"
todo 등록 중 에러 발생
"
)
}
}
const
edit
=
async
(
req
,
res
)
=>
{
try
{
let
updated
=
null
const
userId
=
req
.
userId
const
{
todoId
}
=
req
.
query
const
{
todoTitle
,
todoDate
}
=
req
.
body
if
(
todoTitle
)
updated
=
await
Todo
.
update
({
title
:
todoTitle
,
date
:
todoDate
},
{
where
:
{
[
Op
.
and
]:
[{
id
:
todoId
},
{
userId
:
userId
}]
}
})
else
updated
=
await
Todo
.
update
({
date
:
todoDate
},
{
where
:
{
[
Op
.
and
]:
[{
id
:
todoId
},
{
userId
:
userId
}]
}
})
if
(
!
updated
)
throw
new
Error
(
"
해당 todo의 일부 정보를 수정하는데 실패하였습니다.
"
)
else
return
res
.
send
(
200
)
}
catch
(
error
)
{
return
res
.
status
(
500
).
send
(
error
.
message
||
"
todo 수정 중 에러 발생
"
)
}
}
const
remove
=
async
(
req
,
res
)
=>
{
try
{
const
userId
=
req
.
userId
const
{
todoId
}
=
req
.
query
const
deleted
=
await
Todo
.
destroy
({
where
:
{
[
Op
.
and
]:
[{
id
:
todoId
},
{
userId
:
userId
}]
}
})
if
(
!
deleted
)
throw
new
Error
(
"
해당 todo를 삭제하는데 실패하였습니다.
"
)
else
return
res
.
send
(
200
)
}
catch
(
error
)
{
return
res
.
status
(
500
).
send
(
error
.
message
||
"
todo 삭제 중 에러 발생
"
)
}
}
const
getParams
=
async
(
req
,
res
,
next
)
=>
{
try
{
const
{
userId
}
=
req
.
params
req
.
userId
=
userId
next
()
}
catch
(
error
)
{
return
res
.
status
(
500
).
send
(
error
.
message
||
"
todo 가져오는 중 에러 발생
"
)
}
}
const
send
=
async
(
req
,
res
)
=>
{
try
{
const
result
=
req
.
todoOne
||
req
.
todoList
return
res
.
json
(
result
)
}
catch
(
error
)
{
return
res
.
status
(
500
).
send
(
error
.
message
||
"
todo 가져오는 중 에러 발생
"
)
}
}
export
default
{
findbyId
,
findbyDate
,
create
,
edit
,
remove
,
getParams
,
send
}
\ No newline at end of file
server/db/index.js
View file @
52f6e103
...
...
@@ -33,6 +33,7 @@ const Plan = PlanModel(sequelize)
Schedule
.
belongsTo
(
User
)
Subject
.
belongsTo
(
User
)
Todo
.
belongsTo
(
User
)
Plan
.
belongsTo
(
Subject
)
export
{
...
...
server/routes/index.js
View file @
52f6e103
...
...
@@ -2,7 +2,8 @@ import express from "express";
import
userRouter
from
'
./user.route.js
'
;
import
scheduleRouter
from
"
./schedule.route.js
"
;
import
subjectRouter
from
'
./subject.route.js
'
;
import
planRouter
from
'
./plan.route.js
'
import
planRouter
from
'
./plan.route.js
'
;
import
todoRouter
from
"
./todo.route.js
"
;
const
router
=
express
.
Router
();
...
...
@@ -10,5 +11,6 @@ router.use('/auth', userRouter)
router
.
use
(
'
/schedule
'
,
scheduleRouter
)
router
.
use
(
'
/subject
'
,
subjectRouter
)
router
.
use
(
'
/plan
'
,
planRouter
)
router
.
use
(
'
/todo
'
,
todoRouter
)
export
default
router
;
\ No newline at end of file
server/routes/todo.route.js
0 → 100644
View file @
52f6e103
import
express
from
'
express
'
;
import
todoCtrl
from
"
../controllers/todo.controller.js
"
;
const
router
=
express
.
Router
();
router
.
route
(
"
/:userId
"
)
.
get
(
todoCtrl
.
findbyId
,
todoCtrl
.
findbyDate
,
todoCtrl
.
send
)
.
post
(
todoCtrl
.
create
)
.
put
(
todoCtrl
.
edit
)
.
delete
(
todoCtrl
.
remove
)
router
.
param
(
"
userId
"
,
todoCtrl
.
getParams
)
export
default
router
;
\ No newline at end of file
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment