Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
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