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
messenger
Commits
6bcffb88
Commit
6bcffb88
authored
Jan 18, 2021
by
우지원
Browse files
roomId수정
parents
35b35878
43ee14e5
Changes
5
Hide whitespace changes
Inline
Side-by-side
client/src/Pages/HomePage.js
View file @
6bcffb88
...
...
@@ -9,9 +9,6 @@ import Menu from '../Components/Menu';
import
catchErrors
from
'
../utils/catchErrors
'
;
import
{
io
}
from
"
socket.io-client
"
;
//모듈 가져오기
import
Chat
from
"
../Components/Chat
"
;
import
{
customAlphabet
}
from
'
nanoid
'
;
import
{
Redirect
}
from
'
react-router-dom
'
;
const
socket
=
io
();
const
INIT_ROOM
=
{
...
...
@@ -31,7 +28,7 @@ function Home() {
const
[
singleChat
,
setSingleChat
]
=
useState
(
''
)
const
[
roomName
,
setRoomName
]
=
useState
(
''
)
const
[
success
,
setSuccess
]
=
useState
(
false
)
//
const [success, setSuccess] = useState(false)
const
handleClose
=
()
=>
setShow
(
false
);
const
handleShow
=
()
=>
setShow
(
true
);
...
...
@@ -41,8 +38,6 @@ function Home() {
const
handleShow2
=
()
=>
setShow2
(
true
);
const
moderator
=
sessionStorage
.
getItem
(
'
userId
'
);
const
nanoid
=
customAlphabet
(
'
1234567890abcdef
'
,
10
)
const
roomId
=
nanoid
()
useEffect
(()
=>
{
const
isRoom
=
Object
.
values
(
room
).
every
(
el
=>
Boolean
(
el
))
...
...
@@ -51,22 +46,22 @@ function Home() {
function
handleChange
(
event
)
{
const
{
name
,
value
}
=
event
.
target
setRoom
({
...
room
,
[
name
]:
value
,
moderator
,
roomId
})
setRoom
({
...
room
,
[
name
]:
value
,
moderator
})
//console.log(room)
}
console
.
log
(
room
)
console
.
log
(
room
.
roomId
)
async
function
handleSubmit
(
event
)
{
event
.
preventDefault
()
try
{
setError
(
''
)
await
axios
.
post
(
'
/room/makeRoom
'
,
room
)
// await axios.patch('/user/signup', { joinroom: `${room.roomId}`})
// await axios.post(`/user/${moderator}`, room.roomId)
setSuccess
(
true
)
let
res
=
await
axios
.
post
(
'
/room/makeRoom
'
,
room
)
console
.
log
(
res
.
data
.
roomId
)
const
Id
=
res
.
data
.
roomId
alert
(
`방암호는
${
Id
}
입니다`
)
// setSuccess(true)
// setRoom(INIT_ROOM)
setShow
(
false
)
}
catch
(
error
)
{
...
...
@@ -95,14 +90,7 @@ function Home() {
setSingleChat
(
msg
)
})
},
[
singleChat
])
// console.log(room.roomId)
if
(
success
)
{
// console.log(room.roomId)
alert
(
`방암호는
${
room
.
roomId
}
입니다`
)
// return <Redirect to='/home' />
}
return
(
<>
<
Menu
/>
...
...
server/controllers/room.controller.js
View file @
6bcffb88
import
Room
from
"
../models/Room.js
"
//
import { customAlphabet } from 'nanoid'
import
{
customAlphabet
}
from
'
nanoid
'
import
isLength
from
'
validator/lib/isLength.js
'
//
const nanoid = customAlphabet('1234567890abcdef', 10)
const
nanoid
=
customAlphabet
(
'
1234567890abcdef
'
,
10
)
const
makeRoom
=
async
(
req
,
res
)
=>
{
console
.
log
(
req
.
body
)
const
{
roomName
,
interest
,
isOpen
,
moderator
,
roomId
}
=
req
.
body
;
console
.
log
(
roomName
,
interest
,
isOpen
,
moderator
,
roomId
)
const
{
roomName
,
interest
,
isOpen
,
moderator
}
=
req
.
body
;
console
.
log
(
roomName
,
interest
,
isOpen
,
moderator
)
//
const roomId = nanoid()
//
const room = await Room.findOne({ roomId })
//
while (room) {
//
roomId = nanoid()
//
room = await Room.findOne({ roomId })
//
}
const
roomId
=
nanoid
()
const
room
=
await
Room
.
findOne
({
roomId
})
while
(
room
)
{
roomId
=
nanoid
()
room
=
await
Room
.
findOne
({
roomId
})
}
try
{
if
(
!
isLength
(
roomName
,
{
min
:
3
,
max
:
20
}))
{
...
...
server/controllers/user.controller.js
View file @
6bcffb88
...
...
@@ -61,12 +61,14 @@ const changenick = async (req, res) => {
}
}
// const saveroom = async (req, res) => {
// const roomId = room.roomId
// if (!isLength(roomId, { min: 11 })) {
// return res.status(422).send('방아이디 저장에 오류가 발생하였습니다.')
// }
// }
const
loginNavbar
=
async
(
req
,
res
)
=>
{
try
{
let
user
=
await
User
.
findOne
(
req
.
body
).
select
(
'
username
'
).
exec
()
return
res
.
json
(
user
)
}
catch
(
error
)
{
alert
(
'
올바르지 못한 접근입니다.
'
)
}
}
export
default
{
signup
,
logineduser
,
changenick
}
// {} : 객체로 return함
export
default
{
signup
,
logineduser
,
changenick
,
loginNavbar
}
// {} : 객체로 return
함
server/models/Room.js
View file @
6bcffb88
...
...
@@ -13,10 +13,10 @@ const RoomSchema = new mongoose.Schema({
select
:
false
},
isOpen
:
{
type
:
String
,
type
:
Boolean
,
required
:
true
,
default
:
'
user
'
,
enum
:
[
'
true
'
,
'
false
'
]
enum
:
[
'
user
'
,
'
admin
'
,
'
root
'
]
},
moderator
:
{
type
:
String
,
...
...
server/routes/user.routes.js
View file @
6bcffb88
...
...
@@ -12,8 +12,6 @@ router.route(`/users/:userId`)
.
put
(
userCtrl
.
changenick
)
.
get
(
userCtrl
.
loginNavbar
)
router
.
route
(
`users/:name`
)
.
post
(
userCtrl
.
saveroom
)
// router.param('userId', userCtrl.userById)
...
...
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