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
travel
Commits
0b091720
Commit
0b091720
authored
Jul 27, 2022
by
Lee Soobeom
Browse files
update debugging
parent
32764f1e
Changes
7
Hide whitespace changes
Inline
Side-by-side
frontend/src/board/board.tsx
View file @
0b091720
...
...
@@ -20,7 +20,7 @@ export default function BoardPage() {
const
navigate
=
useNavigate
();
const
{
user
}
=
useAuth
();
console
.
log
(
"
get newPost Info
"
,
newPost
);
//
console.log("get newPost Info", newPost);
const
setNewPosts
=
(
newpost
:
PostType
)
=>
{
const
postArr
=
posts
?.
splice
(
-
1
,
0
,
newPost
);
...
...
frontend/src/post/editpost.tsx
View file @
0b091720
...
...
@@ -39,7 +39,7 @@ export function EditPost() {
const
imgArr
=
new
Array
();
//
console.log("post.file", post.file);
console
.
log
(
"
post.file
"
,
post
.
file
);
const
updateImg2Db
=
async
(
filelist
:
FileList
|
undefined
)
=>
{
const
formdata
=
new
FormData
();
...
...
@@ -49,11 +49,15 @@ export function EditPost() {
formdata
.
append
(
"
city
"
,
user
.
city
);
if
(
filelist
===
undefined
)
{
const
res
=
await
postApi
.
updateImgAndPost
(
user
.
_id
,
formdata
);
return
res
;
}
else
{
for
(
var
i
=
0
;
i
<
filelist
.
length
;
i
++
)
{
formdata
.
append
(
"
picture
"
,
filelist
?.[
i
]);
}
console
.
log
(
"
one file update before
"
);
const
res
=
await
postApi
.
updateImgAndPost
(
user
.
_id
,
formdata
);
console
.
log
(
"
one file update
"
,
res
);
return
res
;
}
};
...
...
@@ -66,7 +70,11 @@ export function EditPost() {
setLoading
(
true
);
const
updateRes
=
await
updateImg2Db
(
file
);
navigate
(
"
/board
"
,
{
replace
:
true
,
state
:
updateRes
});
// console.log("find newfilename", updateRes);
navigate
(
{
pathname
:
`/post/
${
post
.
_id
}
`
},
{
replace
:
true
,
state
:
updateRes
}
);
setSuccess
(
true
);
setError
(
""
);
...
...
frontend/src/post/intopost.tsx
View file @
0b091720
...
...
@@ -9,23 +9,28 @@ export interface PostState {
}
export
function
IntoPost
()
{
const
[
posts
,
setPosts
]
=
useState
<
PostType
>
();
const
location
=
useLocation
()
as
PostState
;
const
post
=
location
.
state
;
const
navigate
=
useNavigate
();
console
.
log
(
"
user info
"
,
post
.
user
);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
error
,
setError
]
=
useState
(
""
);
const
[
addSuccess
,
setAddSuccess
]
=
useState
(
false
);
const
[
delSuccess
,
setDelSuccess
]
=
useState
(
false
);
// console.log("post.file", post.file);
useEffect
(()
=>
{
setPosts
(
post
);
},
[]);
const
handleDeleteClick
=
async
(
event
:
MouseEvent
<
HTMLButtonElement
>
)
=>
{
try
{
if
(
confirm
(
"
삭제하시겠습니까?
"
)
==
true
)
{
const
postId
=
event
.
currentTarget
.
id
;
const
res
=
await
postApi
.
deletePost
(
postId
);
navigate
(
"
/board
"
,
{
replace
:
true
}
);
navigate
(
"
/board
"
);
console
.
log
(
"
delete post
"
,
res
);
}
else
{
return
false
;
...
...
@@ -40,41 +45,41 @@ export function IntoPost() {
<
div
className
=
"flex flex-col"
>
<
div
className
=
"flex h-8 gap-x-1 place-content-end place-items-center"
>
<
button
id
=
{
post
.
_id
}
id
=
{
post
s
?
.
_id
}
onClick
=
{
handleDeleteClick
}
className
=
" whitespace-nowrap flex border-2 border-sky-100 place-self-center h-6 w-8 text-xs text-center transition delay-150 bg-white-400 hover:-translate-y-1 hover:scale-110 hover:bg-red-300 duration-300"
>
삭제
</
button
>
<
Link
to
=
"/edit"
state
=
{
post
}
>
<
Link
to
=
"/edit"
state
=
{
post
s
}
>
<
button
className
=
"whitespace-nowrap flex border-2 border-sky-100 place-self-center h-6 w-8 text-xs transition delay-150 bg-white-400 hover:-translate-y-1 hover:scale-110 hover:bg-sky-300 duration-300"
>
수정
</
button
>
</
Link
>
</
div
>
<
div
className
=
"flex h-10 border-t-2 border-sky-500 items-center font-semibold"
>
{
post
.
title
}
{
post
s
?
.
title
}
</
div
>
<
div
className
=
"flex h-10 items-center border-t-2 border-sky-200 md:flex-row justify-between bg-slate-50 text-sm"
>
<
div
className
=
"flex whitespace-nowrap pr-5 "
>
작성자:
{
post
.
user
.
name
}
작성자:
{
post
s
?
.
user
.
name
}
</
div
>
<
div
className
=
"flex divide-x divide-slate-300 "
>
<
div
className
=
"flex basis-1/2 whitespace-nowrap px-2"
>
작성일 :
{
post
.
date
.
slice
(
0
,
10
)
}
작성일 :
{
post
s
?
.
date
.
slice
(
0
,
10
)
}
</
div
>
<
div
className
=
"flex whitespace-nowrap px-2"
>
{
post
.
city
}
</
div
>
<
div
className
=
"flex whitespace-nowrap px-2"
>
{
post
.
theme
}
</
div
>
<
div
className
=
"flex whitespace-nowrap px-2"
>
{
post
s
?
.
city
}
</
div
>
<
div
className
=
"flex whitespace-nowrap px-2"
>
{
post
s
?
.
theme
}
</
div
>
<
div
className
=
"flex whitespace-nowrap px-2"
>
조회수 :
{
post
.
counts
}
조회수 :
{
post
s
?
.
counts
}
</
div
>
</
div
>
</
div
>
<
div
className
=
"flex border-t-2 border-sky-200 h-44 p-2 overflow-auto mb-5 "
>
{
post
.
file
?.
map
((
file
,
i
)
=>
(
{
post
s
?
.
file
?.
map
((
file
,
i
)
=>
(
<
img
key
=
{
i
}
src
=
{
"
http://localhost:3000/images/
"
+
file
.
newfilename
}
...
...
@@ -83,7 +88,7 @@ export function IntoPost() {
/>
))
}
</
div
>
<
div
className
=
"border-b-2 border-sky-500 h-44 mb-10"
>
{
post
.
text
}
</
div
>
<
div
className
=
"border-b-2 border-sky-500 h-44 mb-10"
>
{
post
s
?
.
text
}
</
div
>
</
div
>
);
}
frontend/src/post/posting.tsx
View file @
0b091720
...
...
@@ -24,6 +24,7 @@ export default function Posting() {
user
:
{
_id
:
""
,
name
:
""
,
avatar
:
""
,
},
counts
:
0
,
_id
:
""
,
...
...
frontend/src/types/index.tsx
View file @
0b091720
...
...
@@ -23,6 +23,7 @@ export interface PostType {
user
:
{
_id
:
string
;
name
:
string
;
avatar
:
string
;
};
file
:
[
{
...
...
src/controllers/post.controller.ts
View file @
0b091720
...
...
@@ -197,7 +197,7 @@ export const updateOnePost = asyncWrap(async (reqExp, res) => {
console
.
log
(
"
check files
"
,
files
);
if
(
files
.
picture
===
undefined
||
files
.
picture
===
null
)
{
const
postRes
2
=
await
postDb
.
updatePostRow
(
const
postRes
1
=
await
postDb
.
updatePostRow
(
{
title
,
text
,
...
...
@@ -207,7 +207,8 @@ export const updateOnePost = asyncWrap(async (reqExp, res) => {
},
postId
);
console
.
log
(
"
no files update
"
,
postRes2
);
console
.
log
(
"
no files update
"
,
postRes1
);
return
res
.
json
(
postRes1
);
}
else
{
if
(
Array
.
isArray
(
files
.
picture
))
{
const
oldFilesId
=
await
postDb
.
getFilesByPostId
(
postId
);
...
...
@@ -273,16 +274,29 @@ export const updateOnePost = asyncWrap(async (reqExp, res) => {
}
}
}
console
.
log
(
"
all fileId
"
,
fileIdArr
);
//post정보 + file정보 update
const
postRes2
=
await
postDb
.
updatePostRow
(
{
title
,
text
,
theme
,
city
,
date
:
Date
.
now
(),
file
:
fileIdArr
,
},
postId
);
console
.
log
(
"
plural files update
"
,
postRes2
);
return
res
.
json
(
postRes2
);
}
else
{
const
oldFilesId
=
await
postDb
.
getFilesByPostId
(
postId
);
if
(
!
(
oldFilesId
===
undefined
))
{
for
(
var
i
=
0
;
i
<
oldFilesId
?.
length
;
i
++
)
{
const
name
=
await
postDb
.
getOriginalFileName
(
oldFilesId
[
i
]
);
if
(
!
(
name
===
undefined
))
{
oldSet
.
add
(
name
);
}
const
name
=
await
postDb
.
getOriginalFileName
(
oldFilesId
[
0
]);
if
(
!
(
name
===
undefined
))
{
oldSet
.
add
(
name
);
}
}
console
.
log
(
"
OldSet
"
,
oldSet
);
...
...
@@ -296,6 +310,8 @@ export const updateOnePost = asyncWrap(async (reqExp, res) => {
//유지, 삭제, 추가 구분하기
const
trdPart
=
SubTract
(
oldSet
,
newSet
);
console
.
log
(
"
add part
"
,
trdPart
.
add
);
//삭제
for
(
var
i
=
0
;
i
<
trdPart
.
drop
.
length
;
i
++
)
{
const
dropRes
=
await
postDb
.
deleteFileByName
(
...
...
@@ -308,34 +324,34 @@ export const updateOnePost = asyncWrap(async (reqExp, res) => {
const
originalfilename
=
files
.
picture
.
originalFilename
;
const
newfilename
=
files
.
picture
.
newFilename
;
const
filepath
=
files
.
picture
.
filepath
;
for
(
var
j
=
0
;
j
<
trdPart
.
add
.
length
;
j
++
)
{
const
check
=
trdPart
.
add
[
j
];
if
(
originalfilename
===
check
)
{
const
addRes
=
await
postDb
.
createFilesRow
(
originalfilename
,
newfilename
,
filepath
);
if
(
originalfilename
===
trdPart
.
add
[
0
])
{
const
addRes
=
await
postDb
.
createFilesRow
(
originalfilename
,
newfilename
,
filepath
);
fileIdArr
.
push
(
addRes
.
_id
);
}
fileIdArr
.
push
(
addRes
.
_id
);
}
console
.
log
(
"
all fileId
"
,
fileIdArr
);
//post정보 + file정보 update
const
postRes3
=
await
postDb
.
updatePostRow
(
{
title
,
text
,
theme
,
city
,
date
:
Date
.
now
(),
file
:
fileIdArr
,
},
postId
);
console
.
log
(
"
singular file update
"
,
postRes3
);
return
res
.
json
(
postRes3
);
}
}
console
.
log
(
"
all fileId
"
,
fileIdArr
);
//post정보 + file정보 update
const
postRes1
=
await
postDb
.
updatePostRow
(
{
title
,
text
,
theme
,
city
,
date
:
Date
.
now
(),
file
:
fileIdArr
,
},
postId
);
}
}
}
...
...
src/db/post.db.ts
View file @
0b091720
...
...
@@ -38,7 +38,6 @@ export const getPosts = async () => {
.
populate
(
"
file
"
)
.
populate
(
"
user
"
)
.
sort
({
date
:
-
1
});
console
.
log
(
"
file nickname
"
,
posts
);
return
posts
;
};
...
...
@@ -64,7 +63,7 @@ export const updatePostRow = async (post: PostType, postId: string) => {
file
:
post
.
file
,
},
{
new
:
true
}
);
).
populate
(
"
file
"
);
return
newPost
;
};
...
...
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